tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raymond Feng (JIRA)" <tuscany-...@ws.apache.org>
Subject [jira] Resolved: (TUSCANY-1949) import.sdo element is not resolved if it follows a property element
Date Mon, 03 Mar 2008 22:06:50 GMT

     [ 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org

View raw message