[ https://issues.apache.org/jira/browse/TUSCANY-1949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Raymond Feng resolved TUSCANY-1949. ----------------------------------- Resolution: Fixed Fixed under r633297 > import.sdo element is not resolved if it follows a property element > ------------------------------------------------------------------- > > Key: TUSCANY-1949 > URL: https://issues.apache.org/jira/browse/TUSCANY-1949 > Project: Tuscany > Issue Type: Bug > Components: Java SCA Assembly Model > Affects Versions: Java-SCA-1.0 > Reporter: Greg Dritschler > Assignee: Raymond Feng > Priority: Minor > Fix For: Java-SCA-Next > > > I have an SCA composite that uses both a property element and an import.sdo > element. If the property element appears before the import.sdo element as > shown below, then the application fails during execution when it tries to > create an SDO. > <composite ... > <component ... > <property name="p" type="xsd:string">XYZZY</property> > </component> > <dbsdo:import.sdo .../> > </composite> > If I reorder the elements as shown below then the application works. > <composite ... > <dbsdo:import.sdo .../> > <component ... > <property name="p" type="xsd:string">XYZZY</property> > </component> > </composite> > I found the problem in CompositeProcessor. When a property element is found, > it calls a method readPropertyValue. This method consumes the property end > element so CompositeProcessor won't see it. Since CompositeProcessor does > not see the property end element, it does not clear the "property" method > variable. Then when it processes the import.sdo element, it sees the > "property" variable is non-null and mistakenly associates the import.sdo > extension with the property instead of with the composite. > I was able to work around the problem by clearing the property variable after > the readPropertyValue call as shown below. (There are actually two such > calls, one for component level and one for composite level, and I cleared it > in both cases.) > // Read the property value > Document value = > readPropertyValue(property.getXSDElement(), property.getXSDType(), reader); > property.setValue(value); > > composite.getProperties().add(property); > property = null; // **WORKAROUND** -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]