Update of /var/cvs/src/org/mmbase/bridge/util
In directory james.mmbase.org:/tmp/cvs-serv6365

Modified Files:
      Tag: MMBase-1_8
        DataTypeField.java 
Log Message:
recognized maxLength of LengthDataTypes


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/bridge/util


Index: DataTypeField.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/bridge/util/DataTypeField.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -b -r1.1.2.2 -r1.1.2.3
--- DataTypeField.java  22 Aug 2008 13:07:44 -0000      1.1.2.2
+++ DataTypeField.java  1 Sep 2008 16:59:41 -0000       1.1.2.3
@@ -14,6 +14,7 @@
 import org.mmbase.util.LocalizedString;
 import org.mmbase.bridge.*;
 import org.mmbase.datatypes.DataType;
+import org.mmbase.datatypes.LengthDataType;
 
 
 /**
@@ -21,7 +22,7 @@
  * (itself). This also associates a Cloud object with the DataType.
  *
  * @author  Michiel Meeuwissen
- * @version $Id: DataTypeField.java,v 1.1.2.2 2008/08/22 13:07:44 michiel Exp $
+ * @version $Id: DataTypeField.java,v 1.1.2.3 2008/09/01 16:59:41 michiel Exp $
  * @since   MMBase-1.8.7
  */
 
@@ -76,8 +77,20 @@
 
 
     public int getMaxLength() {
-        return field == null ? Integer.MAX_VALUE : // not stored, so no such 
restriction
-            field.getMaxLength();
+        if (field == null) {
+            if (dataType instanceof LengthDataType) {
+                long length = ((LengthDataType)dataType).getMaxLength();
+                if (length > Integer.MAX_VALUE) {
+                    return Integer.MAX_VALUE;
+                } else {
+                    return (int)length;
+                }
+            } else {
+                return Integer.MAX_VALUE;
+            }
+        } else {
+            return field.getMaxLength();
+        }
     }
 
     public boolean isReadOnly() {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to