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/12 16:48:57 UTC

svn commit: r1869707 - in /uima/ruta/trunk/ruta-core/src: main/java/org/apache/uima/ruta/action/MacroAction.java main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java test/java/org/apache/uima/ruta/action/MacroActionTest.java

Author: pkluegl
Date: Tue Nov 12 16:48:56 2019
New Revision: 1869707

URL: http://svn.apache.org/viewvc?rev=1869707&view=rev
Log:
UIMA-6132: delegate label to macro actions

Modified:
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MacroAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MacroAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MacroAction.java?rev=1869707&r1=1869706&r2=1869707&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MacroAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MacroAction.java Tue Nov 12 16:48:56 2019
@@ -98,6 +98,14 @@ public class MacroAction extends Abstrac
     }
   }
 
+  @Override
+  public void setLabel(String label) {
+    super.setLabel(label);
+    for (AbstractRutaAction action : actions) {
+      action.setLabel(label);
+    }
+  }
+
   public String getName() {
     return name;
   }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java?rev=1869707&r1=1869706&r2=1869707&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java Tue Nov 12 16:48:56 2019
@@ -406,6 +406,7 @@ public class WildCardRuleElement extends
           RuleMatch extendedMatch, ComposedRuleElementMatch extendedContainerMatch,
           AnnotationFS coveredByWildCard, RutaStream stream, InferenceCrowd crowd) {
     RuleElement element = this;
+    ComposedRuleElementMatch containerMatch = extendedContainerMatch.getContainerMatch();
     for (int i = nextDepth; i > 0; i--) {
       // UIMA-6041: also doMatch for container conditions like (A #){XYZ} B;
       RuleElementContainer c = element.getContainer();
@@ -414,6 +415,7 @@ public class WildCardRuleElement extends
         cre.doMatch(after, coveredByWildCard, extendedMatch,
                 extendedContainerMatch.getContainerMatch(), annotation == null, stream, crowd);
         element = cre;
+        containerMatch = containerMatch.getContainerMatch();
       }
     }
   }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java?rev=1869707&r1=1869706&r2=1869707&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java Tue Nov 12 16:48:56 2019
@@ -43,46 +43,32 @@ import org.junit.Test;
 public class MacroActionTest {
 
   @Test
-  public void test() {
+  public void test() throws Exception {
     String document = "Test";
     String script = "INT j;\n";
     script += "ACTION macro(TYPE t, INT inc) = MARK(t),ASSIGN(j,j+inc);\n";
     script += "Document{-> macro(T1,1)};\n";
     script += "Document{(j>0)->T2};\n";
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Test");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Test");
-
-    cas.release();
   }
 
   @Test
-  public void testNoArgs() {
+  public void testNoArgs() throws Exception {
     String document = "Test.";
     String script = "INT j;\n";
     script += "ACTION macro() = MARK(T1), MARK(T2);\n";
     script += "W{-> macro()};\n";
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Test");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Test");
-
-    cas.release();
   }
 
   @Test
@@ -97,8 +83,20 @@ public class MacroActionTest {
     Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Test");
+  }
+
+  @Test
+  public void testLabel() throws Exception {
+    String document = "Test";
+    String script = "";
+    script += "ACTION doit() = MARK(T1);\n";
+    script += "CW{-> t:doit()}-> {t{->T2};};\n";
+
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
-    cas.release();
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Test");
+    RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Test");
   }
 
   @Test
@@ -138,7 +136,6 @@ public class MacroActionTest {
     assertNotNull(fv1);
 
     assertEquals("5", ((AnnotationFS) fv1).getCoveredText());
-
   }
 
 }