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