You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Daniel Peter (JIRA)" <tu...@ws.apache.org> on 2007/05/08 11:53:15 UTC

[jira] Commented: (TUSCANY-1250) Static SDO generator generates an erroneous factory class, when inheritance and different Java packages are used

    [ https://issues.apache.org/jira/browse/TUSCANY-1250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12494231 ] 

Daniel Peter commented on TUSCANY-1250:
---------------------------------------

Fix suggestion:

The following line in the file SDOFactoryClass.javajet needs to be changed as follows:
old:
		addSuperType(<%=genClass.getSafeUncapName()%>Type, <%=baseGenClass.getSafeUncapName()%>Type);
new:
		addSuperType(<%=genClass.getSafeUncapName()%>Type, <%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());



> Static SDO generator generates an erroneous factory class, when inheritance and different Java packages are used
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1250
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1250
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SDO Tools
>    Affects Versions: Java-SCA-M2
>         Environment: WinXP (tested with Java-SDO-M2 and Java-SDO-M3-RC3)
>            Reporter: Daniel Peter
>             Fix For: Java-SDO-beta1
>
>
> The static SDO generator generates an erroneous factory class, when inheritance and different Java packages are used. 
> The initializeMetaData() method in my generated FactoryImpl class has this piece of code: 
>   ... 
>   // Obtain other dependent packages 
>   SdtFactoryImpl theSdtPackageImpl_1 = 
>     (SdtFactoryImpl)FactoryBase.getStaticFactory(SdtFactoryImpl.NAMESPACE_URI); 
>   ... 
>   // Add supertypes to types 
>   addSuperType(myClassType, mySuperClassType); 
>   ... 
> But the variable "mySuperClassType" cannot be resolved at this point, because it is defined in a different package. 
> The code probably should look like this: 
>   addSuperType(myClassType, theSdtPackageImpl_1.getMySuperClass()); 
> I noticed this bug when using M3-RC3, where the -noEmf option is always turned on. 
> The factory/package code is correctly generated with M2, if the -noEmf option is NOT specified, but the same error occurs when the -noEmf option is specified with M2.

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