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