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