diff --git a/common/source/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactory.java b/common/source/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactory.java index ad1565b5350e3667614b44ce1982037fe3295622..fbe1a80ba6c2f9ff153882cc6ba8029beba18b31 100644 --- a/common/source/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactory.java +++ b/common/source/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactory.java @@ -59,7 +59,7 @@ public abstract class AbstractParserObjectFactory<E> implements IParserObjectFac assert beanClass != null : "Given bean class can not be null."; assert propertyMapper != null : "Given property mapper can not be null."; propertyDescriptors = BeanUtils.getPropertyDescriptors(beanClass); - mandatoryFields = ClassUtils.getMandatoryFields(beanClass); + mandatoryFields = ClassUtils.getMandatoryFields(beanClass, true); checkPropertyMapper(beanClass, propertyMapper); this.propertyMapper = propertyMapper; converterPool = createConverterPool(); diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java index aa03989529cb716aed05b4b887b755604758699d..0f8d706733322a4d2b214ed086153deff74e3a65 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java @@ -46,14 +46,22 @@ public final class ClassUtils * <p> * Never returns <code>null</code> but could return an empty set. * </p> + * @param clazz The class to return the mandatory fields for. + * @param convertToLowerCase If <code>true</code>, all field names are converted to lower case in the set returned. */ - public final static Set<String> getMandatoryFields(Class<?> clazz) + public final static Set<String> getMandatoryFields(Class<?> clazz, boolean convertToLowerCase) { final Set<String> set = new HashSet<String>(); final List<Field> fields = ClassUtils.getMandatoryFieldsList(clazz); for (final Field field : fields) { - set.add(field.getName()); + if (convertToLowerCase) + { + set.add(field.getName().toLowerCase()); + } else + { + set.add(field.getName()); + } } return set; } diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactoryTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactoryTest.java index 86d20a129d14e8482082c1d3cf9ba75fd43a112b..d0196406ce425c6368a20b35273aed56b837718d 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactoryTest.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/parser/AbstractParserObjectFactoryTest.java @@ -46,7 +46,7 @@ public final class AbstractParserObjectFactoryTest private final void checkBean(Bean bean) { - assertEquals("Bean Name", bean.name); + assertEquals("Bean Name", bean.nAme); assertEquals("Bean Description", bean.description); assertEquals(1, bean.number); } @@ -151,20 +151,20 @@ public final class AbstractParserObjectFactoryTest public final static class Bean { @Mandatory - private String name; + private String nAme; private String description; private int number; - public final String getName() + public final String getNAme() { - return name; + return nAme; } - public final void setName(String name) + public final void setNAme(String name) { - this.name = name; + this.nAme = name; } public final int getNumber()