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)