Serge Démoulin created UIMA-6274:
------------------------------------

             Summary: Creating a mock (or a proxy) for Unittest of a JCas 
causes failure on further regular JCas 
                 Key: UIMA-6274
                 URL: https://issues.apache.org/jira/browse/UIMA-6274
             Project: UIMA
          Issue Type: Bug
          Components: uimaj
    Affects Versions: 3.1.1SDK
         Environment: java 1.8.0-201
            Reporter: Serge Démoulin
         Attachments: easymock-green.zip, easymock-red.zip, exception.txt, 
proxy-green.zip, proxy-red.zip

The following Code (see attached proxy-red.zip)
{code:java}
ProxyFactory f = new ProxyFactory();
f.setTargetClass(JCas.class);
f.getProxy();

JCas jCas1 = JCasFactory.createJCas(new String[] {});
jCas1.setDocumentText("test text"); // ==> ArrayIndexOutOfBoundsException

{code}
is throwing the following exception (see attached exception.txt)

java.lang.ArrayIndexOutOfBoundsException: -1
 at 
....FeatureStructureImplC._setIntValueCommon(FeatureStructureImplC.java:1636)

WORKAROUND (see attached proxy-green.zip)
 Creating a regular JCas before fix the problem  (without using the created 
JCas)
{code:java}
JCasFactory.createJCas(new String[] {}); 

ProxyFactory f = new ProxyFactory(); 
f.setTargetClass(JCas.class); 
f.getProxy(); 

JCas jCas1 = JCasFactory.createJCas(new String[] {}); 
jCas1.setDocumentText("test text"); // ==> No exception
{code}
 

EASYMOCK
 The same problem occurs with EasyMock (see attached easymock.-red.zip and 
easymock-green.zip)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to