Author: rec Date: Fri May 10 20:41:38 2013 New Revision: 1481183 URL: http://svn.apache.org/r1481183 Log: [UIMA-2893] Indexes can be automatically detected but this is not done in AnalysisEngineFactory
Modified: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/FsIndexFactory.java Modified: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java?rev=1481183&r1=1481182&r2=1481183&view=diff ============================================================================== --- uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java (original) +++ uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java Fri May 10 20:41:38 2013 @@ -29,6 +29,7 @@ import static org.apache.uima.fit.factor import static org.apache.uima.fit.factory.ExternalResourceFactory.createExternalResourceDependencies; import static org.apache.uima.fit.factory.TypeSystemDescriptionFactory.createTypeSystemDescription; import static org.apache.uima.fit.factory.TypePrioritiesFactory.createTypePriorities; +import static org.apache.uima.fit.factory.FsIndexFactory.createFsIndexCollection; import java.io.IOException; import java.net.URL; @@ -215,7 +216,8 @@ public final class AnalysisEngineFactory * Create and configure a primitive {@link AnalysisEngine}. The type system is detected * automatically using {@link TypeSystemDescriptionFactory#createTypeSystemDescription()}. Type * priorities are detected automatically using - * {@link TypePrioritiesFactory#createTypePriorities()}. + * {@link TypePrioritiesFactory#createTypePriorities()}. Indexes are detected automatically using + * {@link FsIndexFactory#createFsIndexCollection()}. * * @param componentClass * a class that extends {@link AnalysisComponent} e.g. via @@ -232,9 +234,10 @@ public final class AnalysisEngineFactory */ public static AnalysisEngine createPrimitive(Class<? extends AnalysisComponent> componentClass, Object... configurationData) throws ResourceInitializationException { - TypeSystemDescription tsd = createTypeSystemDescription(); - TypePriorities typePriorities = createTypePriorities(); - return createPrimitive(componentClass, tsd, typePriorities, configurationData); + AnalysisEngineDescription desc = createPrimitiveDescription(componentClass, configurationData); + + // create the AnalysisEngine, initialize it and return it + return createPrimitive(desc); } /** @@ -318,7 +321,8 @@ public final class AnalysisEngineFactory * Create and configure a primitive {@link AnalysisEngine}. The type system is detected * automatically using {@link TypeSystemDescriptionFactory#createTypeSystemDescription()}. Type * priorities are detected automatically using - * {@link TypePrioritiesFactory#createTypePriorities()}. + * {@link TypePrioritiesFactory#createTypePriorities()}. Indexes are detected automatically using + * {@link FsIndexFactory#createFsIndexCollection()}. * * @param componentClass * a class that extends {@link AnalysisComponent} e.g. via @@ -333,9 +337,12 @@ public final class AnalysisEngineFactory public static AnalysisEngineDescription createPrimitiveDescription( Class<? extends AnalysisComponent> componentClass, Object... configurationData) throws ResourceInitializationException { - TypeSystemDescription tsd = createTypeSystemDescription(); + TypeSystemDescription typeSystem = createTypeSystemDescription(); TypePriorities typePriorities = createTypePriorities(); - return createPrimitiveDescription(componentClass, tsd, typePriorities, configurationData); + FsIndexCollection fsIndexCollection = createFsIndexCollection(); + + return createPrimitiveDescription(componentClass, typeSystem, + typePriorities, fsIndexCollection, (Capability[]) null, configurationData); } /** Modified: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/FsIndexFactory.java URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/FsIndexFactory.java?rev=1481183&r1=1481182&r2=1481183&view=diff ============================================================================== --- uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/FsIndexFactory.java (original) +++ uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/FsIndexFactory.java Fri May 10 20:41:38 2013 @@ -36,7 +36,6 @@ import org.apache.uima.resource.metadata import org.apache.uima.resource.metadata.FsIndexDescription; import org.apache.uima.resource.metadata.FsIndexKeyDescription; import org.apache.uima.resource.metadata.Import; -import org.apache.uima.resource.metadata.TypeSystemDescription; import org.apache.uima.resource.metadata.impl.FsIndexCollection_impl; import org.apache.uima.resource.metadata.impl.FsIndexDescription_impl; import org.apache.uima.resource.metadata.impl.FsIndexKeyDescription_impl; @@ -50,7 +49,7 @@ public final class FsIndexFactory { public static final int STANDARD_COMPARE = FsIndexKeyDescription.STANDARD_COMPARE; public static final int REVERSE_STANDARD_COMPARE = FsIndexKeyDescription.STANDARD_COMPARE; - + private static final Object SCAN_LOCK = new Object(); private FsIndexFactory() { @@ -195,8 +194,9 @@ public final class FsIndexFactory { /** * Creates a {@link FsIndexCollection} from all index descriptions that can be found via the - * {@link #FS_INDEX_IMPORT_PATTERN} or via the {@code META-INF/org.apache.uima.fit/fsindexes.txt} - * files in the classpath. + * pattern specified in the system property + * {@code org.apache.uima.fit.fsindex.import_pattern} or via the + * {@code META-INF/org.apache.uima.fit/fsindexes.txt} files in the classpath. * * @return the auto-scanned indexes. */ @@ -212,7 +212,7 @@ public final class FsIndexFactory { } catch (IOException e) { throw new ResourceInitializationException(e); } catch (InvalidXMLException e) { - LogFactory.getLog(TypeSystemDescription.class).warn( + LogFactory.getLog(FsIndexFactory.class).warn( "[" + location + "] is not a index descriptor file. Ignoring.", e); } } @@ -239,7 +239,7 @@ public final class FsIndexFactory { } /** - * Force rescan of type descriptors. The next call to {@link #scanIndexDescriptors()} will rescan + * Force rescan of index descriptors. The next call to {@link #scanIndexDescriptors()} will rescan * all auto-import locations. */ public static void forceIndexDescriptorsScan() {