You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/07/20 23:51:14 UTC
svn commit: r558163 [3/3] - in /incubator/tuscany/java/sdo:
impl/src/main/java/org/apache/tuscany/sdo/helper/
impl/src/main/java/org/apache/tuscany/sdo/impl/
impl/src/main/java/org/apache/tuscany/sdo/model/impl/
impl/src/main/java/org/apache/tuscany/sd...
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=558163&r1=558162&r2=558163
==============================================================================
--- incubator/tuscany/java/sdo/tools/templates/models/SDOFactoryClass.javajet (original)
+++ incubator/tuscany/java/sdo/tools/templates/models/SDOFactoryClass.javajet Fri Jul 20 14:51:12 2007
@@ -150,13 +150,21 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
- */
- public void register(HelperContext scope) {
- if(scope == null) {
- throw new IllegalArgumentException("Scope can not be null");
- }
- TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
- th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
+ */
+ public void register(HelperContext scope)
+ {
+ if(scope == null) {
+ throw new IllegalArgumentException("Scope can not be null");
+ }
+
+ //Register dependent packages with provided scope
+ <%for (Iterator p=genPackage.getPackageInitializationDependencies().iterator(); p.hasNext();) { GenPackage dep = (GenPackage)p.next();%>
+ <%=dep.getImportedFactoryInterfaceName()%>.INSTANCE.register(scope);
+ <%}%>
+
+ // Initialize this package
+ TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper();
+ th.getExtendedMetaData().putPackage(NAMESPACE_URI, this);
}
/**
@@ -250,38 +258,27 @@
<%} }%>
- private static boolean isInited = false;
-
+ private static <%=factoryType%> instance = null;
public static <%=factoryType%> init()
{
- if (isInited) return (<%=factoryType%>)FactoryBase.getStaticFactory(<%=factoryType%>.NAMESPACE_URI);
- <%=factoryType%> the<%=factoryType%> = new <%=factoryType%>();
- isInited = true;
-
- // Initialize dependencies
- <%
- List packages = new ArrayList(genPackage.getPackageSimpleDependencies());
- for (Iterator pidi=genPackage.getPackageInitializationDependencies().iterator(); pidi.hasNext();) {
- Object pkg = pidi.next();
- if(!packages.contains(pkg)) {
- packages.add(pkg);
- }
- }
- %>
- <%for (Iterator p=packages.iterator(); p.hasNext();) { GenPackage dep = (GenPackage)p.next();%>
- <%=genModel.getImportedName("org.apache.tuscany.sdo.util.SDOUtil")%>.registerStaticTypes(<%=dep.getImportedFactoryInterfaceName()%>.class);
- <%}%>
+ if (instance != null ) return instance;
+ instance = new <%=factoryType%>();
+ // Initialize dependent packages
+ <%for (Iterator p=genPackage.getPackageInitializationDependencies().iterator(); p.hasNext();) { GenPackage dep = (GenPackage)p.next();%>
+ <%=dep.getImportedFactoryInterfaceName()%> <%=dep.getImportedFactoryInterfaceName()%>Instance = <%=dep.getImportedFactoryInterfaceName()%>.INSTANCE;
+ <%}%>
+
// Create package meta-data objects
- the<%=factoryType%>.createMetaData();
+ instance.createMetaData();
// Initialize created meta-data
- the<%=factoryType%>.initializeMetaData();
-
+ instance.initializeMetaData();
+
// Mark meta-data to indicate it can't be changed
//the<%=factoryType%>.freeze(); //FB do we need to freeze / should we freeze ????
- return the<%=factoryType%>;
+ return instance;
}
private boolean isCreated = false;
@@ -295,7 +292,7 @@
// Create types and their properties
<%for (Iterator c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = (GenClass)c.next();%>
<%if (!genClass.isDynamic()) {%>
- <%=genClass.getSafeUncapName()%>Type = createType(false, <%=genPackage.getClassifierID(genClass)%>);
+ <%=genClass.getSafeUncapName()%>Type = createType(false, <%=genPackage.getClassifierID(genClass)%>);
<%for (Iterator j=genClass.getGenFeatures().iterator(); j.hasNext();) { GenFeature genFeature = (GenFeature)j.next();%>
createProperty(<%=!genFeature.isReferenceType()%>, <%=genClass.getSafeUncapName()%>Type,<%=genClass.getClassName()%>.INTERNAL_<%=genFeature.getUpperName()%>);
<%}%>
@@ -321,7 +318,7 @@
// Obtain other dependent packages
<%for (Iterator p=genPackage.getPackageInitializationDependencies().iterator(); p.hasNext();) { GenPackage dep = (GenPackage)p.next();%>
- <%=dep.getImportedFactoryClassName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedFactoryClassName()%>)FactoryBase.getStaticFactory(<%=dep.getImportedFactoryClassName()%>.NAMESPACE_URI);
+ <%=dep.getImportedFactoryClassName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedFactoryClassName()%>)<%=dep.getImportedFactoryInterfaceName()%>.INSTANCE;
<%}%>
<%}%>
<%List annotationSources = genPackage.getAnnotationSources();%>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org