[cvs] expresso commit by lhamel: make isChanged true if object was ever

JCorporate Ltd jcorp at jcorporate.com
Wed Jun 21 02:55:10 UTC 2006


Log Message:
-----------
make isChanged true if object was ever changed since original setting

Modified Files:
--------------
    expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects:
        DefaultDataField.java

Revision Data
-------------
Index: DefaultDataField.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/DefaultDataField.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/DefaultDataField.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/DefaultDataField.java -u -r1.37 -r1.38
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/DefaultDataField.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dataobjects/DefaultDataField.java
@@ -740,7 +740,7 @@
      */
     public void setValue(Object newValue)
     {
-        if (originalValue == null) {
+        if (originalValue == null && newValue != null) {
             // we preserve the very first, original value, for use as 'baseline' in computing 'isChanged'
             originalValue = currentValue;
         }
@@ -750,7 +750,7 @@
         // Retrieval will call setValue here, and this setValue is NOT *changing*
         // an *existing* value.  we keep a boolean isValueSet to determine if
         // this is the first setting (the retrieval) of this fielddata
-        if (isValueSet) {
+        if (isValueSet && !isChanged) {
             // are we changing the value?
             if (newValue == null) {
                 // no change if both are null


More information about the cvs mailing list