r2353 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
Author: tchemit Date: 2011-10-13 17:47:37 +0200 (Thu, 13 Oct 2011) New Revision: 2353 Url: http://nuiton.org/repositories/revision/topia/2353 Log: Evolution #1773: Remove code in generators that prevent generation of classes alerady in classpath Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2011-10-13 15:12:26 UTC (rev 2352) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2011-10-13 15:47:37 UTC (rev 2353) @@ -117,7 +117,7 @@ getOutputProperties().getProperty(PROP_DEFAULT_PACKAGE); if (generateStandaloneEnum) { - entityEnumPackage = packageName+"."+entityEnumName; + entityEnumPackage = packageName + "." + entityEnumName; } else { String daoHelperClazzName = modelName + "DAOHelper"; entityEnumPackage = packageName + "." + daoHelperClazzName + "." + entityEnumName; @@ -221,43 +221,69 @@ @Override public void transformFromClass(ObjectModelClass clazz) { if (!TopiaGeneratorUtil.isEntity(clazz)) { + // not an entity return; } String clazzName = clazz.getName(); String clazzFQN = clazz.getQualifiedName(); - // generate DAO - generateDAOClass(clazz, clazzName, clazzFQN); + if (isGenerateDAO(clazz)) { + // generate DAO + generateDAOClass(clazz, clazzName, clazzFQN); + + } if (isGenerateImpl(clazz)) { // generate DAOImpl generateDAOImpl(clazz, clazzName, clazzFQN); } - // generate DAOAbstract - generateDAOAbstract(clazz, clazzName, clazzFQN); + if (isGenerateDAOAbstract(clazz)) { + + // generate DAOAbstract + generateDAOAbstract(clazz, clazzName, clazzFQN); + } } - protected boolean isGenerateImpl(ObjectModelClass input) { + protected boolean isGenerateDAO(ObjectModelClass input) { - String fqn = input.getQualifiedName() + "DAOImpl"; + String fqn = input.getQualifiedName() + "DAO"; - URL fileLocation = getFileInClassPath(fqn); + if (isInClassPath(fqn)) { - if (fileLocation != null) { + // already in class-path + return false; + } - // there is already a existing file in class-path, skip + // can safely generate the dao impl + return true; + } - if (isVerbose()) { + protected boolean isGenerateDAOAbstract(ObjectModelClass input) { - log.info("Will not generate [" + fqn + "], already found in class-path at location : " + fileLocation); - } else { - log.info("Will not generate [" + fqn + "], already found in class-path."); - } + String fqn = input.getQualifiedName() + "DAOAbstract"; + + if (isInClassPath(fqn)) { + + // already in class-path return false; } + // can safely generate the dao impl + return true; + } + + protected boolean isGenerateImpl(ObjectModelClass input) { + + String fqn = input.getQualifiedName() + "DAOImpl"; + + if (isInClassPath(fqn)) { + + // already in class-path + return false; + } + Collection<ObjectModelOperation> moreOperations = extraOperations.get(input.getQualifiedName()); @@ -306,7 +332,7 @@ protected void generateDAOAbstract(ObjectModelClass clazz, String clazzName, String clazzFQN) { - ObjectModelClass daoAbstractClass = createAbstractClass( + ObjectModelClass daoAbstractClass = createAbstractClass( clazzName + "DAOAbstract<E extends " + clazzName + '>', clazz.getPackageName()); Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java 2011-10-13 15:12:26 UTC (rev 2352) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java 2011-10-13 15:47:37 UTC (rev 2353) @@ -98,6 +98,10 @@ private boolean associationClass; + protected boolean generateInterface; + protected boolean generateAbstract; + protected boolean generateImpl; + protected void clean() { outputInterface = null; outputAbstract = null; @@ -132,12 +136,22 @@ } setConstantPrefix(prefix); - // Create Entity Interface and its header - createEntityInterface(input); + generateInterface = isGenerateInterface(input); + generateAbstract = isGenerateAbstract(input); + generateImpl = isGenerateImpl(input); - // Create Entity Abstract class and its header - createEntityAbstractClass(input); + if (generateInterface) { + + // Create Entity Interface and its header + createEntityInterface(input); + } + if (generateAbstract) { + + // Create Entity Abstract class and its header + createEntityAbstractClass(input); + } + // Generate i18n block String i18nPrefix = JavaGeneratorUtil.getI18nPrefixTagValue(input, model); if (!StringUtils.isEmpty(i18nPrefix)) { @@ -180,7 +194,6 @@ generateSerialVersionUID(input, outputAbstract); // Generate Entity Implementation class - boolean generateImpl = isGenerateImpl(input, input.getOperations()); if (generateImpl) { generateImpl(input); generateSerialVersionUID(input, outputImpl); @@ -340,23 +353,27 @@ } } - protected boolean isGenerateImpl(ObjectModelClass input, - Collection<ObjectModelOperation> operations) { + protected boolean isGenerateInterface(ObjectModelClass input) { - String fqn = input.getQualifiedName() + "Impl"; + boolean alreadyInClassPath = !isInClassPath(input); + return alreadyInClassPath; + } - URL fileLocation = getFileInClassPath(fqn); + protected boolean isGenerateAbstract(ObjectModelClass input) { - if (fileLocation != null) { + String fqn = input.getQualifiedName() + " Abstract"; + boolean alreadyInClassPath = !isInClassPath(fqn); + return alreadyInClassPath; + } - // there is already a existing file in class-path, skip + protected boolean isGenerateImpl(ObjectModelClass input) { - if (isVerbose()) { + Collection<ObjectModelOperation> operations = input.getOperations(); + String fqn = input.getQualifiedName() + "Impl"; - log.info("Will not generate [" + fqn + "], already found in class-path at location : " + fileLocation); - } else { - log.info("Will not generate [" + fqn + "], already found in class-path."); - } + boolean alreadyInClassPath = isInClassPath(fqn); + if (alreadyInClassPath) { + return false; } @@ -1443,42 +1460,6 @@ setOperationBody(operation, body.length() == 0 ? " " : body.toString()); } - /** - * - * @deprecated since 2.5, use the - * {@link ObjectModelTransformerToJava#generateI18nBlock(ObjectModelClassifier, ObjectModelClassifier, String)} - */ - @Deprecated - protected void generateI18nBlock(ObjectModelClass input, String i18nPrefix) { - generateI18nBlock(input,outputAbstract,i18nPrefix); -// ObjectModelOperation block = -// addBlock(outputAbstract, ObjectModelModifier.STATIC); -// -// StringBuilder buffer = new StringBuilder(300); -// addI18n(buffer, i18nPrefix, Introspector.decapitalize(input.getName())); -// for (ObjectModelAttribute attr : input.getAttributes()) { -// //TC-20100225 only treate navigable relations -// if (attr.isNavigable()) { -// addI18n(buffer, i18nPrefix, Introspector.decapitalize(attr.getName())); -// } -// } -// setOperationBody(block, buffer.toString()); - } - - /** - * - * @deprecated since 2.5, use the {@link ObjectModelTransformerToJava#addI18n(StringBuilder, String, String)} - */ - @Deprecated - protected void addI18n(StringBuilder buffer, String i18nPrefix, - String suffix) { - super.addI18n(buffer,i18nPrefix,suffix); -// buffer.append("\n org.nuiton.i18n.I18n.n_(\""); -// buffer.append(i18nPrefix); -// buffer.append(suffix); -// buffer.append("\");"); - } - // ------------------------------------------------------------------------- // Helpers // -------------------------------------------------------------------------
participants (1)
-
tchemit@users.nuiton.org