You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by al...@apache.org on 2007/02/13 18:34:19 UTC
svn commit: r507114 - in /incubator/uima/uimaj/trunk/uimaj-core/src:
main/java/org/apache/uima/util/CasCopier.java
test/java/org/apache/uima/util/CasCopierTest.java
Author: alally
Date: Tue Feb 13 09:34:18 2007
New Revision: 507114
URL: http://svn.apache.org/viewvc?view=rev&rev=507114
Log:
Fix CasCopier failure for null array elements.
UIMA-310: http://issues.apache.org/jira/browse/UIMA-310
Modified:
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java
incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java?view=diff&rev=507114&r1=507113&r2=507114
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java Tue Feb 13 09:34:18 2007
@@ -358,8 +358,11 @@
int len = arrayFs.size();
ArrayFS destFS = mDestCas.createArrayFS(len);
for (int i = 0; i < len; i++) {
- FeatureStructure copyElem = copyFs(arrayFs.get(i));
- destFS.set(i, copyElem);
+ FeatureStructure srcElem = arrayFs.get(i);
+ if (srcElem != null) {
+ FeatureStructure copyElem = copyFs(arrayFs.get(i));
+ destFS.set(i, copyElem);
+ }
}
return destFS;
}
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java?view=diff&rev=507114&r1=507113&r2=507114
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java Tue Feb 13 09:34:18 2007
@@ -27,6 +27,7 @@
import junit.framework.TestCase;
import org.apache.uima.UIMAFramework;
+import org.apache.uima.cas.ArrayFS;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.impl.CASImpl;
@@ -90,7 +91,7 @@
destCas.reset();
CAS destCasBase = ((CASImpl)destCas).getBaseCAS();
CasCopier.copyCas(srcCasBase, destCasBase, true);
- CasComparer.assertEquals(srcCasBase, destCasBase);
+ CasComparer.assertEquals(srcCasBase, destCasBase);
}
public void testCopyCasView() throws Exception {
@@ -138,5 +139,13 @@
FeatureStructure relCopy = copier.copyFs(relFS);
// verify copy
CasComparer.assertEquals(relFS, relCopy);
+
+ //test null array element
+ ArrayFS arrFS = srcCas.createArrayFS(3);
+ arrFS.set(0, annot);
+ arrFS.set(1, null);
+ arrFS.set(2, relFS);
+ FeatureStructure copyArrFS = copier.copyFs(arrFS);
+ CasComparer.assertEquals(arrFS, copyArrFS);
}
}