Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv10934

Modified Files:
        CheckEqualityDataType.java 
Log Message:
Added some comments, logging, renamed some variables


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes


Index: CheckEqualityDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/CheckEqualityDataType.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- CheckEqualityDataType.java  28 Apr 2009 13:59:11 -0000      1.2
+++ CheckEqualityDataType.java  28 Apr 2009 14:07:13 -0000      1.3
@@ -21,7 +21,7 @@
  *
  * @author Michiel Meeuwissen
  * @author Sander de Boer
- * @version  $Id: CheckEqualityDataType.java,v 1.2 2009/04/28 13:59:11 michiel 
Exp $
+ * @version  $Id: CheckEqualityDataType.java,v 1.3 2009/04/28 14:07:13 michiel 
Exp $
  * @since MMBase-1.8
  */
 public class CheckEqualityDataType extends StringDataType {
@@ -97,19 +97,26 @@
 
         @Override
         protected boolean simpleValid(final Object v, final Node node, final 
Field field) {
-            if (node != null && field != null && v != null) {
+            if (node != null && field != null && v != null) { // if v == null, 
it was not changed.
                 if (! node.isChanged(getField())) return true;
 
-                Field checkField = node.getNodeManager().getField(getField());
-                Processor setProcessor = 
checkField.getDataType().getProcessor(PROCESS_SET);
-                Object processedValue = setProcessor.process(node, field, v);
-                String fieldValue = (String) node.getObjectValue(getField());
+                final String otherFieldName = getField();
+                final Field otherField = 
node.getNodeManager().getField(otherFieldName);
+                final Processor setProcessor = 
otherField.getDataType().getProcessor(PROCESS_SET);
+                final Object processedValue = setProcessor.process(node, 
field, v);
+                final String otherValue = (String) 
node.getObjectValue(otherFieldName);
+
                 if (log.isDebugEnabled()) {
-                    log.debug("Field checking " + (node.isNew() ? "new" : 
"existing") + " node. Field " + checkField + " set-processor " + setProcessor);
-                    log.debug("Offered value '" + v + "' --> '" + 
processedValue);
-                    log.debug("Comparing '" + fieldValue + "' with '" + 
processedValue + "'(" + v + ")");
+                    log.debug("Field '" + getName() + "' checking " + 
(node.isNew() ? "new" : "existing") + " node. Comparing with field " + 
otherField + " (using its set-processor " + setProcessor + ")");
+                    log.debug("Offered value '" + v + "' -processed-> '" + 
processedValue);
+                    log.debug("Comparing value of other field '" + otherValue 
+ "' with supplied value '" + processedValue + "'(" + v + ")");
                 }
-                return fieldValue.equals(v) || 
fieldValue.equals(processedValue);
+
+                return
+                    otherValue.equals(processedValue)
+                    ||
+                    otherValue.equals(v) // if for some reason the client 
supplied the  processedValue, then find that ok too.
+                    ;
             } else {
                 return true;
             }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to