Author Topic: v16 - Project Integrity Check does NOT check Object Type  (Read 503 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8323
  • Karma: +236/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
v16 - Project Integrity Check does NOT check Object Type
« on: July 14, 2022, 11:30:11 am »
We were getting a weird "Can't Find Matching ID" error in one of our repositories.   The Project Integrity Check said there were NO errors. We finally tracked the problem down to a small subset of objects that had invalid object types.  One of our scripts accidentally placed the Version value in the Object Type.

In the [ ] Object Structure checks, one would assume that if the Object Type was Invalid, that should be considered an error.  But not, apparently, on Planet Sparx!

Please rectify!
(also applies to previous versions)
Reported,
Paolo
« Last Edit: July 19, 2022, 10:47:56 am by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8323
  • Karma: +236/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: v16 - Project Integrity Check does NOT check Object Type
« Reply #1 on: July 21, 2022, 10:29:45 am »
I received the following response from Sparx Support:

Generally speaking, the tests performed in the integrity dialog are related to ways that we know EA itself has failed in the past or anticipated likely points of failure.

Just because an Object Type value isn't known by the current version of EA doesn't mean it hasn't been added by a newer version that has also used the repository. In that case, trying to correct your issue would potentially be introducing new problems.

To which I replied...


This response was not unexpected.  "Generally speaking"  means some tests are more generic.  If its intent is principally EA-generated errors, then DON'T call it a "Project Integrity Check"!  Call it something like "Finding EA Stuff-Ups".
The question is how to solve the potential problem you mentioned?
As I understand it, we users are NOT allowed to add "unknown" object types (since EA generates the documented error).  The "known object types" should be listed in t_objecttypes.  If they are not, then that is a design defect, and the table's function is spurious!  I'll leave it up to Sparx to figure out which ones are missing (there are!).  I would suggest that comparing the list of object_types in t_object with the list in t_objecttypes, generally speaking  ;) , would be a good test to add - especially since Sparx have made this inconsistency!


What do users think?
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Richard Freggi

  • EA User
  • **
  • Posts: 420
  • Karma: +16/-7
    • View Profile
Re: v16 - Project Integrity Check does NOT check Object Type
« Reply #2 on: July 21, 2022, 10:54:47 am »
Having an object of the wrong type is not necessarily an integrity issue, so I'm not convinced that EA integrity check should necessarily correct it.  What would it change it to? There could be multiple options for the object type.

My thinking is that wrong object type is a design validation issue and I don't think EA has that feature.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8323
  • Karma: +236/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: v16 - Project Integrity Check does NOT check Object Type
« Reply #3 on: July 21, 2022, 11:11:00 am »
Having an object of the wrong type is not necessarily an integrity issue, so I'm not convinced that EA integrity check should necessarily correct it.  What would it change it to? There could be multiple options for the object type.

My thinking is that wrong object type is a design validation issue and I don't think EA has that feature.
Agreed that EA shouldn't necessarily correct it. 
But the feature is named "Project Integrity Check", NOT "Project Integrity Restorer". It has a restoration option, but that needs to be enabled by the user.  There may well be other Integrity issues that EA should detect, but can't rectify.  It should still list them and note that they cannot be rectified without external action.


Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7799
  • Karma: +106/-20
    • View Profile
Re: v16 - Project Integrity Check does NOT check Object Type
« Reply #4 on: July 21, 2022, 11:24:53 am »
But the feature is named "Project Integrity Check", NOT "Project Integrity Restorer".
Regardless of whether you believe it's a good name or not, every check in that dialog does offer *something* to resolve the issue. So what you are actually proposing is a fundamental change.
Eve

support@sparxsystems.com