Author: rec Date: Sat Jul 20 14:12:15 2013 New Revision: 1505137 URL: http://svn.apache.org/r1505137 Log: No jira - Added test with nested resources, better names for test classes
Modified: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/ExternalResourceFactoryTest.java Modified: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/ExternalResourceFactoryTest.java URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/ExternalResourceFactoryTest.java?rev=1505137&r1=1505136&r2=1505137&view=diff ============================================================================== --- uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/ExternalResourceFactoryTest.java (original) +++ uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/ExternalResourceFactoryTest.java Sat Jul 20 14:12:15 2013 @@ -168,14 +168,43 @@ public class ExternalResourceFactoryTest MultiBindAE.RES_KEY, extDesc); // Check the external resource was injected - AnalysisEngineDescription aaed = createAggregateDescription(aed1, aed2); - AnalysisEngine ae = createAggregate(aaed); + MultiBindAE.reset(); + AnalysisEngineDescription aed = createAggregateDescription(aed1, aed2); + aed = AnalysisEngineFactory.consolidate(aed); + AnalysisEngine ae = createAggregate(aed); ae.process(ae.newJCas()); + + // Check the external resource was injected + MultiBindAE.reset(); + SimplePipeline.runPipeline(CasCreationUtils.createCas(aed), aed); + } + + @Test + public void testMultiBoundNested() throws Exception { + ExternalResourceDescription extDesc = createExternalResourceDescription( + IntermediateResourceWithAssert.class, + IntermediateResourceWithAssert.PARAM_NESTED_RESOURCE, + createExternalResourceDescription(ResourceWithAssert.class)); + + // Binding external resource to each Annotator individually + AnalysisEngineDescription aed1 = createPrimitiveDescription(MultiBindAE.class, + MultiBindAE.RES_KEY, extDesc); + AnalysisEngineDescription aed2 = createPrimitiveDescription(MultiBindAE.class, + MultiBindAE.RES_KEY, extDesc); + + // Check the external resource was injected MultiBindAE.reset(); + AnalysisEngineDescription aed = createAggregateDescription(aed1, aed2); + aed = AnalysisEngineFactory.consolidate(aed); + AnalysisEngine ae = createAggregate(aed); + ae.process(ae.newJCas()); + // Check the external resource was injected - SimplePipeline.runPipeline(CasCreationUtils.createCas(aaed.getAnalysisEngineMetaData()), aaed); + MultiBindAE.reset(); +// SimplePipeline.runPipeline(CasCreationUtils.createCas(aed.getAnalysisEngineMetaData()), aed); + SimplePipeline.runPipeline(ae.newCAS(), aed); } /** @@ -272,12 +301,12 @@ public class ExternalResourceFactoryTest private static void bindResources(AnalysisEngineDescription desc) throws Exception { bindResource(desc, ResourceWithAssert.class); - bindResource(desc, DummyAE.RES_KEY_1, ConfigurableResource.class, - ConfigurableResource.PARAM_VALUE, "1"); - bindResource(desc, DummyAE.RES_KEY_2, ConfigurableResource.class, - ConfigurableResource.PARAM_VALUE, "2"); - bindResource(desc, DummyAE.RES_KEY_3, ParametrizedResource.class, - ParametrizedResource.PARAM_EXTENSION, ".lala"); + bindResource(desc, DummyAE.RES_KEY_1, AnnotatedResource.class, + AnnotatedResource.PARAM_VALUE, "1"); + bindResource(desc, DummyAE.RES_KEY_2, AnnotatedResource.class, + AnnotatedResource.PARAM_VALUE, "2"); + bindResource(desc, DummyAE.RES_KEY_3, AnnotatedParametrizedDataResource.class, + AnnotatedParametrizedDataResource.PARAM_EXTENSION, ".lala"); bindResource(desc, DummySharedResourceObject.class, EX_URI, DummySharedResourceObject.PARAM_VALUE, "3", DummySharedResourceObject.PARAM_ARRAY_VALUE, new String[] {"1", "2", "3"}); @@ -300,12 +329,12 @@ public class ExternalResourceFactoryTest static final String RES_KEY_1 = "Key1"; @ExternalResource(key = RES_KEY_1) - ConfigurableResource configRes1; + AnnotatedResource configRes1; static final String RES_KEY_2 = "Key2"; @ExternalResource(key = RES_KEY_2) - ConfigurableResource configRes2; + AnnotatedResource configRes2; static final String RES_KEY_3 = "Key3"; @@ -344,7 +373,7 @@ public class ExternalResourceFactoryTest try { DataResource configuredResource = (DataResource) getContext().getResourceObject(RES_KEY_3, - new String[] { ConfigurableDataResource.PARAM_URI, "http://dum.my/conf" }); + new String[] { AnnotatedDataResource.PARAM_URI, "http://dum.my/conf" }); assertNotNull(configuredResource); assertEquals("http://dum.my/conf.lala", configuredResource.getUri().toString()); } catch (ResourceAccessException e) { @@ -490,7 +519,20 @@ public class ExternalResourceFactoryTest } } - public static final class ConfigurableResource extends Resource_ImplBase { + public static class IntermediateResourceWithAssert extends ResourceWithAssert { + + public static final String PARAM_NESTED_RESOURCE = "nestedResource"; + @ExternalResource(key = PARAM_NESTED_RESOURCE) + private ResourceWithAssert nestedResource; + + @Override + public void doAsserts() { + assertNotNull(nestedResource); + nestedResource.doAsserts(); + } + } + + public static final class AnnotatedResource extends Resource_ImplBase { public static final String PARAM_VALUE = "Value"; @ConfigurationParameter(name = PARAM_VALUE, mandatory = true) @@ -501,7 +543,7 @@ public class ExternalResourceFactoryTest } } - public static final class ConfigurableDataResource extends Resource_ImplBase implements + public static final class AnnotatedDataResource extends Resource_ImplBase implements DataResource { public static final String PARAM_URI = "Uri"; @@ -526,7 +568,7 @@ public class ExternalResourceFactoryTest } } - public static final class ParametrizedResource extends Resource_ImplBase implements + public static final class AnnotatedParametrizedDataResource extends Resource_ImplBase implements ParameterizedDataResource { public static final String PARAM_EXTENSION = "Extension"; @@ -535,10 +577,10 @@ public class ExternalResourceFactoryTest public DataResource getDataResource(String[] aParams) throws ResourceInitializationException { List<String> params = new ArrayList<String>(Arrays.asList(aParams)); - params.add(ConfigurableDataResource.PARAM_EXTENSION); + params.add(AnnotatedDataResource.PARAM_EXTENSION); params.add(extension); ExternalResourceDescription desc = ExternalResourceFactory.createExternalResourceDescription( - null, ConfigurableDataResource.class, params.toArray(new String[params.size()])); + null, AnnotatedDataResource.class, params.toArray(new String[params.size()])); return (DataResource) UIMAFramework.produceResource(desc.getResourceSpecifier(), null); } }