*
*/
private void registerTypeSystemsWithCasManager() throws Exception {
CasManager manager= this.cpeFactory.getResourceManager().getCasManager();
ProcessingResourceMetaData crMetaData = collectionReader.getProcessingResourceMetaData();
if (crMetaData != null) {
manager.addMetaData(crMetaData);
}
if (collectionReader instanceof CollectionReader) {
CasInitializer casIni = ((CollectionReader) collectionReader).getCasInitializer();
if (casIni != null && casIni.getProcessingResourceMetaData() != null) {
manager.addMetaData(casIni.getProcessingResourceMetaData());
}
} else if (collectionReader instanceof CasDataCollectionReader) {
CasDataInitializer casIni = ((CasDataCollectionReader) collectionReader)
.getCasDataInitializer();
if (casIni != null && casIni.getCasInitializerMetaData() != null) {
manager.addMetaData(casIni.getCasInitializerMetaData());
}
}
for (int i = 0; i < annotatorList.size(); i++) {
ProcessingContainer container = (ProcessingContainer) annotatorList.get(i);
if (container.getStatus() == Constants.CAS_PROCESSOR_DISABLED) {
continue; // skip over disabled CasProcessors
}
if (UIMAFramework.getLogger().isLoggable(Level.FINEST)) {
UIMAFramework.getLogger(this.getClass()).logrb(Level.FINEST, this.getClass().getName(),
"process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE,
"UIMA_CPM_checkout_cp_from_container__FINEST",
new Object[] { Thread.currentThread().getName(), container.getName() });
}
CasProcessor processor = container.getCasProcessor();
try {
if (processor instanceof AnalysisEngineImplBase) {
//Integrated AEs already have added their metadata to the CasManager during
//their initialization, so we don't need to do it again.
//(Exception: when running from "old" CPM interface - where AEs are created outside
// and passed in, the AE may not share a ResourceManager with the CPE. In that case
// we DO need to register its metadata.)
if (((AnalysisEngine)processor).getResourceManager() == this.cpeFactory.getResourceManager())
continue;
}
ProcessingResourceMetaData md = processor.getProcessingResourceMetaData();
if (md != null) {
manager.addMetaData(md);
}
}
finally {
container.releaseCasProcessor(processor);
}
}
for (int i = 0; i < consumerList.size(); i++) {
ProcessingContainer container = (ProcessingContainer) consumerList.get(i);
if (container.getStatus() == Constants.CAS_PROCESSOR_DISABLED) {
continue; // skip over disabled CasProcessors
}
if (UIMAFramework.getLogger().isLoggable(Level.FINE)) {
UIMAFramework.getLogger(this.getClass()).logrb(Level.FINE, this.getClass().getName(),
"process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE,
"UIMA_CPM_checkout_cp_from_container__FINEST",
new Object[] { Thread.currentThread().getName(), container.getName() });
}
CasProcessor processor = container.getCasProcessor();
try {
if (processor instanceof AnalysisEngineImplBase) {
//(Exception: when running from "old" CPM interface - where AEs are created outside
// and passed in, the AE may not share a ResourceManager with the CPE. In that case
// we DO need to register its metadata.)
if (((AnalysisEngine)processor).getResourceManager() == this.cpeFactory.getResourceManager())
continue;
}
ProcessingResourceMetaData md = processor.getProcessingResourceMetaData();
if (md != null) {
manager.addMetaData(md);
}
}