[ 
https://issues.apache.org/jira/browse/TUSCANY-1156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David T. Adcox updated TUSCANY-1156:
------------------------------------

    Attachment: 1156.patch

This patch rectifies the problem described by this issue.  In the current code 
generation, the factory class is being generated to use the 
genFeature.getSafeName() method when building up the initializeProperty call in 
initializeMetaData.  The genFeature.getSafeName() mangles the feature name, 
such that it loses its Caps.  A change has been made to use the 
genFeature.getName() instead.  This method retains the Caps, if any, in the 
feature name.

> CodeGen generates lowercase feature name when the schema specifies uppercase
> ----------------------------------------------------------------------------
>
>                 Key: TUSCANY-1156
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1156
>             Project: Tuscany
>          Issue Type: Bug
>    Affects Versions: Java-M2
>         Environment: All
>            Reporter: Hasan Muhammad
>         Attachments: 1156.patch, example1156.zip
>
>
> When the schema is let us say the following
>     <xsd:element name="HolderDetail" type="tns:HolderDetail"/>
>     <xsd:complexType name="HolderDetail">
>         <xsd:all>
>             <xsd:element name="ID" type="xsd:string"/>
>         </xsd:all>
>     </xsd:complexType>
> The codegen tool generates the name for the feature "ID" in lower case i.e 
> "id". Hence when we use the DataObject.setString("ID","value"), it throws the 
> following exception because it could not find the feature ID.
> Caused by: java.lang.IllegalArgumentException: Class 'HolderDetail' does not 
> have a feature named 'ID'
>       at 
> org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.setFeatureName(DataObjectUtil.java:2069)
>       at 
> org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.process(DataObjectUtil.java:2211)
>       at 
> org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.init(DataObjectUtil.java:1941)
>       at 
> org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.create(DataObjectUtil.java:1858)
>       at 
> org.apache.tuscany.sdo.util.DataObjectUtil.setString(DataObjectUtil.java:474)
>       at 
> org.apache.tuscany.sdo.impl.DataObjectImpl.setString(DataObjectImpl.java:566)

-- 
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]

Reply via email to