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

Modified Files:
        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.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- DataTypeField.java  22 Aug 2008 13:01:22 -0000      1.7
+++ DataTypeField.java  1 Sep 2008 17:00:52 -0000       1.8
@@ -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.7 2008/08/22 13:01:22 michiel Exp $
+ * @version $Id: DataTypeField.java,v 1.8 2008/09/01 17:00:52 michiel Exp $
  * @since   MMBase-1.8.7
  */
 
@@ -76,10 +77,21 @@
         return field == null ? -1 : field.getStoragePosition();
     }
 
-    @Override
-    public int getMaxLength() {
-        return field == null ? Integer.MAX_VALUE : // not stored, so no such 
restriction
-            field.getMaxLength();
+    @Override public int 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();
+        }
     }
 
     @Override
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to