r2503 - trunk/topia-persistence/src/main/java/org/nuiton/topia/generator
Author: tchemit Date: 2012-05-23 15:16:45 +0200 (Wed, 23 May 2012) New Revision: 2503 Url: http://nuiton.org/repositories/revision/topia/2503 Log: use a List implementation when association is also orderBy since this is a natural behaviour Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 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-05-23 13:14:45 UTC (rev 2502) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2012-05-23 13:16:45 UTC (rev 2503) @@ -637,13 +637,16 @@ * Renvoie le type d'interface à utiliser en fonction de l'attribut * * @param attr l'attribut a traiter - * @return String + * @return le type d'interface à utiliser en fonction de l'attribut */ public static String getNMultiplicityInterfaceType( ObjectModelAttribute attr) { + //FIXME-tchemit 2012-05-23 : need to be rethink : could have unique + ordered if (hasUniqueStereotype(attr)) { return Set.class.getName(); - } else if (JavaGeneratorUtil.hasIndexedStereotype(attr) || attr.isOrdered()) { + } + if (JavaGeneratorUtil.hasIndexedStereotype(attr) || attr.isOrdered() || + StringUtils.isNotBlank(getOrderByTagValue(attr))) { return List.class.getName(); } return Collection.class.getName(); @@ -653,18 +656,20 @@ * Renvoie le type d'objet (instance) à utiliser en fonction de l'attribut * * @param attr l'attribut a traiter - * @return String + * @return le type d'objet (instance) à utiliser en fonction de l'attribut */ public static String getNMultiplicityObjectType(ObjectModelAttribute attr) { + //FIXME-tchemit 2012-05-23 : need to be rethink : could have unique + ordered if (hasUniqueStereotype(attr)) { return HashSet.class.getName(); - } else if (JavaGeneratorUtil.hasIndexedStereotype(attr) || attr.isOrdered()) { + } + if (JavaGeneratorUtil.hasIndexedStereotype(attr) || attr.isOrdered() || + StringUtils.isNotBlank(getOrderByTagValue(attr))) { //On considère qu'on ne sait pas traiter vraiment l'attribut "ordered" // puisqu'on va conserver l'ordre d'insertion, et non un ordre en // fonction d'un élément donné. Donc on renvoi une ArrayList return ArrayList.class.getName(); } - LinkedList.class.getName(); return ArrayList.class.getName(); }
participants (1)
-
tchemit@users.nuiton.org