Index: topia/src/java/org/codelutin/topia/TopiaContext.java diff -u topia/src/java/org/codelutin/topia/TopiaContext.java:1.46 topia/src/java/org/codelutin/topia/TopiaContext.java:1.47 --- topia/src/java/org/codelutin/topia/TopiaContext.java:1.46 Thu Aug 11 16:42:27 2005 +++ topia/src/java/org/codelutin/topia/TopiaContext.java Fri Sep 2 17:18:51 2005 @@ -23,10 +23,10 @@ * * @author Benjamin Poussin * Copyright Code Lutin -* @version $Revision: 1.46 $ +* @version $Revision: 1.47 $ * -* Mise a jour: $Date: 2005/08/11 16:42:27 $ -* par : $Author: thimel $ +* Mise a jour: $Date: 2005/09/02 17:18:51 $ +* par : $Author: bpoussin $ */ package org.codelutin.topia; @@ -116,6 +116,16 @@ this.parentContext = parentContext; } + /** + * Si le garbage emporte l'objet, alors on rollback les modifications + * qui avait ete faite mais non commité. + */ + protected void finalize() throws Throwable { + if(getTransaction() != null){ + rollbackTransaction(); + } + } + public Properties getProperties(){ return properties; } @@ -287,7 +297,7 @@ // les objets ont rechangé (rollback). Deja fait dans le commit pour // prevenir les listeners du context pere. Mais il faudrait le faire // dans le rollback pour ses propres listener - + // il faut abondonner tous les events conservé for(Set set:addedTopiaEntity.values()){ set.clear();