Author: michiel
Date: 2010-05-18 18:42:43 +0200 (Tue, 18 May 2010)
New Revision: 42232
Added:
mmbase/trunk/bridge/src/main/java/org/mmbase/core/util/
mmbase/trunk/bridge/src/main/java/org/mmbase/core/util/DataTypeSetter.java
Modified:
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/AbstractBuilderReader.java
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/ParentBuilderReader.java
Log:
MMB-1959
Added:
mmbase/trunk/bridge/src/main/java/org/mmbase/core/util/DataTypeSetter.java
===================================================================
--- mmbase/trunk/bridge/src/main/java/org/mmbase/core/util/DataTypeSetter.java
(rev 0)
+++ mmbase/trunk/bridge/src/main/java/org/mmbase/core/util/DataTypeSetter.java
2010-05-18 16:42:43 UTC (rev 42232)
@@ -0,0 +1,50 @@
+/*
+
+This software is OSI Certified Open Source Software.
+OSI Certified is a certification mark of the Open Source Initiative.
+
+The license (Mozilla version 1.0) can be read at the MMBase site.
+See http://www.MMBase.org/license
+
+*/
+package org.mmbase.core.util;
+
+import org.mmbase.bridge.*;
+import org.mmbase.datatypes.*;
+import org.mmbase.core.AbstractField;
+
+
+
+/**
+ * Wraps a Field. It can and is extended to make some other modifications to
the field once the datatype is determined.
+ */
+
+public class DataTypeSetter {
+ private int type = -1;
+ private int listItemType = -1;
+ protected AbstractField field;
+ public DataTypeSetter(AbstractField field) {
+ this.field = field;
+ }
+ public void set(DataType dt) {
+ field.setDataType(dt);
+ }
+ public AbstractField getField() {
+ return field;
+ }
+ public int getType() {
+ return type == -1 ? field.getType() : type;
+ }
+ public int getListItemType() {
+ return listItemType == -1 ? field.getListItemType() : listItemType;
+ }
+ public void setType(int t) {
+ type = t;
+ }
+ public void setListItemType(int t) {
+ listItemType = t;
+ }
+
+}
+
+
Property changes on:
mmbase/trunk/bridge/src/main/java/org/mmbase/core/util/DataTypeSetter.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified:
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/AbstractBuilderReader.java
===================================================================
---
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/AbstractBuilderReader.java
2010-05-18 16:30:52 UTC (rev 42231)
+++
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/AbstractBuilderReader.java
2010-05-18 16:42:43 UTC (rev 42232)
@@ -18,6 +18,7 @@
import org.xml.sax.InputSource;
import org.mmbase.bridge.Field;
import org.mmbase.core.AbstractField;
+import org.mmbase.core.util.DataTypeSetter;
import org.mmbase.core.event.*;
import org.mmbase.datatypes.*;
import org.mmbase.datatypes.util.xml.DataTypeReader;
@@ -411,7 +412,7 @@
- protected void decodeDataTypeLater(final Fields.DataTypeSetter setter,
+ protected void decodeDataTypeLater(final DataTypeSetter setter,
final String builder,
final DataTypeCollector collector,
final String fieldName,
@@ -440,7 +441,7 @@
* @param forceInstance If true, it will never return <code>null</code>,
but will return (a clone) of the DataType associated with the database type.
* @since MMBase-1.8
*/
- protected void decodeDataType(final Fields.DataTypeSetter setter,
+ protected void decodeDataType(final DataTypeSetter setter,
final String builder,
final DataTypeCollector collector,
final String fieldName,
@@ -607,26 +608,6 @@
- // state - default peristent
- int state = Field.STATE_PERSISTENT;
- if (!"".equals(fieldState)) { state = Fields.getState(fieldState); }
- if (state != def.getState()) def.setState(state);
-
-
- boolean readOnly = false;
- if ("".equals(fieldReadOnly)) {
- readOnly = state == Field.STATE_SYSTEM || state ==
Field.STATE_SYSTEM_VIRTUAL;
- } else {
- readOnly = "true".equalsIgnoreCase(fieldReadOnly);
- }
-
- if (def.isReadOnly() != readOnly) {
- def.setReadOnly(readOnly);
- }
- }
-
-
-
protected abstract Map<String, String> getParentProperties();
/**
Modified:
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/ParentBuilderReader.java
===================================================================
---
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/ParentBuilderReader.java
2010-05-18 16:30:52 UTC (rev 42231)
+++
mmbase/trunk/bridge/src/main/java/org/mmbase/util/xml/ParentBuilderReader.java
2010-05-18 16:42:43 UTC (rev 42232)
@@ -12,7 +12,7 @@
import org.mmbase.datatypes.DataType;
import org.mmbase.datatypes.Constants;
-import org.mmbase.core.util.Fields;
+import org.mmbase.core.util.DataTypeSetter;
import org.mmbase.util.xml.AbstractBuilderReader;
import org.mmbase.bridge.mock.MockField;
import org.mmbase.bridge.util.NodeManagerDescription;
@@ -120,7 +120,7 @@
final Element dbtype = getElementByPath(field,
"field.db.type");
final MockField newField = new MockField(fieldName, null,
Constants.DATATYPE_UNKNOWN);
- Fields.DataTypeSetter setter = new
Fields.DataTypeSetter(newField) {
+ DataTypeSetter setter = new DataTypeSetter(newField) {
@Override
public void set(DataType dt) {
super.set(dt);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs