svn commit: r1712623 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa: AbstractType.java ConcreteType.java MissingFeatureInCas.java MissingInCas.java Root.java

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 19:56:48 2015
New Revision: 1712623

URL: http://svn.apache.org/viewvc?rev=1712623=rev
Log:
[UIMA-4666] update test JCas classes

Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingInCas.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/Root.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java?rev=1712623=1712622=1712623=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java
 Wed Nov  4 19:56:48 2015
@@ -1,7 +1,7 @@
 
 

-/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 16:59:32 EST 2015 */
+/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 17:48:38 EST 2015 */
 
 package aa;
 
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.cas.TOP;
 
 
 /** 
- * Updated by JCasGen Tue Nov 03 16:59:32 EST 2015
+ * Updated by JCasGen Tue Nov 03 17:48:38 EST 2015
  * XML source: 
C:/au/svnCheckouts/branches/uimaj/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/test/generatedx.xml
  * @generated */
 public class AbstractType extends TOP {
@@ -40,7 +40,7 @@ public class AbstractType extends TOP {
* */ 

   /* Register Features */
-  private final static int _FI_abstractInt = JCasRegistry.registerFeature();
+  public final static int _FI_abstractInt = 
JCasRegistry.registerFeature(typeIndexID);
 

   private int _F_abstractInt;  // 

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType.java?rev=1712623=1712622=1712623=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType.java
 Wed Nov  4 19:56:48 2015
@@ -1,7 +1,7 @@
 
 

-/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 16:59:32 EST 2015 */
+/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 17:48:38 EST 2015 */
 
 package aa;
 
@@ -13,7 +13,7 @@ import org.apache.uima.jcas.JCasRegistry
 
 
 /** 
- * Updated by JCasGen Tue Nov 03 16:59:32 EST 2015
+ * Updated by JCasGen Tue Nov 03 17:48:38 EST 2015
  * XML source: 
C:/au/svnCheckouts/branches/uimaj/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/test/generatedx.xml
  * @generated */
 public class ConcreteType extends AbstractType {
@@ -39,7 +39,7 @@ public class ConcreteType extends Abstra
* */ 

   /* Register Features */
-  private final static int _FI_concreteString = JCasRegistry.registerFeature();
+  public final static int _FI_concreteString = 
JCasRegistry.registerFeature(typeIndexID);
 

   private String _F_concreteString;  // 

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas.java?rev=1712623=1712622=1712623=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas.java
 Wed Nov  4 19:56:48 2015
@@ -1,7 +1,7 @@
 
 

-/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 16:59:32 EST 2015 */
+/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 17:48:38 EST 2015 */
 
 package aa;
 
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.cas.TOP;
 
 
 /** 
- * Updated by JCasGen Tue Nov 03 16:59:32 EST 2015
+ * Updated by JCasGen Tue Nov 03 17:48:38 EST 2015
  * XML source: 
C:/au/svnCheckouts/branches/uimaj/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/test/generatedx.xml
  * @generated */
 public class MissingFeatureInCas extends TOP {
@@ -40,9 +40,9 @@ public class MissingFeatureInCas extends
* */ 

   /* Register Features */
-  private final static int _FI_haveThisOne = JCasRegistry.registerFeature();
-  private final static int _FI_missingThisOne = JCasRegistry.registerFeature();
-  private final static int _FI_changedFType = 

svn commit: r1712624 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 19:58:47 2015
New Revision: 1712624

URL: http://svn.apache.org/viewvc?rev=1712624=rev
Log:
[UIMA-4666] update test JCas classes

Removed:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/EndOfSentence_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Sentence_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Separator_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/TokenType_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Token_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Word_Type.java
Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/EndOfSentence.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Sentence.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Separator.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Token.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/TokenType.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/Word.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/EndOfSentence.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/EndOfSentence.java?rev=1712624=1712623=1712624=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/EndOfSentence.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/x/y/z/EndOfSentence.java
 Wed Nov  4 19:58:47 2015
@@ -1,57 +1,78 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
 
-package x.y.z;
-
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.cas.TOP_Type;
 
-/* comment 6 of 14 */
-public class EndOfSentence extends TokenType {
+   
+/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 17:48:38 EST 2015 */
 
-  public final static int typeIndexID = 
org.apache.uima.jcas.JCasRegistry.register(EndOfSentence.class);
+package x.y.z;
 
-  public final static int type = typeIndexID;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.jcas.JCas; 
+import org.apache.uima.jcas.JCasRegistry;
 
-  public int getTypeIndexID() {
-return typeIndexID;
-  }
 
-  // Never called. Disable default constructor
-  protected EndOfSentence() {
-  }
 
- /* Internal - Constructor used by generator */
-  public EndOfSentence(int addr, TOP_Type type) {
-super(addr, type);
+/** 
+ * Updated by JCasGen Tue Nov 03 17:48:38 EST 2015
+ * XML source: 
C:/au/svnCheckouts/branches/uimaj/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/test/generatedx.xml
+ * @generated */
+public class EndOfSentence extends TokenType {
+  /** @generated
+   * @ordered 
+   */
+  @SuppressWarnings ("hiding")
+  public final static int typeIndexID = 
JCasRegistry.register(EndOfSentence.class);
+  /** @generated
+   * @ordered 
+   */
+  @SuppressWarnings ("hiding")
+  public final static int type = typeIndexID;
+  /** @generated
+   * @return index of the type  
+   */
+  @Override
+  public  int getTypeIndexID() {return typeIndexID;}
+ 
+ 
+  /* *
+   *Local Data   *
+   * */ 
+   
+  /* Register Features */
+
+   
+ 
+  /** Never called.  Disable default constructor
+   * @generated */
+  protected EndOfSentence() {/* intentionally empty block */}
+
+  /** Internal - constructor used by generator 
+   * @generated
+   * @param casImpl the CAS this Feature Structure belongs to
+   * @param type the type of this Feature Structure 
+   */
+  public EndOfSentence(TypeImpl type, CASImpl casImpl) {
+super(type, casImpl);
+readObject();
   }
-
+  
+  /** @generated
+   * @param jcas JCas to which this Feature Structure belongs 
+   */
   public EndOfSentence(JCas jcas) {
 super(jcas);
-  }
+readObject();   
+  } 
 
-  /**
-   *  Write 

svn commit: r1712625 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima: internal/util/Int2IntHashMapTest.java internal/util/Int2IntPerfTest.java jcas/impl/JCasHashM

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 20:04:31 2015
New Revision: 1712625

URL: http://svn.apache.org/viewvc?rev=1712625=rev
Log:
[UIMA-4674] remove tests for things no longer present

Removed:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/internal/util/Int2IntHashMapTest.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/internal/util/Int2IntPerfTest.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapCompareTest.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java



svn commit: r1712626 - in /uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima: fs_generation/ fs_generation/impl/ internal/ internal/util/ jcas/impl/

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 20:04:56 2015
New Revision: 1712626

URL: http://svn.apache.org/viewvc?rev=1712626=rev
Log:
no Jira - saving some previous code for now

Added:

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/impl/

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/impl/JCasCoverClassFactoryTest.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/ComparableIntPointerIterator.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/Int2IntHashMap.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/Int2IntHashMapTest.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/Int2IntPerfTest.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/UIMATypeSystemClassLoader.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/UIMATypeSystemClassLoaderInjector.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/jcas/impl/JCasHashMapCompareTest.java

uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/jcas/impl/JCasHashMapTest.java

Added: 
uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/impl/JCasCoverClassFactoryTest.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/impl/JCasCoverClassFactoryTest.java?rev=1712626=auto
==
--- 
uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/impl/JCasCoverClassFactoryTest.java
 (added)
+++ 
uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/fs_generation/impl/JCasCoverClassFactoryTest.java
 Wed Nov  4 20:04:56 2015
@@ -0,0 +1,46 @@
+package org.apache.uima.fs_generation.impl;
+
+import java.io.ByteArrayOutputStream;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.uima.type_system.TypeSystem;
+import org.apache.uima.type_system.impl.TypeSystemImpl;
+import org.junit.Test;
+
+public class JCasCoverClassFactoryTest {
+
+@Test
+  public void testCreateJCasCoverClass() throws UnsupportedEncodingException  {
+
+TypeSystemImpl tsi = new TypeSystemImpl();
+
+FeatureStructureClassGen jcf = new FeatureStructureClassGen();
+
+byte[] br = 
jcf.createJCasCoverClass(tsi.getType(TypeSystem.TYPE_NAME_ANNOTATION));
+
+// convert generated byte codes for jvm into java source via decompiling
+
+UimaDecompiler ud = new UimaDecompiler();
+String sr = ud.decompile(TypeSystem.TYPE_NAME_ANNOTATION, 
br).toString("UTF-8");
+System.out.println(sr);
+
+
+//File file = JUnitExtension.getFile("JCasGen/typeSystemAllKinds.xml");
+//TypeSystemDescription tsDesc = 
UIMAFramework.getXMLParser().parseTypeSystemDescription(
+//new XMLInputSource(file));
+//   
+//CAS cas = CasCreationUtils.createCas(tsDesc, null, null);
+//
+//FeatureStructureClassGen jcf = new FeatureStructureClassGen();
+//
+//byte[] r = jcf.createJCasCoverClass((TypeImpl) 
cas.getTypeSystem().getType("pkg.sample.name.All"));
+//
+//Path root = Paths.get(".");  // should resolve to the project path
+//Path dir = root.resolve("temp/test/JCasGen");
+//dir.toFile().mkdirs();
+//Files.write(dir.resolve("testOutputAllKinds.class"), r);
+//
+//System.out.println("debug: generated byte array");
+  }
+
+}

Added: 
uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/ComparableIntPointerIterator.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/ComparableIntPointerIterator.java?rev=1712626=auto
==
--- 
uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/ComparableIntPointerIterator.java
 (added)
+++ 
uima/uimaj/branches/experiment-v3-jcas/unused-saved/src/org/apache/uima/internal/util/ComparableIntPointerIterator.java
 Wed Nov  4 20:04:56 2015
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file 

svn commit: r1712630 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main: java/org/apache/uima/cas/ java/org/apache/uima/cas/impl/ java/org/apache/uima/jcas/ java/org/apache/uima/jcas/imp

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 20:14:48 2015
New Revision: 1712630

URL: http://svn.apache.org/viewvc?rev=1712630=rev
Log:
[UIMA-4663] have low level sets of FS features go through 
FeatureStructureImplC; update error messages, change FSClassRegistry loading to 
a 2 pass to allow getters/setters access to JCas cover class Java Classes, 
update the javaClass for a type when loading a JCas cover class, change many 
refs that get an FS from an ID to use the checked form 

Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/CASException.java

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

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

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

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

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

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

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/JCas.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasImpl.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/resources/org/apache/uima/UIMAException_Messages.properties

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/resources/org/apache/uima/cas/impl/ll_runtimeException.properties

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/CASException.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/CASException.java?rev=1712630=1712629=1712630=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/CASException.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/CASException.java
 Wed Nov  4 20:14:48 2015
@@ -63,6 +63,9 @@ public class CASException extends UIMAEx
* feature {1}.
*/
   public static final String JCAS_FEATURENOTFOUND_ERROR = 
"JCAS_FEATURENOTFOUND_ERROR";
+  
+  /* Unable to find required {0} method for JCAS type {1} with {2} type of 
{3}. */
+  public static final String JCAS_GETTER_SETTER_MISSING = 
"JCAS_GETTER_SETTER_MISSING";
 
   /**
* The JCAS range type {2} for feature {1} of type {0} does not match the 
CAS range type {3} for
@@ -75,6 +78,8 @@ public class CASException extends UIMAEx
 
   /** Type system has not been committed; cannot create base index. */
   public static final String MUST_COMMIT_TYPE_SYSTEM = 
"MUST_COMMIT_TYPE_SYSTEM";
+  
+  
 
   public CASException() {
 super();

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java?rev=1712630=1712629=1712630=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
 Wed Nov  4 20:14:48 2015
@@ -1151,34 +1151,33 @@ public class CASImpl extends AbstractCas
* @param nbrOfConsecutive
*/
   private void logFSUpdate(FeatureStructureImplC fs, FeatureImpl fi, int 
arrayIndexStart, int nbrOfConsecutive) {
-if (this.svd.trackingMark != null && 
!this.svd.trackingMark.isNew(fs.id())) {
-  //log the FS
-  
-  //create or use last FsChange element
-  FsChange change = null;
-
-  final List changes = this.svd.modifiedPreexistingFSs;
-  final int nbrOfChanges = changes.size(); 
-  if (nbrOfChanges > 0) {
-change =  changes.get(nbrOfChanges - 1); // get last element
-  }
+   
+//log the FS
+
+//create or use last FsChange element
+FsChange change = null;
 
-  // only create a new FsChange element if needed
-  if (change.fs != fs) {
-this.svd.modifiedPreexistingFSs.add(change = new FsChange(fs));
+final List changes = this.svd.modifiedPreexistingFSs;
+final int nbrOfChanges = changes.size(); 
+if (nbrOfChanges > 0) {
+  change =  changes.get(nbrOfChanges - 1); // get last element
+}
+
+// only create a new FsChange element if needed
+if (change.fs != fs) {
+  this.svd.modifiedPreexistingFSs.add(change = new FsChange(fs));
+}
+  
+if (fi == null) 

svn commit: r1712631 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 20:15:34 2015
New Revision: 1712631

URL: http://svn.apache.org/viewvc?rev=1712631=rev
Log:
[UIMA-4669] have FSArray return elements of TOP

Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java?rev=1712631=1712630=1712631=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java
 Wed Nov  4 20:15:34 2015
@@ -48,7 +48,7 @@ public final class FSArray extends TOP i
 return typeIndexID;
   }
 
-  private final FeatureStructure[] theArray;
+  private final TOP[] theArray;
   
   // never called. Here to disable default constructor
   @SuppressWarnings("unused")
@@ -64,7 +64,7 @@ public final class FSArray extends TOP i
   public FSArray(JCas jcas, int length) {
 super(jcas);
 _casView.validateArraySize(length);
-theArray = new FeatureStructureImplC[length];
+theArray = new TOP[length];
   }
   
   /**
@@ -77,18 +77,18 @@ public final class FSArray extends TOP i
   public FSArray(TypeImpl t, CASImpl c, int length) {
 super(t, c);  
 _casView.validateArraySize(length);
-theArray = new FeatureStructureImplC[length];
+theArray = new TOP[length];
   }
 
 
   /** return the indexed value from the corresponding Cas FSArray as a Java 
Model object. */
-  public FeatureStructure get(int i) {
+  public TOP get(int i) {
 return theArray[i];
   }
 
   /** updates the Cas, setting the indexed value with the corresponding Cas 
FeatureStructure. */
   public void set(int i, FeatureStructure v) {
-theArray[i] = (FeatureStructureImplC) v;
+theArray[i] = (TOP) v;
   }
 
   /** return the size of the array. */




svn commit: r1712634 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory: JobFactory.java JobFactoryHelper.java

2015-11-04 Thread degenaro
Author: degenaro
Date: Wed Nov  4 20:23:55 2015
New Revision: 1712634

URL: http://svn.apache.org/viewvc?rev=1712634=rev
Log:
UIMA-4532 DUCC Orchestrator (OR) expunge use of "shares"

JobFactory should use process_memory_size specified by user, not a multiple of 
RM quantum.


Modified:

uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactory.java

uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryHelper.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactory.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactory.java?rev=1712634=1712633=1712634=diff
==
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactory.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactory.java
 Wed Nov  4 20:23:55 2015
@@ -556,7 +556,8 @@ public class JobFactory implements IJobF
// scheduling info
DuccSchedulingInfo schedulingInfo = new DuccSchedulingInfo();
job.setSchedulingInfo(schedulingInfo);
-   long jpGB = JobFactoryHelper.getByteSizeJobProcess() / 
JobFactoryHelper.GB;
+   String memory_process_size = 
jobRequestProperties.getProperty(JobSpecificationProperties.key_process_memory_size);
+   long jpGB = 
JobFactoryHelper.getByteSizeJobProcess(memory_process_size) / 
JobFactoryHelper.GB;
if(jpGB > 0) {
schedulingInfo.setMemorySizeRequested(""+jpGB);
}

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryHelper.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryHelper.java?rev=1712634=1712633=1712634=diff
==
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryHelper.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryHelper.java
 Wed Nov  4 20:23:55 2015
@@ -41,25 +41,11 @@ public class JobFactoryHelper {
return defaultBytesSizeJobProcess;
}

-   private static AtomicLong jpSize = new AtomicLong(0);
-   
-   public static long getByteSizeJobProcess() {
+   public static long getByteSizeJobProcess(String process_memory_size) {
String location = "getByteSizeJobProcess";
long retVal = getDefaultByteSizeJobProcess();
try {
-   String ducc_rm_share_quantum = 
DuccPropertiesResolver.getInstance().getFileProperty(DuccPropertiesResolver.ducc_rm_share_quantum);
-   long sizeNew = Long.parseLong(ducc_rm_share_quantum) * 
GB;
-   if(sizeNew > 0) {
-   long sizeOld = jpSize.get();
-   if(sizeNew != sizeOld) {
-   jpSize.set(sizeNew);
-   logger.info(location, jobid, "old: 
"+sizeOld+" "+"new: "+sizeNew);
-   }
-   retVal = sizeNew;
-   }
-   else {
-   logger.warn(location, jobid, 
DuccPropertiesResolver.ducc_rm_share_quantum+"="+ducc_rm_share_quantum+" 
"+"invalid");
-   }
+   retVal = Long.parseLong(process_memory_size);
}
catch(Exception e) {
logger.error(location, jobid, e);




svn commit: r1712556 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/Misc.java

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 14:42:12 2015
New Revision: 1712556

URL: http://svn.apache.org/viewvc?rev=1712556=rev
Log:
[UIMA-4674] add setWithExpand for lists, change getStaticIntField to not throw 
if not found

Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/Misc.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/Misc.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/Misc.java?rev=1712556=1712555=1712556=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/Misc.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/Misc.java
 Wed Nov  4 14:42:12 2015
@@ -29,10 +29,9 @@ import java.lang.invoke.MethodHandles.Lo
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.Collection;
+import java.util.List;
 import java.util.function.Consumer;
 
-import org.apache.uima.cas.impl.TypeImpl;
-
 public class Misc {
 
   public final static MethodHandles.Lookup UIMAlookup = MethodHandles.lookup();
@@ -175,15 +174,22 @@ public class Misc {
 }  
   }
   
+  /**
+   * Gets an int from a named field.
+   * If the field isn't present, returns Integer.MIN_VALUE;
+   * @param clazz the class where the field is
+   * @param fieldName the name of the field
+   * @return the value or Integer.MIN_VALUE if not present
+   */
   static public int getStaticIntField(Class clazz, String fieldName) {
 try {
-  Field f;
- 
-   f = clazz.getField(fieldName);
-   return f.getInt(null);
- } catch (NoSuchFieldException | SecurityException | 
IllegalArgumentException | IllegalAccessException e) {
+  Field f = clazz.getField(fieldName);
+  return f.getInt(null);
+} catch (NoSuchFieldException e) {
+  return Integer.MIN_VALUE;
+} catch (SecurityException | IllegalArgumentException | 
IllegalAccessException e) {
 throw new RuntimeException(e);
- } 
+} 
   }
   
   static public void addAll(Collection c, String ... v) {
@@ -226,6 +232,12 @@ public class Misc {
 return h1;
   }
 
+  public static  void setWithExpand(List a, int i, T value) {
+while (i >= a.size()) {
+  a.add(null);
+}
+a.set(i, value);
+  }
   
 //private static final Function uimaSystemFindLoadedClass;
 //static {




svn commit: r1712554 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main: java/org/apache/uima/tools/jcasgen/ javajet/jcasgen/templates/

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 14:37:04 2015
New Revision: 1712554

URL: http://svn.apache.org/viewvc?rev=1712554=rev
Log:
[UIMA-4666] update JCasgen to generate new style of JCas cover classes for v3

Removed:

uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/javajet/jcasgen/templates/JCas_Type.javajet
Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/JCasTypeTemplate.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/Jg.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/package.html

uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/javajet/jcasgen/templates/JCasType.javajet

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/JCasTypeTemplate.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/JCasTypeTemplate.java?rev=1712554=1712553=1712554=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/JCasTypeTemplate.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/JCasTypeTemplate.java
 Wed Nov  4 14:37:04 2015
@@ -26,66 +26,87 @@ import org.apache.uima.resource.metadata
 public class JCasTypeTemplate implements Jg.IJCasTypeTemplate {
 
   public String generate(Object argument) {
-StringBuffer stringBuffer = new StringBuffer();
+StringBuilder stringBuilder = new StringBuilder();
 
-stringBuffer.append("\n\n");
+stringBuilder.append("\n\n");
 Object [] args = (Object [])argument;
 Jg jg = (Jg)args[0];
 TypeDescription td = (TypeDescription)args[1]; 
jg.packageName = jg.getJavaPkg(td); 
-stringBuffer.append("/* First created by JCasGen ");
-stringBuffer.append(jg.getDate());
-stringBuffer.append(" */\n");
+stringBuilder.append("   \n/* Apache UIMA v3 - First created by JCasGen ");
+stringBuilder.append(jg.getDate());
+stringBuilder.append(" */\n\n");
if (0 != jg.packageName.length()) {
-stringBuffer.append("package ");
-stringBuffer.append(jg.packageName);
-stringBuffer.append(";\n");
+stringBuilder.append("package ");
+stringBuilder.append(jg.packageName);
+stringBuilder.append(";\n");
} 
else 
  jg.error.newError(IError.WARN, 
jg.getString("pkgMissing", new Object[] {td.getName()}), null); 
-stringBuffer.append("\nimport org.apache.uima.jcas.JCas; \nimport 
org.apache.uima.jcas.JCasRegistry;\nimport 
org.apache.uima.jcas.cas.TOP_Type;\n\n");
+stringBuilder.append("\nimport org.apache.uima.cas.impl.CASImpl;\nimport 
org.apache.uima.cas.impl.TypeImpl;\nimport org.apache.uima.jcas.JCas; \nimport 
org.apache.uima.jcas.JCasRegistry;\n\n");
for(Iterator i=jg.collectImports(td, false).iterator(); i.hasNext();) { 
-stringBuffer.append("import ");
-stringBuffer.append((String)i.next());
-stringBuffer.append(";\n");
+stringBuilder.append("import ");
+stringBuilder.append((String)i.next());
+stringBuilder.append(";\n");
} 
-stringBuffer.append("\n\n");
+stringBuilder.append("\n\n");
String typeName = jg.getJavaName(td);
-   String typeName_Type = typeName + "_Type";
-   String jcasTypeCasted = "((" + typeName_Type + ")jcasType)";
 
-stringBuffer.append("/** ");
-stringBuffer.append(jg.nullBlank(td.getDescription()));
-stringBuffer.append("\n * Updated by JCasGen ");
-stringBuffer.append(jg.getDate());
-stringBuffer.append("\n * XML source: ");
-stringBuffer.append(jg.xmlSourceFileName);
-stringBuffer.append("\n * @generated */\npublic class ");
-stringBuffer.append(typeName);
-stringBuffer.append(" extends ");
-stringBuffer.append(jg.getJavaName(td.getSupertypeName()));
-stringBuffer.append(" {\n  /** @generated\n   * @ordered \n   */\n  
@SuppressWarnings (\"hiding\")\n  public final static int typeIndexID = 
JCasRegistry.register(");
-stringBuffer.append(typeName);
-stringBuffer.append(".class);\n  /** @generated\n   * @ordered \n   */\n  
@SuppressWarnings (\"hiding\")\n  public final static int type = typeIndexID;\n 
 /** @generated\n   * @return index of the type  \n   */\n  @Override\n  public 
 int getTypeIndexID() {return typeIndexID;}\n \n  /** Never called. 
 Disable default constructor\n   * @generated */\n  protected ");
-stringBuffer.append(typeName);
-stringBuffer.append("() {/* intentionally empty block */}\n\n  /** 
Internal - constructor used by generator \n   * @generated\n   * @param addr 
low level Feature Structure reference\n   * @param type the type of this 
Feature Structure \n   */\n  public ");
-stringBuffer.append(typeName);
-   

svn commit: r1712555 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java: aa/ org/apache/uima/cas/test/ org/apache/uima/jcas/test/

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 14:38:50 2015
New Revision: 1712555

URL: http://svn.apache.org/viewvc?rev=1712555=rev
Log:
[UIMA-4666] new versions of generated JCas for v3 testing

Removed:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingInCas_Type.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/Root_Type.java
Modified:

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/ConcreteType.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingFeatureInCas.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/MissingInCas.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/Root.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/CrossAnnotation.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/Sentence.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/StringSubtypeAnnotation.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/Token.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/test/generatedx.xml

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java?rev=1712555=1712554=1712555=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/aa/AbstractType.java
 Wed Nov  4 14:38:50 2015
@@ -1,107 +1,99 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
+
+
+   
+/* Apache UIMA v3 - First created by JCasGen Tue Nov 03 16:59:32 EST 2015 */
 
 package aa;
 
-import org.apache.uima.jcas.JCas;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.jcas.JCas; 
+import org.apache.uima.jcas.JCasRegistry;
+
 import org.apache.uima.jcas.cas.TOP;
-import org.apache.uima.jcas.cas.TOP_Type;
 
-/**
- * Updated by JCasGen Tue Feb 21 14:56:04 EST 2006 XML source:
- * C:/a/Eclipse/3.1/j4/jedii_jcas_tests/testTypes.xml
- * 
- * @generated
- */
+
+/** 
+ * Updated by JCasGen Tue Nov 03 16:59:32 EST 2015
+ * XML source: 
C:/au/svnCheckouts/branches/uimaj/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/jcas/test/generatedx.xml
+ * @generated */
 public class AbstractType extends TOP {
-  /**
-   * @generated
-   * @ordered
+  /** @generated
+   * @ordered 
*/
-  public final static int typeIndexID = 
org.apache.uima.jcas.JCasRegistry.register(AbstractType.class);
-
-  /**
-   * @generated
-   * @ordered
+  @SuppressWarnings ("hiding")
+  public final static int typeIndexID = 
JCasRegistry.register(AbstractType.class);
+  /** @generated
+   * @ordered 
*/
+  @SuppressWarnings ("hiding")
   public final static int type = typeIndexID;
-
-  /** @generated */
-  public int getTypeIndexID() {
-return typeIndexID;
-  }
-
-  /**
-   * Never called. Disable default constructor
-   * 
-   * @generated
+  /** @generated
+   * @return index of the type  
*/
-  protected AbstractType() {
-  }
-
-  /**
-   * Internal - constructor used by generator
-   * 
+  @Override
+  public  int getTypeIndexID() {return typeIndexID;}
+ 
+ 
+  /* *
+   *Local Data   *
+   * */ 
+   
+  /* Register Features */
+  private final static int _FI_abstractInt = JCasRegistry.registerFeature();
+
+   
+  private int _F_abstractInt;  // 
+ 
+  /** Never called.  

svn commit: r1712560 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Id2FS.java

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 14:46:56 2015
New Revision: 1712560

URL: http://svn.apache.org/viewvc?rev=1712560=rev
Log:
[UIMA-4677] simplify / speed up Id2fs - make it a simple table lookup

Modified:

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

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Id2FS.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Id2FS.java?rev=1712560=1712559=1712560=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Id2FS.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Id2FS.java
 Wed Nov  4 14:46:56 2015
@@ -35,169 +35,41 @@ import org.apache.uima.util.Misc;
  * 
  * New additions always have increasing int keys.
  * 
- * Removes are done using the weak queue mechanism.
+ * Removes not supported; the weak refs allow garbage collection to reclaim 
the feature structure space.
  * 
- * Multiple removes adjacent are compacted to save space in the table.
- * 
- * Searching is by a modified binary search
- *   - a quick start by assuming no removes, or no compacted removes.
- *   - a full binary search otherwise, taking into account markings for 
- * compacted removes.
+ * Searching is by simple index lookup in an ArrayList
  */
 public class Id2FS {
+   
+  final private ArrayList id2fsw;
   
-  private static final String DISABLE_FEATURE_STRUCTURE_GARBAGE_COLLECTION = 
"uima.disable_feature_structure_garbage_collection";  
- 
-  static int cleanupThreshold = 10;  // visible and changable for testing
-
-  boolean is_gc = 
!Misc.getNoValueSystemProperty(DISABLE_FEATURE_STRUCTURE_GARBAGE_COLLECTION);
-  private int monitorForCleanup; 
-
-  private final ArrayList id2fsp;
-  private   ArrayList id2fsw;
-  
-  public Id2FS(boolean is_gc) {  // for testing
-this.is_gc = is_gc;
-if (is_gc) {
-  id2fsp = null;
-  id2fsw = new ArrayList<>();
-} else {
-  id2fsp = new ArrayList<>();
-  id2fsp.add(null);
-  id2fsw = null;
-}
-  }
-
   public Id2FS() {  
-if (is_gc) {
-  id2fsp = null;
-  id2fsw = new ArrayList<>();
-} else {
-  id2fsp = new ArrayList<>();
-  id2fsp.add(null);
-  id2fsw = null;
-}
+id2fsw = new ArrayList<>();
+id2fsw.add(null);  // because id's start with 1
   }
-
   
   /**
* @param fs -
*/
   public void add(FeatureStructureImplC fs) {
-if (is_gc) {
-  id2fsw.add(new WeakReference(fs));
-} else {
-  id2fsp.add(fs);
-}
+id2fsw.add(new WeakReference(fs));
   }
  
   public  T get(int id) {
-if (is_gc) {
-  monitorForCleanup = 0;
-  T v = (T) binarySearch(id);
-//  System.out.println("debug id: " + id + ", monitor4cu: " + 
monitorForCleanup);
-  if (v == null) {
-throw new CASRuntimeException(CASRuntimeException.CAS_MISSING_FS, id);
-  }
-  
-  if (monitorForCleanup > 4) { // tuning parameter
-id2fsw = cleanup(id2fsw);
-  }
-  
-  return v;
-} else {
-  
-  // non gc version
-  if (id < 1 || id >= id2fsp.size()) {
-throw new CASRuntimeException(CASRuntimeException.INVALID_FS_ID, id);
-  }
-  return (T) id2fsp.get(id);
-}
+if (id < 1 || id >= id2fsw.size()) {
+  /** The Feature Structure ID {0} is invalid.*/
+  throw new CASRuntimeException(CASRuntimeException.INVALID_FS_ID, id);
+}
+return (T) id2fsw.get(id).get();  // could return null if fs is gc'd
   }
-  
-  // binary search, between weak refs  and 
FeatureStructureImplC
-  // gc'd values are skipped
-  private final FeatureStructureImplC binarySearch(int id) {
-int start = 0;
-int end = id2fsw.size() - 1;
- 
-  
-int i; // Current position 
-int comp; // Compare value 
-int skipnull = 0;
-  outer:
-while (start <= end) { 
-  i = (start + end) >>> 1;  // this form works when start + end overflows
-  
-  WeakReference wr = id2fsw.get(i);
-  FeatureStructureImplC v = wr.get();
-  
-  if (v == null) {
-monitorForCleanup ++;
-
-/** find valid position for i where the weakref has a value, 
- *or if none, break
- *  search in both directions, alternating for best locality of ref
- */
-boolean hitUpperBndry = false;
-boolean hitLowerBndry = false;
-int delta = 1;
-while (true) {
-  
-  // check bounds
-  if (delta > 0 && (i + delta > end)) { // going forward - check if 
past end
-hitUpperBndry = true;
-if (hitLowerBndry) {
-  break outer;  // not found in both directions, break out of outer
-   

svn commit: r1712558 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima: cas/impl/ jcas/ jcas/cas/ jcas/tcas/

2015-11-04 Thread schor
Author: schor
Date: Wed Nov  4 14:45:42 2015
New Revision: 1712558

URL: http://svn.apache.org/viewvc?rev=1712558=rev
Log:
[UIMA-4687] impl static way to identify features in JCas cover classes, use for 
index corruption checking and journaling

Modified:

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

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

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

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

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

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/JCasRegistry.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/AnnotationBase.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyFSList.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyFloatList.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyIntegerList.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyStringList.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/cas/Sofa.java

uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/jcas/tcas/Annotation.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java?rev=1712558=1712557=1712558=diff
==
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
 Wed Nov  4 14:45:42 2015
@@ -28,6 +28,7 @@ import java.io.UnsupportedEncodingExcept
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
+import java.util.BitSet;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -37,8 +38,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Consumer;
-import java.util.function.IntSupplier;
-import java.util.function.Supplier;
 
 import org.apache.uima.UIMAFramework;
 import org.apache.uima.UIMARuntimeException;
@@ -258,7 +257,12 @@ public class CASImpl extends AbstractCas
 
 private FeatureStructure cache_not_in_index = null; // a one item cache of 
a FS guaranteed to not be in any index
 
-private final PositiveIntSet_impl featureCodesInIndexKeys = new 
PositiveIntSet_impl(); 
+/**
+ * These fields are here, not in TypeSystemImpl, because different CASes 
may have different indexes but share the same type system
+ * They hold the same data (constant per CAS) but are accessed with 
different indexes
+ */
+private final BitSet featureCodesInIndexKeys = new BitSet(1024); // 128 
bytes
+private final BitSet featureJiInIndexKeys = new BitSet(1024);  // indexed 
by JCas Feature Index, not feature code.
 
 // A map from Sofas to IndexRepositories.
 private Map sofa2indexMap;
@@ -287,8 +291,6 @@ public class CASImpl extends AbstractCas
 // to load the CASImpl class.
 private ClassLoader jcasClassLoader = this.getClass().getClassLoader();
 
-private ClassLoader previousJCasClassLoader = this.jcasClassLoader;
-
 // If this CAS can be flushed (reset) or not.
 // often, the framework disables this before calling users code
 private boolean flushEnabled = true;
@@ -386,8 +388,12 @@ public class CASImpl extends AbstractCas
 return svd.fsTobeAddedbackSingle;
   }
   
-  void featureCodesInIndexKeysAdd(int featCode) {
-svd.featureCodesInIndexKeys.add(featCode);
+  void featureCodes_inIndexKeysAdd(int featCode, int registryIndex) {
+svd.featureCodesInIndexKeys.set(featCode);
+// skip adding if no JCas registry entry for this feature
+if (registryIndex >= 0) {
+  svd.featureJiInIndexKeys.set(registryIndex);
+}
   }
   
   void maybeClearCacheNotInIndex(FeatureStructure fs) {
@@ -813,7 +819,6 @@ public class CASImpl extends AbstractCas
 return this.svd.baseCAS;
   }
 
-  @SuppressWarnings("unchecked")
   public FSIterator getSofaIterator() {
 

svn commit: r1712488 - /uima/ruta/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml

2015-11-04 Thread pkluegl
Author: pkluegl
Date: Wed Nov  4 08:16:17 2015
New Revision: 1712488

URL: http://svn.apache.org/viewvc?rev=1712488=rev
Log:
no jira - fixed documentation of wordtables

Modified:
uima/ruta/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml

Modified: uima/ruta/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml?rev=1712488=1712487=1712488=diff
==
--- uima/ruta/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml (original)
+++ uima/ruta/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml Wed Nov  4 
08:16:17 2015
@@ -569,7 +569,7 @@ Document{->MARKFAST(FirstName, FirstName
 
+Names, false, 0, false, 0, "")};]]>
   
 
 
@@ -590,16 +590,16 @@ Document{->TRIE("FirstNames.txt" = First
 For our example, such a file named
 presidentsOfUSA.csv
 could look like this:
-
 To annotate our documents we could use the following set of
 rules:
 
+Document{->MARKTABLE(PresidentOfUSA, 1, presidentsOfUSA, "party" = 2, 
+   "yearOfInauguration" = 3)};]]>