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);
+ }
}
}
}