Clover Coverage Report - KS Common 1.3.0-SNAPSHOT (Aggregated)
Coverage timestamp: Thu Apr 28 2011 06:00:36 EDT
../../../../../../img/srcFileCovDistChart0.png 0% of files have more coverage
21   90   11   3
2   56   0.52   7
7     1.57  
1    
 
  BeanConstraintDataProvider       Line # 25 21 0% 11 30 0% 0.0
 
No Tests
 
1    /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10    * software distributed under the License is distributed on an "AS IS"
11    * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12    * or implied. See the License for the specific language governing
13    * permissions and limitations under the License.
14    */
15   
16    package org.kuali.student.common.validator.old;
17   
18    import java.beans.BeanInfo;
19    import java.beans.IntrospectionException;
20    import java.beans.Introspector;
21    import java.beans.PropertyDescriptor;
22    import java.util.HashMap;
23    import java.util.Map;
24   
 
25    public class BeanConstraintDataProvider implements ConstraintDataProvider {
26   
27    Map<String, Object> dataMap = null;
28   
29    /*
30    * The only place where the dataprovider should get initialized is
31    * BeanConstraintSetupFactory
32    */
 
33  0 toggle protected BeanConstraintDataProvider() {
34   
35    }
36    //TODO fix it later.
 
37  0 toggle public String getPath(){
38  0 return "";
39    }
 
40  0 toggle @Override
41    public void initialize(Object o) {
42   
43  0 dataMap = new HashMap<String, Object>();
44   
45  0 Map<String, PropertyDescriptor> beanInfo = getBeanInfo(o.getClass());
46   
47  0 for (String propName : beanInfo.keySet()) {
48  0 PropertyDescriptor pd = beanInfo.get(propName);
49  0 Object value = null;
50  0 try {
51  0 value = pd.getReadMethod().invoke(o);
52    } catch (Exception e) {
53    // TODO: Should not be ignoring exception
54    }
55   
56  0 dataMap.put(propName, value);
57    }
58    }
59   
 
60  0 toggle @Override
61    public String getObjectId() {
62  0 return (dataMap.containsKey("id") && null != dataMap.get("id")) ? dataMap.get("id").toString() : null;
63    }
64   
 
65  0 toggle @Override
66    public Object getValue(String fieldKey) {
67  0 return dataMap.get(fieldKey);
68    }
69   
 
70  0 toggle @Override
71    public Boolean hasField(String fieldKey) {
72  0 return dataMap.containsKey(fieldKey);
73    }
74   
 
75  0 toggle private Map<String, PropertyDescriptor> getBeanInfo(Class<?> clazz) {
76  0 Map<String, PropertyDescriptor> properties = new HashMap<String, PropertyDescriptor>();
77  0 BeanInfo beanInfo = null;
78  0 try {
79  0 beanInfo = Introspector.getBeanInfo(clazz);
80    } catch (IntrospectionException e) {
81  0 throw new RuntimeException(e);
82    }
83  0 PropertyDescriptor[] propertyDescriptors = beanInfo
84    .getPropertyDescriptors();
85  0 for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
86  0 properties.put(propertyDescriptor.getName(), propertyDescriptor);
87    }
88  0 return properties;
89    }
90    }