PrimitiveAnalysisEngine_impl delegate1 = (PrimitiveAnalysisEngine_impl) ae._getASB()
.getComponentAnalysisEngines().get("Annotator1");
PrimitiveAnalysisEngine_impl delegate2 = (PrimitiveAnalysisEngine_impl) ae._getASB()
.getComponentAnalysisEngines().get("Annotator2");
FlowControllerContainer flowController = ((ASB_impl) ae._getASB())
.getFlowControllerContainer();
String strVal1 = (String) delegate1.getUimaContext().getConfigParameterValue("en",
"StringParam");
Assert.assertEquals("override", strVal1);
String strVal2 = (String) delegate2.getUimaContext().getConfigParameterValue("en",
"StringParam");
Assert.assertEquals("en", strVal2);
String strVal3 = (String) flowController.getUimaContext().getConfigParameterValue("en",
"StringParam");
Assert.assertEquals("en", strVal3);
Assert.assertEquals("en", strVal2);
Integer intVal1 = (Integer) delegate1.getUimaContext().getConfigParameterValue("en",
"IntegerParam");
Assert.assertEquals(100, intVal1.intValue());
Integer intVal2 = (Integer) delegate1.getUimaContext().getConfigParameterValue("en",
"IntegerParam");
Assert.assertEquals(100, intVal2.intValue());
Integer intVal3 = (Integer) flowController.getUimaContext().getConfigParameterValue("en",
"IntegerParam");
Assert.assertEquals(100, intVal3.intValue());
String[] strArrVal1 = (String[]) delegate1.getUimaContext().getConfigParameterValue("en",
"StringArrayParam");
Assert.assertEquals(Arrays.asList(new String[] { "override" }), Arrays.asList(strArrVal1));
String[] strArrVal2 = (String[]) delegate2.getUimaContext().getConfigParameterValue("en",
"StringArrayParam");
Assert.assertEquals(Arrays.asList(new String[] { "override" }), Arrays.asList(strArrVal2));
String[] strArrVal3 = (String[]) flowController.getUimaContext().getConfigParameterValue(
"en", "StringArrayParam");
Assert.assertEquals(Arrays.asList(new String[] { "override" }), Arrays.asList(strArrVal3));
// anotherdescriptor with configuration parameter overrides (this time no groups)
in = new XMLInputSource(JUnitExtension
.getFile("TextAnalysisEngineImplTest/AggregateTaeWithConfigParamOverrides2.xml"));
desc = UIMAFramework.getXMLParser().parseAnalysisEngineDescription(in);
ae = new AggregateAnalysisEngine_impl();
ae.initialize(desc, Collections.EMPTY_MAP);
delegate1 = (PrimitiveAnalysisEngine_impl) ae._getASB().getComponentAnalysisEngines().get(
"Annotator1");
delegate2 = (PrimitiveAnalysisEngine_impl) ae._getASB().getComponentAnalysisEngines().get(
"Annotator2");
flowController = ((ASB_impl) ae._getASB()).getFlowControllerContainer();
strVal1 = (String) delegate1.getUimaContext().getConfigParameterValue("StringParam");
Assert.assertEquals("override", strVal1);
strVal2 = (String) delegate2.getUimaContext().getConfigParameterValue("StringParam");
Assert.assertEquals("myString", strVal2);
strVal3 = (String) flowController.getUimaContext().getConfigParameterValue("StringParam");
Assert.assertEquals("myString", strVal3);
intVal1 = (Integer) delegate1.getUimaContext().getConfigParameterValue("IntegerParam");
Assert.assertEquals(100, intVal1.intValue());
intVal2 = (Integer) delegate2.getUimaContext().getConfigParameterValue("IntegerParam");
Assert.assertEquals(100, intVal2.intValue());
intVal3 = (Integer) flowController.getUimaContext().getConfigParameterValue("IntegerParam");
Assert.assertEquals(100, intVal3.intValue());
strArrVal1 = (String[]) delegate1.getUimaContext()
.getConfigParameterValue("StringArrayParam");
Assert.assertEquals(Arrays.asList(new String[] { "override" }), Arrays.asList(strArrVal1));
strArrVal2 = (String[]) delegate2.getUimaContext()
.getConfigParameterValue("StringArrayParam");
Assert.assertEquals(Arrays.asList(new String[] { "override" }), Arrays.asList(strArrVal2));
strArrVal3 = (String[]) flowController.getUimaContext().getConfigParameterValue(
"StringArrayParam");
Assert.assertEquals(Arrays.asList(new String[] { "override" }), Arrays.asList(strArrVal3));
// try a descriptor that's invalid due to an unsatisfied resource dependency
_testInvalidDescriptor(JUnitExtension