I am outputting this from the XSLT but the Java appears to only be expecting DBMapping and Definition annotations.
Need to add KeyRef as well.
<camed:annotation item="//PerAllPeopleFDetails/EffectiveEndDate"> <camed:documentation type="KeyRef">EFFECTIVE_END_DATE</camed:documentation> </camed:annotation> <camed:annotation item="//PerAllPeopleFDetails/EffectiveStartDate"> <camed:documentation type="KeyRef">EFFECTIVE_START_DATE</camed:documentation> </camed:annotation> <camed:annotation item="//PerAllPeopleFDetails/PersonId"> <camed:documentation type="KeyRef">PERSON_ID</camed:documentation> </camed:annotation> <camed:annotation item="//PerAllPeopleFDetails/PersonId"> <camed:documentation type="DBMapping">HR.PER_ALL_PEOPLE_F.PERSON_ID</camed:documentation> </camed:annotation>
Now I see what is happening. When the CAM Editor saves the CAM template - it does this:
So when a KeyRef annotation occurs - then the item XPath has a leading / removed!
Not sure why this is happening - but the editor clearly is expecting this when it loads up the template.
OK - I added some annotations in the editor - definitely a bug in the Java - here is how it should be writing the annotations! I will fix my XSLT so it outputs from the SQL designer in this format too.
No changed needed to Java; XSLT changes resolves this.