List<CandidateAnalysisModule> l = new ArrayList<CandidateAnalysisModule>();
for (Iterator<Element> i = modElements.iterator();i.hasNext();) {
Element modE = i.next();
Class<? extends CandidateAnalysisModule> c = (Class<? extends CandidateAnalysisModule>) Class.forName(modE.getAttributeValue(CLASS,ns));
CandidateAnalysisModule am = c.newInstance();
for (Iterator<Element> i2 = modE.getChild(DATA_LIST,ns).getChildren(PARAM,ns).iterator();i2.hasNext();) {
Element parE = i2.next();
String key = parE.getAttributeValue(KEY,ns);
String valueString = parE.getAttributeValue(VALUE,ns);
DataDescriptor dd = DataHolderUtils.getDescriptorForKey(am,key);
Converter toValueConverter = DataHolderUtils.getToValueConverter(dd);
if (toValueConverter == null) {
throw new IllegalArgumentException("No converter found for " + dd.getClass()); //$NON-NLS-1$
}
am.setData(key,toValueConverter.convert(dd.getDataType(), valueString));
}
for (Iterator<Element> i2 = modE.getChild(TEST_LIST,ns).getChildren(TEST,ns).iterator();i2.hasNext();) {
Element parE = i2.next();
String name = parE.getAttributeValue(NAME,ns);
String perform = parE.getAttributeValue(DO_TEST,ns);
TestDescriptor[] tests = am.getAllTests();
for (int t = 0;t<tests.length;t++) {
if (tests[t].getBrief().equals(name)) {
tests[t].setPerform(Boolean.valueOf(perform).booleanValue());
}
}