You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2013/02/13 18:07:01 UTC

svn commit: r1445741 - in /uima/sandbox/textmarker/trunk/textmarker-core/src: main/java/org/apache/uima/textmarker/rule/ test/java/org/apache/uima/textmarker/ test/resources/org/apache/uima/textmarker/

Author: pkluegl
Date: Wed Feb 13 17:07:00 2013
New Revision: 1445741

URL: http://svn.apache.org/r1445741
Log:
UIMA-2660
- if there are no more annotations for a greedy match, then step back and evaluate the matches before continuing the match
- extended tests to cover problem

Modified:
    uima/sandbox/textmarker/trunk/textmarker-core/src/main/java/org/apache/uima/textmarker/rule/TextMarkerRuleElement.java
    uima/sandbox/textmarker/trunk/textmarker-core/src/test/java/org/apache/uima/textmarker/QuantifierTest3.java
    uima/sandbox/textmarker/trunk/textmarker-core/src/test/resources/org/apache/uima/textmarker/QuantifierTest3.tm

Modified: uima/sandbox/textmarker/trunk/textmarker-core/src/main/java/org/apache/uima/textmarker/rule/TextMarkerRuleElement.java
URL: http://svn.apache.org/viewvc/uima/sandbox/textmarker/trunk/textmarker-core/src/main/java/org/apache/uima/textmarker/rule/TextMarkerRuleElement.java?rev=1445741&r1=1445740&r2=1445741&view=diff
==============================================================================
--- uima/sandbox/textmarker/trunk/textmarker-core/src/main/java/org/apache/uima/textmarker/rule/TextMarkerRuleElement.java (original)
+++ uima/sandbox/textmarker/trunk/textmarker-core/src/main/java/org/apache/uima/textmarker/rule/TextMarkerRuleElement.java Wed Feb 13 17:07:00 2013
@@ -129,7 +129,12 @@ public class TextMarkerRuleElement exten
           break;
         }
         Collection<AnnotationFS> nextAnnotations = getNextAnnotations(after, eachAnchor, stream);
-        if (nextAnnotations.size() == 1) {
+        if(nextAnnotations.size() == 0) {
+          stopMatching = true;
+          stepbackMatch(after, eachAnchor, extendedMatch, ruleApply, extendedContainerMatch,
+                  sideStepOrigin, stream, crowd, entryPoint);
+        } else 
+          if (nextAnnotations.size() == 1) {
           lastAnchor = eachAnchor;
           eachAnchor = nextAnnotations.iterator().next();
           doMatch(eachAnchor, extendedMatch, extendedContainerMatch, false, stream, crowd);

Modified: uima/sandbox/textmarker/trunk/textmarker-core/src/test/java/org/apache/uima/textmarker/QuantifierTest3.java
URL: http://svn.apache.org/viewvc/uima/sandbox/textmarker/trunk/textmarker-core/src/test/java/org/apache/uima/textmarker/QuantifierTest3.java?rev=1445741&r1=1445740&r2=1445741&view=diff
==============================================================================
--- uima/sandbox/textmarker/trunk/textmarker-core/src/test/java/org/apache/uima/textmarker/QuantifierTest3.java (original)
+++ uima/sandbox/textmarker/trunk/textmarker-core/src/test/java/org/apache/uima/textmarker/QuantifierTest3.java Wed Feb 13 17:07:00 2013
@@ -61,6 +61,16 @@ public class QuantifierTest3 {
     ai = cas.getAnnotationIndex(t);
     assertEquals(0, ai.size());
 
+    t = TextMarkerTestUtils.getTestType(cas, 4);
+    ai = cas.getAnnotationIndex(t);
+    assertEquals(1, ai.size());
+    iterator = ai.iterator();
+    assertEquals("Big Big Big", iterator.next().getCoveredText());
+    
+    t = TextMarkerTestUtils.getTestType(cas, 5);
+    ai = cas.getAnnotationIndex(t);
+    assertEquals(0, ai.size());
+    
     cas.release();
   }
 }

Modified: uima/sandbox/textmarker/trunk/textmarker-core/src/test/resources/org/apache/uima/textmarker/QuantifierTest3.tm
URL: http://svn.apache.org/viewvc/uima/sandbox/textmarker/trunk/textmarker-core/src/test/resources/org/apache/uima/textmarker/QuantifierTest3.tm?rev=1445741&r1=1445740&r2=1445741&view=diff
==============================================================================
--- uima/sandbox/textmarker/trunk/textmarker-core/src/test/resources/org/apache/uima/textmarker/QuantifierTest3.tm (original)
+++ uima/sandbox/textmarker/trunk/textmarker-core/src/test/resources/org/apache/uima/textmarker/QuantifierTest3.tm Wed Feb 13 17:07:00 2013
@@ -5,5 +5,7 @@ DECLARE T1, T2, T3, T4, T5, T6, T7, T8, 
 SW CW[2,100]?{-> MARK(T1)} SW;
 SW W[2,100]?{-> MARK(T2)} SW;
 SW W[4,5]?{-> MARK(T3)} SW;
+CW[3]{-> MARK(T4)};
+CW[4]{-> MARK(T5)};