Author: pkluegl
Date: Thu Jun 16 08:50:05 2016
New Revision: 1748668
URL: http://svn.apache.org/viewvc?rev=1748668&view=rev
Log:
UIMA-4976
- verbalization for annotation expressions
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
URL:
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java?rev=1748668&r1=1748667&r2=1748668&view=diff
==============================================================================
---
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
(original)
+++
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
Thu Jun 16 08:50:05 2016
@@ -26,12 +26,13 @@ import org.apache.uima.cas.Feature;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.expression.annotation.IAnnotationExpression;
import org.apache.uima.ruta.expression.feature.FeatureExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
-public class NullExpression extends FeatureExpression implements
IStringExpression, ITypeExpression {
+public class NullExpression extends FeatureExpression implements
IStringExpression, ITypeExpression, IAnnotationExpression {
@Override
public String getStringValue(MatchContext context, RutaStream stream) {
@@ -68,5 +69,10 @@ public class NullExpression extends Feat
public Type getInitialType(MatchContext context, RutaStream stream) {
return null;
}
+
+ @Override
+ public AnnotationFS getAnnotation(MatchContext context, RutaStream stream) {
+ return null;
+ }
}
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=1748668&r1=1748667&r2=1748668&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
Thu Jun 16 08:50:05 2016
@@ -25,6 +25,10 @@ import org.apache.uima.ruta.expression.A
import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.MatchReference;
import org.apache.uima.ruta.expression.NullExpression;
+import org.apache.uima.ruta.expression.annotation.AnnotationAddressExpression;
+import org.apache.uima.ruta.expression.annotation.AnnotationLabelExpression;
+import org.apache.uima.ruta.expression.annotation.AnnotationVariableExpression;
+import org.apache.uima.ruta.expression.annotation.IAnnotationExpression;
import org.apache.uima.ruta.expression.bool.BooleanFeatureExpression;
import org.apache.uima.ruta.expression.bool.BooleanListVariableExpression;
import org.apache.uima.ruta.expression.bool.BooleanNumberExpression;
@@ -79,6 +83,8 @@ public class ExpressionVerbalizer {
return verbalize(((GenericFeatureExpression)
expression).getFeatureExpression());
} else if (expression instanceof AnnotationTypeExpression) {
return verbalize((AnnotationTypeExpression) expression);
+ } else if (expression instanceof IAnnotationExpression) {
+ return verbalize((IAnnotationExpression) expression);
} else if (expression instanceof ITypeExpression) {
return verbalize((ITypeExpression) expression);
} else if (expression instanceof IBooleanExpression) {
@@ -273,6 +279,23 @@ public class ExpressionVerbalizer {
return expression.getClass().getSimpleName();
}
+ public String verbalize(IAnnotationExpression expression) {
+ if (expression == null) {
+ return null;
+ }
+ if (expression instanceof AnnotationAddressExpression) {
+ AnnotationAddressExpression e = (AnnotationAddressExpression) expression;
+ return "$" + e.getAddress();
+ } else if (expression instanceof AnnotationVariableExpression) {
+ AnnotationVariableExpression e = (AnnotationVariableExpression)
expression;
+ return e.getVar();
+ } else if (expression instanceof AnnotationLabelExpression) {
+ AnnotationLabelExpression e = (AnnotationLabelExpression) expression;
+ return e.getLabel();
+ }
+ return expression.getClass().getSimpleName();
+ }
+
public String verbalize(MatchReference expression) {
return expression.getMatch();
}