Clover Coverage Report - Liquibase Core 2.0.2
Coverage timestamp: Wed Aug 3 2011 19:29:16 EDT
../../../../../img/srcFileCovDistChart0.png 69% of files have more coverage
17   73   16   1.89
10   48   0.94   9
9     1.78  
1    
 
  HeaderColumnNameMappingStrategy       Line # 24 17 0% 16 36 0% 0.0
 
No Tests
 
1    package liquibase.util.csv.opencsv.bean;
2   
3    import liquibase.util.csv.opencsv.CSVReader;
4   
5    import java.beans.BeanInfo;
6    import java.beans.IntrospectionException;
7    import java.beans.Introspector;
8    import java.beans.PropertyDescriptor;
9    import java.io.IOException;
10   
11    /**
12    * Copyright 2007 Kyle Miller.
13    *
14    * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
15    * the License. You may obtain a copy of the License at
16    *
17    * http://www.apache.org/licenses/LICENSE-2.0
18    *
19    * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
20    * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
21    * specific language governing permissions and limitations under the License.
22    */
23   
 
24    public class HeaderColumnNameMappingStrategy implements MappingStrategy {
25    protected String[] header;
26    protected PropertyDescriptor[] descriptors;
27    protected Class type;
28   
 
29  0 toggle public void captureHeader(CSVReader reader) throws IOException {
30  0 header = reader.readNext();
31    }
32   
 
33  0 toggle public PropertyDescriptor findDescriptor(int col) throws IntrospectionException {
34  0 String columnName = getColumnName(col);
35  0 return (null != columnName && columnName.trim().length() > 0) ? findDescriptor(columnName) : null;
36    }
37   
 
38  0 toggle protected String getColumnName(int col) {
39  0 return (null != header && col < header.length) ? header[col] : null;
40    }
41   
 
42  0 toggle protected PropertyDescriptor findDescriptor(String name) throws IntrospectionException {
43  0 if (null == descriptors)
44  0 descriptors = loadDescriptors(getType()); // lazy load descriptors
45  0 for (int i = 0; i < descriptors.length; i++) {
46  0 PropertyDescriptor desc = descriptors[i];
47  0 if (matches(name, desc))
48  0 return desc;
49    }
50  0 return null;
51    }
52   
 
53  0 toggle protected boolean matches(String name, PropertyDescriptor desc) {
54  0 return desc.getName().equals(name);
55    }
56   
 
57  0 toggle protected PropertyDescriptor[] loadDescriptors(Class cls) throws IntrospectionException {
58  0 BeanInfo beanInfo = Introspector.getBeanInfo(cls);
59  0 return beanInfo.getPropertyDescriptors();
60    }
61   
 
62  0 toggle public Object createBean() throws InstantiationException, IllegalAccessException {
63  0 return type.newInstance();
64    }
65   
 
66  0 toggle public Class getType() {
67  0 return type;
68    }
69   
 
70  0 toggle public void setType(Class type) {
71  0 this.type = type;
72    }
73    }