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
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/
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
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/
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
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
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
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
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 FunctionuimaSystemFindLoadedClass; //static {
svn commit: r1712554 - in /uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main: java/org/apache/uima/tools/jcasgen/ javajet/jcasgen/templates/
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/
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
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 ArrayListid2fsw; - 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/
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 Mapsofa2indexMap; @@ -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
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)};]]>