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

Modified Files:
        DataTypeHandler.java 
Log Message:
  MMB-1560


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-1560


Index: DataTypeHandler.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler/DataTypeHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- DataTypeHandler.java        17 Apr 2009 15:44:35 -0000      1.1
+++ DataTypeHandler.java        17 Apr 2009 16:05:42 -0000      1.2
@@ -18,8 +18,10 @@
 import org.mmbase.bridge.jsp.taglib.ParamHandler;
 import org.mmbase.storage.search.Constraint;
 import org.mmbase.bridge.jsp.taglib.FieldInfoTag;
+import org.mmbase.bridge.jsp.taglib.edit.FormTag;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
+import org.mmbase.util.functions.Parameter;
 
 /**
  * The DataType of the field can also itself specify how the input widgets 
must look like. This
@@ -31,7 +33,7 @@
  *
  * @author Michiel Meeuwisssen
  * @since  MMBase-1.9.1
- * @version $Id: DataTypeHandler.java,v 1.1 2009/04/17 15:44:35 michiel Exp $
+ * @version $Id: DataTypeHandler.java,v 1.2 2009/04/17 16:05:42 michiel Exp $
  */
 
 public class DataTypeHandler implements TypeHandler {
@@ -43,7 +45,7 @@
 
     public DataTypeHandler(Handler<String> h, final FieldInfoTag tag) {
         handler = h;
-        request = new AbstractRequest() {
+        request = new Request() {
                 public Cloud getCloud() {
                     try {
                         return tag.getCloudVar();
@@ -51,16 +53,36 @@
                         throw new RuntimeException(te);
                     }
                 }
+                public java.util.Locale getLocale() {
+                    try {
+                        return tag.getLocale();
+                    } catch (JspTagException te) {
+                        throw new RuntimeException(te);
+                    }
+                }
 
                 public void invalidate() {
+                    try {
                     FormTag form = tag.getFormTag(false, null);
-                    if (form != null &&  ! field.isReadOnly()) {
+                        if (form != null) {
                         form.setValid(false);
                     }
+                    } catch (JspTagException te) {
+                        throw new RuntimeException(te);
+                    }
                 }
 
                 public boolean isValid() {
-                    return valid;
+                    try {
+                        FormTag form = tag.getFormTag(false, null);
+                        if (form != null) {
+                            return form.isValid();
+                        } else {
+                            return true;
+                        }
+                    } catch (JspTagException te) {
+                        throw new RuntimeException(te);
+                    }
                 }
                 protected String prefix(String s) throws JspTagException {
                     return tag.getPrefix() + "_" + s;
@@ -91,6 +113,15 @@
                     }
                 }
 
+                public <C> C setProperty(Parameter<C> name, C value) {
+                    C prev = getProperty(name);
+                    tag.getPageContext().setAttribute(name.getName(), value);
+                    return prev;
+                }
+                public <C> C getProperty(Parameter<C> name) {
+                    return (C) 
tag.getPageContext().getAttribute(name.getName());
+                }
+
             };
 
     }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to