Index: topia/src/java/org/codelutin/topia/generators/ObjectModelToApplicationContextGenerator.java diff -u topia/src/java/org/codelutin/topia/generators/ObjectModelToApplicationContextGenerator.java:1.8 topia/src/java/org/codelutin/topia/generators/ObjectModelToApplicationContextGenerator.java:1.9 --- topia/src/java/org/codelutin/topia/generators/ObjectModelToApplicationContextGenerator.java:1.8 Fri Jul 22 16:57:57 2005 +++ topia/src/java/org/codelutin/topia/generators/ObjectModelToApplicationContextGenerator.java Thu Aug 11 16:32:03 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.8 $ + * @version $Revision: 1.9 $ * - * Mise a jour: $Date: 2005/07/22 16:57:57 $ + * Mise a jour: $Date: 2005/08/11 16:32:03 $ * par : $Author: thimel $ */ @@ -175,7 +175,8 @@ protected List xmiAuthentication(String login, String password) throws TopiaSecurityException { throw new TopiaSecurityException("xmiAuthentication not supported");}*/ - //TODO Arno ;) + //TODO Se baser sur le diagramme et les properties pour + //l'authentification en se basant sur les PS /*{ } } Index: topia/src/java/org/codelutin/topia/generators/Util.java diff -u topia/src/java/org/codelutin/topia/generators/Util.java:1.11 topia/src/java/org/codelutin/topia/generators/Util.java:1.12 --- topia/src/java/org/codelutin/topia/generators/Util.java:1.11 Wed Jul 27 16:35:52 2005 +++ topia/src/java/org/codelutin/topia/generators/Util.java Thu Aug 11 16:32:03 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.11 $ + * @version $Revision: 1.12 $ * - * Mise a jour: $Date: 2005/07/27 16:35:52 $ + * Mise a jour: $Date: 2005/08/11 16:32:03 $ * par : $Author: thimel $ */ @@ -387,7 +387,7 @@ String reverse = null; if (attr.getReverseAttribute() != null) { reverse = attr.getReverseAttribute().getName(); - if (local.compareTo(reverse) < 0) { + if (isFirstAttribute(attr)) { packageName = attr.getClassifier().getPackageName(); name = ((ObjectModelClass)attr.getDeclaringElement()).getQualifiedName() + "_" + capitalize(local) + "_" + ((ObjectModelClass)attr.getReverseAttribute().getDeclaringElement()).getQualifiedName() + "_" + capitalize(reverse); } else { @@ -405,6 +405,12 @@ public static String getAssociationClassName(ObjectModelAttribute attr) { String qualifiedName = getQualifiedAssociationClassName(attr); return qualifiedName.substring(qualifiedName.lastIndexOf('.') +1); + } + + public static boolean isFirstAttribute(ObjectModelAttribute attr) { + if (attr.getReverseAttribute() == null) + return true; + return (attr.getName().compareTo(attr.getReverseAttribute().getName()) < 0); } } // Util Index: topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceImplGenerator.java diff -u topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceImplGenerator.java:1.12 topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceImplGenerator.java:1.13 --- topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceImplGenerator.java:1.12 Wed Jul 27 16:35:52 2005 +++ topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceImplGenerator.java Thu Aug 11 16:32:03 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.12 $ + * @version $Revision: 1.13 $ * - * Mise a jour: $Date: 2005/07/27 16:35:52 $ + * Mise a jour: $Date: 2005/08/11 16:32:03 $ * par : $Author: thimel $ */ @@ -107,7 +107,7 @@ /** * @return an entity *) - public <%=currentClazz.getName()%> findBy<%=Util.capitalize(attribute.getName())%>(<%=Util.getAttributeType(attribute)%> value) throws TopiaException{ + public <%=currentClazz.getName()%> findBy<%=Util.capitalize(attribute.getName())%>(<%=attribute.getType()%> value) throws TopiaException{ List result = find(newQuery().where("<%=attribute.getName()%> = ?").addArg(value)); if(result.size() == 0){ return null;/*throw new TopiaNotFoundException("Can't find object with attribute <%=attribute.getName()%> == " + value);*) @@ -118,7 +118,7 @@ /** * @return an unmodifiable collection *) - public List findAllBy<%=Util.capitalize(attribute.getName())%>(<%=Util.getAttributeType(attribute)%> value) throws TopiaException{ + public List findAllBy<%=Util.capitalize(attribute.getName())%>(<%=attribute.getType()%> value) throws TopiaException{ return find(newQuery().where("<%=attribute.getName()%> = ?").addArg(value)); } }*/ @@ -135,7 +135,7 @@ /** * @return an entity *) - public <%=clazz.getName()%> findBy<%=Util.capitalize(attribute.getName())%>(<%=Util.getAttributeType(attribute)%> value) throws TopiaException { + public <%=clazz.getName()%> findBy<%=Util.capitalize(attribute.getName())%>(<%=attribute.getType()%> value) throws TopiaException { List result = find(newQuery().where("<%=attribute.getName()%> = ?").addArg(value)); if(result.size() == 0){ return null;/*throw new TopiaNotFoundException("Can't find object with attribute <%=attribute.getName()%> == " + value);*) @@ -146,7 +146,7 @@ /** * @return an unmodifiable collection *) - public List findAllBy<%=Util.capitalize(attribute.getName())%>(<%=Util.getAttributeType(attribute)%> value) throws TopiaException{ + public List findAllBy<%=Util.capitalize(attribute.getName())%>(<%=attribute.getType()%> value) throws TopiaException{ return find(newQuery().where("<%=attribute.getName()%> = ?").addArg(value)); } }*/ Index: topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityImplGenerator.java diff -u topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityImplGenerator.java:1.25 topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityImplGenerator.java:1.26 --- topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityImplGenerator.java:1.25 Mon Aug 1 13:01:09 2005 +++ topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityImplGenerator.java Thu Aug 11 16:32:03 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.25 $ + * @version $Revision: 1.26 $ * - * Mise a jour: $Date: 2005/08/01 13:01:09 $ + * Mise a jour: $Date: 2005/08/11 16:32:03 $ * par : $Author: thimel $ */ @@ -506,7 +506,7 @@ if (Util.isAttributeEntity(attribute)) { /*{ public void add<%=Util.capitalize(attribute.getName())%>(/*<%=Util.getAttributeType(attribute)%>*)java.util.Collection list, boolean duplicate) throws TopiaException { - if (duplicate) //FIXME + if (duplicate) //TODO throw new TopiaException("Duplicate not yet supported because of associationManager"); Iterator it = list.iterator(); while (it.hasNext()) { @@ -612,7 +612,7 @@ ////////////////////////////////////////////////////////////////////// public void generateRemoveEntity(Writer output, ObjectModelClassifier clazz) throws IOException { - //TODO ??? Arno : Autoriser seulement si ADMIN ? + //Autoriser seulement si ADMIN ? //Réponse : ne pas se soucier des droits ici, vérification dans XXXPersistenceServiceImpl //Idem pour create /*{ Index: topia/src/java/org/codelutin/topia/generators/ObjectModelToAssociationClassesGenerator.java diff -u topia/src/java/org/codelutin/topia/generators/ObjectModelToAssociationClassesGenerator.java:1.2 topia/src/java/org/codelutin/topia/generators/ObjectModelToAssociationClassesGenerator.java:1.3 --- topia/src/java/org/codelutin/topia/generators/ObjectModelToAssociationClassesGenerator.java:1.2 Tue Jul 26 16:54:24 2005 +++ topia/src/java/org/codelutin/topia/generators/ObjectModelToAssociationClassesGenerator.java Thu Aug 11 16:32:03 2005 @@ -59,18 +59,18 @@ /*{ associationA = <%=attr.getType()%>.class, associationAField = "<%=attr.getName()%>", associationACardinality = {<%=attr.getMinMultiplicity()%>, <%=attr.getMaxMultiplicity()%>}, -}*/// associationAIsComposition = ... /* TODO Arno Vériier si la valeur par défaut correspond */ +}*/// associationAIsComposition = ... /* TODO Vérifier si la valeur par défaut correspond */ if (attribute.getReverseAttribute() != null) { attr = attribute.getReverseAttribute(); /*{ associationB = <%=attr.getType()%>.class, associationBField = "<%=attr.getName()%>", associationBCardinality = {<%=attr.getMinMultiplicity()%>, <%=attr.getMaxMultiplicity()%>}, -}*/// associationBIsComposition = ... /* TODO Arno Vériier si la valeur par défaut correspond */ +}*/// associationBIsComposition = ... /* TODO Vérifier si la valeur par défaut correspond */ } //schemaVersion = <%=Util.getSerialVersionUID((ObjectModelClass)clazz)%>L, /*{ fields = {"<%=attribute.getName()%>"}*/ if (attribute.getReverseAttribute() != null) {/*{, "<%=attribute.getReverseAttribute().getName()%>"}*/}/*{}, fieldTypes = {<%=attribute.getType()%>.class}*/ if (attribute.getReverseAttribute() != null) {/*{, <%=attribute.getReverseAttribute().getType()%>.class}*/}/*{} -}*/ /* TODO Arno fieldValues = ... A changer si on veut mettre des valeurs par défaut aux attributs */ +}*/ /* TODO fieldValues = ... A changer si on veut mettre des valeurs par défaut aux attributs */ /*{) }*/ } Index: topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceGenerator.java diff -u topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceGenerator.java:1.12 topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceGenerator.java:1.13 --- topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceGenerator.java:1.12 Wed Jul 27 16:35:52 2005 +++ topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityPersistenceServiceGenerator.java Thu Aug 11 16:32:03 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.12 $ + * @version $Revision: 1.13 $ * - * Mise a jour: $Date: 2005/07/27 16:35:52 $ + * Mise a jour: $Date: 2005/08/11 16:32:03 $ * par : $Author: thimel $ */ @@ -109,12 +109,12 @@ /** * @return an entity *) - public <%=currentClazz.getName()%> findBy<%=Util.capitalize(attribute.getName())%>(<%=Util.getAttributeType(attribute)%> <%=attribute.getName()%>) throws TopiaException; + public <%=currentClazz.getName()%> findBy<%=Util.capitalize(attribute.getName())%>(<%=attribute.getType()%> <%=attribute.getName()%>) throws TopiaException; /** * @return an unmodifiable collection *) - public List findAllBy<%=Util.capitalize(attribute.getName())%>(<%=Util.getAttributeType(attribute)%> <%=attribute.getName()%>) throws TopiaException; + public List findAllBy<%=Util.capitalize(attribute.getName())%>(<%=attribute.getType()%> <%=attribute.getName()%>) throws TopiaException; }*/ } Index: topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityGenerator.java diff -u topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityGenerator.java:1.14 topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityGenerator.java:1.15 --- topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityGenerator.java:1.14 Tue Aug 2 13:00:32 2005 +++ topia/src/java/org/codelutin/topia/generators/ObjectModelToEntityGenerator.java Thu Aug 11 16:32:03 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.14 $ + * @version $Revision: 1.15 $ * - * Mise a jour: $Date: 2005/08/02 13:00:32 $ + * Mise a jour: $Date: 2005/08/11 16:32:03 $ * par : $Author: thimel $ */ @@ -77,8 +77,10 @@ output += ",\n field = \"" + attr.getName() + "\""; } output += ",\n isFieldModifier = " + isModifier + ""; - if (Util.isAttributeEntity(attr)) + if (Util.isAttributeEntity(attr)){ output += ",\n associationClass = " + Util.getQualifiedAssociationClassName(attr) + ".class"; + } + output += ",\n associationParty = '" + ((Util.isFirstAttribute(attr)) ? "A" : "B") + "'"; if (isAssociationFieldAccessor) { output += ",\n fieldType = " + Util.getQualifiedAssociationClassName(attr) + ".class"; } else { @@ -99,27 +101,28 @@ ObjectModelAssociationClass assocClass = (ObjectModelAssociationClass)clazz; List list = assocClass.getParticipantsAttributes(); Iterator it = list.iterator(); - String[] ids = {"A", "B"}; - for (int i=0; (it.hasNext() && i < ids.length); i++) { + String id; + while (it.hasNext()) { ObjectModelAttribute attr = (ObjectModelAttribute)it.next(); if (attr == null) { // La navigabilité fait que cet attribut ne doit pas // apparaître alors on l'ignore - i--; continue; + } else { + id = (Util.isFirstAttribute(attr)) ? "A" : "B"; } /*{ - association<%=ids[i]%> = <%=attr.getType()%>.class, - association<%=ids[i]%>Field = "<%=attr.getName()%>", - association<%=ids[i]%>Cardinality = {<%=attr.getMinMultiplicity()%>, <%=attr.getMaxMultiplicity()%>}, -}*/// association<%=ids[i]%>IsComposition = ... /* TODO Arno Vériier si la valeur par défaut correspond */ + association<%=id%> = <%=attr.getType()%>.class, + association<%=id%>Field = "<%=attr.getName()%>", + association<%=id%>Cardinality = {<%=attr.getMinMultiplicity()%>, <%=attr.getMaxMultiplicity()%>}, +}*/// association<%=id%>IsComposition = ... /* TODO Vérifier si la valeur par défaut correspond */ } } /*{ schemaVersion = <%=Util.getSerialVersionUID((ObjectModelClass)clazz)%>L, fields = {<%=Util.getFieldList((ObjectModelClass)clazz)%>}, fieldTypes = {<%=Util.getFieldClassTypes((ObjectModelClass)clazz)%>} -}*/ /* TODO Arno fieldValues = ... A changer si on veut mettre des valeurs par défaut aux attributs */ +}*/ /* TODO fieldValues = ... A changer si on veut mettre des valeurs par défaut aux attributs */ /*{) }*/ }