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 2019/11/24 15:33:40 UTC

svn commit: r1870304 - in /uima/uv3/ruta-v3/trunk/ruta-core/src: main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java test/java/org/apache/uima/ruta/rule/WildCard2Test.java

Author: pkluegl
Date: Sun Nov 24 15:33:39 2019
New Revision: 1870304

URL: http://svn.apache.org/viewvc?rev=1870304&view=rev
Log:
UIMA-6154: fixed move on check

Modified:
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
    uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java

Modified: uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
URL: http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java?rev=1870304&r1=1870303&r2=1870304&view=diff
==============================================================================
--- uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java (original)
+++ uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java Sun Nov 24 15:33:39 2019
@@ -502,8 +502,12 @@ public class WildCardRuleElement extends
     } else {
       iterator = getIteratorOfType(after, defaultType, annotation, stream);
     }
-    if (iterator != null && iterator.isValid() && iterator.get().equals(annotation)) {
-      moveOn(after, iterator, stream);
+    if (annotation != null && iterator != null && iterator.isValid()) {
+      AnnotationFS pointer = iterator.get();
+      if ((after && pointer.getEnd() == annotation.getEnd())
+              || (!after && pointer.getBegin() == annotation.getBegin())) {
+        moveOn(after, iterator, stream);
+      }
     }
     return iterator;
   }

Modified: uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java
URL: http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java?rev=1870304&r1=1870303&r2=1870304&view=diff
==============================================================================
--- uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java (original)
+++ uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java Sun Nov 24 15:33:39 2019
@@ -271,4 +271,18 @@ public class WildCard2Test {
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);
   }
 
+  @Test
+  public void testLastElementAlsoAnnotatedWithLookahead() throws Exception {
+    String document = "a b c. a b c.";
+    String script = "ANY+{-PARTOF({PERIOD, T1})->T1};\n";
+    script += "\"a\" -> T2, T3;\n";
+    script += "\"c\" -> T3;\n";
+    script += "T1 -> { T2 # T3{-> T4};};\n";
+
+    CAS cas = RutaTestUtils.getCAS(document, null, null, false);
+    Ruta.apply(cas, script);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "c", "c");
+  }
+
 }