Update of /var/cvs/src/org/mmbase/datatypes/handlers
In directory james.mmbase.org:/tmp/cvs-serv19140
Modified Files:
AbstractHandler.java AbstractRequest.java Request.java
Log Message:
MMB-1560
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes/handlers
See also: http://www.mmbase.org/jira/browse/MMB-1560
Index: AbstractHandler.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/handlers/AbstractHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- AbstractHandler.java 28 Jul 2008 16:47:31 -0000 1.1
+++ AbstractHandler.java 17 Apr 2009 15:43:39 -0000 1.2
@@ -27,7 +27,7 @@
* post and things like that.
*
* @author Michiel Meeuwissen
- * @version $Id: AbstractHandler.java,v 1.1 2008/07/28 16:47:31 michiel Exp $
+ * @version $Id: AbstractHandler.java,v 1.2 2009/04/17 15:43:39 michiel Exp $
* @since MMBase-1.9.1
*/
@@ -129,8 +129,10 @@
return null;
}
+ }
-
+ protected void setValue(Node node, String fieldName, Object value) {
+ node.setValue(fieldName, value);
}
public C check(Request request, Node node, Field field, boolean errors) {
@@ -139,7 +141,20 @@
public boolean set(Request request, Node node, Field field) {
- throw new UnsupportedOperationException();
+ String fieldName = field.getName();
+ Object fieldValue = getFieldValue(request, node, field, false);
+ if (interpretEmptyAsNull(field) && "".equals(fieldValue)) fieldValue =
null;
+ Object oldValue = node.getValue(fieldName);
+ if (fieldValue == null ? oldValue == null :
fieldValue.equals(oldValue)) {
+ return false;
+ } else {
+ if ("".equals(fieldValue) && interpretEmptyAsNull(field)) {
+ setValue(node, fieldName, null);
+ } else {
+ setValue(node, fieldName, fieldValue);
+ }
+ return true;
+ }
}
Index: AbstractRequest.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/handlers/AbstractRequest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- AbstractRequest.java 28 Jul 2008 16:47:31 -0000 1.1
+++ AbstractRequest.java 17 Apr 2009 15:43:39 -0000 1.2
@@ -17,7 +17,7 @@
/**
*
* @author Michiel Meeuwissen
- * @version $Id: AbstractRequest.java,v 1.1 2008/07/28 16:47:31 michiel Exp $
+ * @version $Id: AbstractRequest.java,v 1.2 2009/04/17 15:43:39 michiel Exp $
* @since MMBase-1.9.1
*/
Index: Request.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/handlers/Request.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Request.java 28 Jul 2008 16:47:31 -0000 1.3
+++ Request.java 17 Apr 2009 15:43:39 -0000 1.4
@@ -17,7 +17,7 @@
* This generalizes one rendition of a form.
*
* @author Michiel Meeuwissen
- * @version $Id: Request.java,v 1.3 2008/07/28 16:47:31 michiel Exp $
+ * @version $Id: Request.java,v 1.4 2009/04/17 15:43:39 michiel Exp $
* @since MMBase-1.9.1
*/
@@ -35,6 +35,7 @@
Cloud getCloud();
java.util.Locale getLocale();
+
/**
*
*/
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs