Re: Question about ArchetypeSlot.path()
Hi Pablo,
Thanks for this bug report. It would be very helpful if you could
provide a minimum archetype and testcase that could demonstrate this
bug and possibly the fix.
Cheers,
Rong
2010/1/17 pablo pazos <pazospablo@hotmail.com>:
> More info,
> I think it's a bug because in the archetype.pathNodeMap field I have
> only 2
> nodes with paths: "/" and "/items".
> In archetype.pathNodeMap["/items"] is the 3rd slot of the archetype,
> so I
> think when the /items attribute is found it is loaded into the
> archetype.pathNodeMap with the key "/items", when the 1st slot is
> found it
> is loaded into the pathNodeMap with the same path "/items", and so
> on, so
> the last processed node is the 3rd slot (node 0004) and it entry
> override
> the previous "/items" key.
> I'm stuck with this :/
> Any ideas?
>
> this is the XML view of the pathNodeMap:
> <pathNodeMap>
> <entry>
> <string>/</string>
> <org.openehr.am.archetype.constraintmodel.CComplexObject
> reference="../../../definition"/>
> </entry>
> <entry>
> <string>/items</string>
> <org.openehr.am.archetype.constraintmodel.ArchetypeSlot
> reference="../../../definition/attributes/org.openehr.am.archetype.constraintmodel.CMultipleAttribute/children/org.openehr.am.archetype.constraintmodel.ArchetypeSlot[3]"/>
> </entry>
> </pathNodeMap>
>
> Thanks,
> Pablo.
>
> ________________________________
> From: pazospablo@hotmail.com
> To: ref_impl_java@openehr.org
> Subject: Question about ArchetypeSlot.path()
> Date: Fri, 15 Jan 2010 23:16:52 -0300
>
> Hi,
> I've a SECTION archetype with 3 slots:
> definition
> SECTION[at0000] matches { -- Evaluación de vía aérea
> items cardinality matches {0..*; unordered} matches {
> allow_archetype EVALUATION[at0002] occurrences matches {0..1} matches
> { --
> EVALUATION
> include
> archetype_id/value matches
> {/openEHR-EHR-EVALUATION\.via_aerea(-[a-zA-Z0-9_]+)*\.v1/}
> }
> allow_archetype ACTION[at0003] occurrences matches {0..1} matches { --
> ACTION
> include
> archetype_id/value matches
> {/openEHR-EHR-ACTION\.via_aerea(-[a-zA-Z0-9_]+)*\.v1/}
> }
> allow_archetype ACTION[at0004] occurrences matches {0..1} matches { --
> ACTION
> include
> archetype_id/value matches
> {/openEHR-EHR-ACTION\.resumen_actuacion(-[a-zA-Z0-9_]+)*\.v1/}
> }
> }
> }
> When I use the ADL parser to get the AOM Archetype instance and print
> out
> it's definition as XML, I see this:
> - The SECTION node has path "/", OK!
> - The SECTION has an "items" attribute, this attribute has path
> "/items",
> OK!!!
> - The first children of "items" is an ArchetypeSlot with nodeId
> "at0002", so
> I spect that this node has path "/items[at0002]" but has
> path="/items", like
> the parent attribute.
> - Is this correct or is a bug in the ADL Parser?
> I'm using adl-parser-1.0.1.jar, the same happens with
> adl-parser-1.0.2-SNAPSHOT.jar
> BTH, I use XStream to serialize the objects to XML.
> <org.openehr.am.archetype.constraintmodel.CComplexObject>
> <anyAllowed>false</anyAllowed>
> <path>/</path>
> <rmTypeName>SECTION</rmTypeName>
> <occurrences>
> <lower class="int">1</lower>
> <upper class="int">1</upper>
> <lowerIncluded>true</lowerIncluded>
> <upperIncluded>true</upperIncluded>
> </occurrences>
> <nodeID>at0000</nodeID>
> <attributes>
> <org.openehr.am.archetype.constraintmodel.CMultipleAttribute>
> <anyAllowed>false</anyAllowed>
> <path>/items</path>
> <rmAttributeName>items</rmAttributeName>
> <existence>REQUIRED</existence>
> <children>
> <org.openehr.am.archetype.constraintmodel.ArchetypeSlot>
> <anyAllowed>false</anyAllowed>
> <path>/items</path>
> <rmTypeName>EVALUATION</rmTypeName>
> <occurrences>
> <lower class="int">0</lower>
> <upper class="int">1</upper>
> <lowerIncluded>true</lowerIncluded>
> <upperIncluded>true</upperIncluded>
> </occurrences>
> <nodeID>at0002</nodeID>
> ... the XML continues
>
> Best regards,
> Pablo Pazos Gutierrez
>
>
> ________________________________
> Windows Live: Keep your friends up to date with what you do online.
> ________________________________
> Keep your friends updated— even when you’re not signed in.
> _______________________________________________
> Ref_impl_java mailing list
> Ref_impl_java@openehr.org
> http://lists.chime.ucl.ac.uk/mailman/listinfo/ref_impl_java
>
>
_______________________________________________
Ref_impl_java mailing list
Ref_impl_java@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/ref_impl_java