Jakub Drulis created TUSCANY-4078:
-------------------------------------

             Summary: Inheritance problem when subtypes are in different 
namespaces
                 Key: TUSCANY-4078
                 URL: https://issues.apache.org/jira/browse/TUSCANY-4078
             Project: Tuscany
          Issue Type: Bug
          Components: Java SDO Tools
    Affects Versions: Java-SDO-1.1
         Environment: Java 6, eclipse indigo, RHEL 6.3
            Reporter: Jakub Drulis


NullPointerException is thrown during generating SDO Java classes from XSD when 
there is a specific situation in a XSD model that is there is more than one 
inheritance level for instance type TC extends TB and TB extends TA and 
additionally each of the classes (complexTypees) is in different package 
(namespace), for instance
pa.TA, pb.TB, pc.TC (p is for package, T is for Type, and V is for ...)

This might be a EMF bug (version 2.2.3).

stderr:
org.eclipse.emf.common.util.WrappedException: 
org.eclipse.emf.codegen.jet.JETException: InvocationTargetException
        at 
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generateJava(AbstractGeneratorAdapter.java:1046)
        at 
org.eclipse.emf.codegen.ecore.genmodel.generator.GenClassGeneratorAdapter.generateClass(GenClassGeneratorAdapter.java:147)
        at 
org.eclipse.emf.codegen.ecore.genmodel.generator.GenClassGeneratorAdapter.generateModel(GenClassGeneratorAdapter.java:107)
        at 
org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter.doGenerate(GenBaseGeneratorAdapter.java:214)
        at 
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generate(AbstractGeneratorAdapter.java:275)
        at 
org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:600)
        at 
org.eclipse.emf.codegen.ecore.generator.Generator.generate(Generator.java:512)
        at 
org.apache.tuscany.sdo.generate.JavaGenerator.generateFromGenModel(JavaGenerator.java:531)
        at 
org.apache.tuscany.sdo.generate.JavaGenerator.generatePackages(JavaGenerator.java:413)
        at 
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.generateFromXMLSchema(XSD2JavaGenerator.java:212)
        at 
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.run(XSD2JavaGenerator.java:148)
        at 
org.apache.tuscany.sdo.generate.XSD2JavaGenerator.main(XSD2JavaGenerator.java:97)
        at pl.raiffeisen.esb.catalog.tools.XSD2SDO.main(XSD2SDO.java:53)
Caused by: org.eclipse.emf.codegen.jet.JETException: InvocationTargetException
        at org.eclipse.emf.codegen.jet.JETEmitter.generate(JETEmitter.java:396)
        at 
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.generateJava(AbstractGeneratorAdapter.java:937)
        ... 12 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.eclipse.emf.codegen.jet.JETEmitter.generate(JETEmitter.java:388)
        ... 13 more
Caused by: java.lang.NullPointerException
        at 
org.eclipse.emf.codegen.ecore.genmodel.impl.GenBaseImpl.collectGenFeatures(GenBaseImpl.java:1353)
        at 
org.eclipse.emf.codegen.ecore.genmodel.impl.GenClassImpl.getAllGenFeatures(GenClassImpl.java:657)
        at 
org.eclipse.emf.codegen.ecore.genmodel.impl.GenClassImpl.getFeatureCount(GenClassImpl.java:826)
        at 
org.apache.tuscany.sdo.generate.templates.model.SDOClass.generate(SDOClass.java:1585)
        ... 18 more


stdout:
Generating SDO 1.1 from XSD file: 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/pl.company.xsd
Args: [-targetDirectory, 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-SDO-Java//src-autogen,
 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/pl.company.xsd]
>>  Generating code
>>  Generating packages
>>  Generating package CompanyPackageImpl
>>  Generating Java interface pl.company.CompanyFactory
>>  Generating /TargetProject/pl/company/CompanyFactory.java
>>  Generating Java class pl.company.impl.CompanyFactoryImpl
>>  Generating /TargetProject/pl/company/impl/CompanyFactoryImpl.java
>>  Generating Parent
>>  Generating Java interface pl.company.Parent
>>  Generating /TargetProject/pl/company/Parent.java
>>  Generating Java class pl.company.impl.ParentImpl
>>  Generating /TargetProject/pl/company/impl/ParentImpl.java
Generating SDO 1.1 from XSD file: 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/operations.xsd
Args: [-targetDirectory, 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-SDO-Java//src-autogen,
 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/operations.xsd]
>>  Generating code
>>  Generating packages
>>  Generating package PlPackageImpl
>>  Generating Java interface pl.PlFactory
>>  Generating /TargetProject/pl/PlFactory.java
>>  Generating Java class pl.impl.PlFactoryImpl
>>  Generating /TargetProject/pl/impl/PlFactoryImpl.java
>>  Generating Grandparent
>>  Generating Java interface pl.Grandparent
>>  Generating /TargetProject/pl/Grandparent.java
>>  Generating Java class pl.impl.GrandparentImpl
>>  Generating /TargetProject/pl/impl/GrandparentImpl.java
Generating SDO 1.1 from XSD file: 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/pl.xsd
Args: [-targetDirectory, 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-SDO-Java//src-autogen,
 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/pl.xsd]
>>  Generating code
>>  Generating packages
>>  Generating package PlPackageImpl
>>  Generating Java interface pl.PlFactory
>>  Generating /TargetProject/pl/PlFactory.java
>>  Examining old /TargetProject/pl/PlFactory.java
>>  Generating Java class pl.impl.PlFactoryImpl
>>  Generating /TargetProject/pl/impl/PlFactoryImpl.java
>>  Examining old /TargetProject/pl/impl/PlFactoryImpl.java
>>  Generating Grandparent
>>  Generating Java interface pl.Grandparent
>>  Generating /TargetProject/pl/Grandparent.java
>>  Examining old /TargetProject/pl/Grandparent.java
>>  Generating Java class pl.impl.GrandparentImpl
>>  Generating /TargetProject/pl/impl/GrandparentImpl.java
>>  Examining old /TargetProject/pl/impl/GrandparentImpl.java
Generating SDO 1.1 from XSD file: 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/pl.company.esb.xsd
Args: [-targetDirectory, 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-SDO-Java//src-autogen,
 
/home/arekf/workspaces/catalog_bug/REB-Catalog-SDO-Java/../REB-Catalog-XSD//xsd/pl.company.esb.xsd]
>>  Generating code
>>  Generating packages
>>  Generating package EsbPackageImpl
>>  Generating Java interface pl.company.esb.EsbFactory
>>  Generating /TargetProject/pl/company/esb/EsbFactory.java
>>  Generating Java class pl.company.esb.impl.EsbFactoryImpl
>>  Generating /TargetProject/pl/company/esb/impl/EsbFactoryImpl.java
>>  Generating Child
>>  Generating Java interface pl.company.esb.Child
>>  Generating /TargetProject/pl/company/esb/Child.java
>>  Generating Java class pl.company.esb.impl.ChildImpl
>>  Generating /TargetProject/pl/company/esb/impl/ChildImpl.java

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to