You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2007/12/04 21:06:05 UTC
svn commit: r601067 - in
/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima:
cas/impl/ArrayFSImpl.java jcas/cas/FSArray.java
Author: schor
Date: Tue Dec 4 12:06:02 2007
New Revision: 601067
URL: http://svn.apache.org/viewvc?rev=601067&view=rev
Log:
[UIMA-301] Fix ArrayFSImpl to account for destination offset, and implement stub in JCas version.
Modified:
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSImpl.java
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSImpl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSImpl.java?rev=601067&r1=601066&r2=601067&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSImpl.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSImpl.java Tue Dec 4 12:06:02 2007
@@ -109,14 +109,10 @@
}
public void copyToArray(int srcOffset, String[] dest, int destOffset, int length) {
- if ((srcOffset < 0) || ((srcOffset + length) > size())) {
- throw new ArrayIndexOutOfBoundsException();
- }
- final int max = srcOffset + length;
- int valueAddr;
- for (int i = srcOffset; i < max; i++) {
- valueAddr = this.casImpl.ll_getRefArrayValue(this.addr, i);
- dest[i] = this.casImpl.ll_getFSForRef(valueAddr).toString();
+ final CASImpl ll = this.casImpl;
+ ll.checkArrayBounds(this.addr, srcOffset, length);
+ for (int i = 0; i < length; i++) {
+ dest[i + destOffset] = ll.ll_getFSForRef(ll.ll_getRefArrayValue(this.addr, i + srcOffset)).toString();
}
}
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java?rev=601067&r1=601066&r2=601067&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java Tue Dec 4 12:06:02 2007
@@ -21,6 +21,7 @@
import org.apache.uima.cas.ArrayFS;
import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.LowLevelCAS;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
@@ -127,16 +128,17 @@
return outArray;
}
- public void copyFromArray(String[] src, int srcOffset, int destOffset, int length)
- throws ArrayIndexOutOfBoundsException, NumberFormatException {
- // TODO Auto-generated method stub
-
+ public void copyFromArray(String[] src, int srcOffset, int destOffset, int length) {
+ throw new UnsupportedOperationException();
}
-
- public void copyToArray(int srcOffset, String[] dest, int destOffset, int length)
- throws ArrayIndexOutOfBoundsException {
- // TODO Auto-generated method stub
+
+ public void copyToArray(int srcOffset, String[] dest, int destOffset, int length) {
+ CASImpl ll = jcasType.casImpl;
+ ll.checkArrayBounds(addr, srcOffset, length);
+ for (int i = 0; i < length; i++) {
+ dest[i + destOffset] = ll.ll_getFSForRef(ll.ll_getRefArrayValue(this.addr, i + srcOffset)).toString();
+ }
}
public String[] toStringArray() {