Index: topia-service/src/java/org/codelutin/topia/migration/kernel/DependenciesHelper.java diff -u topia-service/src/java/org/codelutin/topia/migration/kernel/DependenciesHelper.java:1.6 topia-service/src/java/org/codelutin/topia/migration/kernel/DependenciesHelper.java:1.7 --- topia-service/src/java/org/codelutin/topia/migration/kernel/DependenciesHelper.java:1.6 Mon Nov 12 13:19:36 2007 +++ topia-service/src/java/org/codelutin/topia/migration/kernel/DependenciesHelper.java Wed Nov 14 12:53:41 2007 @@ -32,6 +32,7 @@ import org.codelutin.topia.migration.common.SimpleProxyClass; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; +import org.hibernate.engine.CascadeStyle; import org.hibernate.engine.SessionFactoryImplementor; import org.hibernate.mapping.PersistentClass; import org.hibernate.mapping.Property; @@ -48,9 +49,9 @@ * @author Chevallereau Benjamin * @author Eon Sébastien * @author Trève Vincent - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ * - * Last update : $Date: 2007-11-12 13:19:36 $ + * Last update : $Date: 2007-11-14 12:53:41 $ */ public class DependenciesHelper { @@ -164,9 +165,8 @@ // si c'est une association if(propertyType.isAssociationType()) { - - String dependentClassName; - + + String dependentClassName = null; // on recupere le nom de la classe dont depend la classe courante if(propertyType.isCollectionType()){ @@ -175,36 +175,36 @@ // // // - + CollectionType collectionType = (CollectionType)propertyType; dependentClassName = collectionType.getAssociatedEntityName(sfi); - - //logger.debug(clazz.getEntityName() +":"+ dependentClassName + " : aj :" + collectionType.getAssociatedJoinable(sfi).getName()); - //logger.debug(clazz.getEntityName() +":"+ dependentClassName + " : ajic :" + collectionType.getAssociatedJoinable(sfi).isCollection()); - //logger.debug(clazz.getEntityName() +":"+ dependentClassName + " : et :" + collectionType.getElementType(sfi).getName()); - //logger.debug(clazz.getEntityName() +":"+ dependentClassName + " : et :" + collectionType.getForeignKeyDirection()); - //logger.debug(""); } else { - // - dependentClassName = propertyType.getName(); - } - //on l'ajoute dans les listes correspondantes - ProxyClass pcDependentClass = new SimpleProxyClass(dependentClassName); - //classe courante -> classe dont elle depend - if(!lDependencies.contains(pcDependentClass)) { - lDependencies.add(pcDependentClass); + if(!p.getCascadeStyle().equals(CascadeStyle.NONE)) { + // + // + dependentClassName = propertyType.getName(); + } } - - //classe dont depend la classe courante -> classe courante - List lOldDependents = mInvertDependencies.get(pcDependentClass); - if(lOldDependents == null) { - lOldDependents = new LinkedList(); - mInvertDependencies.put(pcDependentClass, lOldDependents); - } - if(!lOldDependents.contains(pcCurrentClass)) { - lOldDependents.add(pcCurrentClass); + + if(dependentClassName != null) { + //on l'ajoute dans les listes correspondantes + ProxyClass pcDependentClass = new SimpleProxyClass(dependentClassName); + //classe courante -> classe dont elle depend + if(!lDependencies.contains(pcDependentClass)) { + lDependencies.add(pcDependentClass); + } + + //classe dont depend la classe courante -> classe courante + List lOldDependents = mInvertDependencies.get(pcDependentClass); + if(lOldDependents == null) { + lOldDependents = new LinkedList(); + mInvertDependencies.put(pcDependentClass, lOldDependents); + } + if(!lOldDependents.contains(pcCurrentClass)) { + lOldDependents.add(pcCurrentClass); + } } } }