Update of
/var/cvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/beans
In directory
james.mmbase.org:/tmp/cvs-serv12139/cmsc/utilities/src/java/com/finalist/cmsc/beans
Modified Files:
MMBaseNodeMapper.java
Log Message:
CMSC-1029 fix Enum property throw exception.
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/beans
See also: http://www.mmbase.org/jira/browse/CMSC-1029
Index: MMBaseNodeMapper.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/beans/MMBaseNodeMapper.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- MMBaseNodeMapper.java 25 Jul 2008 15:54:04 -0000 1.1
+++ MMBaseNodeMapper.java 29 Jul 2008 10:16:39 -0000 1.2
@@ -2,6 +2,7 @@
import java.lang.reflect.InvocationTargetException;
import java.util.*;
+import java.beans.PropertyDescriptor;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
@@ -58,6 +59,13 @@
if (v != null) {
try {
+ PropertyDescriptor descriptoer =
PropertyUtils.getPropertyDescriptor(nodeClass, pojoname);
+
+ if (descriptoer.getPropertyType().isEnum()) {
+ Enum a = (Enum)
PropertyUtils.getProperty(nodeClass, pojoname);
+ v = Enum.valueOf(a.getClass(), (String) v);
+ }
+
PropertyUtils.setProperty(nodeClass, pojoname, v);
} catch (IllegalArgumentException e) {
log.error("IllegalArgumentException for Node '" +
node.getNumber()
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs