This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git commit 7df046b3a4e8b6ab26cfbc181ef8135b630f566f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Oct 2 19:18:26 2016 +0200 Use latest apis from eugene + clean code (See #4043) --- pom.xml | 6 + topia-templates/pom.xml | 13 + .../templates/ApplicationContextTransformer.java | 19 +- .../topia/templates/BinderHelperTransformer.java | 4 +- .../topia/templates/EntityDaoTransformer.java | 29 +-- .../topia/templates/EntityEnumTransformer.java | 18 +- .../templates/EntityHibernateMappingGenerator.java | 9 +- .../nuiton/topia/templates/EntityTransformer.java | 277 ++++++++++----------- .../templates/PersistenceContextTransformer.java | 32 ++- .../topia/templates/TopiaCoreStereoTypes.java | 24 +- .../nuiton/topia/templates/TopiaCoreTagValues.java | 42 +++- .../topia/templates/TopiaHibernateTagValues.java | 75 +++--- .../nuiton/topia/templates/TopiaJavaValidator.java | 6 +- .../topia/templates/TopiaTemplateHelper.java | 16 +- .../i18n/topia-templates_en_GB.properties | 40 +++ .../i18n/topia-templates_fr_FR.properties | 40 +++ 16 files changed, 381 insertions(+), 269 deletions(-) diff --git a/pom.xml b/pom.xml index 3db3e92..f63c762 100644 --- a/pom.xml +++ b/pom.xml @@ -477,6 +477,12 @@ </plugin> <plugin> + <groupId>org.nuiton.i18n</groupId> + <artifactId>i18n-maven-plugin</artifactId> + <version>${nuitonI18nVersion}</version> + </plugin> + + <plugin> <artifactId>maven-site-plugin</artifactId> <dependencies> <dependency> diff --git a/topia-templates/pom.xml b/topia-templates/pom.xml index f55eb44..966d5b4 100644 --- a/topia-templates/pom.xml +++ b/topia-templates/pom.xml @@ -161,6 +161,19 @@ </dependencies> </plugin> + <plugin> + <groupId>org.nuiton.i18n</groupId> + <artifactId>i18n-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>parserJava</goal> + <goal>gen</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> </build> diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java b/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java index b3f684b..4868dcc 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java @@ -54,7 +54,11 @@ public class ApplicationContextTransformer extends ObjectModelTransformerToJava protected TopiaTemplateHelper templateHelper; - protected TopiaCoreTagValues topiaCoreTagValues; + protected final TopiaCoreTagValues topiaCoreTagValues; + + public ApplicationContextTransformer() { + this.topiaCoreTagValues = new TopiaCoreTagValues(); + } @Override public void transformFromModel(ObjectModel input) { @@ -62,9 +66,6 @@ public class ApplicationContextTransformer extends ObjectModelTransformerToJava if (templateHelper == null) { templateHelper = new TopiaTemplateHelper(model); } - if (topiaCoreTagValues == null) { - topiaCoreTagValues = templateHelper.getTopiaCoreTagValues(); - } String packageName = templateHelper.getApplicationContextPackage(this, model); @@ -72,9 +73,9 @@ public class ApplicationContextTransformer extends ObjectModelTransformerToJava String applicationContextConcreteName = templateHelper.getApplicationContextConcreteName(model); - boolean generateAbstract = !isInClassPath(packageName, applicationContextAbstractName); + boolean generateAbstract = !getResourcesHelper().isJavaFileInClassPath(packageName + "." + applicationContextAbstractName); - boolean generateConcrete = !isInClassPath(packageName, applicationContextConcreteName); + boolean generateConcrete = !getResourcesHelper().isJavaFileInClassPath(packageName + "." + applicationContextConcreteName); if (generateAbstract) { @@ -101,7 +102,7 @@ public class ApplicationContextTransformer extends ObjectModelTransformerToJava // no super-class, use default one superClass = AbstractTopiaApplicationContext.class.getName(); - }else { + } else { //TODO check that super class instance of ApplicationPersistenceContext @@ -115,7 +116,7 @@ public class ApplicationContextTransformer extends ObjectModelTransformerToJava // detect if there is a contract to set on abstract String contractName = templateHelper.getApplicationContextInterfaceName(model); - boolean addPersistenceContextContract = isInClassPath(packageName, contractName); + boolean addPersistenceContextContract = getResourcesHelper().isJavaFileInClassPath(packageName + "." + contractName); if (addPersistenceContextContract) { addInterface(output, packageName + "." + contractName); @@ -240,7 +241,7 @@ public class ApplicationContextTransformer extends ObjectModelTransformerToJava } op = addOperation(output, "getEntityEnum", "<E extends TopiaEntity> " + entityEnumName, - ObjectModelJavaModifier.PUBLIC); + ObjectModelJavaModifier.PUBLIC); addAnnotation(output, op, Override.class); addParameter(op, "Class<E>", "type"); setOperationBody(op, "" diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java b/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java index 57c75db..bd6c7a9 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java @@ -226,9 +226,9 @@ public class BinderHelperTransformer extends ObjectModelTransformerToJava { ObjectModelClass resultClass, StringBuilder initCode) { - List<ObjectModelAttribute> list = new ArrayList<ObjectModelAttribute>(); + List<ObjectModelAttribute> list = new ArrayList<>(); - Collection<ObjectModelAttribute> attributes = new HashSet<ObjectModelAttribute>(); + Collection<ObjectModelAttribute> attributes = new HashSet<>(); attributes.addAll(clazz.getAllOtherAttributes()); attributes.addAll(clazz.getAttributes()); diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java index 19dbf8d..3e37418 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java @@ -95,8 +95,13 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { protected TopiaTemplateHelper templateHelper; - protected TopiaCoreTagValues topiaCoreTagValues; - protected TopiaHibernateTagValues topiaHibernateTagValues; + protected final TopiaCoreTagValues topiaCoreTagValues; + protected final TopiaHibernateTagValues topiaHibernateTagValues; + + public EntityDaoTransformer() { + this.topiaCoreTagValues = new TopiaCoreTagValues(); + this.topiaHibernateTagValues = new TopiaHibernateTagValues(); + } @Override public void transformFromModel(ObjectModel model) { @@ -104,12 +109,7 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { if (templateHelper == null) { templateHelper = new TopiaTemplateHelper(model); } - if (topiaCoreTagValues == null) { - topiaCoreTagValues = templateHelper.getTopiaCoreTagValues(); - } - if (topiaHibernateTagValues == null) { - topiaHibernateTagValues = templateHelper.getTopiaHibernateTagValues(); - } + String modelName = model.getName(); entityEnumName = modelName + "EntityEnum"; @@ -123,8 +123,7 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { generateParentDao(); // keep all classifiers on the model which are entities - List<ObjectModelClass> allEntities = - templateHelper.getEntityClasses(model, true); + List<ObjectModelClass> allEntities = templateHelper.getEntityClasses(model, true); allEntitiesFqn = new HashSet<>(allEntities.size()); for (ObjectModelClass entity : allEntities) { String fqn = entity.getQualifiedName(); @@ -159,7 +158,7 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { String daoConcreteFqn = templateHelper.getConcreteDaoFqn(input); - if (isInClassPath(daoConcreteFqn)) { + if (getResourcesHelper().isJavaFileInClassPath(daoConcreteFqn)) { // already in class-path return false; @@ -173,7 +172,7 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { String daoGeneratedFqn = templateHelper.getGeneratedDaoFqn(input); - if (isInClassPath(daoGeneratedFqn)) { + if (getResourcesHelper().isJavaFileInClassPath(daoGeneratedFqn)) { // already in class-path return false; @@ -188,9 +187,7 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { String fqn = templateHelper.getAbstractDaoFqn(input); - boolean isGenerateAbstractDao = ! isInClassPath(fqn); - - return isGenerateAbstractDao; + return ! getResourcesHelper().isJavaFileInClassPath(fqn); } @@ -265,7 +262,7 @@ public class EntityDaoTransformer extends ObjectModelTransformerToJava { String parentDaoFqn = templateHelper.getParentDaoFqn(this, model); - if ( ! isInClassPath(parentDaoFqn)) { + if ( ! getResourcesHelper().isJavaFileInClassPath(parentDaoFqn)) { ObjectModelClass parentDao = createAbstractClass( diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java index b3568e2..5e16907 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java @@ -71,8 +71,13 @@ public class EntityEnumTransformer extends ObjectModelTransformerToJava { protected TopiaTemplateHelper templateHelper; - protected TopiaCoreTagValues topiaCoreTagValues; - protected TopiaHibernateTagValues topiaHibernateTagValues; + protected final TopiaCoreTagValues topiaCoreTagValues; + protected final TopiaHibernateTagValues topiaHibernateTagValues; + + public EntityEnumTransformer() { + this.topiaCoreTagValues = new TopiaCoreTagValues(); + this.topiaHibernateTagValues = new TopiaHibernateTagValues(); + } @Override public void transformFromModel(ObjectModel input) { @@ -81,18 +86,11 @@ public class EntityEnumTransformer extends ObjectModelTransformerToJava { templateHelper = new TopiaTemplateHelper(model); } - if (topiaCoreTagValues == null) { - topiaCoreTagValues = templateHelper.getTopiaCoreTagValues(); - } - if (topiaHibernateTagValues == null) { - topiaHibernateTagValues = templateHelper.getTopiaHibernateTagValues(); - } String packageName = templateHelper.getApplicationContextPackage(this, model); String entityEnumName = templateHelper.getEntityEnumName(model); - boolean generateOperator = - topiaCoreTagValues.getGenerateOperatorForDAOHelperTagValue(model); + boolean generateOperator = topiaCoreTagValues.getGenerateOperatorForDAOHelperTagValue(model); generateEntityEnum(packageName, entityEnumName, generateOperator); diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java index 7d1dd3d..6598415 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java @@ -103,7 +103,11 @@ public class EntityHibernateMappingGenerator extends ObjectModelGenerator { protected TopiaTemplateHelper templateHelper; - protected TopiaHibernateTagValues topiaHibernateTagValues; + protected final TopiaHibernateTagValues topiaHibernateTagValues; + + public EntityHibernateMappingGenerator() { + this.topiaHibernateTagValues = new TopiaHibernateTagValues(); + } class ClassContext { @@ -177,9 +181,6 @@ public class EntityHibernateMappingGenerator extends ObjectModelGenerator { if (templateHelper == null) { templateHelper = new TopiaTemplateHelper(model); } - if (topiaHibernateTagValues == null) { - topiaHibernateTagValues = templateHelper.getTopiaHibernateTagValues(); - } String persistenceType = templateHelper.getPersistenceType(input); if (!templateHelper.isEntity(input) && diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityTransformer.java b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityTransformer.java index 765e43d..8992fc7 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityTransformer.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityTransformer.java @@ -33,6 +33,7 @@ import org.nuiton.eugene.EugeneCoreTagValues; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.java.JavaGeneratorUtil; import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.extension.tagvalue.TagValueUtil; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; @@ -44,7 +45,6 @@ import org.nuiton.eugene.models.object.ObjectModelOperation; import org.nuiton.eugene.models.object.ObjectModelPackage; import org.nuiton.eugene.models.object.ObjectModelParameter; import org.nuiton.eugene.models.object.xml.ObjectModelInterfaceImpl; -import org.nuiton.eugene.models.tagvalue.TagValues; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaDaoSupplier; import org.nuiton.topia.persistence.TopiaEntity; @@ -81,8 +81,8 @@ import java.util.Set; * </ul> * * @author Tony Chemit - chemit@codelutin.com - * @since 2.3.4 * @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.topia.templates.EntityTransformer" + * @since 2.3.4 */ public class EntityTransformer extends ObjectModelTransformerToJava { @@ -109,8 +109,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { protected TopiaTemplateHelper templateHelper; - protected TopiaCoreTagValues topiaCoreTagValues; - protected TopiaHibernateTagValues topiaHibernateTagValues; + protected final TopiaCoreTagValues topiaCoreTagValues; + protected final TopiaHibernateTagValues topiaHibernateTagValues; + + public EntityTransformer() { + this.topiaCoreTagValues = new TopiaCoreTagValues(); + this.topiaHibernateTagValues = new TopiaHibernateTagValues(); + } protected void clean() { outputInterface = null; @@ -145,9 +150,9 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // no specific prefix, so no prefix if (log.isWarnEnabled()) { log.warn("[" + input.getName() + "] Will generate constants with NO prefix, not a good idea... \n" + - "Use '" + EugeneCoreTagValues.Store.constantPrefix+ - "' tagvalue in your xmi properties. For example " + - "for all the model : model.tagvalue." + EugeneCoreTagValues.Store.constantPrefix + "=PROPERTY_"); + "Use '" + EugeneCoreTagValues.Store.constantPrefix + + "' tagvalue in your xmi properties. For example " + + "for all the model : model.tagvalue." + EugeneCoreTagValues.Store.constantPrefix + "=PROPERTY_"); } } setConstantPrefix(prefix); @@ -156,25 +161,18 @@ public class EntityTransformer extends ObjectModelTransformerToJava { generateAbstract = isGenerateAbstract(input); generateImpl = isGenerateImpl(input); - if (topiaCoreTagValues == null) { - topiaCoreTagValues = templateHelper.getTopiaCoreTagValues(); - } - if (topiaHibernateTagValues==null) { - topiaHibernateTagValues = templateHelper.getTopiaHibernateTagValues(); - } - - generateBooleanGetMethods = getEugeneTagValues().isGenerateBooleanGetMethods(input, aPackage, model); + generateBooleanGetMethods = eugeneTagValues.isGenerateBooleanGetMethods(input, aPackage, model); generatePropertyChangeSupport = topiaCoreTagValues.isGeneratePropertyChangeSupport(input, model); if (generateInterface) { - + // Create Entity Interface and its header createEntityInterface(aPackage, input); } else { // mock it outputInterface = new ObjectModelInterfaceImpl(); - ((ObjectModelInterfaceImpl)outputInterface).setName(input.getName()); + ((ObjectModelInterfaceImpl) outputInterface).setName(input.getName()); } if (generateAbstract) { @@ -184,7 +182,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { } // Generate i18n block - String i18nPrefix = getEugeneTagValues().getI18nPrefixTagValue(input, aPackage, model); + String i18nPrefix = eugeneTagValues.getI18nPrefixTagValue(input, aPackage, model); if (!StringUtils.isEmpty(i18nPrefix)) { generateI18nBlock(input, outputAbstract, i18nPrefix); } @@ -199,8 +197,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // Case of association class : properties from participants/extremities // of the association class. if (input instanceof ObjectModelAssociationClass) { - ObjectModelAssociationClass association = - (ObjectModelAssociationClass)input; + ObjectModelAssociationClass association = (ObjectModelAssociationClass) input; associationClass = true; generateProperties(association.getParticipantsAttributes(), input, aPackage); associationClass = false; @@ -236,15 +233,14 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ObjectModelClass ouput) { // serialVersionUID - //FIXME deprecated api - String svUID = TagValues.findTagValue(GeneratorUtil.SERIAL_VERSION_UID, input, model); + String svUID = TagValueUtil.findTagValue(TopiaCoreTagValues.Store.serialVersionUID, input); if (svUID == null) { // use a default one svUID = GeneratorUtil.generateSerialVersionUID(ouput) + "L"; } addConstant(ouput, GeneratorUtil.SERIAL_VERSION_UID, long.class, svUID, - ObjectModelJavaModifier.PRIVATE); + ObjectModelJavaModifier.PRIVATE); } protected void createEntityInterface(ObjectModelPackage aPackage, @@ -260,7 +256,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isTraceEnabled()) { log.trace("Will add interfaces on " + - outputInterface.getQualifiedName()); + outputInterface.getQualifiedName()); } List<String> interfaceAlreadyDone = new LinkedList<>(); @@ -286,7 +282,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (topiaCoreTagValues.getContextableTagValue(input, aPackage, model)) { interfaze = TopiaEntityContextable.class; } - + addInterface(interfaceAlreadyDone, outputInterface, interfaze); @@ -295,14 +291,14 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // Even if there is no need to implement TopiaEntity, it might be // necessary to implement TopiaEntityContextable addInterface(interfaceAlreadyDone, - outputInterface, - TopiaEntityContextable.class); + outputInterface, + TopiaEntityContextable.class); } if (generatePropertyChangeSupport) { addInterface(interfaceAlreadyDone, - outputInterface, - ListenableTopiaEntity.class); + outputInterface, + ListenableTopiaEntity.class); } } @@ -310,7 +306,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ObjectModelClass input) { outputAbstract = createAbstractClass(input.getName() + "Abstract", - input.getPackageName()); + input.getPackageName()); // Documentation StringBuilder doc = new StringBuilder(); @@ -366,7 +362,8 @@ public class EntityTransformer extends ObjectModelTransformerToJava { /** * Ajout les methodes necessaire à l'interface {@link TopiaEntityContextable} * si le tagValue {@link TopiaCoreTagValues.Store#contextable} est renseigné. - * @param input FIXME + * + * @param input FIXME * @param outputAbstract FIXME */ protected void addContextableMethods(ObjectModelClass input, @@ -380,15 +377,15 @@ public class EntityTransformer extends ObjectModelTransformerToJava { outputAbstract, "topiaDaoSupplier", TopiaDaoSupplier.class, null, ObjectModelJavaModifier.PROTECTED, ObjectModelJavaModifier.TRANSIENT); setDocumentation(topiaContextAttribute, - "TopiaDAO instance associated with the current \n" + - "instance. For internal usage only"); + "TopiaDAO instance associated with the current \n" + + "instance. For internal usage only"); ObjectModelOperation op; op = addOperation(outputAbstract, - "getTopiaDaoSupplier", TopiaDaoSupplier.class, - ObjectModelJavaModifier.PUBLIC); - setDocumentation(op,"@since 3.0"); + "getTopiaDaoSupplier", TopiaDaoSupplier.class, + ObjectModelJavaModifier.PUBLIC); + setDocumentation(op, "@since 3.0"); addAnnotation(outputAbstract, op, Override.class); setOperationBody(op, "" /*{ @@ -397,8 +394,8 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); op = addOperation(outputAbstract, - "setTopiaDaoSupplier", "void", - ObjectModelJavaModifier.PUBLIC); + "setTopiaDaoSupplier", "void", + ObjectModelJavaModifier.PUBLIC); addException(op, TopiaException.class); addParameter(op, TopiaDaoSupplier.class, "topiaDaoSupplier"); setDocumentation(op, "@since 3.0"); @@ -415,7 +412,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { op = addOperation(outputAbstract, "getInternalDao", daoClassName, ObjectModelJavaModifier.PROTECTED); - setDocumentation(op,"@since 3.0"); + setDocumentation(op, "@since 3.0"); setOperationBody(op, "" /*{ TopiaDaoSupplier daoSupplier = getTopiaDaoSupplier(); @@ -428,9 +425,9 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); op = addOperation(outputAbstract, "getGenericEntityDao", "TopiaDao<?>", - ObjectModelJavaModifier.PUBLIC); + ObjectModelJavaModifier.PUBLIC); addAnnotation(outputAbstract, op, Override.class); - setDocumentation(op,"@since 3.0"); + setDocumentation(op, "@since 3.0"); setOperationBody(op, "" /*{ return getInternalDao(); @@ -438,7 +435,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); op = addOperation(outputAbstract, "update", "void", - ObjectModelJavaModifier.PUBLIC); + ObjectModelJavaModifier.PUBLIC); addException(op, TopiaException.class); addAnnotation(outputAbstract, op, Override.class); setOperationBody(op, "" @@ -483,15 +480,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { protected boolean isGenerateInterface(ObjectModelClass input) { - boolean alreadyInClassPath = !isInClassPath(input); - return alreadyInClassPath; + return !getResourcesHelper().isJavaFileInClassPath(input.getQualifiedName()); } protected boolean isGenerateAbstract(ObjectModelClass input) { String fqn = input.getQualifiedName() + " Abstract"; - boolean alreadyInClassPath = !isInClassPath(fqn); - return alreadyInClassPath; + return !getResourcesHelper().isJavaFileInClassPath(fqn); } protected boolean isGenerateImpl(ObjectModelClass input) { @@ -499,7 +494,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { Collection<ObjectModelOperation> operations = input.getOperations(); String fqn = input.getQualifiedName() + "Impl"; - boolean alreadyInClassPath = isInClassPath(fqn); + boolean alreadyInClassPath = getResourcesHelper().isJavaFileInClassPath(fqn); if (alreadyInClassPath) { return false; @@ -539,7 +534,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { } setDocumentation(outputImpl, "Implantation des operations pour l'entité " + - input.getName() + "."); + input.getName() + "."); setSuperClass(outputImpl, input.getQualifiedName() + "Abstract"); } @@ -567,19 +562,19 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Extra operation for : " + input.getQualifiedName() + - " - method : " + opName + - " - returnType : " + opType + - " - visibility : " + visibility); + " - method : " + opName + + " - returnType : " + opType + + " - visibility : " + visibility); } // Generate entity methods which have not a public visibility. // Only in abstract entity class as abstract operation. if (!visibility.equals(ObjectModelJavaModifier.PUBLIC)) { addOperation(outputAbstract, opName, opType, visibility, - ObjectModelJavaModifier.ABSTRACT); + ObjectModelJavaModifier.ABSTRACT); - // Other operations, only in entity interface, implementations - // need to be done in implementation class created by developper + // Other operations, only in entity interface, implementations + // need to be done in implementation class created by developper } else { cloneOperationSignature(operation, outputInterface, true); } @@ -589,9 +584,10 @@ public class EntityTransformer extends ObjectModelTransformerToJava { /** * Generate properties from {@code attributes}. Generate * constant, attribute and operations for each property. - * @param attributes Input attributes - * @param aClass FIXME - * @param aPackage FIXME + * + * @param attributes Input attributes + * @param aClass FIXME + * @param aPackage FIXME */ protected void generateProperties(Collection<ObjectModelAttribute> attributes, ObjectModelClassifier aClass, ObjectModelPackage aPackage) { for (ObjectModelAttribute attribute : attributes) { @@ -646,7 +642,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { } addAttribute(outputInterface, getConstantName(attrName), String.class, - "\"" + attrName + "\""); + "\"" + attrName + "\""); } protected void generatePropertyAttribute(ObjectModelAttribute attribute, ObjectModelClassifier aClass, ObjectModelPackage aPackage) { @@ -664,9 +660,9 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // Declaration ObjectModelAttribute property = addAttribute(outputAbstract, attrName, attrType, null, - //ObjectModelJavaModifier.toValue(attrVisibility), - ObjectModelJavaModifier.PROTECTED - ); + //ObjectModelJavaModifier.toValue(attrVisibility), + ObjectModelJavaModifier.PROTECTED + ); // Documentation StringBuilder buffer = new StringBuilder(); @@ -682,7 +678,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { setDocumentation(property, buffer.toString()); // Annotation - String annotation = getTagValueMetadatasProvider(TopiaCoreTagValues.class).getAnnotationTagValue(attribute); + String annotation = new TopiaCoreTagValues().getAnnotationTagValue(attribute); if (!StringUtils.isEmpty(annotation)) { //FIXME Make annotation works... //TODO tchemit 20100513 Test it still works @@ -698,14 +694,14 @@ public class EntityTransformer extends ObjectModelTransformerToJava { * method (association class, reverse, entity reference, ...). * * @param attribute Input attribute to treate - * @param aClass Input class - * @param aPackage Input package + * @param aClass Input class + * @param aPackage Input package * @see #addSingleGetOperation(ObjectModelAttribute, String, String) * @see #addSingleSetOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage) * @see #addMultipleAddOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String) * @see #addMultipleAddAllOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage) * @see #addMultipleSetOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String, String) - * @see #addMultipleRemoveOperation(ObjectModelAttribute,ObjectModelClassifier, ObjectModelPackage) + * @see #addMultipleRemoveOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage) * @see #addMultipleClearOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String, String) * @see #addMultipleGetOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, String) * @see #addMultipleGetByTopiaIdOperation(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage) @@ -723,7 +719,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { boolean booleanProperty = GeneratorUtil.isBooleanPrimitive(attribute); - + String attrType = getPropertyType(attribute, aClass, aPackage); if (booleanProperty) { @@ -736,7 +732,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { } if (!booleanProperty || generateBooleanGetMethods) { - + // getXXX addSingleGetOperation( attribute, @@ -828,20 +824,20 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate single 'set' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = createPropertySetterSignature(outputInterface, attrType, attrName, - ""); + ""); // Implementation ObjectModelOperation implOperation = createImplOperation(interfaceOperation); attrType = GeneratorUtil.getSimpleName(attrType); - String constantName = getConstantName(attrName); + String constantName = getConstantName(attrName); StringBuilder body = new StringBuilder(); @@ -875,10 +871,10 @@ public class EntityTransformer extends ObjectModelTransformerToJava { * 'get' method). This method add the operation in both {@code * outputAbstract} and {@code outputInterface}. * - * @param attribute ObjectModelAttribute for getter operation - * @param attrType type of the attribute - * @param operationPrefix Operation prefix : 'get' by default, if prefix - * is null + * @param attribute ObjectModelAttribute for getter operation + * @param attrType type of the attribute + * @param operationPrefix Operation prefix : 'get' by default, if prefix + * is null */ protected void addSingleGetOperation(ObjectModelAttribute attribute, String attrType, @@ -888,15 +884,15 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate single '" + operationPrefix + "' operation for property : " - + attrName + " [" + attrType + "]"); + + attrName + " [" + attrType + "]"); } - String constantName = getConstantName(attrName); - + String constantName = getConstantName(attrName); + // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName(operationPrefix, attrName), - attrType, ObjectModelJavaModifier.PACKAGE); + attrType, ObjectModelJavaModifier.PACKAGE); // Implementation ObjectModelOperation implOperation = @@ -942,15 +938,15 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate multiple 'add' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } String constantName = getConstantName(attrName); - + // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("add", attrName), - void.class, ObjectModelJavaModifier.PACKAGE); + void.class, ObjectModelJavaModifier.PACKAGE); ObjectModelParameter param = addParameter(interfaceOperation, attrType, attrName); @@ -983,15 +979,15 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // TODO brendan 15/04/14 remove FQN String reverseAttrType = JavaGeneratorUtil.getAttributeImplementationType(reverse, true); - + if (!GeneratorUtil.isNMultiplicity(reverse)) { body.append("" /*{ <%=attrName%>.<%=setterName%>(this); }*/ - ); - // Don't manage reverse attribute add if attribute has associationClass - } else if (!attribute.hasAssociationClass()) { - body.append("" + ); + // Don't manage reverse attribute add if attribute has associationClass + } else if (!attribute.hasAssociationClass()) { + body.append("" /*{ if (<%=attrName%>.<%=getterName%>() == null) { <%=attrName%>.<%=setterName%>(new <%=reverseAttrType%>()); } @@ -1023,7 +1019,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate multiple 'add' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } String constantName = getConstantName(attrName); @@ -1059,7 +1055,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); if (reverse != null && (reverse.isNavigable() || - templateHelper.hasUnidirectionalRelationOnAbstractType(attribute, model))) { + templateHelper.hasUnidirectionalRelationOnAbstractType(attribute, model))) { String getterName = getJavaBeanMethodName("get", reverse.getName()); String setterName = getJavaBeanMethodName("set", reverse.getName()); @@ -1104,13 +1100,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate multiple 'addAll' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("addAll", attrName), - void.class, ObjectModelJavaModifier.PACKAGE); + void.class, ObjectModelJavaModifier.PACKAGE); ObjectModelParameter param = addParameter(interfaceOperation, "Iterable<" + attrType + ">", attrName); @@ -1141,16 +1137,16 @@ public class EntityTransformer extends ObjectModelTransformerToJava { String referenceType = getPropertyType(attribute, aClass, aPackage); String attrType = collectionInterface + "<" + referenceType + ">"; String constantName = getConstantName(attrName); - + if (log.isDebugEnabled()) { log.debug("Generate multiple 'set' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = createPropertySetterSignature(outputInterface, attrType, attrName, - ""); + ""); ObjectModelOperation implOperation = createImplOperation(interfaceOperation); @@ -1191,16 +1187,16 @@ public class EntityTransformer extends ObjectModelTransformerToJava { String attrType = getPropertyType(attribute, aClass, aPackage); ObjectModelAttribute reverse = attribute.getReverseAttribute(); String constantName = getConstantName(attrName); - + if (log.isDebugEnabled()) { log.debug("Generate 'remove' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("remove", attrName), - void.class, ObjectModelJavaModifier.PACKAGE); + void.class, ObjectModelJavaModifier.PACKAGE); ObjectModelParameter param = addParameter(interfaceOperation, attrType, attrName); @@ -1234,10 +1230,10 @@ public class EntityTransformer extends ObjectModelTransformerToJava { body.append("" /*{ <%=attrName%>.<%=setterName%>(null); }*/ - ); - // Don't manage reverse attribute remove if attribute has associationClass - } else if (!attribute.hasAssociationClass()) { - body.append("" + ); + // Don't manage reverse attribute remove if attribute has associationClass + } else if (!attribute.hasAssociationClass()) { + body.append("" /*{ <%=attrName%>.<%=getterName%>().remove(this); }*/ ); @@ -1262,7 +1258,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate 'remove' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation @@ -1298,7 +1294,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); if (reverse != null && (reverse.isNavigable() || - templateHelper.hasUnidirectionalRelationOnAbstractType(attribute, model))) { + templateHelper.hasUnidirectionalRelationOnAbstractType(attribute, model))) { String getterName = getJavaBeanMethodName("get", reverse.getName()); String setterName = getJavaBeanMethodName("set", reverse.getName()); if (!GeneratorUtil.isNMultiplicity(reverse)) { @@ -1333,16 +1329,16 @@ public class EntityTransformer extends ObjectModelTransformerToJava { String attrType = getPropertyType(attribute, aClass, aPackage); ObjectModelAttribute reverse = attribute.getReverseAttribute(); String constantName = getConstantName(attrName); - + if (log.isDebugEnabled()) { log.debug("Generate multiple 'clear' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = - addOperation(outputInterface, getJavaBeanMethodName("clear" , attrName), - void.class, ObjectModelJavaModifier.PACKAGE); + addOperation(outputInterface, getJavaBeanMethodName("clear", attrName), + void.class, ObjectModelJavaModifier.PACKAGE); // Implementation ObjectModelOperation implOperation = createImplOperation(interfaceOperation); @@ -1358,7 +1354,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); if (reverse != null && (reverse.isNavigable() || - templateHelper.hasUnidirectionalRelationOnAbstractType(attribute, model))) { + templateHelper.hasUnidirectionalRelationOnAbstractType(attribute, model))) { String getterName = getJavaBeanMethodName("get", reverse.getName()); String setterName = getJavaBeanMethodName("set", reverse.getName()); body.append("" @@ -1370,8 +1366,8 @@ public class EntityTransformer extends ObjectModelTransformerToJava { /*{ item.<%=setterName%>(null); }*/ ); - // Don't manage reverse attribute remove if attribute has associationClass - } else if (!attribute.hasAssociationClass()) { + // Don't manage reverse attribute remove if attribute has associationClass + } else if (!attribute.hasAssociationClass()) { body.append("" /*{ item.<%=getterName%>().remove(this); }*/ @@ -1416,13 +1412,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate multiple 'get' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = - addOperation(outputInterface, getJavaBeanMethodName("get" , attrName), - attrType, ObjectModelJavaModifier.PACKAGE); + addOperation(outputInterface, getJavaBeanMethodName("get", attrName), + attrType, ObjectModelJavaModifier.PACKAGE); // Implementation ObjectModelOperation implOperation = createImplOperation(interfaceOperation); @@ -1434,20 +1430,20 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); } - protected void addMultipleGetByIndexOperation(ObjectModelAttribute attribute,ObjectModelClassifier aClass, ObjectModelPackage aPackage) { + protected void addMultipleGetByIndexOperation(ObjectModelAttribute attribute, ObjectModelClassifier aClass, ObjectModelPackage aPackage) { String attrName = getPropertyName(attribute); String attrType = getPropertyType(attribute, aClass, aPackage); if (log.isDebugEnabled()) { log.debug("Generate multiple 'getByTopiaId' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("get", attrName), - attrType, ObjectModelJavaModifier.PACKAGE); + attrType, ObjectModelJavaModifier.PACKAGE); ObjectModelParameter param = addParameter(interfaceOperation, int.class, "index"); @@ -1463,6 +1459,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { }*/ ); } + protected void addMultipleGetByTopiaIdOperation(ObjectModelAttribute attribute, ObjectModelClassifier aClass, ObjectModelPackage aPackage) { String attrName = getPropertyName(attribute); @@ -1470,13 +1467,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate multiple 'getByTopiaId' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("get", attrName) + "ByTopiaId", - attrType, ObjectModelJavaModifier.PACKAGE); + attrType, ObjectModelJavaModifier.PACKAGE); ObjectModelParameter param = addParameter(interfaceOperation, String.class, "topiaId"); @@ -1498,17 +1495,17 @@ public class EntityTransformer extends ObjectModelTransformerToJava { String attrName = getPropertyName(attribute); String attrType = getPropertyType(attribute, aClass, aPackage); - String getterName = getJavaBeanMethodName("get" , attrName); + String getterName = getJavaBeanMethodName("get", attrName); if (log.isDebugEnabled()) { log.debug("Generate multiple 'getTopiaIds' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("get", attrName) + "TopiaIds", - collectionInterface + "<String>", ObjectModelJavaModifier.PACKAGE); + collectionInterface + "<String>", ObjectModelJavaModifier.PACKAGE); addImport(outputAbstract, TopiaEntity.class); // Implementation @@ -1529,7 +1526,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ); } - protected void addMultipleGetOperationFromEntity(ObjectModelAttribute attribute,ObjectModelClassifier aClass, ObjectModelPackage aPackage) { + protected void addMultipleGetOperationFromEntity(ObjectModelAttribute attribute, ObjectModelClassifier aClass, ObjectModelPackage aPackage) { // reference to the real attribute name String referenceName = attribute.getName(); @@ -1542,13 +1539,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("Generate multiple 'getFromEntity' operation for property : " + attrName + - " [" + attrType + "]"); + " [" + attrType + "]"); } // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, - getJavaBeanMethodName("get", attrName), attrType); + getJavaBeanMethodName("get", attrName), attrType); addParameter(interfaceOperation, referenceType, referenceName); @@ -1583,7 +1580,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // Interface operation ObjectModelOperation interfaceOperation = addOperation(outputInterface, getJavaBeanMethodName("size", attrName), - int.class, ObjectModelJavaModifier.PACKAGE); + int.class, ObjectModelJavaModifier.PACKAGE); // Implementation ObjectModelOperation implOperation = createImplOperation(interfaceOperation); @@ -1613,7 +1610,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { ObjectModelOperation isEmptyInterfaceOperation = addOperation(outputInterface, isEmptyMethodName, - boolean.class, ObjectModelJavaModifier.PACKAGE); + boolean.class, ObjectModelJavaModifier.PACKAGE); // Implementation ObjectModelOperation isEmptyOperationImpl = createImplOperation(isEmptyInterfaceOperation); @@ -1627,8 +1624,8 @@ public class EntityTransformer extends ObjectModelTransformerToJava { // isNotEmpty Interface operation ObjectModelOperation isNotEmptyInterfaceOperation = - addOperation(outputInterface, getJavaBeanMethodName("is", attrName)+ "NotEmpty", - boolean.class, ObjectModelJavaModifier.PACKAGE); + addOperation(outputInterface, getJavaBeanMethodName("is", attrName) + "NotEmpty", + boolean.class, ObjectModelJavaModifier.PACKAGE); // Implementation ObjectModelOperation isNotEmptyOperationImpl = createImplOperation(isNotEmptyInterfaceOperation); @@ -1679,17 +1676,17 @@ public class EntityTransformer extends ObjectModelTransformerToJava { protected void createAcceptOperation() { ObjectModelOperation acceptOperation = addOperation(outputAbstract, "accept", void.class); - addAnnotation(outputAbstract, acceptOperation , Override.class); + addAnnotation(outputAbstract, acceptOperation, Override.class); addParameter(acceptOperation, TopiaEntityVisitor.class, "visitor"); addException(acceptOperation, TopiaException.class); - setOperationBody(acceptOperation,"" + setOperationBody(acceptOperation, "" /*{ visitor.start(this); accept0(visitor); visitor.end(this); }*/ - ); + ); } protected void createAcceptInternalOperation(ObjectModelClass input) { @@ -1697,7 +1694,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { boolean withSuperEntity = false; for (ObjectModelClassifier parent : input.getSuperclasses()) { if (templateHelper.isEntity(parent)) { - withSuperEntity= true; + withSuperEntity = true; break; } } @@ -1714,7 +1711,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { }*/ ); } else { - internalAcceptOperationBody= new StringBuilder("" + internalAcceptOperationBody = new StringBuilder("" /*{ }*/ ); @@ -1755,7 +1752,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isDebugEnabled()) { log.debug("generate toString method for entity " + - outputInterface.getQualifiedName()); + outputInterface.getQualifiedName()); } ObjectModelOperation operation = addOperation(outputAbstract, "toString", String.class); @@ -1822,7 +1819,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { for (ObjectModelOperation matchingOp : superClazz.getOperations(op.getName())) { implementationFound = op.equals(matchingOp) && - !matchingOp.isAbstract(); + !matchingOp.isAbstract(); if (implementationFound) { break; } @@ -1858,7 +1855,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { } protected String getPropertyType(ObjectModelAttribute attribute, ObjectModelClassifier aClass, ObjectModelPackage aPackage) { - String propertyType = topiaHibernateTagValues.getAttributeType(attribute, aClass, aPackage , model); + String propertyType = topiaHibernateTagValues.getAttributeType(attribute, aClass, aPackage, model); if (propertyType == null) { propertyType = attribute.getType(); } @@ -1891,13 +1888,13 @@ public class EntityTransformer extends ObjectModelTransformerToJava { * @return the created operation */ protected ObjectModelOperation createPropertySetterSignature(ObjectModelClassifier classifier, - String propertyType, - String propertyName, - String operationDocumentation) { + String propertyType, + String propertyName, + String operationDocumentation) { // Operation ObjectModelOperation operation = addOperation(classifier, - getJavaBeanMethodName("set", propertyName), void.class); + getJavaBeanMethodName("set", propertyName), void.class); ObjectModelParameter param = addParameter(operation, propertyType, propertyName); @@ -1926,7 +1923,7 @@ public class EntityTransformer extends ObjectModelTransformerToJava { if (log.isTraceEnabled()) { log.trace("Add interface " + qualifiedName + " on " + - output.getQualifiedName()); + output.getQualifiedName()); } } else { if (log.isTraceEnabled()) { diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java b/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java index 3654ff7..296a0d5 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java @@ -50,7 +50,11 @@ public class PersistenceContextTransformer extends ObjectModelTransformerToJava protected TopiaTemplateHelper templateHelper; - protected TopiaCoreTagValues topiaCoreTagValues; + protected final TopiaCoreTagValues topiaCoreTagValues; + + public PersistenceContextTransformer() { + this.topiaCoreTagValues = new TopiaCoreTagValues(); + } @Override public void transformFromModel(ObjectModel input) { @@ -59,28 +63,22 @@ public class PersistenceContextTransformer extends ObjectModelTransformerToJava templateHelper = new TopiaTemplateHelper(model); } - if (topiaCoreTagValues == null) { - topiaCoreTagValues = templateHelper.getTopiaCoreTagValues(); - } - String packageName = - templateHelper.getPersistenceContextPackage(this, model); + String packageName = templateHelper.getPersistenceContextPackage(this, model); String daoSupplierName = templateHelper.getDaoSupplierName(model); - String persistenceContextAbstractName = - templateHelper.getPersistenceContextAbstractName(model); + String persistenceContextAbstractName = templateHelper.getPersistenceContextAbstractName(model); - String persistenceContextConcreteName = - templateHelper.getPersistenceContextConcreteName(model); + String persistenceContextConcreteName = templateHelper.getPersistenceContextConcreteName(model); boolean generateDaoSupplier = - !isInClassPath(packageName, daoSupplierName); + !getResourcesHelper().isJavaFileInClassPath(packageName + "." + daoSupplierName); boolean generateAbstract = - !isInClassPath(packageName, persistenceContextAbstractName); + !getResourcesHelper().isJavaFileInClassPath(packageName + "." + persistenceContextAbstractName); boolean generateConcrete = - !isInClassPath(packageName, persistenceContextConcreteName); + !getResourcesHelper().isJavaFileInClassPath(packageName + "." + persistenceContextConcreteName); if (generateDaoSupplier) { @@ -111,7 +109,7 @@ public class PersistenceContextTransformer extends ObjectModelTransformerToJava // detect if there is a contract to set on abstract String contractName = templateHelper.getDaoSupplierInterfaceName(model); - boolean addPersistenceContextContract = isInClassPath(packageName, contractName); + boolean addPersistenceContextContract = getResourcesHelper().isJavaFileInClassPath(packageName + "." + contractName); if (addPersistenceContextContract) { addInterface(output, packageName + "." + contractName); @@ -158,7 +156,7 @@ public class PersistenceContextTransformer extends ObjectModelTransformerToJava // detect if there is a contract to set on abstract String contractName = templateHelper.getPersistenceContextInterfaceName(model); - boolean addPersistenceContextContract = isInClassPath(packageName, contractName); + boolean addPersistenceContextContract = getResourcesHelper().isJavaFileInClassPath(packageName + "." + contractName); if (addPersistenceContextContract) { addInterface(output, packageName + "." + contractName); @@ -206,8 +204,8 @@ public class PersistenceContextTransformer extends ObjectModelTransformerToJava protected void addContructor(ObjectModelClass output, boolean isPublic) { ObjectModelJavaModifier visibility = isPublic ? - ObjectModelJavaModifier.PUBLIC : - ObjectModelJavaModifier.PROTECTED; + ObjectModelJavaModifier.PUBLIC : + ObjectModelJavaModifier.PROTECTED; ObjectModelOperation constructor = addConstructor(output, visibility); addParameter(constructor, AbstractTopiaPersistenceContextConstructorParameter.class, "parameter"); diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreStereoTypes.java b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreStereoTypes.java index d7ee040..8195382 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreStereoTypes.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreStereoTypes.java @@ -35,6 +35,7 @@ import org.nuiton.eugene.models.object.ObjectModelPackage; import java.util.Set; import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; /** * All extra stereotypes usable in topia generators. @@ -45,6 +46,11 @@ import static org.nuiton.i18n.I18n.n; */ public class TopiaCoreStereoTypes extends DefaultStereotypeMetadatasProvider { + @Override + public String getDescription() { + return t("topia.stereotypes"); + } + public enum Store implements StereotypeMetadata { /** @@ -53,21 +59,23 @@ public class TopiaCoreStereoTypes extends DefaultStereotypeMetadatasProvider { * @see TopiaTemplateHelper#isEntity(ObjectModelClassifier) * @see #hasEntityStereotype(ObjectModelClassifier , ObjectModelPackage) */ - entity(n("topia.stereotypes.entity"), ObjectModelPackage.class, ObjectModelClassifier.class), + entity(n("topia.stereotypes.entity"), false, ObjectModelPackage.class, ObjectModelClassifier.class), /** * Stéréotype pour les attributs étant des clés primaires. * * @see #hasPrimaryKeyStereotype(ObjectModelAttribute) * @deprecated since 3.0, use nowhere in ToPIA */ - primaryKey(n("topia.stereotypes.primaryKey"), ObjectModelAttribute.class); + primaryKey(n("topia.stereotypes.primaryKey"), true, ObjectModelAttribute.class); private final Set<Class<?>> targets; - private final String i18nDocumentationKey; + private final String i18nDescriptionKey; + private final boolean deprecated; - Store(String i18nDocumentationKey, Class<?>... targets) { + Store(String i18nDescriptionKey, boolean deprecated, Class<?>... targets) { + this.deprecated=deprecated; this.targets = ImmutableSet.copyOf(targets); - this.i18nDocumentationKey = i18nDocumentationKey; + this.i18nDescriptionKey = i18nDescriptionKey; } @Override @@ -81,13 +89,13 @@ public class TopiaCoreStereoTypes extends DefaultStereotypeMetadatasProvider { } @Override - public String getI18nDocumentationKey() { - return i18nDocumentationKey; + public String getDescription() { + return t(i18nDescriptionKey); } @Override public boolean isDeprecated() { - return false; + return deprecated; } } diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreTagValues.java b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreTagValues.java index fbb705f..56bb155 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreTagValues.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaCoreTagValues.java @@ -41,6 +41,7 @@ import org.nuiton.topia.persistence.TopiaEntityContextable; import java.util.Set; import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; /** * All extra tag values usable in topia generators. @@ -51,10 +52,10 @@ import static org.nuiton.i18n.I18n.n; */ public class TopiaCoreTagValues extends DefaultTagValueMetadatasProvider { - /** - * Static singleton instance used to read defaultValue - */ - protected static final TopiaCoreTagValues INSTANCE = new TopiaCoreTagValues(); + @Override + public String getDescription() { + return t("topia.core.tagvalues"); + } public enum Store implements TagValueMetadata { @@ -157,17 +158,26 @@ public class TopiaCoreTagValues extends DefaultTagValueMetadatasProvider { * @see #isGeneratePropertyChangeSupport(ObjectModelClass, ObjectModel) * @since 3.0 */ - generatePropertyChangeSupport(n("topia.core.tagValue.generatePropertyChangeSupport"), boolean.class, "false", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class); + generatePropertyChangeSupport(n("topia.core.tagValue.generatePropertyChangeSupport"), boolean.class, "false", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), + + /** + * Tag to specify if PropertyChangeListener support should be generated + * + * @see #getSerialVersionUIDTagValue(ObjectModelClassifier) + * @since 3.0 + */ + serialVersionUID(n("topia.core.tagValue.serialVersionUID"), String.class, null, ObjectModelClassifier.class); + private final Set<Class<?>> targets; private final Class<?> type; - private final String i18nDocumentationKey; + private final String i18nDescriptionKey; private final String defaultValue; - Store(String i18nDocumentationKey, Class<?> type, String defaultValue, Class<?>... targets) { + Store(String i18nDescriptionKey, Class<?> type, String defaultValue, Class<?>... targets) { this.targets = ImmutableSet.copyOf(targets); this.type = type; - this.i18nDocumentationKey = i18nDocumentationKey; + this.i18nDescriptionKey = i18nDescriptionKey; this.defaultValue = defaultValue; } @@ -192,8 +202,8 @@ public class TopiaCoreTagValues extends DefaultTagValueMetadatasProvider { } @Override - public String getI18nDocumentationKey() { - return i18nDocumentationKey; + public String getDescription() { + return t(i18nDescriptionKey); } @Override @@ -329,6 +339,18 @@ public class TopiaCoreTagValues extends DefaultTagValueMetadatasProvider { return TagValueUtil. findBooleanTagValue(Store.generateOperatorForDAOHelper, model); } + /** + * Récupère le tagvalue {@link Store#serialVersionUID} sur la classe donnée. + * + * @param aClass le modele utilisé + * @return la valeur du tag value sur la classe + * @see Store#serialVersionUID + * @since 3.0 + */ + public String getSerialVersionUIDTagValue(ObjectModelClassifier aClass) { + return TagValueUtil. findDirectTagValue(Store.serialVersionUID,aClass); + } + public boolean isGeneratePropertyChangeSupport(ObjectModelClass clazz, ObjectModel model) { ObjectModelPackage modelPackage = model.getPackage(clazz); return TagValueUtil.findBooleanTagValue(Store.generatePropertyChangeSupport, clazz, modelPackage, model); diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaHibernateTagValues.java b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaHibernateTagValues.java index d0bad47..2f064ac 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaHibernateTagValues.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaHibernateTagValues.java @@ -45,6 +45,7 @@ import java.util.Set; import static org.nuiton.eugene.models.tagvalue.TagValues.findTagValue; import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; import static org.nuiton.topia.templates.TopiaTagValues.TAG_ATTRIBUTE_TYPE; import static org.nuiton.topia.templates.TopiaTagValues.TAG_HIBERNATE_ATTRIBUTE_TYPE; @@ -57,10 +58,10 @@ import static org.nuiton.topia.templates.TopiaTagValues.TAG_HIBERNATE_ATTRIBUTE_ */ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { - /** - * Static singleton instance used to read defaultValue - */ - protected static final TopiaHibernateTagValues INSTANCE = new TopiaHibernateTagValues(); + @Override + public String getDescription() { + return t("topia.hibernate.tagvalues"); + } public enum Store implements TagValueMetadata { @@ -71,7 +72,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getPersistenceTypeTagValue(ObjectModelClassifier) * @since 2.5 */ - persistenceType(n("topia.core.tagValue.persistenceType"), String.class, null, ObjectModelClassifier.class), + persistenceType(n("topia.hibernate.tagValue.persistenceType"), String.class, null, ObjectModelClassifier.class), /** * Tag pour le nom du champ / entité en BD. @@ -80,14 +81,14 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see TopiaTemplateHelper#getDbName(ObjectModelElement) * @see TopiaTemplateHelper#getReverseDbName(ObjectModelAttribute) */ - dbName(n("topia.core.tagValue.dbName"), String.class, null, ObjectModelElement.class), + dbName(n("topia.hibernate.tagValue.dbName"), String.class, null, ObjectModelElement.class), /** * Tag to specify the reverse db name of an attribute in database. * * @see TopiaTemplateHelper#getReverseDbName(ObjectModelAttribute) */ - reverseDbName(n("topia.core.tagValue.reverseDbName"), String.class, null, ObjectModelAttribute.class), + reverseDbName(n("topia.hibernate.tagValue.reverseDbName"), String.class, null, ObjectModelAttribute.class), /** * Tag to specify the reverse db name of an attribute in database. @@ -96,7 +97,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see TopiaTemplateHelper#getManyToManyTableName(ObjectModelAttribute) * @since 2.9.2 */ - manyToManyTableName(n("topia.core.tagValue.manyToManyTableName"), String.class, null, ObjectModelAttribute.class), + manyToManyTableName(n("topia.hibernate.tagValue.manyToManyTableName"), String.class, null, ObjectModelAttribute.class), /** * Tag pour le nom du schema en BD. @@ -104,7 +105,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getDbSchemaNameTagValue(ObjectModelClassifier, ObjectModelPackage, ObjectModel) * @since 2.5 */ - dbSchema(n("topia.core.tagValue.dbSchema"), String.class, null, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class), + dbSchema(n("topia.hibernate.tagValue.dbSchema"), String.class, null, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class), /** * Tag pour la taille du champ en BD. @@ -112,7 +113,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getLengthTagValue(ObjectModelAttribute) * @since 2.5 */ - length(n("topia.core.tagValue.length"), String.class, null, ObjectModelAttribute.class), + length(n("topia.hibernate.tagValue.length"), String.class, null, ObjectModelAttribute.class), /** * Tag pour specfier le type d'acces a un champ. @@ -120,7 +121,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getAccessTagValue(ObjectModelAttribute) * @since 2.5 */ - access(n("topia.core.tagValue.access"), String.class, null, ObjectModelAttribute.class), + access(n("topia.hibernate.tagValue.access"), String.class, null, ObjectModelAttribute.class), /** * Tag pour ajouter un attribut dans une clef métier. @@ -128,7 +129,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getNaturalIdTagValue(ObjectModelAttribute) * @since 2.5 */ - naturalId(n("topia.core.tagValue.naturalId"), String.class, null, ObjectModelAttribute.class), + naturalId(n("topia.hibernate.tagValue.naturalId"), String.class, null, ObjectModelAttribute.class), /** * Tag pour specifier si une clef metier est mutable. @@ -136,7 +137,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getNaturalIdMutableTagValue(ObjectModelClassifier) * @since 2.5 */ - naturalIdMutable(n("topia.core.tagValue.naturalIdMutable"), boolean.class, null, ObjectModelClassifier.class), + naturalIdMutable(n("topia.hibernate.tagValue.naturalIdMutable"), boolean.class, null, ObjectModelClassifier.class), /** * Tag pour permettre de choisir qui contrôle la relation N-N @@ -148,7 +149,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getInverseTagValue(ObjectModelAttribute) * @since 2.5 */ - inverse(n("topia.core.tagValue.inverse"), boolean.class, null, ObjectModelAttribute.class), + inverse(n("topia.hibernate.tagValue.inverse"), boolean.class, null, ObjectModelAttribute.class), /** * Tag pour spécifier la caractère lazy d'une association multiple. @@ -156,7 +157,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getLazyTagValue(ObjectModelAttribute) * @since 2.5 */ - lazy(n("topia.core.tagValue.lazy"), boolean.class, null, ObjectModelAttribute.class), + lazy(n("topia.hibernate.tagValue.lazy"), boolean.class, null, ObjectModelAttribute.class), /** * Tag pour spécifier la caractère fetch d'une association multiple. @@ -164,7 +165,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getFetchTagValue(ObjectModelAttribute) * @since 2.5 */ - fetch(n("topia.core.tagValue.fetch"), String.class, null, ObjectModelAttribute.class), + fetch(n("topia.hibernate.tagValue.fetch"), String.class, null, ObjectModelAttribute.class), /** * Tag pour spécifier la caractère order-by d'une association multiple. @@ -172,7 +173,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getOrderByTagValue(ObjectModelAttribute) * @since 2.5 */ - orderBy(n("topia.core.tagValue.orderBy"), String.class, null, ObjectModelAttribute.class), + orderBy(n("topia.hibernate.tagValue.orderBy"), String.class, null, ObjectModelAttribute.class), /** * Tag pour spécifier la caractère not-null d'un attribut. @@ -180,7 +181,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getNotNullTagValue(ObjectModelAttribute) * @since 2.5 */ - notNull(n("topia.core.tagValue.notNull"), String.class, null, ObjectModelAttribute.class), + notNull(n("topia.hibernate.tagValue.notNull"), String.class, null, ObjectModelAttribute.class), /** * Tag à placer sur un l'attribut d'une entité. Cet attribut est de type @@ -191,7 +192,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #hasUseEnumerationNameTagValue(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, ObjectModel) * @since 3.0 */ - useEnumerationName(n("topia.core.tagValue.useEnumerationName"), boolean.class, "true", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class), + useEnumerationName(n("topia.hibernate.tagValue.useEnumerationName"), boolean.class, "true", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class), /** * Tag pour configurer l'interface du proxy sur autre chose que l'implementation par defaut. @@ -204,7 +205,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getPersistenceTypeTagValue(ObjectModelClassifier) * @since 2.5 */ - hibernateProxyInterface(n("topia.core.tagValue.hibernateProxyInterface"), String.class, null, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), + hibernateProxyInterface(n("topia.hibernate.tagValue.hibernateProxyInterface"), String.class, null, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), /** * Tag pour configurer la stategie d'heritage choisie. @@ -217,7 +218,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getPersistenceTypeTagValue(ObjectModelClassifier) * @since 3.0 */ - inheritanceStrategy(n("topia.core.tagValue.inheritanceStrategy"), String.class, "union-subclass", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), + inheritanceStrategy(n("topia.hibernate.tagValue.inheritanceStrategy"), String.class, "union-subclass", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), /** * Tag pour specifier de trier les attributs par nom lors de la generation. @@ -225,7 +226,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getSortAttributeTagValue(ObjectModelClassifier, ObjectModelPackage, ObjectModel) * @since 2.5 */ - sortAttribute(n("topia.core.tagValue.sortAttribute"), boolean.class, "false", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), + sortAttribute(n("topia.hibernate.tagValue.sortAttribute"), boolean.class, "false", ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), /** * Tag pour spécifier le type d'une propriété dans le mapping hibernate. @@ -236,7 +237,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * permits to deal the same thing but at also model and classifier scope. */ @Deprecated - type(n("topia.core.tagValue.type"), String.class, null, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), + type(n("topia.hibernate.tagValue.type"), String.class, null, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class), /** * Tag pour spécifier le type sql d'une propriété dans le mapping hibernate. @@ -244,7 +245,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getSqlTypeTagValue(ObjectModelAttribute) * @since 2.5 */ - sqlType(n("topia.core.tagValue.sqlType"), String.class, null, ObjectModelAttribute.class), + sqlType(n("topia.hibernate.tagValue.sqlType"), String.class, null, ObjectModelAttribute.class), /** * Stéréotype pour les attributs avec multiplicité nécessitant la création d'un index. @@ -252,7 +253,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getIndexForeignKeysTagValue(ObjectModelAttribute, ObjectModelPackage, ObjectModel) * @since 2.6.5 */ - indexForeignKeys(n("topia.core.tagValue.indexForeignKeys"), boolean.class, "true", ObjectModel.class, ObjectModelPackage.class, ObjectModelAttribute.class), + indexForeignKeys(n("topia.hibernate.tagValue.indexForeignKeys"), boolean.class, "true", ObjectModel.class, ObjectModelPackage.class, ObjectModelAttribute.class), /** * Tag to generate deterministic foreign key names in hibernate mapping files. @@ -260,7 +261,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #isGenerateForeignKeyNames(ObjectModelClassifier, ObjectModel) * @since 3.0.1 */ - generateForeignKeyNames(n("topia.core.tagValue.generateForeignKeyNames"), boolean.class, "false", ObjectModel.class, ObjectModelClassifier.class), + generateForeignKeyNames(n("topia.hibernate.tagValue.generateForeignKeyNames"), boolean.class, "false", ObjectModel.class, ObjectModelClassifier.class), /** * Tag to change the type of an attribute in a hibernate mapping. @@ -282,7 +283,7 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getHibernateAttributeType(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, ObjectModel) * @since 3.0 */ - hibernateAttributeType(n("topia.core.tagValue.hibernateAttributeType"), String.class, null, org.nuiton.eugene.models.extension.tagvalue.matcher.StartsWithTagNameMatcher.class, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class), + hibernateAttributeType(n("topia.hibernate.tagValue.hibernateAttributeType"), String.class, null, org.nuiton.eugene.models.extension.tagvalue.matcher.StartsWithTagNameMatcher.class, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class), /** * Tag to change the type of an attribute. @@ -304,26 +305,22 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { * @see #getHibernateAttributeType(ObjectModelAttribute, ObjectModelClassifier, ObjectModelPackage, ObjectModel) * @since 3.0 */ - attributeType(n("topia.core.tagValue.attributeType"), String.class, null, org.nuiton.eugene.models.extension.tagvalue.matcher.StartsWithTagNameMatcher.class, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class); + attributeType(n("topia.hibernate.tagValue.attributeType"), String.class, null, org.nuiton.eugene.models.extension.tagvalue.matcher.StartsWithTagNameMatcher.class, ObjectModel.class, ObjectModelPackage.class, ObjectModelClassifier.class, ObjectModelAttribute.class); private final Set<Class<?>> targets; private final Class<?> tagValueType; - private final String i18nDocumentationKey; + private final String i18nDescriptionKey; private final String defaultValue; private final Class<? extends TagValueDefinitionMatcher> matcher; - Store(String i18nDocumentationKey, Class<?> tagValueType, String defaultValue, Class<?>... targets) { - this.targets = ImmutableSet.copyOf(targets); - this.tagValueType = tagValueType; - this.i18nDocumentationKey = i18nDocumentationKey; - this.defaultValue = defaultValue; - this.matcher = EqualsTagValueNameMatcher.class; + Store(String i18nDescriptionKey, Class<?> tagValueType, String defaultValue, Class<?>... targets) { + this(i18nDescriptionKey, tagValueType, defaultValue, EqualsTagValueNameMatcher.class, targets); } - Store(String i18nDocumentationKey, Class<?> tagValueType, String defaultValue, Class<? extends TagValueDefinitionMatcher> matcher, Class<?>... targets) { + Store(String i18nDescriptionKey, Class<?> tagValueType, String defaultValue, Class<? extends TagValueDefinitionMatcher> matcher, Class<?>... targets) { this.targets = ImmutableSet.copyOf(targets); this.tagValueType = tagValueType; - this.i18nDocumentationKey = i18nDocumentationKey; + this.i18nDescriptionKey = i18nDescriptionKey; this.defaultValue = defaultValue; this.matcher = matcher; } @@ -349,8 +346,8 @@ public class TopiaHibernateTagValues extends DefaultTagValueMetadatasProvider { } @Override - public String getI18nDocumentationKey() { - return i18nDocumentationKey; + public String getDescription() { + return t(i18nDescriptionKey); } @Override diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java index c9eb9eb..3f155b9 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaJavaValidator.java @@ -89,7 +89,7 @@ public class TopiaJavaValidator extends ObjectModelValidator { boolean isValid = super.validateClass(clazz); // test attribute names duplication - Set<String> attributesName = new HashSet<String>(); + Set<String> attributesName = new HashSet<>(); for (ObjectModelAttribute attr : clazz.getAttributes()) { if (!attr.isNavigable()) { @@ -106,8 +106,8 @@ public class TopiaJavaValidator extends ObjectModelValidator { if (templateHelper.isEntity(clazz)) { - Set<String> gettersName = new HashSet<String>(); - Set<String> settersName = new HashSet<String>(); + Set<String> gettersName = new HashSet<>(); + Set<String> settersName = new HashSet<>(); for (ObjectModelAttribute attr : clazz.getAttributes()) { String capitalizeAttrName = StringUtils.capitalize(attr.getName()); diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTemplateHelper.java b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTemplateHelper.java index 43c2158..281d28e 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTemplateHelper.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTemplateHelper.java @@ -34,9 +34,7 @@ import org.nuiton.eugene.EugeneCoreStereotypes; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.java.JavaGeneratorUtil; import org.nuiton.eugene.java.ObjectModelTransformerToJava; -import org.nuiton.eugene.models.extension.tagvalue.TagValueMetadatasProviderManagerExtension; import org.nuiton.eugene.models.extension.tagvalue.TagValueUtil; -import org.nuiton.eugene.models.extension.tagvalue.provider.TagValueMetadatasProvider; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; import org.nuiton.eugene.models.object.ObjectModelAttribute; @@ -101,14 +99,16 @@ public class TopiaTemplateHelper { public TopiaTemplateHelper(ObjectModel model) { this.model = model; - this.topiaCoreTagValues = getTagValueMetadatasProvider(TopiaCoreTagValues.class); - this.topiaHibernateTagValues = getTagValueMetadatasProvider(TopiaHibernateTagValues.class); + this.topiaCoreTagValues = new TopiaCoreTagValues(); + this.topiaHibernateTagValues = new TopiaHibernateTagValues(); } + @Deprecated public TopiaCoreTagValues getTopiaCoreTagValues() { return topiaCoreTagValues; } + @Deprecated public TopiaHibernateTagValues getTopiaHibernateTagValues() { return topiaHibernateTagValues; } @@ -123,6 +123,7 @@ public class TopiaTemplateHelper { */ public String getPersistenceType(ObjectModelClassifier classifier) { String tag = topiaHibernateTagValues.getPersistenceTypeTagValue(classifier); + //TODO Set default value in tag metadata if (tag == null) { tag = PERSISTENCE_TYPE_DEFAULT; } @@ -950,13 +951,6 @@ public class TopiaTemplateHelper { } - protected <T extends TagValueMetadatasProvider> T getTagValueMetadatasProvider(Class<T> providerType) { - - TagValueMetadatasProviderManagerExtension extension = model.getExtension( - TagValueMetadatasProviderManagerExtension.OBJECTMODEL_EXTENSION, TagValueMetadatasProviderManagerExtension.class); - return extension.getProvider(providerType); - } - //--------------------------------------------------------------------------------------------------------------- //-- DEPRECATED API TO REMOVE --------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------- diff --git a/topia-templates/src/main/resources/i18n/topia-templates_en_GB.properties b/topia-templates/src/main/resources/i18n/topia-templates_en_GB.properties new file mode 100644 index 0000000..62b85a3 --- /dev/null +++ b/topia-templates/src/main/resources/i18n/topia-templates_en_GB.properties @@ -0,0 +1,40 @@ +topia.core.tagValue.annotation= +topia.core.tagValue.applicationContextSuperClass= +topia.core.tagValue.contextable= +topia.core.tagValue.daoImplementation= +topia.core.tagValue.daoSuperClass= +topia.core.tagValue.entitySuperClass= +topia.core.tagValue.generateOperatorForDAOHelper= +topia.core.tagValue.generatePropertyChangeSupport= +topia.core.tagValue.notGenerateToString= +topia.core.tagValue.persistenceContextSuperClass= +topia.core.tagValue.serialVersionUID= +topia.core.tagvalues=ToPIA core tags values +topia.hibernate.tagValue.access= +topia.hibernate.tagValue.attributeType= +topia.hibernate.tagValue.dbName= +topia.hibernate.tagValue.dbSchema= +topia.hibernate.tagValue.fetch= +topia.hibernate.tagValue.generateForeignKeyNames= +topia.hibernate.tagValue.hibernateAttributeType= +topia.hibernate.tagValue.hibernateProxyInterface= +topia.hibernate.tagValue.indexForeignKeys= +topia.hibernate.tagValue.inheritanceStrategy= +topia.hibernate.tagValue.inverse= +topia.hibernate.tagValue.lazy= +topia.hibernate.tagValue.length= +topia.hibernate.tagValue.manyToManyTableName= +topia.hibernate.tagValue.naturalId= +topia.hibernate.tagValue.naturalIdMutable= +topia.hibernate.tagValue.notNull= +topia.hibernate.tagValue.orderBy= +topia.hibernate.tagValue.persistenceType= +topia.hibernate.tagValue.reverseDbName= +topia.hibernate.tagValue.sortAttribute= +topia.hibernate.tagValue.sqlType= +topia.hibernate.tagValue.type= +topia.hibernate.tagValue.useEnumerationName= +topia.hibernate.tagvalues=ToPIA (hibernate) stereotypes +topia.stereotypes=ToPIA core stereotypes +topia.stereotypes.entity= +topia.stereotypes.primaryKey= diff --git a/topia-templates/src/main/resources/i18n/topia-templates_fr_FR.properties b/topia-templates/src/main/resources/i18n/topia-templates_fr_FR.properties new file mode 100644 index 0000000..911b9d3 --- /dev/null +++ b/topia-templates/src/main/resources/i18n/topia-templates_fr_FR.properties @@ -0,0 +1,40 @@ +topia.core.tagValue.annotation= +topia.core.tagValue.applicationContextSuperClass= +topia.core.tagValue.contextable= +topia.core.tagValue.daoImplementation= +topia.core.tagValue.daoSuperClass= +topia.core.tagValue.entitySuperClass= +topia.core.tagValue.generateOperatorForDAOHelper= +topia.core.tagValue.generatePropertyChangeSupport= +topia.core.tagValue.notGenerateToString= +topia.core.tagValue.persistenceContextSuperClass= +topia.core.tagValue.serialVersionUID= +topia.core.tagvalues=Tags values de base dans ToPIA +topia.hibernate.tagValue.access= +topia.hibernate.tagValue.attributeType= +topia.hibernate.tagValue.dbName= +topia.hibernate.tagValue.dbSchema= +topia.hibernate.tagValue.fetch= +topia.hibernate.tagValue.generateForeignKeyNames= +topia.hibernate.tagValue.hibernateAttributeType= +topia.hibernate.tagValue.hibernateProxyInterface= +topia.hibernate.tagValue.indexForeignKeys= +topia.hibernate.tagValue.inheritanceStrategy= +topia.hibernate.tagValue.inverse= +topia.hibernate.tagValue.lazy= +topia.hibernate.tagValue.length= +topia.hibernate.tagValue.manyToManyTableName= +topia.hibernate.tagValue.naturalId= +topia.hibernate.tagValue.naturalIdMutable= +topia.hibernate.tagValue.notNull= +topia.hibernate.tagValue.orderBy= +topia.hibernate.tagValue.persistenceType= +topia.hibernate.tagValue.reverseDbName= +topia.hibernate.tagValue.sortAttribute= +topia.hibernate.tagValue.sqlType= +topia.hibernate.tagValue.type= +topia.hibernate.tagValue.useEnumerationName= +topia.hibernate.tagvalues=Stéréotypes (Hibernate) dans ToPIA +topia.stereotypes=Stéréotypes de base dans ToPIA +topia.stereotypes.entity= +topia.stereotypes.primaryKey= -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.