if (properties.size()!=0) {
Iterator iterator = properties.iterator();
// let's add the propery name
// HashSet hs = new HashSet();
while (iterator.hasNext()) {
EnvironmentProperty ep = (EnvironmentProperty) iterator.next();
String type = ep.getType();
if (type == null) {
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString(getClass().getName() + ".notdefined",
"Error: The configuration property named [ {0} ] has no type ",
new Object[] {ep.getName()}));
return result;
}
Class typeClass = null;
// is it loadable ?
try {
typeClass = Class.forName(type);
} catch (Throwable t) {
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString(getClass().getName() + ".nonexist",
"Error: The type [ {0} ] of the configuration property named [ {1} ] cannot be loaded",
new Object[] {ep.getType(), ep.getName()}));
return result;
}
boolean allowedType = false;
for (int i = 0; i < allowedTypes.length; i++) {
if (allowedTypes[i].equals(typeClass)) {
allowedType = true;
break;
}
}
if (!allowedType) {
oneFailed = true;
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString(getClass().getName() + ".failed",
"Error: The type [ {0} ] for the configuration property named [ {1} ] is not allowed",
new Object[] {ep.getType(), ep.getName()}));
return result;
}
}
// for failure, result has been set before
if (!oneFailed) {