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 2017/07/02 10:05:21 UTC
svn commit: r1800553 - in /uima/ruta/trunk/ruta-core/src:
main/java/org/apache/uima/ruta/expression/
main/java/org/apache/uima/ruta/verbalize/
test/java/org/apache/uima/ruta/verbalizer/
test/resources/org/apache/uima/ruta/
Author: pkluegl
Date: Sun Jul 2 10:05:21 2017
New Revision: 1800553
URL: http://svn.apache.org/viewvc?rev=1800553&view=rev
Log:
UIMA-5399
- fixed varbalization
- added test
Added:
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/RutaVerbalizerTest.java (with props)
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Verbalize.ruta
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java?rev=1800553&r1=1800552&r2=1800553&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java Sun Jul 2 10:05:21 2017
@@ -304,7 +304,12 @@ public class ExpressionFactory {
public MatchReference createMatchReference(Token refToken) {
return createMatchReference(refToken, null, null);
}
-
+
+ public MatchReference createMatchReference(String reference) {
+ return createMatchReference(reference, null, null);
+ }
+
+
public MatchReference createMatchReference(Token matchToken, Token comparatorToken,
IRutaExpression argument) {
String match = matchToken.getText();
@@ -312,10 +317,15 @@ public class ExpressionFactory {
if (comparatorToken != null) {
comparator = comparatorToken.getText();
}
+ return createMatchReference(match, comparator, argument);
+ }
+
+ public MatchReference createMatchReference(String matchString, String comparatorString,
+ IRutaExpression argument) {
if (typeUsage != null) {
- addPossibleTypeMentions(match);
+ addPossibleTypeMentions(matchString);
}
- return new MatchReference(match, comparator, argument);
+ return new MatchReference(matchString, comparatorString, argument);
}
public MatchReference createMatchReference(ITypeExpression expression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java?rev=1800553&r1=1800552&r2=1800553&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java Sun Jul 2 10:05:21 2017
@@ -213,4 +213,12 @@ public class MatchReference extends Ruta
return features;
}
+ public IRutaExpression getArgument() {
+ return argument;
+ }
+
+ public String getComparator() {
+ return comparator;
+ }
+
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java?rev=1800553&r1=1800552&r2=1800553&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java Sun Jul 2 10:05:21 2017
@@ -21,6 +21,8 @@ package org.apache.uima.ruta.verbalize;
import java.util.Iterator;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.uima.cas.CAS;
import org.apache.uima.ruta.expression.AnnotationTypeExpression;
import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.MatchReference;
@@ -299,7 +301,19 @@ public class ExpressionVerbalizer {
}
public String verbalize(MatchReference expression) {
- return expression.getMatch();
+ String match = expression.getMatch();
+ if(match == null) {
+ String string = expression.toString();
+ if(StringUtils.equals(string, CAS.TYPE_NAME_DOCUMENT_ANNOTATION)) {
+ return "Document";
+ } else {
+ return string;
+ }
+ }
+ if(expression.getArgument() != null) {
+ return match + expression.getComparator() + verbalizer.verbalize(expression.getArgument());
+ }
+ return match;
}
public String verbalize(AnnotationTypeExpression expression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java?rev=1800553&r1=1800552&r2=1800553&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java Sun Jul 2 10:05:21 2017
@@ -75,10 +75,10 @@ public class RutaVerbalizer {
return conditionVerbalizer.verbalize((AbstractRutaCondition) element);
} else if (element instanceof IRutaExpression) {
return expressionVerbalizer.verbalize((RutaExpression) element);
- } else if (element instanceof RutaElement) {
- return scriptVerbalizer.verbalize((RutaElement) element);
} else if (element instanceof RutaBlock) {
return verbalize((RutaBlock) element, false);
+ } else if (element instanceof RutaElement) {
+ return scriptVerbalizer.verbalize((RutaElement) element);
} else {
return element.getClass().getSimpleName();
}
Added: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/RutaVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/RutaVerbalizerTest.java?rev=1800553&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/RutaVerbalizerTest.java (added)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/RutaVerbalizerTest.java Sun Jul 2 10:05:21 2017
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.ruta.verbalizer;
+
+import java.util.List;
+
+import org.apache.commons.lang3.reflect.FieldUtils;
+import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.ruta.RutaModule;
+import org.apache.uima.ruta.RutaStatement;
+import org.apache.uima.ruta.block.ForEachBlock;
+import org.apache.uima.ruta.block.RutaScriptBlock;
+import org.apache.uima.ruta.engine.RutaEngine;
+import org.apache.uima.ruta.verbalize.RutaVerbalizer;
+import org.junit.Assert;
+import org.junit.Test;
+
+
+public class RutaVerbalizerTest {
+
+ @Test
+ public void testSimpleScriptVerbalization() throws Exception{
+
+ AnalysisEngine analysisEngine = AnalysisEngineFactory.createEngine(RutaEngine.class, RutaEngine.PARAM_MAIN_SCRIPT, "org.apache.uima.ruta.Verbalize");
+ RutaEngine rutaEngine = (RutaEngine) FieldUtils.readField(analysisEngine, "mAnalysisComponent", true);
+ RutaModule module = (RutaModule) FieldUtils.readField(rutaEngine, "script", true);
+ RutaVerbalizer verbalizer = new RutaVerbalizer();
+ Assert.assertNull(verbalizer.verbalize(module));
+ Assert.assertEquals("BLOCK(Verbalize) Document;", verbalizer.verbalize(module.getRootBlock()));
+ List<RutaStatement> elements = module.getRootBlock().getElements();
+ Assert.assertEquals("Document{->CALL(Additional)};", verbalizer.verbalize(elements.get(1)));
+ Assert.assertEquals("CW.ct==\"A\"{->TruePositive};", verbalizer.verbalize(elements.get(2)));
+ RutaScriptBlock block = (RutaScriptBlock) elements.get(3);
+ Assert.assertEquals("BLOCK(block) CW;", verbalizer.verbalize(block));
+ ForEachBlock foreach = (ForEachBlock) elements.get(4);
+ Assert.assertEquals("FOREACH(sw) SW;", verbalizer.verbalize(foreach));
+ }
+}
Propchange: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/RutaVerbalizerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java?rev=1800553&r1=1800552&r2=1800553&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java Sun Jul 2 10:05:21 2017
@@ -67,9 +67,5 @@ public class ScriptVerbalizerTest {
Ruta.removeDebugInformation(jcas);
}
- @Test
- public void testScriptBlockVerbalization() throws Exception{
-
- }
}
Added: uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Verbalize.ruta
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Verbalize.ruta?rev=1800553&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Verbalize.ruta (added)
+++ uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Verbalize.ruta Sun Jul 2 10:05:21 2017
@@ -0,0 +1,12 @@
+PACKAGE org.apache.uima.ruta;
+SCRIPT org.apache.uima.ruta.Additional;
+CALL(Additional);
+CW.ct=="A"{-> TruePositive};
+
+BLOCK(block) CW{}{
+ SW;
+}
+
+FOREACH(sw) SW{}{
+ sw.ct=="a";
+}