Author: tchemit Date: 2010-11-18 15:31:50 +0100 (Thu, 18 Nov 2010) New Revision: 2139 Url: http://nuiton.org/repositories/revision/topia/2139 Log: Evolution #1064: Use Eugene api to generate i18n Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java 2010-11-18 14:31:34 UTC (rev 2138) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java 2010-11-18 14:31:50 UTC (rev 2139) @@ -30,6 +30,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.java.JavaGeneratorUtil; import org.nuiton.eugene.java.ObjectModelTransformerToJava; import org.nuiton.eugene.models.object.*; import org.nuiton.topia.TopiaException; @@ -178,9 +179,7 @@ // type = TopiaGeneratorUtil.getSimpleName(attr.getType()); } else { String assocAttrName = GeneratorUtil.getAssocAttrName(attr); - //TODO THIMEL : Je pense que les - // GeneratorUtil.toLowerCaseFirstLetter sont inutiles - // ici, ou alors il faudrait le faire partout + //TODO THIMEL : Je pense que les GeneratorUtil.toLowerCaseFirstLetter sont inutiles ici, ou alors il faudrait le faire partout name = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); type = attr.getAssociationClass().getQualifiedName(); // type = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); @@ -222,7 +221,7 @@ if (attr.hasTagValue(TAG_ANNOTATION)) { String annotation = attr.getTagValue(TAG_ANNOTATION); //FIXME Make annotation works... - //TODO tchemit 20100513 Test it still works + //TODO tchemit 20100513 Test if it still works addAnnotation(result, attr2, annotation); } } @@ -295,10 +294,10 @@ generateToStringMethod(result, clazz); } - String i18nPrefix = TopiaGeneratorUtil.getI18nPrefix(clazz, model); + String i18nPrefix = JavaGeneratorUtil.getI18nPrefix(clazz, model); if (!StringUtils.isEmpty(i18nPrefix)) { // generate i18n prefix - generateI18n(result, i18nPrefix, clazz); + generateI18nBlock(clazz, result, i18nPrefix); } } @@ -1233,7 +1232,13 @@ } } - private void generateI18n(ObjectModelClass result, String i18nPrefix, + /** + * + * @deprecated since 2.4.4, use the metohd {@link ObjectModelTransformerToJava#generateI18nBlock(ObjectModelClassifier, ObjectModelClassifier, String)} + */ + @Deprecated + private void enerateI18n(ObjectModelClass result, + String i18nPrefix, ObjectModelClass clazz) { StringBuilder buffer = new StringBuilder(300); @@ -1250,7 +1255,12 @@ setOperationBody(op, buffer.toString()); } - private void addI18n(StringBuilder buffer, String i18nPrefix, + /** + * + * @deprecated since 2.4.4, use the metohd {@link ObjectModelTransformerToJava#addI18n(StringBuilder, String, String)} + */ + @Deprecated + protected void addI18n(StringBuilder buffer, String i18nPrefix, String suffix) { buffer.append("\n org.nuiton.i18n.I18n.n_(\""); buffer.append(i18nPrefix); 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 2010-11-18 14:31:34 UTC (rev 2138) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java 2010-11-18 14:31:50 UTC (rev 2139) @@ -29,6 +29,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.java.JavaGeneratorUtil; import org.nuiton.eugene.java.ObjectModelTransformerToJava; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; import org.nuiton.eugene.models.object.ObjectModelAttribute; @@ -45,7 +46,6 @@ import org.nuiton.topia.persistence.TopiaEntityAbstract; import org.nuiton.topia.persistence.util.TopiaEntityHelper; -import java.beans.Introspector; import java.net.URL; import java.util.ArrayList; import java.util.Collection; @@ -134,9 +134,9 @@ createEntityAbstractClass(input); // Generate i18n block - String i18nPrefix = TopiaGeneratorUtil.getI18nPrefix(input, model); + String i18nPrefix = JavaGeneratorUtil.getI18nPrefix(input, model); if (!StringUtils.isEmpty(i18nPrefix)) { - generateI18nBlock(input, i18nPrefix); + generateI18nBlock(input, outputAbstract, i18nPrefix); } // Create accept operation, will be updated during property generation @@ -1362,28 +1362,40 @@ setOperationBody(operation, body.length() == 0 ? " " : body.toString()); } + /** + * + * @deprecated since 2.4.4, use the + * {@link ObjectModelTransformerToJava#generateI18nBlock(ObjectModelClassifier, ObjectModelClassifier, String)} + */ + @Deprecated protected void generateI18nBlock(ObjectModelClass input, String 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()); + 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.4.4, use the {@link ObjectModelTransformerToJava#addI18n(StringBuilder, String, String)} + */ + @Deprecated protected void addI18n(StringBuilder buffer, String i18nPrefix, String suffix) { - buffer.append("\n org.nuiton.i18n.I18n.n_(\""); - buffer.append(i18nPrefix); - buffer.append(suffix); - buffer.append("\");"); + super.addI18n(buffer,i18nPrefix,suffix); +// buffer.append("\n org.nuiton.i18n.I18n.n_(\""); +// buffer.append(i18nPrefix); +// buffer.append(suffix); +// buffer.append("\");"); } // ------------------------------------------------------------------------- Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2010-11-18 14:31:34 UTC (rev 2138) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2010-11-18 14:31:50 UTC (rev 2139) @@ -390,10 +390,13 @@ * @param element l'élément à tester * @param model le modele utilisé * @return le prefix i18n ou <code>null</code> si non spécifié + * @deprecated since 2.4.4, prefer use the {@link JavaGeneratorUtil#getI18nPrefix(ObjectModelElement, ObjectModel)} */ + @Deprecated public static String getI18nPrefix(ObjectModelElement element, ObjectModel model) { - return GeneratorUtil.findTagValue(TAG_I18N_PREFIX, element, model); + return JavaGeneratorUtil.getI18nPrefix(element, model); +// return GeneratorUtil.findTagValue(TAG_I18N_PREFIX, element, model); } /**