Merge branch 'main' into feature/UIMA-6337-Upgrade-Ruta-to-UIMA-3.2.0-and-uimaFIT-3.2.0
# Conflicts:
# ruta-parent/pom.xml
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java b/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
index 347b400..94d07d5 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
@@ -588,6 +588,7 @@
}
}
} else {
+ // uimaj-core 3.2.0
if (!after) {
result.moveToPrevious();
}
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java
index a803fce..1775603 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java
@@ -46,14 +46,16 @@
public void testMultiMidOut() throws Exception {
String document = ". A x 1 1 : x 2 % 3 x ; . A x B 1 C 1 : x 4 % 5 x ; .";
String script = "";
- script += "PERIOD #{-> T1} PERIOD;";
- script += "T1 -> {CW{-> T4} # @COLON # NUM{-> T2} SPECIAL NUM{-> T3} # SEMICOLON;};";
+ script += "PERIOD ANY+{-PARTOF(PERIOD) -> T1} PERIOD;";
+ script += "T1 -> {CW{-> T4} # @COLON;};";
+ script += "T1 -> {CW{-> T5} # @COLON # NUM{-> T2} SPECIAL NUM{-> T3} # SEMICOLON;};";
CAS cas = RutaTestUtils.getCAS(document);
Ruta.apply(cas, script);
RutaTestUtils.assertAnnotationsEquals(cas, 2, 2, "2", "4");
RutaTestUtils.assertAnnotationsEquals(cas, 3, 2, "3", "5");
RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "A", "C");
+ RutaTestUtils.assertAnnotationsEquals(cas, 5, 2, "A", "C");
}
@@ -106,4 +108,24 @@
RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "some text");
}
+ @Test
+ public void testRightToLeftCombination() throws Exception {
+ String document = "bla . x x x A x x 1 : x x x 2 x x . bla";
+
+ // Both NUM/T3 should be removed
+ String script = "";
+ script += "PERIOD ANY+{-PARTOF(PERIOD) -> T1} PERIOD;";
+ script += "CW{->T2};";
+ script += "NUM{->T3};";
+ script += "T1->{";
+ script += "T2 # n1:T3 ANY[0,5]{-PARTOF(T3)} COLON # n2:@T3{-> UNMARK(n2)};";
+ script += "T2 # n:T3{ -> UNMARK(n)} COLON;";
+ script += "};";
+
+ CAS cas = RutaTestUtils.getCAS(document);
+ Ruta.apply(cas, script);
+
+ RutaTestUtils.assertAnnotationsEquals(cas, 3, 0);
+ }
+
}
diff --git a/ruta-parent/pom.xml b/ruta-parent/pom.xml
index 8661599..adeb069 100644
--- a/ruta-parent/pom.xml
+++ b/ruta-parent/pom.xml
@@ -114,21 +114,25 @@
(http://www.famfamfam.com/lab/icons/silk/), licensed under the
Creative Commons Attribution 3.0 License.
</postNoticeText>
+
<uimaVersion>3.2.0</uimaVersion>
- <uimafit-version>3.1.0</uimafit-version>
- <spring-version>4.3.22.RELEASE</spring-version>
+ <uimafit-version>3.2.0</uimafit-version>
+ <spring-version>4.3.30.RELEASE</spring-version>
+
<!--
BACKWARD_COMPATIBLE_IMPLEMENTER - patch version (=.=.+)
BACKWARD_COMPATIBLE_USER - minor version (=.+.0)
NON_BACKWARD_COMPATIBLE - major version (+.0.0)
-->
- <compat.level>NON_BACKWARD_COMPATIBLE</compat.level>
- <compat.previous.version>2.6.0</compat.previous.version>
+ <compat.level>BACKWARD_COMPATIBLE_USER</compat.level>
+ <compat.previous.version>3.0.1</compat.previous.version>
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
- <api_check_oldVersion>2.6.1</api_check_oldVersion>
+
+ <api_check_oldVersion>3.0.1</api_check_oldVersion>
</properties>
<dependencyManagement>