r2600 - in trunk: topia-persistence/src/main/java/org/nuiton/topia/generator topia-persistence-tck/src/main/xmi
Author: athimel Date: 2012-07-04 10:03:07 +0200 (Wed, 04 Jul 2012) New Revision: 2600 Url: http://nuiton.org/repositories/revision/topia/2600 Log: Fix getComposite() generation about non-navigable attributes Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2012-07-03 15:40:43 UTC (rev 2599) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2012-07-04 08:03:07 UTC (rev 2600) @@ -1215,7 +1215,7 @@ StringBuilder body = new StringBuilder("" /*{ Multimap<Class<? extends TopiaEntity>, TopiaEntity> tmp = - ArrayListMultimap.create(); + ArrayListMultimap.create(); // pour tous les attributs rechecher les composites et les class d'asso // on les ajoute dans tmp @@ -1236,10 +1236,10 @@ addImport(result, type); type = TopiaGeneratorUtil.getSimpleName(type); String attrName = attr.getName(); - String getterName = getJavaBeanMethodName("get", attrName); - if (TopiaGeneratorUtil.isNMultiplicity(attr)) { - addImport(result, Collection.class); - body.append("" + String getterName = getJavaBeanMethodName("get", attrName); + if (TopiaGeneratorUtil.isNMultiplicity(attr)) { + addImport(result, Collection.class); + body.append("" /*{ { Collection<<%=type%>> ee = entity.<%=getterName%>(); if (ee != null) { @@ -1247,9 +1247,9 @@ } } }*/ - ); - } else { - body.append("" + ); + } else { + body.append("" /*{ { <%=type%> ee = entity.<%=getterName%>(); if (ee != null) { @@ -1257,8 +1257,8 @@ } } }*/ - ); - } + ); + } } // add association attributes @@ -1267,14 +1267,14 @@ TopiaGeneratorUtil.getEntityAttributes( input, model, TopiaGeneratorUtil.IS_ATTRIBUTE_REFERENCE_CLASSIFIER, - TopiaGeneratorUtil.IS_ATTRIBUTE_HAS_ASSOCIATION_CLASS); - for (ObjectModelAttribute attr : associationAttributes ) { + TopiaGeneratorUtil.IS_ATTRIBUTE_HAS_ASSOCIATION_CLASS, + TopiaGeneratorUtil.IS_ATTRIBUTE_NAVIGABLE); + for (ObjectModelAttribute attr : associationAttributes) { String assocClassFQN = attr.getAssociationClass().getQualifiedName(); addImport(result, assocClassFQN); assocClassFQN = TopiaGeneratorUtil.getSimpleName(assocClassFQN); - String assocAttrName = TopiaGeneratorUtil.getAssocAttrName( - attr); + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); String getterName = getJavaBeanMethodName("get", TopiaGeneratorUtil.toLowerCaseFirstLetter( assocAttrName)); if (!TopiaGeneratorUtil.isNMultiplicity(attr)) { @@ -1289,8 +1289,6 @@ ); } else { - - ObjectModelAttribute reverse = attr.getReverseAttribute(); String reverseAttrName = reverse.getName(); // On utilise pas l'attribut car il est potentiellement @@ -1316,7 +1314,7 @@ }*/ ); } - } + } // merge all results @@ -1350,7 +1348,7 @@ StringBuilder body = new StringBuilder("" /*{ Multimap<Class<? extends TopiaEntity>, TopiaEntity> tmp = - ArrayListMultimap.create(); + ArrayListMultimap.create(); // pour tous les attributs rechecher les aggregates // on les ajoute dans tmp Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2012-07-03 15:40:43 UTC (rev 2599) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2012-07-04 08:03:07 UTC (rev 2600) @@ -1840,6 +1840,13 @@ } }; + public static final Predicate<ObjectModelAttribute> IS_ATTRIBUTE_NAVIGABLE = new Predicate<ObjectModelAttribute>() { + @Override + public boolean apply(ObjectModelAttribute input) { + return input.isNavigable(); + } + }; + public static class AttributeIsEntity implements Predicate<ObjectModelAttribute> { private final ObjectModel model; Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo =================================================================== (Binary files differ)
participants (1)
-
athimelï¼ users.nuiton.org