06/26: Ajout du nom des tables pour les associations many-to-many
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7739 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit acbf463dfae4b2fa6aba567fbf36c80393af71e2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Jun 29 11:58:49 2016 +0200 Ajout du nom des tables pour les associations many-to-many --- .../persistence/metadata/TopiaMetadataEntity.java | 26 ++++++++++++++++++---- .../templates/TopiaMetadataModelGenerator.java | 4 +++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/observe-topia-extension/src/main/java/org/nuiton/topia/persistence/metadata/TopiaMetadataEntity.java b/observe-topia-extension/src/main/java/org/nuiton/topia/persistence/metadata/TopiaMetadataEntity.java index 8c16f2c..6f4b8ba 100644 --- a/observe-topia-extension/src/main/java/org/nuiton/topia/persistence/metadata/TopiaMetadataEntity.java +++ b/observe-topia-extension/src/main/java/org/nuiton/topia/persistence/metadata/TopiaMetadataEntity.java @@ -83,9 +83,14 @@ public class TopiaMetadataEntity { * @see #getDbColumnName(String) */ protected final Map<String, String> dbColumnsName = new LinkedHashMap<>(); + /** + * Le nom des tables utilisées pour les associations nm. + */ + protected final Map<String, String> dbNmAssociationsName = new LinkedHashMap<>(); + public TopiaMetadataEntity(String parent, String type, String dbSchemaName, String dbTableName) { - this.parent=parent; + this.parent = parent; this.type = type; this.dbSchemaName = dbSchemaName; this.dbTableName = dbTableName; @@ -116,7 +121,10 @@ public class TopiaMetadataEntity { .toString(); } - public boolean withParent() { return parent!=null;} + public boolean withParent() { + return parent != null; + } + public String getParent() { return parent; } @@ -161,6 +169,14 @@ public class TopiaMetadataEntity { return dbColumnName; } + public Map<String, String> getDbNmAssociationsName() { + return dbNmAssociationsName; + } + + public String getBdNmAssociationName(String propertyName) { + return dbNmAssociationsName.get(propertyName); + } + public void addAssociation(TopiaMetadataEntity associationClazz, String name, String dbColumnName) { log.info(getType() + "/" + name + "(" + dbColumnName + ") →" + associationClazz.getType()); associations.put(name, associationClazz.getType()); @@ -173,10 +189,11 @@ public class TopiaMetadataEntity { addDbColumnName(name, dbColumnName); } - public void addNmAssociation(TopiaMetadataEntity associationClazz, String name, String dbColumnName) { - log.info(getType() + "/" + name + "(" + dbColumnName + ") →" + associationClazz.getType()); + public void addNmAssociation(TopiaMetadataEntity associationClazz, String name, String dbColumnName, String dbNmAssociationName) { + log.info(getType() + "/" + name + "(" + dbNmAssociationName + ") →" + associationClazz.getType()); nmAssociations.put(name, associationClazz.getType()); addDbColumnName(name, dbColumnName); + dbNmAssociationsName.put(name, dbNmAssociationName); } public void addRequired(TopiaMetadataEntity attributeClazz, String name, String dbColumnName) { @@ -199,6 +216,7 @@ public class TopiaMetadataEntity { copy.required.putAll(required); copy.properties.putAll(properties); copy.dbColumnsName.putAll(dbColumnsName); + copy.dbNmAssociationsName.putAll(dbNmAssociationsName); return copy; } diff --git a/observe-topia-templates-extension/src/main/java/org/nuiton/topia/templates/TopiaMetadataModelGenerator.java b/observe-topia-templates-extension/src/main/java/org/nuiton/topia/templates/TopiaMetadataModelGenerator.java index 4d79925..950ae90 100644 --- a/observe-topia-templates-extension/src/main/java/org/nuiton/topia/templates/TopiaMetadataModelGenerator.java +++ b/observe-topia-templates-extension/src/main/java/org/nuiton/topia/templates/TopiaMetadataModelGenerator.java @@ -222,6 +222,7 @@ public class TopiaMetadataModelGenerator extends ObjectModelGenerator { metadataEntity.getRequired().putAll(parentMetadataEntity.getRequired()); metadataEntity.getProperties().putAll(parentMetadataEntity.getProperties()); metadataEntity.getDbColumnsName().putAll(parentMetadataEntity.getDbColumnsName()); + metadataEntity.getDbColumnsName().putAll(parentMetadataEntity.getDbNmAssociationsName()); applyInheritance(metadataEntity, superClass, metadataModel); @@ -321,7 +322,8 @@ public class TopiaMetadataModelGenerator extends ObjectModelGenerator { if (GeneratorUtil.isNMultiplicity(attr.getReverseMaxMultiplicity()) && !attr.hasAssociationClass()) { // many to many - metadataEntity.addNmAssociation(attributeClazz, name, attrColumn); + String tableName = templateHelper.getManyToManyTableName(attr); + metadataEntity.addNmAssociation(attributeClazz, name, attrColumn, tableName); } else { // one to many -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm