|
From: Nico K. <nkl...@us...> - 2008-06-30 13:41:44
|
Update of /cvsroot/mmapps/mmapps/mmcommons/src/java/net/sf/mmapps/commons/beans In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23532/mmcommons/src/java/net/sf/mmapps/commons/beans Modified Files: MMBaseNodeMapper.java Log Message: only read field when writable Index: MMBaseNodeMapper.java =================================================================== RCS file: /cvsroot/mmapps/mmapps/mmcommons/src/java/net/sf/mmapps/commons/beans/MMBaseNodeMapper.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MMBaseNodeMapper.java 14 Jan 2008 22:24:43 -0000 1.5 --- MMBaseNodeMapper.java 30 Jun 2008 13:41:36 -0000 1.6 *************** *** 34,73 **** while (fli.hasNext()) { Field f = fli.nextField(); ! String fname = f.getName(); ! Object v = null; ! if (!fname.equalsIgnoreCase("number") && f.getType() == Field.TYPE_NODE) { ! v = node.getNodeValue(fname); ! } ! else { ! v = node.getObjectValue(fname); ! } ! ! if (fname.equalsIgnoreCase("number")) { ! fname = "id"; ! } else if (fname.equalsIgnoreCase("otype")) { ! fname = "nodeType"; ! v = getOType(v); ! } ! if (v != null && fname != null) { ! if (PropertyUtils.isWriteable(nodeClass, fname)) { ! try { ! PropertyUtils.setProperty(nodeClass, fname, v); ! } catch (IllegalArgumentException e) { ! log.error("IllegalArgumentException for Node '" + node.getNumber() ! + "' on Class '" + nodeClass.getClass().getName() ! + "' on fieldname '" + fname + "'"); ! throw e; ! } catch (IllegalAccessException e) { ! log.error("IllegalAccessException for Node '" + node.getNumber() ! + "' on Class '" + nodeClass.getClass().getName() ! + "' on fieldname '" + fname + "'"); ! } catch (InvocationTargetException e) { ! log.error("InvocationTargetException for Node '" + node.getNumber() ! + "' on fieldname '" + fname + "'"); ! } catch (NoSuchMethodException e) { ! log.error("NoSuchMethodException for Node '" + node.getNumber() ! + "' on fieldname '" + fname + "'"); ! } } else { //log.warn("Property '" + fname + "' doesn't exist or not writable"); --- 34,80 ---- while (fli.hasNext()) { Field f = fli.nextField(); ! String mmname = f.getName(); ! String pojoname = mmname; ! ! if (mmname.equalsIgnoreCase("number")) { ! pojoname = "id"; ! } else if (mmname.equalsIgnoreCase("otype")) { ! pojoname = "nodeType"; ! } ! if (pojoname != null) { ! if (PropertyUtils.isWriteable(nodeClass, pojoname)) { ! Object v = null; ! if (mmname.equalsIgnoreCase("otype")) { ! v = node.getObjectValue(mmname); ! v = getOType(v); ! } else { ! if (!mmname.equalsIgnoreCase("number") && f.getType() == Field.TYPE_NODE) { ! v = node.getNodeValue(mmname); ! } else { ! v = node.getObjectValue(mmname); ! } ! } ! ! if (v != null) { ! try { ! PropertyUtils.setProperty(nodeClass, pojoname, v); ! } catch (IllegalArgumentException e) { ! log.error("IllegalArgumentException for Node '" + node.getNumber() ! + "' on Class '" + nodeClass.getClass().getName() ! + "' on fieldname '" + mmname + "'"); ! throw e; ! } catch (IllegalAccessException e) { ! log.error("IllegalAccessException for Node '" + node.getNumber() ! + "' on Class '" + nodeClass.getClass().getName() ! + "' on fieldname '" + mmname + "'"); ! } catch (InvocationTargetException e) { ! log.error("InvocationTargetException for Node '" + node.getNumber() ! + "' on fieldname '" + mmname + "'"); ! } catch (NoSuchMethodException e) { ! log.error("NoSuchMethodException for Node '" + node.getNumber() ! + "' on fieldname '" + mmname + "'"); ! } ! } } else { //log.warn("Property '" + fname + "' doesn't exist or not writable"); *************** *** 106,113 **** } catch (InstantiationException e) { log.error("InstantiationException for Node '" + node.getNumber() + "' on Class '" ! + nodeClass.getClass().getName() + "'"); } catch (IllegalAccessException e) { log.error("IllegalAccessException for Node '" + node.getNumber() + "' on Class '" ! + nodeClass.getClass().getName() + "'"); } } --- 113,120 ---- } catch (InstantiationException e) { log.error("InstantiationException for Node '" + node.getNumber() + "' on Class '" ! + clazz.getName() + "'"); } catch (IllegalAccessException e) { log.error("IllegalAccessException for Node '" + node.getNumber() + "' on Class '" ! + clazz.getName() + "'"); } } |