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

Modified Files:
        AbstractNode.java NodeWrapper.java 
Log Message:
MMB-1736


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/bridge/util
See also: http://www.mmbase.org/jira/browse/MMB-1736


Index: AbstractNode.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/bridge/util/AbstractNode.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- AbstractNode.java   24 Sep 2008 22:34:50 -0000      1.26
+++ AbstractNode.java   1 Dec 2008 22:41:06 -0000       1.27
@@ -12,6 +12,7 @@
 
 import java.util.*;
 import java.io.*;
+import java.math.BigDecimal;
 
 import java.text.Collator;
 
@@ -31,7 +32,7 @@
  * here, to minimalize the implementation effort of fully implemented Nodes.
  *
  * @author Michiel Meeuwissen
- * @version $Id: AbstractNode.java,v 1.26 2008/09/24 22:34:50 michiel Exp $
+ * @version $Id: AbstractNode.java,v 1.27 2008/12/01 22:41:06 michiel Exp $
  * @see org.mmbase.bridge.Node
  * @since MMBase-1.8
  */
@@ -112,6 +113,7 @@
             case Field.TYPE_NODE:    setNodeValue(fieldName, 
Casting.toNode(value, getCloud())); break;
             case Field.TYPE_DATETIME: setDateValue(fieldName, (Date) value); 
break;
             case Field.TYPE_BOOLEAN: setBooleanValue(fieldName, 
Casting.toBoolean(value)); break;
+            case Field.TYPE_DECIMAL: setDecimalValue(fieldName, 
Casting.toDecimal(value)); break;
             case Field.TYPE_LIST:    setListValue(fieldName, (List) value); 
break;
                 default:                 setObjectValue(fieldName, value);
             }
@@ -163,6 +165,11 @@
         Object v = field.getDataType().getProcessor(DataType.PROCESS_SET, 
Field.TYPE_DATETIME).process(this, field, value);
         setValueWithoutProcess(fieldName, v);
     }
+    public final void setDecimalValue(String fieldName, final BigDecimal 
value) {
+        Field field = getNodeManager().getField(fieldName);
+        Object v = field.getDataType().getProcessor(DataType.PROCESS_SET, 
Field.TYPE_DECIMAL).process(this, field, value);
+        setValueWithoutProcess(fieldName, v);
+    }
 
     public final void setListValue(String fieldName, final List value) {
         Field field = getNodeManager().getField(fieldName);
@@ -312,6 +319,7 @@
                 }
                 case Field.TYPE_BOOLEAN: return 
Boolean.valueOf(getBooleanValue(fieldName));
                 case Field.TYPE_DATETIME:return getDateValue(fieldName);
+                case Field.TYPE_DECIMAL: return getDecimalValue(fieldName);
                 case Field.TYPE_LIST:    return getListValue(fieldName);
                 default:
                     log.error("Unknown fieldtype '" + type + "'");
@@ -357,6 +365,15 @@
         }
         return result;
     }
+    public BigDecimal getDecimalValue(String fieldName) {
+        BigDecimal result = 
Casting.toDecimal(getValueWithoutProcess(fieldName));
+        NodeManager nodeManager = getNodeManager();
+        if (nodeManager.hasField(fieldName)) { // gui(..) stuff could not work.
+            Field field = nodeManager.getField(fieldName);
+            result = (BigDecimal) 
field.getDataType().getProcessor(DataType.PROCESS_GET, 
Field.TYPE_DECIMAL).process(this, field, result);
+        }
+        return result;
+    }
 
     public List getListValue(String fieldName) {
         List result =  Casting.toList(getValueWithoutProcess(fieldName));


Index: NodeWrapper.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/bridge/util/NodeWrapper.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- NodeWrapper.java    18 Sep 2008 09:49:35 -0000      1.21
+++ NodeWrapper.java    1 Dec 2008 22:41:06 -0000       1.22
@@ -22,7 +22,7 @@
  * implementation on a existing <code>Node</code> instance.
  *
  * @author  Michiel Meeuwissen
- * @version $Id: NodeWrapper.java,v 1.21 2008/09/18 09:49:35 michiel Exp $
+ * @version $Id: NodeWrapper.java,v 1.22 2008/12/01 22:41:06 michiel Exp $
  * @since   MMBase-1.8
  */
 
@@ -54,6 +54,7 @@
     public void setLongValue(String fieldName, long value) { 
node.setLongValue(fieldName, value); }
     public void setStringValue(String fieldName, String value) { 
node.setStringValue(fieldName, value); }
     public void setDateValue(String fieldName, Date value) { 
node.setDateValue(fieldName, value); }
+    public void setDecimalValue(String fieldName, java.math.BigDecimal value) 
{ node.setDecimalValue(fieldName, value); }
     public void setListValue(String fieldName, List<?> value) { 
node.setListValue(fieldName, value); }
     public boolean isNull(String fieldName) { return node.isNull(fieldName); }
     public long    getSize(String fieldName) { return node.getSize(fieldName); 
}
@@ -70,6 +71,7 @@
     public java.io.InputStream getInputStreamValue(String fieldName) { return 
node.getInputStreamValue(fieldName); }
     public String getStringValue(String fieldName) { return 
node.getStringValue(fieldName); }
     public Date getDateValue(String fieldName) { return 
node.getDateValue(fieldName); }
+    public java.math.BigDecimal getDecimalValue(String fieldName) { return 
node.getDecimalValue(fieldName); }
     public List<?> getListValue(String fieldName) { return 
node.getListValue(fieldName); }
     public FieldValue getFieldValue(String fieldName) throws NotFoundException 
{
         return node.getFieldValue(fieldName);
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to