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