+ pathSep
+ JUnitExtension.getFile("FsIndexCollectionImplTest/dataPathDir").getAbsolutePath());
File taeDescriptorWithImport = JUnitExtension
.getFile("CasCreationUtilsTest/AggregateTaeWithImports.xml");
AnalysisEngineDescription desc = UIMAFramework.getXMLParser().parseAnalysisEngineDescription(
new XMLInputSource(taeDescriptorWithImport));
ArrayList<AnalysisEngineDescription> mdList = new ArrayList<AnalysisEngineDescription>();
mdList.add(desc);
CAS tcas = CasCreationUtils.createCas(mdList, UIMAFramework
.getDefaultPerformanceTuningProperties(), resMgr);
// check that imports were resolved correctly
assertNotNull(tcas.getTypeSystem().getType("DocumentStructure"));
assertNotNull(tcas.getTypeSystem().getType("NamedEntity"));
assertNotNull(tcas.getTypeSystem().getType("TestType3"));
assertNotNull(tcas.getTypeSystem().getType("Sentence"));
assertNotNull(tcas.getIndexRepository().getIndex("TestIndex"));
assertNotNull(tcas.getIndexRepository().getIndex("ReverseAnnotationIndex"));
assertNotNull(tcas.getIndexRepository().getIndex("DocumentStructureIndex"));
// Check elementType and multipleReferencesAllowed for array feature
Feature arrayFeat = tcas.getTypeSystem().getFeatureByFullName("Paragraph:sentences");
assertNotNull(arrayFeat);
assertFalse(arrayFeat.isMultipleReferencesAllowed());
Type sentenceArrayType = arrayFeat.getRange();
assertNotNull(sentenceArrayType);
assertTrue(sentenceArrayType.isArray());
assertEquals(tcas.getTypeSystem().getType("Sentence"), sentenceArrayType.getComponentType());
Feature arrayFeat2 = tcas.getTypeSystem().getFeatureByFullName(
"Paragraph:testMultiRefAllowedFeature");
assertNotNull(arrayFeat2);
assertTrue(arrayFeat2.isMultipleReferencesAllowed());
// test imports aren't resolved more than once
Object spec1 = desc.getDelegateAnalysisEngineSpecifiers().get("Annotator1");
assertNotNull(spec1);
Object spec2 = desc.getDelegateAnalysisEngineSpecifiers().get("Annotator1");
assertTrue(spec1 == spec2);
// test removal
desc.getDelegateAnalysisEngineSpecifiersWithImports().remove("Annotator1");
assertTrue(desc.getDelegateAnalysisEngineSpecifiers().isEmpty());
} catch (Exception e) {
JUnitExtension.handleException(e);
}
}