Hansen, in integrated mode the CAS there are no conversions to CASData. CAS instances are passed by reference between CasProcessors. This explains why things work for you that way. I am not sure yet if the ByteArray is supported. Which version of UIMA are you using? Is it 2.2.2 or is the latest from Apache?
On Fri, Dec 18, 2009 at 12:14 AM, Hansen Candrawinata < [email protected]> wrote: > Hi Jerry. > > On Fri, Dec 18, 2009 at 3:39 PM, Hansen Candrawinata < > [email protected]> wrote: > > > I suspect the "ByteArray" feature is the cause. I will try do some > > tweaking to remove the "ByteArray" feature and see if that affects > > anything. Will let you know. > > > > Indeed! That ByteArray is the cause of the problem. If I don't populate > it, everything is working, I could see my CAS processors deployed in > managed > mode get called. But if I populate it, a XCASParsingException would be > thrown during the CAS object conversion. > > Is this possibly a bug? Or is it just me that is using it incorrectly? I > am using the "ByteArray" to store the contents of a binary file read in by > the collection reader. Here is how I do the conversion from byte[] to > ByteArray: > > byte[] bytes = // read the contents of file into the array of bytes; > > ByteArray ba = new ByteArray(jcas, bytes.length); > > ba.copyFromArray(bytes, 0, 0, bytes.length); > > > > Thanks, > Hansen > > PS. Just to repeat what I have said before, if I deploy my CAS processors > in > integrated mode, things are working fine, even if I populate the ByteArray. >
