Thank you for your email addCasProcessor is not recognized as a method for CPMImpl, there is addCasConsumer but I don't know if it does the same thing
2010/2/3 Marshall Schor <[email protected]> > Radwen ANIBA wrote: > > Hello, > > > > I have devoloped a serie of AEs that I tested through CPE GUI,and now I'm > > trying to write a java aplication using these AEs and trying to do th > same > > thing as CPE GUI. So I took as reference SimpleRunCPM example and I made > > these changes > > > > // create a new Collection Processing Manager > > mCPM = UIMAFramework.newCollectionProcessingManager(); > > > > // Register AE and CAS Consumer with the CPM > > mCPM.setAnalysisEngine(ae1); > > mCPM.setAnalysisEngine(ae2); > > mCPM.setAnalysisEngine(ae3); > > mCPM.setAnalysisEngine(ae4); > > > > Notice here I have 4 ae and not only one > > > > So when running this I have an error message in > mCPM.setAnalysisEngine(ae2) > > saying > > > > Initializing AnalysisEngines > > Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, > > Size: 0 > > at java.util.LinkedList.entry(LinkedList.java:365) > > at java.util.LinkedList.remove(LinkedList.java:357) > > at > > > org.apache.uima.collection.impl.cpm.engine.CPMEngine.removeCasProcessor(CPMEngine.java:1188) > > at > > > org.apache.uima.collection.impl.cpm.BaseCPMImpl.removeCasProcessor(BaseCPMImpl.java:361) > > at > > > org.apache.uima.collection.impl.cpm.CPMImpl.setAnalysisEngine(CPMImpl.java:70) > > > > So I don't know what is really the problem, if CPM do not take up to one > ae > > or this is a problem in ae2 that I already tried without any bug. > > > > Looking at the code, it appears that the CPMImpl class has two different > approaches for managing Analysis Engines AE. One approach assumes there > is only one AE. This approach is used with methods like > setAnalysisEngine, getAnalysisEngine, etc. These set and remove the one > (and only) AE. If you try and set more than one AE, the previously set > AE is removed, and the next AE is substituted for it, which is not what > you are trying to do, of course. > > There are other methods that permit multiple analysis engines. These > are methods like addCasProcessor. > > Try changing setAnalysisEngine to addCasProcessor. > > The error stack trace reveals this part of the framework code is buggy. > I'll submit a bug report. > > -Marshall > > > Any idea ? > > > > Thx > > > > Rad > > > > >
