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 Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs