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