Merge branch 'master' into UIMA-6261-verbalization-NullExpression
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
index 0c48ff0..2e8cba7 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
@@ -81,7 +81,9 @@
}
public String verbalize(IRutaExpression expression) {
- if (expression instanceof GenericFeatureExpression) {
+ if (expression instanceof NullExpression) {
+ return "null";
+ } else if (expression instanceof GenericFeatureExpression) {
return verbalize(((GenericFeatureExpression) expression).getFeatureExpression());
} else if (expression instanceof AnnotationTypeExpression) {
return verbalize((AnnotationTypeExpression) expression);
@@ -107,8 +109,6 @@
return verbalize((IStringExpression) expression);
} else if (expression instanceof MatchReference) {
return verbalize((MatchReference) expression);
- } else if(expression instanceof NullExpression) {
- return "null";
}
return expression.getClass().getSimpleName();
}
@@ -299,23 +299,23 @@
}
return expression.getClass().getSimpleName();
}
-
+
public String verbalize(MatchReference expression) {
String match = expression.getMatch();
- if(match == null) {
+ if (match == null) {
String string = expression.toString();
- if(StringUtils.equals(string, CAS.TYPE_NAME_DOCUMENT_ANNOTATION)) {
+ 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());
+ if (expression.getArgument() != null) {
+ return match + expression.getComparator() + verbalizer.verbalize(expression.getArgument());
}
return match;
}
-
+
public String verbalize(AnnotationTypeExpression expression) {
return verbalize(expression.getReference());
}
@@ -325,7 +325,7 @@
if (expression instanceof SimpleFeatureExpression) {
SimpleFeatureExpression sfe = (SimpleFeatureExpression) expression;
sb.append(sfe.getMatchReference().getMatch());
- } else if(expression instanceof NullExpression) {
+ } else if (expression instanceof NullExpression) {
sb.append("null");
}
return sb.toString();
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java
index 50f12c7..c0caa79 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ScriptVerbalizerTest.java
@@ -33,13 +33,13 @@
import org.junit.Assert;
import org.junit.Test;
-
public class ScriptVerbalizerTest {
@Test
- public void testRuleVerbalization() throws Exception{
+ public void testRuleVerbalization() throws Exception {
JCas jcas = RutaTestUtils.getCAS("Some text.").getJCas();
-
+
+ assertRuleVerbalization(jcas, "DocumentAnnotation.language!=null;");
assertRuleVerbalization(jcas, "Document{->MARK(T1)};");
assertRuleVerbalization(jcas, "W{->T1} W{->T2};");
assertRuleVerbalization(jcas, "T1<-{W PERIOD;};");
@@ -48,24 +48,26 @@
assertRuleVerbalization(jcas, "W W? W?? W+ W+? W* W*? W[1,2] W[1,2]? #;");
assertRuleVerbalization(jcas, "Document{CONTAINS(T1)->T2};");
assertRuleVerbalization(jcas, "Document{->ADDFILTERTYPE(CW)};");
-
+
jcas.release();
}
- private void assertRuleVerbalization(JCas jcas, String rule) throws AnalysisEngineProcessException, ResourceInitializationException {
+ private void assertRuleVerbalization(JCas jcas, String rule)
+ throws AnalysisEngineProcessException, ResourceInitializationException {
assertRuleVerbalization(jcas, rule, rule);
}
-
- private void assertRuleVerbalization(JCas jcas, String rule, String expected) throws AnalysisEngineProcessException, ResourceInitializationException {
- Ruta.applyRule(jcas, rule, RutaEngine.PARAM_DEBUG, true, RutaEngine.PARAM_DEBUG_WITH_MATCHES, true);
+
+ private void assertRuleVerbalization(JCas jcas, String rule, String expected)
+ throws AnalysisEngineProcessException, ResourceInitializationException {
+ Ruta.applyRule(jcas, rule, RutaEngine.PARAM_DEBUG, true, RutaEngine.PARAM_DEBUG_WITH_MATCHES,
+ true);
Collection<DebugBlockApply> blockApplies = JCasUtil.select(jcas, DebugBlockApply.class);
Assert.assertEquals(1, blockApplies.size());
- DebugBlockApply blockApply = blockApplies.iterator().next();
+ DebugBlockApply blockApply = blockApplies.iterator().next();
Assert.assertEquals(1, blockApply.getInnerApply().size());
DebugRuleApply ruleApply = (DebugRuleApply) blockApply.getInnerApply(0);
Assert.assertEquals(expected, ruleApply.getElement());
Ruta.removeDebugInformation(jcas);
}
-
-
+
}