[
https://issues.apache.org/jira/browse/TUSCANY-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12610735#action_12610735
]
Christian Schuhegger commented on TUSCANY-1725:
-----------------------------------------------
one more comment:
during the compilation of the CollectionManagerModel.xsd via XSD2JavaGenerator
the following stack trace is thrown:
[java] >> Generating
/TargetProject/net/sourceforge/jclusterjobs/prototypes/collectionmanager/impl/CollectionmanagerFactoryImpl.java
[java] org.eclipse.emf.common.util.WrappedException:
org.eclipse.emf.codegen.jet.JETException: InvocationTargetException
[java] at
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generateJava(AbstractGeneratorAdapter.java:1046)
[java] at
org.eclipse.emf.codegen.ecore.genmodel.generator.GenPackageGeneratorAdapter.generateFactoryClass(GenPackageGeneratorAdapter.java:383)
[java] at
org.eclipse.emf.codegen.ecore.genmodel.generator.GenPackageGeneratorAdapter.generateModel(GenPackageGeneratorAdapter.java:199)
[java] at
org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.doGenerate(GenBaseGeneratorAdapter.java:214)
[java] at
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generate(AbstractGeneratorAdapter.java:275)
[java] at
org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:600)
[java] at
org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:512)
[java] at
org.apache.tuscany.sdo.generate.JavaGenerator.generateFromGenModel(JavaGenerator.java:531)
[java] at
org.apache.tuscany.sdo.generate.JavaGenerator.generatePackages(JavaGenerator.java:413)
[java] at
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.generateFromXMLSchema(XSD2JavaGenerator.java:212)
[java] at
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.run(XSD2JavaGenerator.java:148)
[java] at
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.main(XSD2JavaGenerator.java:97)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
[java] at
org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:747)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:201)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:104)
[java] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:357)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:385)
[java] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
[java] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[java] at
org.apache.tools.ant.Project.executeTargets(Project.java:1181)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:698)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:199)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
[java] Caused by: org.eclipse.emf.codegen.jet.JETException:
InvocationTargetException
[java] at
org.eclipse.emf.codegen.jet.JETEmitter.generate(JETEmitter.java:396)
[java] at
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generateJava(AbstractGeneratorAdapter.java:937)
[java] ... 37 more
[java] Caused by: java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
org.eclipse.emf.codegen.jet.JETEmitter.generate(JETEmitter.java:388)
[java] ... 38 more
[java] Caused by: java.lang.NullPointerException
[java] at
org.apache.tuscany.sdo.generate.templates.model.SDOFactoryClass.generate(SDOFactoryClass.java:912)
[java] ... 43 more
> XSD2JavaGenerator has a problem with associations navigable from both sides
> ---------------------------------------------------------------------------
>
> Key: TUSCANY-1725
> URL: https://issues.apache.org/jira/browse/TUSCANY-1725
> Project: Tuscany
> Issue Type: Bug
> Components: Java SDO Tools
> Affects Versions: Java-SDO-1.0
> Environment: Linux
> Reporter: Miro Kandic
> Fix For: Java-SDO-Next
>
> Attachments: CollectionManagerModel.xsd, sports-compile-errors.log,
> xmlSchema.xsd
>
>
> XSD2JavaGenerator does not work in the case of any association type
> (association, composition) that is navigable from both sides.
> I have intentionally, just to test generator, made Customer-SoH association
> in the next schema navigable from both sides and generated code cannot be
> compiled.
> Frank, after initial analyses, confirmed that saying "Bidirectional
> references are broken in Tuscany. They seem
> to have been broken when we switched over to the new (noEMF) codegen
> patterns."
> Next is complete XSD built automatically from the UML model.
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
> Attention: Generated code! Do not modify by hand!
> Generated by: XmlSchema.vsl in andromda-xmlschema-cartridge.
> -->
> <xsd:schema
> targetNamespace="http://www.cisco.com/odns/soa"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sdo="commonj.sdo" xmlns:sdoxml="commonj.sdo/xml"
> xmlns:impl="http://www.cisco.com/odns/soa"
> elementFormDefault="qualified">
> <xsd:import namespace="commonj.sdo/xml" schemaLocation="sdoXML.xsd"/>
> <xsd:complexType name="Address">
> <xsd:sequence>
> <xsd:element name="street" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="city" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> <xsd:attribute name="xmlId" type="xsd:ID"/>
> </xsd:complexType>
> <xsd:complexType name="Customer">
> <xsd:sequence>
> <xsd:element name="orders" type="xsd:IDREF"
> sdoxml:propertyType="impl:SoH"
> sdoxml:oppositeProperty="customer" minOccurs="0"
> maxOccurs="unbounded" />
> <xsd:element name="name" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="created" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="lastUpdated" type="xsd:dateTime" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="modifiedBy" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="id" type="xsd:long" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> <xsd:attribute name="xmlId" type="xsd:ID"/>
> </xsd:complexType>
> <xsd:complexType name="Part">
> <xsd:sequence>
> <xsd:element name="uom" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="aggState" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="id" type="xsd:long" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> <xsd:attribute name="xmlId" type="xsd:ID"/>
> </xsd:complexType>
> <xsd:complexType name="Product">
> <xsd:complexContent>
> <xsd:extension base="impl:Part">
> <xsd:sequence>
> <xsd:element name="description" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="modifiedBy" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="lastUpdated" type="xsd:dateTime" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="created" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> </xsd:extension>
> </xsd:complexContent>
> </xsd:complexType>
> <xsd:complexType name="SoH">
> <xsd:sequence>
> <xsd:element name="customer" type="xsd:IDREF"
> sdoxml:propertyType="impl:Customer"
> sdoxml:oppositeProperty="orders" minOccurs="1" maxOccurs="1"
> />
> <xsd:element name="lines" type="impl:SoL" minOccurs="0"
> maxOccurs="unbounded" />
> <xsd:element name="number" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="receivedDate" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="modifiedBy" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="lastUpdated" type="xsd:dateTime" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="created" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="id" type="xsd:long" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> <xsd:attribute name="xmlId" type="xsd:ID"/>
> </xsd:complexType>
> <xsd:complexType name="SoL">
> <xsd:sequence>
> <xsd:element name="product" type="xsd:IDREF"
> sdoxml:propertyType="impl:Product"
> sdoxml:oppositeProperty="soLs" minOccurs="1" maxOccurs="1" />
> <xsd:element name="soLineSch" type="impl:SoLSch" minOccurs="0"
> maxOccurs="unbounded" />
> <xsd:element name="quantity" type="xsd:double" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="requestedDate" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="modifiedBy" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="lastUpdated" type="xsd:dateTime" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="created" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="id" type="xsd:long" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> <xsd:attribute name="xmlId" type="xsd:ID"/>
> </xsd:complexType>
> <xsd:complexType name="SoLSch">
> <xsd:sequence>
> <xsd:element name="requestedDate" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="quantity" type="xsd:double" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="modifiedBy" type="xsd:string" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="lastUpdated" type="xsd:dateTime" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="created" type="xsd:date" minOccurs="1"
> maxOccurs="1"/>
> <xsd:element name="id" type="xsd:long" minOccurs="1"
> maxOccurs="1"/>
> </xsd:sequence>
> <xsd:attribute name="xmlId" type="xsd:ID"/>
> </xsd:complexType>
> <xsd:element name="DataGraphRootEl" type="impl:DataGraphRoot"/>
> <xsd:complexType name="DataGraphRoot">
> <xsd:sequence>
> <xsd:element name="customer" type="impl:Customer" minOccurs="0"
> maxOccurs="unbounded" />
> <xsd:element name="product" type="impl:Product" minOccurs="0"
> maxOccurs="unbounded" />
> <xsd:element name="part" type="impl:Part" minOccurs="0"
> maxOccurs="unbounded" />
> <xsd:element name="soH" type="impl:SoH" minOccurs="0"
> maxOccurs="unbounded" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:schema>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.