Author: schor Date: Wed Jul 29 21:33:42 2015 New Revision: 1693349 URL: http://svn.apache.org/r1693349 Log: no Jira - catch-up merge from trunk for 2.8.1-rc1 changes
Modified: uima/uimaj/branches/experiment-v3-jcas/ (props changed) uima/uimaj/branches/experiment-v3-jcas/PearPackagingMavenPlugin/ (props changed) uima/uimaj/branches/experiment-v3-jcas/RELEASE_NOTES.html uima/uimaj/branches/experiment-v3-jcas/aggregate-uimaj/ (props changed) uima/uimaj/branches/experiment-v3-jcas/aggregate-uimaj-docbooks/ (props changed) uima/uimaj/branches/experiment-v3-jcas/aggregate-uimaj-eclipse-plugins/ (props changed) uima/uimaj/branches/experiment-v3-jcas/jVinci/ (props changed) uima/uimaj/branches/experiment-v3-jcas/pom.xml uima/uimaj/branches/experiment-v3-jcas/uima-docbook-overview-and-setup/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/src/docbook/ref.config.xml uima/uimaj/branches/experiment-v3-jcas/uima-docbook-tools/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uima-docbook-tutorials-and-users-guides/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-adapter-soap/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-adapter-vinci/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-bootstrap/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-component-test-util/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-core/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexFlat.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/FeatureStructureImpl.java uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/AnnotationIteratorTest.java uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java uima/uimaj/branches/experiment-v3-jcas/uimaj-cpe/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-document-annotation/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-eclipse-feature-runtime/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-eclipse-feature-tools/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-eclipse-update-site/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-cas-editor/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-cas-editor-ide/pom.xml (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-configurator/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-debug/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-jcasgen/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-pear-packager/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-runtime/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-examples/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-parent/pom.xml uima/uimaj/branches/experiment-v3-jcas/uimaj-test-util/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/ (props changed) uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcas/internal/AnalyzeContent.java uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/DecompiledFilter.java uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/viewer/CasAnnotationViewer.java uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/test/java/org/apache/uima/tools/viewer/CasAnnotationViewerTest.java Propchange: uima/uimaj/branches/experiment-v3-jcas/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/2.6.0-json:1616936-1617592 /uima/uimaj/branches/depend-on-july-9-build-tools:963167-964468 /uima/uimaj/branches/filteredCompress-uima-2498:1436573-1462257 +/uima/uimaj/trunk:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/PearPackagingMavenPlugin/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/PearPackagingMavenPlugin:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/PearPackagingMavenPlugin:1436573-1462257 /uima/uimaj/branches/mavenAlign/PearPackagingMavenPlugin:933273-944394 +/uima/uimaj/trunk/PearPackagingMavenPlugin:1690273-1693269 Modified: uima/uimaj/branches/experiment-v3-jcas/RELEASE_NOTES.html URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/RELEASE_NOTES.html?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/RELEASE_NOTES.html (original) +++ uima/uimaj/branches/experiment-v3-jcas/RELEASE_NOTES.html Wed Jul 29 21:33:42 2015 @@ -20,10 +20,10 @@ --> <html> <head> - <title>Apache UIMA v2.8.0 Release Notes</title> + <title>Apache UIMA v2.8.1 Release Notes</title> </head> <body> -<h1>Apache UIMA (Unstructured Information Management Architecture) v2.8.0 Release Notes</h1> +<h1>Apache UIMA (Unstructured Information Management Architecture) v2.8.1 Release Notes</h1> <h2>Contents</h2> <p> @@ -81,43 +81,26 @@ <h2><a id="major.changes">Major Changes in this Release</a></h2> -<h3>Iterating over sorted indexes performance improvement</h3> -<p>Sorted index usage by iterators is monitored, and when it is determined that -a particular index is no longer being updated and is experiencing poor performance due to -merging of subindexes for the subtypes being iterated over, a one-time conversion -of this index to a "flattened" version is done; the flattened form incurs the cost -of merging subindexes once, and for subsequent uses, iteration speed is improved. -Any update that affects this flattened index will cause it to be discarded and -not used for subsequent iterations. Performance improvement should be seen for the -perhaps common use case where one annotator creates and indexes instances of a type and its subtypes, -and subsequent annotators read and perhaps update these, -but don't add or remove entries of this type/subtypes from the index. -Jira issue <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4357">UIMA-4357</a></p> - -<h3>Other major changes</h3> -<ul><li>The Document Analyzer's Java-based Cas Viewer was extended to support being -able to select which annotations are highlighted, using a selection approach where you can -specify a type plus a feature of that type plus one or more values of that feature. - Jira issue <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-3374">UIMA-3374</a></li> - - <li>Performance for iterators over UIMA Set Indexes was improved. - Jira issue: <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4345">UIMA-4345</a>.</li> - </ul> +<p>The flattened index support added in 2.8.0 has some edge cases where the +flattened version needs to be invalidated. In trading off complexity versus +performance improvements, we decided to disable this feature for now. +<a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4542">UIMA-4542</a> +</p> + +<p>A few bugs were fixed in the CasAnnotationViewer +<a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4533">UIMA-4533</a>, a name-clash was +fixed in an internal method, which could clash with a JCas-generated name +if there was a feature that happened to be named "TypeCode" +<a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4534">UIMA-4534</a>, +and the CasCopier code was improved to cover an additional use case +<a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4541">UIMA-4541</a> +</p> <h3>API changes</h3> - <p>Note that we have moved to a more formal semantic versioning, following - the ideas in <a target="_blank" href="http://semver.org/">http://semver.org/</a>.</p> <p> - There were no API changes that affect backward compatibility. Some new APIs were added or extended.</p> - <ul> - <li>Add back the API <code>alreadyCopied</code> that was accidentally removed in the CasCopier class in version 2.7.0. - Jira issue: <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4428">UIMA-4428</a>.</li> + There were no API changes that affect backward compatibility. + </p> - <li>add new variants of <code>getAllIndexedFS, getIndex, and getAnnotationIndex</code> which take an additional argument - that specifies the JCas class, and permits these to return the correct generically typed indexes. - Jira issue: <a target="_blank" href="https://issues.apache.org/jira/browse/UIMA-4299">UIMA-4299</a>.</li> - </ul> - <h2><a id="list.issues">Full list of JIRA Issues Fixed in this Release</a></h2> Click <a href="issuesFixed/jira-report.html">issuesFixed/jira-report.hmtl</a> for the list of issues fixed in this release. Propchange: uima/uimaj/branches/experiment-v3-jcas/aggregate-uimaj/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/aggregate-uimaj:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/aggregate-uimaj:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/aggregate-uimaj:1436573-1462257 +/uima/uimaj/trunk/aggregate-uimaj:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/aggregate-uimaj-docbooks/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/aggregate-uimaj-docbooks:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/aggregate-uimaj-docbooks:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/aggregate-uimaj-docbooks:1436573-1462257 +/uima/uimaj/trunk/aggregate-uimaj-docbooks:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/aggregate-uimaj-eclipse-plugins/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/aggregate-uimaj-eclipse-plugins:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/aggregate-uimaj-eclipse-plugins:961329-961747 /uima/uimaj/branches/filteredCompress-uima-2498/aggregate-uimaj-eclipse-plugins:1436573-1462257 +/uima/uimaj/trunk/aggregate-uimaj-eclipse-plugins:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/jVinci/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/jVinci:961329-961747 /uima/uimaj/branches/filteredCompress-uima-2498/jVinci:1436573-1462257 /uima/uimaj/branches/mavenAlign/jVinci:933273-944394 +/uima/uimaj/trunk/jVinci:1690273-1693269 Modified: uima/uimaj/branches/experiment-v3-jcas/pom.xml URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/pom.xml?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/pom.xml (original) +++ uima/uimaj/branches/experiment-v3-jcas/pom.xml Wed Jul 29 21:33:42 2015 @@ -61,7 +61,7 @@ <properties> <uimaScmProject>${project.artifactId}</uimaScmProject> - <jiraVersion>2.8.0SDK</jiraVersion> + <jiraVersion>2.8.1SDK</jiraVersion> <assemblyFinalName>uimaj-${project.version}</assemblyFinalName> <assemblyBinDescriptor>src/main/assembly/bin-without-jackson.xml</assemblyBinDescriptor> <postNoticeText>${ibmNoticeText}</postNoticeText> Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-overview-and-setup/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/uima-docbook-overview-and-setup:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/uima-docbook-overview-and-setup:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uima-docbook-overview-and-setup:1436573-1462257 +/uima/uimaj/trunk/uima-docbook-overview-and-setup:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/uima-docbook-references:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/uima-docbook-references:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uima-docbook-references:1436573-1462257 +/uima/uimaj/trunk/uima-docbook-references:1690273-1693269 Modified: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/src/docbook/ref.config.xml URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/src/docbook/ref.config.xml?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/src/docbook/ref.config.xml (original) +++ uima/uimaj/branches/experiment-v3-jcas/uima-docbook-references/src/docbook/ref.config.xml Wed Jul 29 21:33:42 2015 @@ -208,6 +208,7 @@ under the License. <entry spanname="fullwidth"><emphasis role="bold">Measurement properties</emphasis></entry> </row> <!-- ******************************************************************************* --> + <!-- DISABLED FOR NOW <row> <entry><para>Measure index flattening optimization</para></entry> @@ -222,7 +223,7 @@ under the License. <entry><para>2.8.0</para></entry> </row> - + --> </tbody> </tgroup> Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-tools/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/uima-docbook-tools:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/uima-docbook-tools:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uima-docbook-tools:1436573-1462257 +/uima/uimaj/trunk/uima-docbook-tools:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-tutorials-and-users-guides/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/uima-docbook-tutorials-and-users-guides:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/uima-docbook-tutorials-and-users-guides:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uima-docbook-tutorials-and-users-guides:1436573-1462257 +/uima/uimaj/trunk/uima-docbook-tutorials-and-users-guides:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-adapter-soap/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-adapter-soap:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-adapter-soap:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-adapter-soap:933273-944394 +/uima/uimaj/trunk/uimaj-adapter-soap:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-adapter-vinci/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-adapter-vinci:961329-961747 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-adapter-vinci:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-adapter-vinci:933273-944395 +/uima/uimaj/trunk/uimaj-adapter-vinci:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-bootstrap/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-bootstrap:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-bootstrap:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-bootstrap:933273-944396 +/uima/uimaj/trunk/uimaj-bootstrap:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-component-test-util/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-component-test-util:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-component-test-util:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-component-test-util:933273-944396 +/uima/uimaj/trunk/uimaj-component-test-util:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -4,4 +4,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-core:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-core:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-core:933273-944396 -/uima/uimaj/trunk/uimaj-core:1692433 +/uima/uimaj/trunk/uimaj-core:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -5,4 +5,4 @@ /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-core/src/main/java:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-core/src/main/java:933273-944396 /uima/uimaj/branches/test-parent-pom-6/uimaj-core/src/main/java:1024030 -/uima/uimaj/trunk/uimaj-core/src/main/java:1692433 +/uima/uimaj/trunk/uimaj-core/src/main/java:1690273-1693269 Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexFlat.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexFlat.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexFlat.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexFlat.java Wed Jul 29 21:33:42 2015 @@ -92,6 +92,9 @@ import org.apache.uima.util.Misc; */ public class FSIndexFlat<T extends FeatureStructure> { + + //public for test case + public final static boolean enabled = false; // disabled July 2015, too many edge cases, too little benefit final static boolean trace = false; // causes tracing msgs to system.out private final static boolean smalltrace = false; @@ -163,7 +166,7 @@ public class FSIndexFlat<T extends Featu throw new NoSuchElementException(); } final TI fs = (TI) ifsa[pos]; - final int typeCode = ((FeatureStructureImpl)fs).getTypeCode(); + final int typeCode = ((FeatureStructureImpl)fs).getavoidcollisionTypeCode(); if (debugTypeCodeUnstable) { if ((fs instanceof TOP) && // insures jcas in use !iicp.subsumes(((TOP)fs).jcasType.casTypeCode, typeCode)) { @@ -257,7 +260,11 @@ public class FSIndexFlat<T extends Featu // for debug - used by double-check iterator public boolean isUpdateFreeSinceLastCounterReset() { - return iicp.isUpdateFreeSinceLastCounterReset(); + if (! enabled) { + return false; + } else { + return iicp.isUpdateFreeSinceLastCounterReset(); + } } // for debug - used by double-check iterator @@ -594,6 +601,11 @@ public class FSIndexFlat<T extends Featu } /** + * As of July 2015, flattened indexes are disabled - too little benefit, too many edge cases: + * edge cases to handle: going from non-JCas -> JCas requires existing flat indexes to be invalidated + * edge case: entering a PEAR, may require different impl of flattened indexes while in the PEAR, + * plus restoration of previous versions upon PEAR exit + * * This iterator either returns an iterator over the flattened index, or null. * As a side effect, if there is no flattened index, check the counts and if there's enough, * kick off a subtask to create the flattened one. @@ -602,29 +614,37 @@ public class FSIndexFlat<T extends Featu * @return the iterator, or null if there's no flattened iterator (the caller will construct the appropriate iterator) */ public FSIteratorFlat<T> iterator(FeatureStructure fs) { -// final boolean isUpdateFree = iicp.isUpdateFreeSinceLastCounterReset(); - FSIteratorFlat<T> fi = tryFlatIterator(fs); - if (null != fi) { - return fi; - } - - // localFsa is null, unless a builder snuck in... - // restart counters if an update has occurred since last time counters started - if (!iicp.isUpdateFreeSinceLastCounterReset()) { - captureIndexUpdateCounts(); // does the counter reset too - return null; - } - // if no update has occurred, see if enough rattling has happened to warrant the creation of - // a flat index. The threshold is adjusted upwards if the evidence is that this particular index - // has flattened and then discarded due to subsequent updates. - if (iteratorReorderingCount > (THRESHOLD_FOR_FLATTENING + numberDiscardedResetable * 2) && - iteratorReorderingCount > iicp.guessedSize()) { - if (createFlattened()) { - return tryFlatIterator(fs); // might return null + if (! enabled) { + return null; // no flat iterators for now (7/2015) + // edge cases to handle: going from non-JCas -> JCas requires existing flat indexes to be invalidated + // edge case: entering a PEAR, may require different impl of flattened indexes while in the PEAR, + // plus restoration of previous versions upon PEAR exit + } else { + + // final boolean isUpdateFree = iicp.isUpdateFreeSinceLastCounterReset(); + FSIteratorFlat<T> fi = tryFlatIterator(fs); + if (null != fi) { + return fi; + } + + // localFsa is null, unless a builder snuck in... + // restart counters if an update has occurred since last time counters started + if (!iicp.isUpdateFreeSinceLastCounterReset()) { + captureIndexUpdateCounts(); // does the counter reset too + return null; + } + // if no update has occurred, see if enough rattling has happened to warrant the creation of + // a flat index. The threshold is adjusted upwards if the evidence is that this particular index + // has flattened and then discarded due to subsequent updates. + if (iteratorReorderingCount > (THRESHOLD_FOR_FLATTENING + numberDiscardedResetable * 2) && + iteratorReorderingCount > iicp.guessedSize()) { + if (createFlattened()) { + return tryFlatIterator(fs); // might return null + } + return null; // failed to create flattened, continue with regular } - return null; // failed to create flattened, continue with regular - } - return null; // not time to try creating flattened one yet + return null; // not time to try creating flattened one yet + } } private FSIteratorFlat<T> tryFlatIterator(FeatureStructure fs) { @@ -668,7 +688,7 @@ public class FSIndexFlat<T extends Featu * @return true if fsa not null and the index hasn't been updated */ boolean hasFlatIndex() { - return (fsa.get() != null && iicp.isUpdateFreeSinceLastCounterReset()); + return enabled && (fsa.get() != null && iicp.isUpdateFreeSinceLastCounterReset()); } private static final Thread dumpMeasurements = tune ? new Thread(new Runnable() { Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java Wed Jul 29 21:33:42 2015 @@ -331,7 +331,7 @@ public class FSIndexRepositoryImpl imple this.cachedSubFsLeafIndexes = tempSubIndexCache; if (this.fsLeafIndex.getIndexingStrategy() == FSIndex.SORTED_INDEX) { Arrays.sort(sortedTypeCodes); - this.flatIndex = new FSIndexFlat<>(this); // must follow cachedSubFsLeafIndexes setup + this.flatIndex = FSIndexFlat.enabled ? new FSIndexFlat<>(this) : null; // must follow cachedSubFsLeafIndexes setup } // assign to "volatile" at end, after all initialization is complete this.isIteratorCacheSetup = true; @@ -488,7 +488,11 @@ public class FSIndexRepositoryImpl imple // flatIndex is null except for sorted indexes private boolean hasFlatIndex() { - return isIteratorCacheSetup && (flatIndex != null) && flatIndex.hasFlatIndex(); + if (! FSIndexFlat.enabled) { + return false; + } else { + return isIteratorCacheSetup && (flatIndex != null) && flatIndex.hasFlatIndex(); + } } } // end of class definition for IndexIteratorCachePair Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImpl.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImpl.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImpl.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImpl.java Wed Jul 29 21:33:42 2015 @@ -53,7 +53,7 @@ public abstract class FeatureStructureIm this.getCASImpl().getHeapValue(this.getAddress())); } - public int getTypeCode() { + public int getavoidcollisionTypeCode() { return this.getCASImpl().getHeapValue(this.getAddress()); } Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/CasCopier.java Wed Jul 29 21:33:42 2015 @@ -360,7 +360,6 @@ public class CasCopier { Iterator<CAS> viewIterator = aSrcCas.getViewIterator(); while (viewIterator.hasNext()) { CAS view = viewIterator.next(); - copier.srcCasDocumentAnnotation = 0; // each view needs to get this once copier.copyCasView(view, aCopySofa); } @@ -494,6 +493,8 @@ public class CasCopier { throw new UIMARuntimeException(UIMARuntimeException.UNSUPPORTED_CAS_COPY_TO_OR_FROM_BASE_CAS, null); } + srcCasDocumentAnnotation = 0; // each view needs to get this once + // mLowLevelDestCas = aTgtCasView.getLowLevelCAS(); // mLowLevelSrcCas = aSrcCasView.getLowLevelCAS(); @@ -604,6 +605,8 @@ public class CasCopier { tgtCasViewImpl = originalTgtCasImpl; } + // safety - insure DocumentAnnotation is tested. + srcCasDocumentAnnotation = 0; return copyFs2Fs(aFS); } @@ -658,6 +661,7 @@ public class CasCopier { // same Sofa ID in the target CAS. If it does not exist it will be created. if (srcTypeCode == srcSofaTypeCode) { String destSofaId = getDestSofaId(srcCasViewImpl.ll_getSofaID(aFS)); + // note: not put into the mFsMap, because each view needs a separate copy return ((CASImpl)getOrCreateView(originalTgtCas, destSofaId)).getSofaRef(); } @@ -689,6 +693,7 @@ public class CasCopier { } } } + // note note put into mFsMap, because each view needs a separate copy return destDocAnnot; } Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/AnnotationIteratorTest.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/AnnotationIteratorTest.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/AnnotationIteratorTest.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/AnnotationIteratorTest.java Wed Jul 29 21:33:42 2015 @@ -259,7 +259,8 @@ public class AnnotationIteratorTest exte AnnotationIndex<AnnotationFS> annotIndex = this.cas.getAnnotationIndex(); AnnotationIndex<AnnotationFS> sentIndex = this.cas.getAnnotationIndex(sentenceType); FSIterator<AnnotationFS> it = annotIndex.iterator(true); // a normal "ambiguous" iterator - assertTrue((isSave) ? it instanceof FSIteratorWrapper : it instanceof FSIndexFlat.FSIteratorFlat); + assertTrue((isSave) ? it instanceof FSIteratorWrapper : + FSIndexFlat.enabled ? it instanceof FSIndexFlat.FSIteratorFlat : it instanceof FSIteratorWrapper); assertCount("Normal ambiguous annot iterator", annotCount, it); it = annotIndex.iterator(false); // false means create an unambiguous iterator Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java Wed Jul 29 21:33:42 2015 @@ -169,8 +169,10 @@ public class FilteredIteratorTest extend iterAndCount1(false); - expandBeyondFlatThreshold(6); // enables flat iterator - iterAndCount1(true); + if (FSIndexFlat.enabled) { + expandBeyondFlatThreshold(6); // enables flat iterator + iterAndCount1(true); + } } Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-cpe/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-cpe:961329-961747 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-cpe:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-cpe:933273-944399 +/uima/uimaj/trunk/uimaj-cpe:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-document-annotation/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-document-annotation:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-document-annotation:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-document-annotation:933273-944399 +/uima/uimaj/trunk/uimaj-document-annotation:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-eclipse-feature-runtime/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-eclipse-feature-runtime:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-eclipse-feature-runtime:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-eclipse-feature-runtime:933273-944399 +/uima/uimaj/trunk/uimaj-eclipse-feature-runtime:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-eclipse-feature-tools/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-eclipse-feature-tools:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-eclipse-feature-tools:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-eclipse-feature-tools:933273-944402 +/uima/uimaj/trunk/uimaj-eclipse-feature-tools:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-eclipse-update-site/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-eclipse-update-site:961329-961747 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-eclipse-update-site:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-eclipse-update-site:933273-944402 +/uima/uimaj/trunk/uimaj-eclipse-update-site:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-cas-editor/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/uimaj-ep-cas-editor:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-cas-editor:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-cas-editor:1436573-1462257 +/uima/uimaj/trunk/uimaj-ep-cas-editor:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-cas-editor-ide/pom.xml ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -1,3 +1,4 @@ /uima/uimaj/branches/depend-on-july-9-build-tools/uimaj-ep-cas-editor/pom.xml:963167-964468 /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-cas-editor/pom.xml:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-cas-editor-ide/pom.xml:1436573-1462257 +/uima/uimaj/trunk/uimaj-ep-cas-editor-ide/pom.xml:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-configurator/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-configurator:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-configurator:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-ep-configurator:933273-944402 +/uima/uimaj/trunk/uimaj-ep-configurator:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-debug/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-debug:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-debug:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-ep-debug:933273-944402 +/uima/uimaj/trunk/uimaj-ep-debug:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-jcasgen/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-jcasgen:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-jcasgen:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-ep-jcasgen:933273-944403 +/uima/uimaj/trunk/uimaj-ep-jcasgen:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-pear-packager/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-pear-packager:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-pear-packager:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-ep-pear-packager:933273-944403 +/uima/uimaj/trunk/uimaj-ep-pear-packager:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-ep-runtime/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-ep-runtime:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-ep-runtime:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-ep-runtime:933273-944403 +/uima/uimaj/trunk/uimaj-ep-runtime:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-examples/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-examples:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-examples:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-examples:933273-944403 +/uima/uimaj/trunk/uimaj-examples:1690273-1693269 Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-parent/pom.xml URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-parent/pom.xml?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-parent/pom.xml (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-parent/pom.xml Wed Jul 29 21:33:42 2015 @@ -144,8 +144,8 @@ BACKWARD_COMPATIBLE_USER - minor version (=.+.0) NON_BACKWARD_COMPATIBLE - major version (+.0.0) --> - <compat.level>BACKWARD_COMPATIBLE_USER</compat.level> - <compat.previous.version>2.7.0</compat.previous.version> + <compat.level>BACKWARD_COMPATIBLE_IMPLEMENTER</compat.level> + <compat.previous.version>2.8.0</compat.previous.version> </properties> <build> Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-test-util/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-test-util:961329-961745 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-test-util:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-test-util:933273-944404 +/uima/uimaj/trunk/uimaj-test-util:1690273-1693269 Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jul 29 21:33:42 2015 @@ -3,3 +3,4 @@ /uima/uimaj/branches/depend-on-parent-pom-4/uimaj-tools:961329-961746 /uima/uimaj/branches/filteredCompress-uima-2498/uimaj-tools:1436573-1462257 /uima/uimaj/branches/mavenAlign/uimaj-tools:933273-944404 +/uima/uimaj/trunk/uimaj-tools:1690273-1693269 Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcas/internal/AnalyzeContent.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcas/internal/AnalyzeContent.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcas/internal/AnalyzeContent.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcas/internal/AnalyzeContent.java Wed Jul 29 21:33:42 2015 @@ -180,6 +180,8 @@ public class AnalyzeContent { private Brna all(Brna ... inners) { return () -> { int savedPos = pos; + + //debug if (null == inners) { System.out.println("debug"); @@ -189,7 +191,9 @@ public class AnalyzeContent { System.out.println("debug"); } } - if (Arrays.stream(inners).sequential().allMatch(p -> p.match())) { + + + if (Arrays.stream(inners).sequential().allMatch(Brna::match)) { return true; } pos = savedPos; Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/DecompiledFilter.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/DecompiledFilter.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/DecompiledFilter.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/jcasgen/DecompiledFilter.java Wed Jul 29 21:33:42 2015 @@ -69,7 +69,7 @@ public class DecompiledFilter { Files.list(decompiledFiles) .filter(p -> !p.toFile().isDirectory()) // skip directories .filter(p -> !isBuiltIn(p)) // skip if builtin - .forEach(p -> extractCustomization(p)); + .forEach(DecompiledFilter::extractCustomization); } private static boolean isBuiltIn(Path p) { @@ -84,7 +84,7 @@ public class DecompiledFilter { * @throws IOException * @throws UnsupportedEncodingException */ - private boolean extractCustomization(Path filePath) { + private static boolean extractCustomization(Path filePath) { String content; try { content = new String(Files.readAllBytes(filePath), "UTF-8"); @@ -121,8 +121,7 @@ public class DecompiledFilter { // if (m.isNextClauseCustomized()) { // // } - synchronized (this) { - if (m.isCustomized) + if (m.isCustomized) { // System.out.println(filePath.toString()); System.out.format("%s %s %s%n", m.isCustomized ? "Cust " : "notCust" , filePath.toString(), m.isCustomized ? m.msg : ""); } Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/viewer/CasAnnotationViewer.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/viewer/CasAnnotationViewer.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/viewer/CasAnnotationViewer.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/main/java/org/apache/uima/tools/viewer/CasAnnotationViewer.java Wed Jul 29 21:33:42 2015 @@ -84,20 +84,13 @@ import javax.swing.tree.TreePath; import org.apache.uima.cas.ArrayFS; import org.apache.uima.cas.CAS; import org.apache.uima.cas.CASException; +import org.apache.uima.cas.CommonArrayFS; import org.apache.uima.cas.FSIterator; import org.apache.uima.cas.Feature; import org.apache.uima.cas.FeatureStructure; import org.apache.uima.cas.SofaFS; import org.apache.uima.cas.Type; import org.apache.uima.cas.TypeSystem; -import org.apache.uima.cas.impl.BooleanArrayFSImpl; -import org.apache.uima.cas.impl.ByteArrayFSImpl; -import org.apache.uima.cas.impl.DoubleArrayFSImpl; -import org.apache.uima.cas.impl.FloatArrayFSImpl; -import org.apache.uima.cas.impl.IntArrayFSImpl; -import org.apache.uima.cas.impl.LongArrayFSImpl; -import org.apache.uima.cas.impl.ShortArrayFSImpl; -import org.apache.uima.cas.impl.StringArrayFSImpl; import org.apache.uima.cas.text.AnnotationFS; import org.apache.uima.cas.text.AnnotationIndex; import org.apache.uima.jcas.JCas; @@ -1985,10 +1978,10 @@ public class CasAnnotationViewer extends JCas jcas = null; try { jcas = this.cas.getJCas(); - } catch (CASException e) { - e.printStackTrace(); - return; - } + } catch (CASException e) { + e.printStackTrace(); + return; + } DefaultMutableTreeNode root = (DefaultMutableTreeNode) this.selectedAnnotationTreeModel.getRoot(); root.removeAllChildren(); @@ -2196,51 +2189,9 @@ public class CasAnnotationViewer extends return checkString(aFS.getFeatureValueAsString(feature), "null", 64); } if (rangeType.isArray()) { - String rangeTypeName = rangeType.getName(); - String[] values = null; - if (CAS.TYPE_NAME_STRING_ARRAY.equals(rangeTypeName)) { - StringArrayFSImpl arrayFS = (StringArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toArray(); - } - } else if (CAS.TYPE_NAME_INTEGER_ARRAY.equals(rangeTypeName)) { - IntArrayFSImpl arrayFS = (IntArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else if (CAS.TYPE_NAME_FLOAT_ARRAY.equals(rangeTypeName)) { - FloatArrayFSImpl arrayFS = (FloatArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else if (CAS.TYPE_NAME_BOOLEAN_ARRAY.equals(rangeTypeName)) { - BooleanArrayFSImpl arrayFS = (BooleanArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else if (CAS.TYPE_NAME_BYTE_ARRAY.equals(rangeTypeName)) { - ByteArrayFSImpl arrayFS = (ByteArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else if (CAS.TYPE_NAME_SHORT_ARRAY.equals(rangeTypeName)) { - ShortArrayFSImpl arrayFS = (ShortArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else if (CAS.TYPE_NAME_LONG_ARRAY.equals(rangeTypeName)) { - LongArrayFSImpl arrayFS = (LongArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else if (CAS.TYPE_NAME_DOUBLE_ARRAY.equals(rangeTypeName)) { - DoubleArrayFSImpl arrayFS = (DoubleArrayFSImpl) aFS.getFeatureValue(feature); - if (arrayFS != null) { - values = arrayFS.toStringArray(); - } - } else { - // Unknown array type. - } +// String rangeTypeName = rangeType.getName(); + CommonArrayFS arrayFS = (CommonArrayFS) aFS.getFeatureValue(feature); + String[] values = (arrayFS == null) ? null : arrayFS.toStringArray(); if (values == null || values.length == 0) { return "null"; } Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/test/java/org/apache/uima/tools/viewer/CasAnnotationViewerTest.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/test/java/org/apache/uima/tools/viewer/CasAnnotationViewerTest.java?rev=1693349&r1=1693348&r2=1693349&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/test/java/org/apache/uima/tools/viewer/CasAnnotationViewerTest.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-tools/src/test/java/org/apache/uima/tools/viewer/CasAnnotationViewerTest.java Wed Jul 29 21:33:42 2015 @@ -206,6 +206,11 @@ public class CasAnnotationViewerTest ext JUnitExtension.handleException(e); } } + + public void testAddAnnotationToTreeJCas() throws Exception { + this.cas.getJCas(); + testAddAnnotationToTree(); + } private void createExampleFS(CAS cas) throws Exception { // Set the document text