MentaBean

Rev

Rev 195 | Rev 208 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 195 Rev 198
Line 1642... Line 1642...
1642
                       
1642
                       
1643
                        while (fields.hasNext()) {
1643
                        while (fields.hasNext()) {
1644
                               
1644
                               
1645
                                field = fields.next();
1645
                                field = fields.next();
1646
                               
1646
                               
1647
                                final Method m = findMethodToGet(bean, field.getName());
-
 
-
 
1647
                                Method m = findMethodToGet(bean, field.getName());
1648
                               
1648
                               
1649
                                boolean isNestedProperty = field.getName().contains(".");
1649
                                boolean isNestedProperty = field.getName().contains(".");
1650
                               
1650
                               
1651
                                if (m == null) {
1651
                                if (m == null) {
1652
                                        if (!isNestedProperty) {
1652
                                        if (!isNestedProperty) {
-
 
1653
                                               
1653
                                                throw new BeanException("Cannot find method to get field from bean: " + field.getName());
1654
                                                throw new BeanException("Cannot find method to get field from bean: " + field.getName());
-
 
1655
                                               
1654
                                        } else {
1656
                                        } else {
1655
                                                continue; // nested property not set!
-
 
-
 
1657
                                               
-
 
1658
                                                int index = field.getName().lastIndexOf(".")+1;
-
 
1659
                                               
-
 
1660
                                                Object deepest = getDeepestBean(bean, field.getName().substring(0, index-1), true);
-
 
1661
                                               
-
 
1662
                                                String lastField = field.getName().substring(index);
-
 
1663
                                               
-
 
1664
                                                m = findMethodToGet(deepest, lastField);
1656
                                        }
1665
                                        }
1657
                                }
1666
                                }
1658
1667
1659
                                final Class<? extends Object> returnType = m.getReturnType();
1668
                                final Class<? extends Object> returnType = m.getReturnType();
1660
                               
1669
                               
1661
                                valueBean = getValueFromBean(bean, field.getName(), m);
-
 
-
 
1670
                                valueBean = getValueFromBean(bean, field.getName());
1662
1671
1663
                                if (field.isPK()) {
1672
                                if (field.isPK()) {
1664
                                       
1673
                                       
1665
                                        injectValue(diff, field.getName(), valueBean, null);
1674
                                        injectValue(diff, field.getName(), valueBean, null);
1666
                                       
1675
                                       
1667
                                        continue;
1676
                                        continue;
1668
                                }
1677
                                }
1669
                               
1678
                               
1670
                                valueAnother = getValueFromBean(another, field.getName(), m);
-
 
-
 
1679
                                valueAnother = getValueFromBean(another, field.getName());
1671
                               
1680
                               
1672
                                if (!isSet(valueBean, returnType) && !isSet(valueAnother, returnType)) {
1681
                                if (!isSet(valueBean, returnType) && !isSet(valueAnother, returnType)) {
1673
                                       
1682
                                       
1674
                                        continue;
1683
                                        continue;
1675
                                }
1684
                                }