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/11/01 14:13:31 UTC
svn commit: r1711752 -
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java
Author: schor
Date: Sun Nov 1 13:13:31 2015
New Revision: 1711752
URL: http://svn.apache.org/viewvc?rev=1711752&view=rev
Log:
[UIMA-4663] switch from ints to objects
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java?rev=1711752&r1=1711751&r2=1711752&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java Sun Nov 1 13:13:31 2015
@@ -26,7 +26,6 @@ import java.util.Map.Entry;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.uima.cas.FSIndexRepository;
-import org.apache.uima.internal.util.IntVector;
/**
@@ -61,14 +60,14 @@ abstract class FSsTobeAddedback implemen
}
}
- private void logPart(int fsAddr, FSIndexRepositoryImpl view) {
+ private void logPart(FeatureStructureImplC fs, FSIndexRepositoryImpl view) {
log(view);
- System.out.format(", fsAddr = %,d", fsAddr);
+ System.out.format(", fs_id = %,d", fs.get_id());
}
- protected void log(int fsAddr, FSIndexRepositoryImpl view, int count) {
+ protected void log(FeatureStructureImplC fs, FSIndexRepositoryImpl view, int count) {
if (SHOW) {
- log(view, fsAddr);
+ log(fs, view);
System.out.format(", count = %d%n", count);
}
}
@@ -80,14 +79,14 @@ abstract class FSsTobeAddedback implemen
}
}
- protected void log(int fsAddr, FSIndexRepositoryImpl view) {
+ protected void log(FeatureStructureImplC fs, FSIndexRepositoryImpl view) {
if (SHOW) {
- logPart(fsAddr, view);
+ logPart(fs, view);
System.out.println();
}
}
- void recordRemove(FSIndexRepositoryImpl view) {throw new UnsupportedOperationException();}
+ void recordRemove(FSIndexRepositoryImpl view) {throw new UnsupportedOperationException();}
void recordRemove(FSIndexRepositoryImpl view, int count) {
if (count == 1) {
recordRemove(view);
@@ -95,17 +94,17 @@ abstract class FSsTobeAddedback implemen
throw new UnsupportedOperationException();
}
}
- void recordRemove(int fsAddr, FSIndexRepositoryImpl view) {throw new UnsupportedOperationException();}
- void recordRemove(int fsAddr, FSIndexRepositoryImpl view, int count) {
+ void recordRemove(FeatureStructureImplC fs, FSIndexRepositoryImpl view) {throw new UnsupportedOperationException();}
+ void recordRemove(FeatureStructureImplC fs, FSIndexRepositoryImpl view, int count) {
if (count == 1) {
- recordRemove(fsAddr, view);
+ recordRemove(fs, view);
} else {
throw new UnsupportedOperationException();
}
}
- void addback() {throw new UnsupportedOperationException();}
- void addback(int fsAddr) {throw new UnsupportedOperationException();}
+ void addback() {throw new UnsupportedOperationException();}
+ void addback(FeatureStructureImplC fs) {throw new UnsupportedOperationException();}
abstract void clear();
static class FSsTobeAddedbackSingle extends FSsTobeAddedback {
@@ -118,12 +117,12 @@ abstract class FSsTobeAddedback implemen
}
@Override
- void recordRemove(int fsAddr, FSIndexRepositoryImpl view) {
+ void recordRemove(FeatureStructureImplC fs, FSIndexRepositoryImpl view) {
recordRemove(view);
}
@Override
- void recordRemove(int fsAddr, FSIndexRepositoryImpl view, int count) {
+ void recordRemove(FeatureStructureImplC fs, FSIndexRepositoryImpl view, int count) {
if (count != 1) {
throw new RuntimeException("internal error");
}
@@ -131,9 +130,9 @@ abstract class FSsTobeAddedback implemen
}
@Override
- void addback(int fsAddr) {
+ void addback(FeatureStructureImplC fs) {
for (FSIndexRepositoryImpl ir : views) {
- ir.ll_addback(fsAddr, 1);
+ ir.addback(fs);
}
clear();
}
@@ -145,40 +144,9 @@ abstract class FSsTobeAddedback implemen
}
}
- static class FSsTobeAddedbackSingleCounts extends FSsTobeAddedbackSingle {
- final IntVector counts = new IntVector(4);
-
- @Override
- void recordRemove(FSIndexRepositoryImpl view, int count) {
- log(view, count);
- views.add(view);
- counts.add(count);
- }
-
- @Override
- void addback(int fsAddr) {
- int i = 0;
- for (FSIndexRepositoryImpl ir : views) {
- ir.ll_addback(fsAddr, counts.get(i++));
- }
- clear();
- }
-
- @Override
- void clear() {
- views.clear();
- counts.removeAllElementsAdjustSizeDown();
-// if (SHOW) removes.set(0);
- }
-
- }
-
static class FSsTobeAddedbackMultiple extends FSsTobeAddedback {
- // impl note: for support of allow_multiple_add_to_indexes, each entry is two List elements:
- // the count
- // the ref to the view
- final Map<Integer, List<?>> fss2views = new HashMap<Integer, List<?>>();
+ final Map<FeatureStructureImplC, List<?>> fss2views = new HashMap<FeatureStructureImplC, List<?>>();
final CASImpl cas;
@@ -187,24 +155,24 @@ abstract class FSsTobeAddedback implemen
}
@Override
- void recordRemove(int fsAddr, FSIndexRepositoryImpl view) {
- log(fsAddr, view);
+ void recordRemove(FeatureStructureImplC fs, FSIndexRepositoryImpl view) {
+ log(fs, view);
@SuppressWarnings("unchecked")
- List<FSIndexRepositoryImpl> irList = (List<FSIndexRepositoryImpl>) fss2views.get(fsAddr);
+ List<FSIndexRepositoryImpl> irList = (List<FSIndexRepositoryImpl>) fss2views.get(fs);
if (null == irList) {
- fss2views.put(fsAddr, irList = new ArrayList<FSIndexRepositoryImpl>());
+ fss2views.put(fs, irList = new ArrayList<FSIndexRepositoryImpl>());
}
irList.add(view);
}
@Override
void addback() {
- for (Entry<Integer, List<?>> e : fss2views.entrySet()) {
- final int fsAddr = e.getKey();
+ for (Entry<FeatureStructureImplC, List<?>> e : fss2views.entrySet()) {
+ final FeatureStructureImplC fs = e.getKey();
@SuppressWarnings("unchecked")
final List<FSIndexRepositoryImpl> views = (List<FSIndexRepositoryImpl>) e.getValue();
for (FSIndexRepositoryImpl ir : views) {
- ir.ll_addback(fsAddr, 1);
+ ir.addback(fs);
}
}
clear();
@@ -217,60 +185,16 @@ abstract class FSsTobeAddedback implemen
// if (SHOW) removes.set(0);
}
}
-
- static class FSsTobeAddedbackMultipleCounts extends FSsTobeAddedbackMultiple {
-
- public FSsTobeAddedbackMultipleCounts(CASImpl cas) {
- super(cas);
- }
-
- @Override
- void recordRemove(int fsAddr, FSIndexRepositoryImpl view, int count) {
- log(fsAddr, view, count);
- @SuppressWarnings("unchecked")
- List<Object> countsAndViews = (List<Object>) fss2views.get(fsAddr);
- if (null == countsAndViews) {
- fss2views.put(fsAddr, countsAndViews = new ArrayList<Object>());
- }
- countsAndViews.add(count);
- countsAndViews.add(view);
- }
- @Override
- void addback() {
- for (Entry<Integer, List<?>> e : fss2views.entrySet()) {
- final int fsAddr = e.getKey();
- final List<?> countsAndViews = e.getValue();
-
- for (int i = 0; i < countsAndViews.size(); ) {
- final int count = (Integer) countsAndViews.get(i++);
- final FSIndexRepositoryImpl view = (FSIndexRepositoryImpl) countsAndViews.get(i++);
- view.ll_addback(fsAddr, count);
- }
- }
- clear();
- }
-
- @Override
- void clear() {
- fss2views.clear();
-// if (SHOW) removes.set(0);
- }
- }
-
/**
* @return an impl of this class
*/
public static FSsTobeAddedback createSingle() {
- return (FSIndexRepositoryImpl.IS_ALLOW_DUP_ADD_2_INDEXES) ?
- new FSsTobeAddedbackSingleCounts() :
- new FSsTobeAddedbackSingle();
+ return new FSsTobeAddedbackSingle();
}
public static FSsTobeAddedback createMultiple(CASImpl cas) {
- return (FSIndexRepositoryImpl.IS_ALLOW_DUP_ADD_2_INDEXES) ?
- new FSsTobeAddedbackMultipleCounts(cas) :
- new FSsTobeAddedbackMultiple(cas);
+ return new FSsTobeAddedbackMultiple(cas);
}
}