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)