Romain Manni-Bucau a écrit :
Je mets entre parenthèse le nom de l'attribut à la suite de la sortie.
sortie : <!-- test : java.lang.String = false/false --> (contactListTypeId) <!-- test : java.lang.String = false/false --> (contactMechTypeId)
Ok, donc je pense que vous n'appelez pas isAggregate() sur les bons attributs. A voir les résultats et vos templates, dans la méthode :
public static Collection<ObjectModelAttribute> getPrimaryKeyAttributes(ObjectModelClass clazz) { ArrayList<ObjectModelAttribute> primaryKeyAttributes = new ArrayList<ObjectModelAttribute>(); for (ObjectModelAttribute attribute : clazz.getAttributes()) if (isPrimaryKey(attribute)) primaryKeyAttributes.add(attribute); return primaryKeyAttributes; }
la methode "isPrimaryKey" doit filtrer les attributs qui ont un tagValue <tagValue name="primaryKey" value="true"/> (je présume). Vous avez mit les tagValue sur les attributs "contactListTypeId" et "contactListId", qui ne sont pas des attributs issue d'association, et n'ont donc pas de valeur "aggregate". Ce serait plutôt à faire sur l'association entre "ContactListType" et "ContactList" qui contient l'aggregation que vous rechercher... -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com