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