Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-2704

Vertical inheritance with Embeddedables looses ObjAttribute information

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.2.M3
    • 4.2.B1
    • Core Library
    • None

    Description

      I tried to implement a simple vertical inheritance with two object entities. The super entity has an Embeddable as one of its object attribute with no attribute overrides.

      I noticed the problem when trying to #validateForSave in the child entity. The ObjEntity#getAttributes call collect all the attributes, and also consults the super entity, but in ObjEntity#appendAttributes it creates a copy of the attribute descriptor. When doing this, it creates a uniform ObjAttribute, independent of the original type (eg. EmbeddedAttribute).

      Later, the validation method makes an exception for embedded attributes, but in my case, this exception does not get triggered and results in a CayenneRuntimeException thrown because the "ObjAttribute does not have a corresponding DbAttribute".

      I also get this error in the Modeler, and this seems to me a bug.

      Also, I'm using 4.2.M2, but there is no such version here in Jira...

      Attachments

        Activity

          People

            ntimofeev Nikita Timofeev
            inphoenix Roland Szabó
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: