Update of 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler
In directory james.mmbase.org:/tmp/cvs-serv18779

Modified Files:
      Tag: MMBase-1_8
        AbstractTypeHandler.java 
Log Message:
  MMB-1709


See also: 
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler
See also: http://www.mmbase.org/jira/browse/MMB-1709


Index: AbstractTypeHandler.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler/AbstractTypeHandler.java,v
retrieving revision 1.48.2.8
retrieving revision 1.48.2.9
diff -u -b -r1.48.2.8 -r1.48.2.9
--- AbstractTypeHandler.java    24 Apr 2008 11:43:54 -0000      1.48.2.8
+++ AbstractTypeHandler.java    18 Aug 2008 15:35:02 -0000      1.48.2.9
@@ -29,7 +29,7 @@
  * @author Gerard van de Looi
  * @author Michiel Meeuwissen
  * @since  MMBase-1.6
- * @version $Id: AbstractTypeHandler.java,v 1.48.2.8 2008/04/24 11:43:54 
michiel Exp $
+ * @version $Id: AbstractTypeHandler.java,v 1.48.2.9 2008/08/18 15:35:02 
michiel Exp $
  */
 
 public abstract class AbstractTypeHandler implements TypeHandler {
@@ -159,12 +159,12 @@
     }
 
     /**
-     * Returns the field value as specified by the client's post.
+     * Returns the field value as specified by the client's post. This is only 
<code>null</code> if
+     * the client didn't post a thing. It can be empty if the client means 
<code>null</code>
+     * (depending on the value of [EMAIL PROTECTED] #interpretEmptyAsNull}).
      */
     protected Object getFieldValue(Field field) throws JspTagException {
-        Object found = 
tag.getContextProvider().getContextContainer().find(tag.getPageContext(), 
prefix(field.getName()));
-        if (interpretEmptyAsNull(field) && "".equals(found)) found = null;
-        return found;
+        return 
tag.getContextProvider().getContextContainer().find(tag.getPageContext(), 
prefix(field.getName()));
     }
     protected boolean interpretEmptyAsNull(Field field) {
         return true;
@@ -198,10 +198,10 @@
         Object fieldValue = getFieldValue(field);
         DataType dt = field.getDataType();
         if (fieldValue == null) {
-            log.debug("Field value not found in context, using existing value 
");
+            log.debug("Field value for " + field + " not found in context, 
using existing value ");
             fieldValue = getFieldValue(node, field, node == null);
-        } else if (fieldValue.equals("") && ! field.isRequired()) {
-            log.debug("Field value found in context is empty, interpreting as 
null");
+        } else if (fieldValue.equals("") && interpretEmptyAsNull(field)) {
+            log.debug("Field value for " + field + " found in context is 
empty, interpreting as null");
             fieldValue = null;
         }
         if (log.isDebugEnabled()) {
@@ -284,6 +284,7 @@
         String fieldName = field.getName();
         Object fieldValue = getFieldValue(node, field, false);
         Object oldValue = node.getValue(fieldName);
+        log.debug("Using " + fieldValue + " for " + fieldName);
         if (fieldValue == null ? oldValue == null : 
fieldValue.equals(oldValue)) {
             return false;
         }  else {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to