Author: schor
Date: Fri May 13 15:26:53 2016
New Revision: 1743693

URL: http://svn.apache.org/viewvc?rev=1743693&view=rev
Log:
[UIMA-4932] add check for missing sofa ref; remove unused method, replace 
_typeImpl with _getTypeImpl(), rename autoindexname to 
_DefaultBagGeneratedIndex 

Modified:
    
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java?rev=1743693&r1=1743692&r2=1743693&view=diff
==============================================================================
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java
 Fri May 13 15:26:53 2016
@@ -50,6 +50,7 @@ import org.apache.uima.internal.util.Int
 import org.apache.uima.internal.util.Misc;
 import org.apache.uima.internal.util.ObjHashSet;
 import org.apache.uima.jcas.cas.AnnotationBase;
+import org.apache.uima.jcas.cas.Sofa;
 import org.apache.uima.jcas.cas.TOP;
 import org.apache.uima.jcas.tcas.Annotation;
 
@@ -1112,15 +1113,7 @@ public class FSIndexRepositoryImpl imple
       action.accept(fs);
     }
   }
-  
-  /**
-   * plus means all reachable, plus maybe others not reachable but not yet gc'd
-   * @param action -
-   */
-  public void walkReachablePlusFSsSorted(Consumer<TOP> action) {
-    cas.walkReachablePlusFSsSorted(action);
-  }
-  
+    
   public FsIndex_singletype<TOP> getNonSetSingleIndexForType(int typecode) {
     return getIndexesForType(typecode).getNonSetIndex().fsIndex_singletype;
   }
@@ -1243,13 +1236,18 @@ public class FSIndexRepositoryImpl imple
   }
   
   private <T extends TOP> void addFS_common(T fs, boolean isAddback) {
-    TypeImpl ti = ((FeatureStructureImplC)fs)._typeImpl;
+    TypeImpl ti = ((FeatureStructureImplC)fs)._getTypeImpl();
     final int typeCode = ti.getCode();    
 
     // https://issues.apache.org/jira/browse/UIMA-4099
     // skip test for wrong view if addback, etc.
  
     if (!isAddback && (!IS_DISABLE_ENHANCED_WRONG_INDEX_CHECK) && 
ti.isAnnotationBaseType()) {
+      Sofa sofa = ((AnnotationBase)fs).getSofa();
+      if (sofa == null) {
+        throw new CASRuntimeException(
+            CASRuntimeException.SOFAREF_NOT_SET, fs.toString(3));            
+      }
       
       // Check that the annotationBase FS is being added to the proper Cas View
       CASImpl indexView = fs._getView();
@@ -1317,14 +1315,14 @@ public class FSIndexRepositoryImpl imple
   }
 
   private static final String getAutoIndexNameForType(Type type) {
-    return "_" + type.getName() + "_GeneratedIndex";
+    return "_" + type.getName() + "_DefaultBagGeneratedIndex";
   }
 
   boolean removeFS_ret(TOP fs, boolean skipBagIndexes) {
     if (skipBagIndexes && !fs._inSetSortedIndex()) {
       return false;
     }
-    final int typeCode = fs._typeImpl.getCode();
+    final int typeCode = fs._getTypeImpl().getCode();
     final IndexesForType i4t = getIndexesForType(typeCode);
     final ArrayList<FsIndex_iicp<TOP>> indexes4type = i4t.indexesForType;
 
@@ -1474,7 +1472,7 @@ public class FSIndexRepositoryImpl imple
 //   * @return true if this fs is found in a Set or Sorted index.  
 //   */
 //  public boolean isInSetOrSortedIndexInThisView(FeatureStructureImplC fs) {
-//    final TypeImpl ti = fs._typeImpl;
+//    final TypeImpl ti = fs._getTypeImpl();
 //    
 //    final IndexesForType i4t = indexArray[ti.getCode()];
 //    
@@ -1531,7 +1529,7 @@ public class FSIndexRepositoryImpl imple
 //  boolean removeIfInCorrputableIndexInThisView(FeatureStructure afs) {
 //    return removeFS_ret((TOP) afs, SKIP_BAG_INDEXES);
 ////    TOP fs = (TOP) afs;
-////    TypeImpl ti = fs._typeImpl;
+////    TypeImpl ti = fs._getTypeImpl();
 ////    final IndexesForType i4t = getIndexesForType(ti.getCode());
 //// 
 ////    int si = i4t.aSortedIndex;  


Reply via email to