branch develop updated (83e0898 -> 7df046b)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git from 83e0898 Use EUGene new stereotypes and tag values API (Fixes #4043) Merge branch 'feature/4043' into develop new 7df046b Use latest apis from eugene + clean code (See #4043) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: 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) Summary of changes: 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(-) create mode 100644 topia-templates/src/main/resources/i18n/topia-templates_en_GB.properties create mode 100644 topia-templates/src/main/resources/i18n/topia-templates_fr_FR.properties -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
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>.
participants (1)
-
nuiton.org scm