Author: pkluegl
Date: Wed Mar 25 20:32:22 2020
New Revision: 1875672

URL: http://svn.apache.org/viewvc?rev=1875672&view=rev
Log:
UIMA-6194: merge v2 changes

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

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java?rev=1875672&r1=1875671&r2=1875672&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
 Wed Mar 25 20:32:22 2020
@@ -72,8 +72,8 @@ public class RutaLiteralMatcher implemen
     if (beginAnchor != null && beginAnchor.getEnd() == end) {
       return beginAnchor;
     }
-    RutaBasic endAnchor = stream.getEndAnchor(begin);
-    if (beginAnchor == null && endAnchor == null) {
+    RutaBasic endAnchor = stream.getEndAnchor(end);
+    if (beginAnchor == null || endAnchor == null) {
       // do not detect text passages that are not covered by internal 
segmentation in order to avoid
       // unintended behavior
       return null;

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/LiteralStringMatchTest.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/LiteralStringMatchTest.java?rev=1875672&r1=1875671&r2=1875672&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/LiteralStringMatchTest.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/LiteralStringMatchTest.java
 Wed Mar 25 20:32:22 2020
@@ -103,4 +103,41 @@ public class LiteralStringMatchTest {
 
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "I_____");
   }
+
+  @Test
+  public void testInRutaBasicMatch() throws Exception {
+
+    String document = "1 abcd 2";
+    String script = "";
+    script += "\"ab\" {-> T1};";
+    script += "\"cd\" {-> T2};";
+    script += "\"1 ab\" {-> T3};";
+    script += "\"cd 2\" {-> T4};";
+    script += "NUM \"ab\" {-> T5};";
+    script += "\"cd\" {-> T6} @NUM;";
+
+    script += "\"ac\" {-> T7};";
+    script += "\"bd\" {-> T8};";
+    script += "\"1 ac\" {-> T9};";
+    script += "\"bd 2\" {-> T10};";
+    script += "NUM \"ac\" {-> T11};";
+    script += "\"bd\" {-> T6} @NUM;";
+
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 3, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 4, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 5, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 6, 0);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 7, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 8, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 9, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 10, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 11, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 12, 0);
+  }
 }


Reply via email to