Author: bleny Date: 2010-08-18 17:56:12 +0200 (Wed, 18 Aug 2010) New Revision: 270 Url: http://nuiton.org/repositories/revision/wikitty/270 Log: do not generate from classes that are not stereotyped as business entities Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-08-18 15:40:40 UTC (rev 269) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2010-08-18 15:56:12 UTC (rev 270) @@ -40,25 +40,36 @@ @Override public void transformFromModel(ObjectModel model) { - for (ObjectModelClass businessEntity : model.getClasses()) { + + List<ObjectModelClass> modelBusinessEntities = new ArrayList<ObjectModelClass>(); + + // fill modelBusinessEntities with entities found in model + for (ObjectModelClass clazz : model.getClasses()) { + if (WikittyTransformerUtil.isBusinessEntity(clazz)) { + modelBusinessEntities.add(clazz); + } + } + + + for (ObjectModelClass businessEntity : modelBusinessEntities) { ObjectModelClass abstractClass = createAbstractClass(businessEntity.getName() + "Abstract", businessEntity.getPackageName()); processedClasses.put(businessEntity, abstractClass); setSuperClass(abstractClass, "BusinessEntityWikitty"); addInterface(abstractClass, businessEntity.getQualifiedName()); } - for (ObjectModelClass businessEntity : model.getClasses()) { + for (ObjectModelClass businessEntity : modelBusinessEntities) { addOperations(businessEntity, processedClasses.get(businessEntity)); } // at this time, all operations in generated abstracts are just the operations // like get/set etc. we will copy all operations of a given class to all children // that's why constructors and others operations are not yet added - for (ObjectModelClass businessEntity : model.getClasses()) { + for (ObjectModelClass businessEntity : modelBusinessEntities) { addInheritedOperations(businessEntity, processedClasses.get(businessEntity)); } - for (ObjectModelClass businessEntity : model.getClasses()) { + for (ObjectModelClass businessEntity : modelBusinessEntities) { ObjectModelClass abstractClassForThisEntity = processedClasses.get(businessEntity); addImports(abstractClassForThisEntity); addConstructors(abstractClassForThisEntity); Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-08-18 15:40:40 UTC (rev 269) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyContractGenerator.java 2010-08-18 15:56:12 UTC (rev 270) @@ -46,16 +46,18 @@ log.info(model.getClasses().size() + " classes to process"); for (ObjectModelClass clazz : model.getClasses()) { - processClass(clazz); + if (WikittyTransformerUtil.isBusinessEntity(clazz)) { + processEntity(clazz); + } } processedClasses.clear(); } - protected void processClass(ObjectModelClass clazz) { - log.info("will process " + clazz.getPackageName() + ".." + clazz.getName()); - ObjectModelInterface contract = createInterface(clazz.getName(), clazz.getPackageName()); + protected void processEntity(ObjectModelClass businessEntity) { + log.info("will process " + businessEntity.getPackageName() + ".." + businessEntity.getName()); + ObjectModelInterface contract = createInterface(businessEntity.getName(), businessEntity.getPackageName()); addInterface(contract, WikittyTransformerUtil.BUSINESS_ENTITY_CLASS_FQN); // TODO 20100811 bleny remove unused imports @@ -78,18 +80,18 @@ addImport(contract, java.util.Date.class); addImport(contract, java.util.LinkedHashSet.class); - setDocumentation(contract, clazz.getDocumentation()); + setDocumentation(contract, businessEntity.getDocumentation()); // adding public static final String EXT_CLIENT = "Client"; addConstant(contract, - "EXT_" + clazz.getName().toUpperCase(), + "EXT_" + businessEntity.getName().toUpperCase(), "String", - "\"" + clazz.getName() + "\"", + "\"" + businessEntity.getName() + "\"", ObjectModelModifier.PUBLIC); - String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(clazz, false); + String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(businessEntity, false); - for(ObjectModelAttribute attribute : clazz.getAttributes()) { + for(ObjectModelAttribute attribute : businessEntity.getAttributes()) { if (attribute.isNavigable()) { // two variables needed below String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute, false); @@ -109,7 +111,7 @@ } } - for (ObjectModelAttribute attribute : clazz.getAttributes()) { + for (ObjectModelAttribute attribute : businessEntity.getAttributes()) { if (attribute.isNavigable()) { // needed below, in templates String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute, true); @@ -161,13 +163,13 @@ // now, add to this contract all operation due to inheritence from // other business entities - Collection<ObjectModelClass> superClasses = clazz.getSuperclasses(); + Collection<ObjectModelClass> superClasses = businessEntity.getSuperclasses(); for (ObjectModelClass superClass : superClasses) { addInterface(contract, superClass.getQualifiedName()); // extends ? if (WikittyTransformerUtil.isBusinessEntity(superClass)) { // superclass must have benn processed first to have its operations set if (! processedClasses.containsKey(superClass)) { - processClass(superClass); + processEntity(superClass); } // getting the signatures of thoses operation @@ -177,6 +179,6 @@ } } - processedClasses.put(clazz, contract); + processedClasses.put(businessEntity, contract); } } Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-08-18 15:40:40 UTC (rev 269) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyHelperGenerator.java 2010-08-18 15:56:12 UTC (rev 270) @@ -18,6 +18,10 @@ @Override public void transformFromClass(ObjectModelClass clazz) { + + if (! WikittyTransformerUtil.isBusinessEntity(clazz)) { + return ; + } ObjectModelClass helper = createClass(clazz.getName() + "Helper", clazz.getPackageName()); Modified: branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java =================================================================== --- branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java 2010-08-18 15:40:40 UTC (rev 269) +++ branches/wikitty-eugene-migration/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyImplementationGenerator.java 2010-08-18 15:56:12 UTC (rev 270) @@ -18,6 +18,11 @@ @Override public void transformFromClass(ObjectModelClass clazz) { + + if (! WikittyTransformerUtil.isBusinessEntity(clazz)) { + return ; + } + ObjectModelClass implementation = createClass(clazz.getName() + "Impl", clazz.getPackageName()); // TODO 20100811 bleny remove unused imports