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();
   }


Reply via email to