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);     
   }
 }