Author: bleny Date: 2010-10-05 19:40:50 +0200 (Tue, 05 Oct 2010) New Revision: 390 Url: http://nuiton.org/repositories/revision/wikitty/390 Log: refactoring generated code about adding a meta-extension to a wikity Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-10-05 16:46:42 UTC (rev 389) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-10-05 17:40:50 UTC (rev 390) @@ -16,7 +16,6 @@ import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; -import org.nuiton.eugene.models.object.ObjectModelInterface; import org.nuiton.eugene.models.object.ObjectModelModifier; import org.nuiton.eugene.models.object.ObjectModelOperation; @@ -455,13 +454,12 @@ ObjectModelAttribute extension = addAttribute(abstractClassForThisMetaExtension, "extensionForMetaExtension", WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN); setDocumentation(extension, "the metaExtension operations target this extension, may be null"); - ObjectModelOperation addMetaExtension = addOperation(abstractClassForThisMetaExtension, "addMetaExtension", "void"); - addAnnotation(abstractClassForThisMetaExtension, addMetaExtension, "Override"); - addParameter(addMetaExtension, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); - setDocumentation(addMetaExtension, String.format( + ObjectModelOperation setExtensionForMetaExtension = addOperation(abstractClassForThisMetaExtension, "setExtensionForMetaExtension", "void"); + addParameter(setExtensionForMetaExtension, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); + setDocumentation(setExtensionForMetaExtension, String.format( "add %s meta-extension on given extension to this entity", metaExtension.getName())); - setOperationBody(addMetaExtension, "" + setOperationBody(setExtensionForMetaExtension, "" /*{ extensionForMetaExtension = extension; <%=helperClassName%>.addMetaExtension(extension, getWikitty()); Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-10-05 16:46:42 UTC (rev 389) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-10-05 17:40:50 UTC (rev 390) @@ -237,16 +237,6 @@ /** add stuff if input model element is stereotyped as "meta" */ protected void processMetaExtension(ObjectModelClass metaExtension) { - log.debug("processing meta-extension : " + metaExtension.getPackageName() + - "." + metaExtension.getName()); - - ObjectModelInterface contract = prepareOutputClass(metaExtension); - - ObjectModelOperation addMetaExtension = addOperation(contract, "addMetaExtension", "void"); - addParameter(addMetaExtension, WikittyTransformerUtil.WIKITTY_EXTENSION_CLASS_FQN, "extension"); - setDocumentation(addMetaExtension, String.format( - "add %s meta-extension on given extension to this entity", - metaExtension.getName())); - + // nothing to do } } Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java =================================================================== --- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java 2010-10-05 16:46:42 UTC (rev 389) +++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java 2010-10-05 17:40:50 UTC (rev 390) @@ -36,16 +36,14 @@ } protected ObjectModelClass prepareImplementation(ObjectModelClass clazz) { - ObjectModelClass implementation; + ObjectModelClass implementation = processedClasses.get(clazz); - if (processedClasses.containsKey(clazz)) { - // class has been already processed, return the implementation - implementation = processedClasses.get(clazz); - } else { + if (implementation == null) { + implementation = createClass( WikittyTransformerUtil.businessEntityToImplementationName(clazz), clazz.getPackageName()); - + // TODO 20100811 bleny remove unused imports addImport(implementation, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN); addImport(implementation, WikittyTransformerUtil.BUSINESS_ENTITY_WIKITTY_CLASS_FQN); @@ -65,9 +63,9 @@ addImport(implementation, java.util.Set.class); addImport(implementation, java.util.Date.class); addImport(implementation, java.util.LinkedHashSet.class); - + setSuperClass(implementation, WikittyTransformerUtil.businessEntityToAbstractName(clazz)); - + // adding a generated serialVersionUID Random random = new Random(); Long serialVersionUIDs = random.nextLong(); @@ -76,7 +74,8 @@ "long", serialVersionUIDs.toString() + "L", ObjectModelModifier.PRIVATE); - + + processedClasses.put(clazz, implementation); } return implementation; @@ -118,9 +117,8 @@ String contractName = WikittyTransformerUtil.businessEntityToContractName(metaExtension); setOperationBody(constructor, "" /*{ - this.extensionForMetaExtension = extension; this.wikitty = wikitty; - addMetaExtension(extension<%=contractName%>, extension); + setExtensionForMetaExtension(extension); }*/); } }