Added: 
incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/util/SDOGenUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/util/SDOGenUtil.java?view=auto&rev=442584
==============================================================================
--- 
incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/util/SDOGenUtil.java
 (added)
+++ 
incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/util/SDOGenUtil.java
 Tue Sep 12 06:55:38 2006
@@ -0,0 +1,30 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tuscany.sdo.generate.util;
+
+import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier;
+import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
+
+public class SDOGenUtil {
+       
+       public static String getQualifiedTypeAccessor(GenClassifier 
genClassifier){
+               GenPackage genPackage = genClassifier.getGenPackage();
+               return "((" + genPackage.getImportedFactoryClassName() + ")" 
+               + genPackage.getImportedFactoryInterfaceName() + 
".INSTANCE).get" + genClassifier.getClassifierAccessorName() + "()";
+       }
+
+}

Modified: 
incubator/tuscany/java/sdo/tools/templates/models/SDOFactoryClass.javajet
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/templates/models/SDOFactoryClass.javajet?view=diff&rev=442584&r1=442583&r2=442584
==============================================================================
--- incubator/tuscany/java/sdo/tools/templates/models/SDOFactoryClass.javajet 
(original)
+++ incubator/tuscany/java/sdo/tools/templates/models/SDOFactoryClass.javajet 
Tue Sep 12 06:55:38 2006
@@ -1,4 +1,4 @@
-<%@ jet package="org.apache.tuscany.sdo.generate.templates.model" 
imports="java.util.* org.eclipse.emf.codegen.ecore.genmodel.* 
org.eclipse.emf.ecore.* org.eclipse.emf.codegen.ecore.genmodel.impl.Literals 
org.eclipse.emf.ecore.util.*" class="SDOFactoryClass" version="$Id: 
SDOFactoryClass.javajet,v 1.23 2005/12/10 13:31:02 emerks Exp $" %>
+<%@ jet package="org.apache.tuscany.sdo.generate.templates.model" 
imports="org.apache.tuscany.sdo.generate.util.* java.util.* 
org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.ecore.* 
org.eclipse.emf.codegen.ecore.genmodel.impl.Literals 
org.eclipse.emf.ecore.util.*" class="SDOFactoryClass" version="$Id: 
SDOFactoryClass.javajet,v 1.23 2005/12/10 13:31:02 emerks Exp $" %>
 <%
 /**
  *
@@ -285,6 +285,12 @@
                <%=genModel.getImportedName("commonj.sdo.Property")%> property 
= null;
 
                // Add supertypes to classes
+      <%for (Iterator c=genPackage.getGenClasses().iterator(); c.hasNext();) { 
GenClass genClass = (GenClass)c.next();%>
+        <%for (Iterator b=genClass.getBaseGenClasses().iterator(); 
b.hasNext();) { GenClass baseGenClass = (GenClass)b.next();%>
+               addSuperType(<%=genClass.getSafeUncapName()%>Type, 
<%=baseGenClass.getSafeUncapName()%>Type);
+        <%}%>
+      <%}%>
+
                // Initialize classes and features; add operations and 
parameters
       <%for (Iterator i=genPackage.getGenClasses().iterator(); i.hasNext();) { 
GenClass genClass = (GenClass)i.next();%>
         <%if (!genClass.isAbstract() && !genClass.isDynamic()) {%>
@@ -531,7 +537,7 @@
       <%}%>
     <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType 
= genDataType.getBaseType(); %>
       <%if (genBaseType.getGenPackage() == genPackage) {%>
-               return 
(<%=genDataType.getObjectInstanceClassName()%>)create<%=genBaseType.getName()%>FromString(<%=genBaseType.getQualifiedClassifierAccessor()%>,
 initialValue);
+               return 
(<%=genDataType.getObjectInstanceClassName()%>)create<%=genBaseType.getName()%>FromString(<%=SDOGenUtil.getQualifiedTypeAccessor(genDataType)%>,
 initialValue);
       <%} else {%>
                return 
(<%=genDataType.getObjectInstanceClassName()%>)<%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.createFromString(<%=genBaseType.getQualifiedClassifierAccessor()%>,
 initialValue);
       <%}%>
@@ -714,7 +720,7 @@
                return instanceValue == null ? null : instanceValue.toString();
     <%} else if (genDataType.getBaseType() != null) { GenDataType genBaseType 
= genDataType.getBaseType(); %>
       <%if (genBaseType.getGenPackage() == genPackage) {%>
-               return 
convert<%=genBaseType.getName()%>ToString(<%=genBaseType.getQualifiedClassifierAccessor()%>,
 instanceValue);
+               return 
convert<%=genBaseType.getName()%>ToString(<%=SDOGenUtil.getQualifiedTypeAccessor(genBaseType)%>,
 instanceValue);
       <%} else {%>
                return 
<%=genBaseType.getGenPackage().getQualifiedEFactoryInternalInstanceAccessor()%>.convertToString(<%=genBaseType.getQualifiedClassifierAccessor()%>,
 instanceValue);
       <%}%>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to