Index: topia2/src/java/org/codelutin/topia/framework/TopiaFiresSupport.java diff -u topia2/src/java/org/codelutin/topia/framework/TopiaFiresSupport.java:1.2 topia2/src/java/org/codelutin/topia/framework/TopiaFiresSupport.java:1.3 --- topia2/src/java/org/codelutin/topia/framework/TopiaFiresSupport.java:1.2 Tue Oct 24 07:51:53 2006 +++ topia2/src/java/org/codelutin/topia/framework/TopiaFiresSupport.java Tue Nov 14 18:17:15 2006 @@ -18,9 +18,13 @@ package org.codelutin.topia.framework; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.beans.VetoableChangeSupport; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -65,6 +69,10 @@ static private Log log = LogFactory.getLog(TopiaFiresSupport.class); static Object NO_CHANGE = new Object(); + protected List listenerChange = new ArrayList(); + + + /* Pour la transaction */ protected ListenerSet transactionListeners = new ListenerSet(); protected ListenerSet transactionVetoables = new ListenerSet(); @@ -320,6 +328,12 @@ log.debug("fireOnPostWrite"); } try { + if (listenerChange.size() > 0) { + PropertyChangeEvent e = new PropertyChangeEvent(entity, propertyName, oldValue, newValue); + for (PropertyChangeListener l : listenerChange) { + l.propertyChange(e); + } + } listeners.firePropertyChange(propertyName, oldValue, newValue); currentTransactionEvent.addEntity(entity); } catch (Exception eee) {