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 2015/12/29 17:00:42 UTC
svn commit: r1722169 -
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/
Author: schor
Date: Tue Dec 29 16:00:42 2015
New Revision: 1722169
URL: http://svn.apache.org/viewvc?rev=1722169&view=rev
Log:
[UIMA-4669] undo some changes to more specific types, to achieve better backwards compatibility
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_bag.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_set_sorted.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_singletype.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_list.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_ordered.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_snapshot.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_unordered.java
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_bag.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_bag.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_bag.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_bag.java Tue Dec 29 16:00:42 2015
@@ -23,9 +23,8 @@ import java.util.NoSuchElementException;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.internal.util.ObjHashSet;
-import org.apache.uima.jcas.cas.TOP;
-class FsIterator_bag<T extends TOP> extends FsIterator_singletype<T> {
+class FsIterator_bag<T extends FeatureStructure> extends FsIterator_singletype<T> {
private ObjHashSet<T> bag;
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_set_sorted.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_set_sorted.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_set_sorted.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_set_sorted.java Tue Dec 29 16:00:42 2015
@@ -27,12 +27,12 @@ import java.util.NoSuchElementException;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.jcas.cas.TOP;
-class FsIterator_set_sorted<T extends TOP> extends FsIterator_singletype<T> {
+class FsIterator_set_sorted<T extends FeatureStructure> extends FsIterator_singletype<T> {
// We use TOP instead of T because the
// signature of getting a "matching" element limits the type to the declared type, and
// in UIMA we can use, say an Annotation instance as a moveTo arg, for a navSet of some subtype of Annotation.
- final private NavigableSet<TOP> navSet; // == fsSortIndex.getNavigableSet()
+ final private NavigableSet<FeatureStructure> navSet; // == fsSortIndex.getNavigableSet()
final private FsIndex_set_sorted<T> fsSetSortIndex;
@@ -52,10 +52,10 @@ class FsIterator_set_sorted<T extends TO
private Iterator<T> iterator;
- FsIterator_set_sorted(FsIndex_set_sorted<T> fsSetSortIndex, int[] detectIllegalIndexUpdates, int typeCode, Comparator<TOP> comp) {
+ FsIterator_set_sorted(FsIndex_set_sorted<T> fsSetSortIndex, int[] detectIllegalIndexUpdates, int typeCode, Comparator<FeatureStructure> comp) {
super(detectIllegalIndexUpdates, typeCode, comp);
this.fsSetSortIndex = fsSetSortIndex;
- this.navSet = fsSetSortIndex.getNavigableSet();
+ this.navSet = (NavigableSet<FeatureStructure>) fsSetSortIndex.getNavigableSet();
iterator = (Iterator<T>) navSet.iterator(); // can't use fsSortIndex.iterator - that recursively calls this
}
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_singletype.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_singletype.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_singletype.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_singletype.java Tue Dec 29 16:00:42 2015
@@ -4,10 +4,10 @@ import java.util.Comparator;
import java.util.ConcurrentModificationException;
import org.apache.uima.cas.FSIterator;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.jcas.cas.TOP;
-public abstract class FsIterator_singletype<T extends TOP>
+public abstract class FsIterator_singletype<T extends FeatureStructure>
implements LowLevelIterator<T>,
Comparable<FsIterator_singletype<T>> {
@@ -27,9 +27,9 @@ public abstract class FsIterator_singlet
* an instance of T and some other template type which can be a supertype of T, as long as
* the keys are defined in both.
*/
- final protected Comparator<TOP> comparator;
+ final protected Comparator<FeatureStructure> comparator;
- public FsIterator_singletype(int[] detectConcurrentMods, int typeCode, Comparator<TOP> comparator){
+ public FsIterator_singletype(int[] detectConcurrentMods, int typeCode, Comparator<FeatureStructure> comparator){
this.comparator = comparator;
this.detectIllegalIndexUpdates = detectConcurrentMods;
this.typeCode = typeCode;
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes.java Tue Dec 29 16:00:42 2015
@@ -26,7 +26,7 @@ import org.apache.uima.cas.FeatureStruct
import org.apache.uima.jcas.cas.TOP;
-public abstract class FsIterator_subtypes<T extends TOP> implements LowLevelIterator<T> {
+public abstract class FsIterator_subtypes<T extends FeatureStructure> implements LowLevelIterator<T> {
// The IICP
final protected FsIndex_iicp<T> iicp;
@@ -52,11 +52,11 @@ public abstract class FsIterator_subtype
return ll_getIndex().size();
}
- final static FsIterator_subtypes FS_ITERATOR_EMPTY = new FsIterator_subtypes(null) {
+ final static FsIterator_subtypes<TOP> FS_ITERATOR_EMPTY = new FsIterator_subtypes<TOP>(null) {
@Override
public boolean isValid() {return false;}
@Override
- public FeatureStructure get() throws NoSuchElementException { throw new NoSuchElementException(); }
+ public TOP get() throws NoSuchElementException { throw new NoSuchElementException(); }
@Override
public void moveToNext() {}
@Override
@@ -68,7 +68,9 @@ public abstract class FsIterator_subtype
@Override
public void moveTo(FeatureStructure fs) {}
@Override
- public FSIterator<FeatureStructure> copy() { return this; }
+ public FSIterator<TOP> copy() { return this; }
+ @Override
+ public int ll_indexSize() { return 0; }
};
@Override
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_list.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_list.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_list.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_list.java Tue Dec 29 16:00:42 2015
@@ -23,9 +23,10 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Function;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.jcas.cas.TOP;
-public abstract class FsIterator_subtypes_list <T extends TOP> extends FsIterator_subtypes<T> {
+public abstract class FsIterator_subtypes_list <T extends FeatureStructure> extends FsIterator_subtypes<T> {
// An array of iterators, one for each subtype.
// This array has the indexes for all the subtypes that were non-empty at the time of iterator creation
@@ -48,19 +49,19 @@ public abstract class FsIterator_subtype
// subsequently ignored - same effect
private FsIterator_singletype<T>[] initIterators() {
iicp.createIndexIteratorCache();
- final ArrayList<FsIndex_singletype<TOP>> cachedSubIndexes = iicp.cachedSubFsLeafIndexes;
+ final ArrayList<FsIndex_singletype<FeatureStructure>> cachedSubIndexes = iicp.cachedSubFsLeafIndexes;
// map from single-type index to iterator over that single type
- Function<FsIndex_singletype<TOP>, FsIterator_singletype<T>> m =
+ Function<FsIndex_singletype<T>, FsIterator_singletype<T>> m =
fsIndex_singletype -> (FsIterator_singletype<T>)(fsIndex_singletype.iterator());
FsIterator_singletype<T>[] r = cachedSubIndexes.stream()
- .filter(leafIndex -> leafIndex.size() > 0) // filter out empty ones
- .map(m) // map fsIndex_singletype to an iterator over that
+ .filter(leafIndex -> leafIndex.size() > 0) // filter out empty ones
+ .map( index -> index.iterator()) // map fsIndex_singletype to an iterator over that
.toArray(FsIterator_singletype[]::new);
// if all are empty, put the first one in (to avoid handling 0 as a special case)
- return (r.length != 0) ? r : new FsIterator_singletype[] {m.apply(cachedSubIndexes.get(0))};
+ return (r.length != 0) ? r : new FsIterator_singletype[] {(FsIterator_singletype) cachedSubIndexes.get(0).iterator()};
}
/* (non-Javadoc)
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_ordered.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_ordered.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_ordered.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_ordered.java Tue Dec 29 16:00:42 2015
@@ -24,7 +24,6 @@ import java.util.NoSuchElementException;
import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.FeatureStructure;
-import org.apache.uima.jcas.cas.TOP;
/**
* Performs an ordered iteration among a set of iterators, each one corresponding to
@@ -36,7 +35,7 @@ import org.apache.uima.jcas.cas.TOP;
*
* @param <T>
*/
-public class FsIterator_subtypes_ordered<T extends TOP>
+public class FsIterator_subtypes_ordered<T extends FeatureStructure>
extends FsIterator_subtypes_list<T> {
/**
@@ -47,7 +46,7 @@ public class FsIterator_subtypes_ordered
private boolean wentForward = true;
- final private Comparator<TOP> comparator;
+ final private Comparator<FeatureStructure> comparator;
public FsIterator_subtypes_ordered(FsIndex_iicp<T> iicp) {
super(iicp);
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_snapshot.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_snapshot.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_snapshot.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_snapshot.java Tue Dec 29 16:00:42 2015
@@ -26,9 +26,8 @@ import java.util.NoSuchElementException;
import org.apache.uima.cas.FSIndex;
import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.FeatureStructure;
-import org.apache.uima.jcas.cas.TOP;
-public class FsIterator_subtypes_snapshot<T extends TOP> implements LowLevelIterator<T>, Comparator<T> {
+public class FsIterator_subtypes_snapshot<T extends FeatureStructure> implements LowLevelIterator<T>, Comparator<FeatureStructure> {
// final private FsIndex_flat<T> flatIndex; // a newly created one, just for this iterator
final private T[] snapshot; // local for ref speed
@@ -115,7 +114,7 @@ public class FsIterator_subtypes_snapsho
}
pos = i;
} else {
- int c = Arrays.binarySearch(snapshot, 0, snapshot.length, (T)fs, this);
+ int c = Arrays.binarySearch(snapshot, 0, snapshot.length, fs, this);
if (c < 0) {
// was not found, c is (-(insertion point) - 1)
// insertion point c pos
@@ -162,7 +161,7 @@ public class FsIterator_subtypes_snapsho
return indexForComparator;
}
- public int compare(TOP fs1, TOP fs2) {
+ public int compare(FeatureStructure fs1, FeatureStructure fs2) {
return this.indexForComparator.compare(fs1, fs2);
}
}
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_unordered.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_unordered.java?rev=1722169&r1=1722168&r2=1722169&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_unordered.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FsIterator_subtypes_unordered.java Tue Dec 29 16:00:42 2015
@@ -23,14 +23,13 @@ import java.util.NoSuchElementException;
import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.FeatureStructure;
-import org.apache.uima.jcas.cas.TOP;
/**
* This class has an instance created temporarily to reuse the
* computation of the iterator array, for use by the FsIterator_aggregation_common.
* @param <T> the type of the iterator
*/
-public class FsIterator_subtypes_unordered<T extends TOP> extends FsIterator_subtypes_list<T> {
+public class FsIterator_subtypes_unordered<T extends FeatureStructure> extends FsIterator_subtypes_list<T> {
public FsIterator_subtypes_unordered(FsIndex_iicp<T> iicp) {
super(iicp);