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 2015/08/10 20:55:23 UTC

svn commit: r1695152 - in /uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta: action/ condition/ expression/bool/ expression/list/ expression/number/

Author: pkluegl
Date: Mon Aug 10 18:55:22 2015
New Revision: 1695152

URL: http://svn.apache.org/r1695152
Log:
UIMA-4472
- added some missing content for feature matches

Modified:
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/DynamicAnchoringAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MatchedTextAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MergeAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java Mon Aug 10 18:55:22 2015
@@ -68,6 +68,7 @@ public abstract class AbstractMarkAction
     }
     int last = Integer.MAX_VALUE - 1;
     for (INumberExpression each : list) {
+      // no feature matches allowed
       int value = each.getIntegerValue(element.getParent(), null, stream);
       for (int i = Math.min(value, last + 1); i < value; i++) {
         indexList.add(i);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java Mon Aug 10 18:55:22 2015
@@ -91,6 +91,7 @@ public class CreateAction extends Abstra
     }
     int last = Integer.MAX_VALUE - 1;
     for (INumberExpression each : indexes) {
+      // no feature matches allowed
       int value = each.getIntegerValue(element.getParent(), null, stream);
       for (int i = Math.min(value, last + 1); i < value; i++) {
         indexList.add(i);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/DynamicAnchoringAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/DynamicAnchoringAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/DynamicAnchoringAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/DynamicAnchoringAction.java Mon Aug 10 18:55:22 2015
@@ -46,14 +46,14 @@ public class DynamicAnchoringAction exte
   @Override
   public void execute(RuleMatch match, RuleElement element, RutaStream stream, InferenceCrowd crowd) {
     RutaBlock parent = element.getParent();
-    boolean activated = active.getBooleanValue(parent, null, stream);
+    boolean activated = active.getBooleanValue(parent, match, element, stream);
     stream.setDynamicAnchoring(activated);
     if (panelty != null) {
-      double p = panelty.getDoubleValue(parent, null, stream);
+      double p = panelty.getDoubleValue(parent, match, element, stream);
       stream.setIndexPenalty(p);
     }
     if (factor != null) {
-      double f = factor.getDoubleValue(parent, null, stream);
+      double f = factor.getDoubleValue(parent, match, element, stream);
       stream.setAnchoringFactor(f);
     }
   }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java Mon Aug 10 18:55:22 2015
@@ -216,6 +216,7 @@ public class GatherAction extends Abstra
     }
     int last = Integer.MAX_VALUE - 1;
     for (INumberExpression each : indexes) {
+      // no feature matches allowed
       int value = each.getIntegerValue(element.getParent(), null, stream);
       for (int i = Math.min(value, last + 1); i < value; i++) {
         indexList.add(i);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java Mon Aug 10 18:55:22 2015
@@ -56,7 +56,7 @@ public class MarkAction extends Abstract
       if (score == null) {
         createAnnotation(matchedAnnotation, element, stream, match);
       } else {
-        double deltaScore = score.getDoubleValue(element.getParent(), null, stream);
+        double deltaScore = score.getDoubleValue(element.getParent(), match, element, stream);
         updateHeuristicAnnotation(match, element, stream, matchedAnnotation, deltaScore);
       }
     }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java Mon Aug 10 18:55:22 2015
@@ -91,13 +91,13 @@ public class MarkTableAction extends Abs
     }
 
     boolean ignoreCaseValue = ignoreCase != null ? ignoreCase.getBooleanValue(element.getParent(),
-            null, stream) : false;
+            match, element, stream) : false;
     int ignoreLengthValue = ignoreLength != null ? ignoreLength.getIntegerValue(
-            element.getParent(), null, stream) : 0;
+            element.getParent(), match, element, stream) : 0;
     String ignoreCharValue = ignoreChar != null ? ignoreChar.getStringValue(element.getParent(),
-            null, stream) : "";
+            match, element, stream) : "";
     int maxIgnoreCharValue = maxIgnoreChar != null ? maxIgnoreChar.getIntegerValue(
-            element.getParent(), null, stream) : 0;
+            element.getParent(), match, element, stream) : 0;
 
     RutaWordList wordList = table.getWordList(index, element.getParent());
     Collection<AnnotationFS> found = wordList.find(stream, ignoreCaseValue, ignoreLengthValue,

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MatchedTextAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MatchedTextAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MatchedTextAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MatchedTextAction.java Mon Aug 10 18:55:22 2015
@@ -69,6 +69,7 @@ public class MatchedTextAction extends A
     }
     int last = Integer.MAX_VALUE - 1;
     for (INumberExpression each : list) {
+      // not allowed for feature matches
       int value = each.getIntegerValue(element.getParent(), null, stream);
       for (int i = Math.min(value, last + 1); i < value; i++) {
         indexList.add(i);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MergeAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MergeAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MergeAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MergeAction.java Mon Aug 10 18:55:22 2015
@@ -50,7 +50,7 @@ public class MergeAction extends Abstrac
   @SuppressWarnings({ "unchecked", "rawtypes" })
   @Override
   public void execute(RuleMatch match, RuleElement element, RutaStream stream, InferenceCrowd crowd) {
-    boolean union = unionExpr.getBooleanValue(element.getParent(), null, stream);
+    boolean union = unionExpr.getBooleanValue(element.getParent(), match, element, stream);
     List<Object> list = new ArrayList<Object>();
     if (union) {
       for (ListExpression<Object> each : lists) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java Mon Aug 10 18:55:22 2015
@@ -61,19 +61,19 @@ public class RemoveAction extends Abstra
     List list = parent.getEnvironment().getVariableValue(var, List.class);
     List<Object> toRemove = new ArrayList<Object>();
     for (Object entry : list) {
-      Object value1 = getValue(entry, parent, stream);
+      Object value1 = getValue(entry, parent, stream, match, element);
       for (IRutaExpression arg : elements) {
         if (arg instanceof ListExpression) {
           ListExpression l = (ListExpression) arg;
           List list2 = l.getList(parent, stream);
           for (Object object : list2) {
-            Object value2 = getValue(object, parent, stream);
+            Object value2 = getValue(object, parent, stream, match, element);
             if (value1.equals(value2)) {
               toRemove.add(entry);
             }
           }
         } else {
-          Object value2 = getValue(arg, parent, stream);
+          Object value2 = getValue(arg, parent, stream, match, element);
           if (value1.equals(value2)) {
             toRemove.add(entry);
           }
@@ -86,15 +86,15 @@ public class RemoveAction extends Abstra
     parent.getEnvironment().setVariableValue(var, list);
   }
 
-  private Object getValue(Object obj, RutaBlock parent, RutaStream stream) {
+  private Object getValue(Object obj, RutaBlock parent, RutaStream stream, RuleMatch match, RuleElement element) {
     if (obj instanceof INumberExpression) {
-      return ((INumberExpression) obj).getDoubleValue(parent, null, stream);
+      return ((INumberExpression) obj).getDoubleValue(parent, match, element, stream);
     } else if (obj instanceof IBooleanExpression) {
-      return ((IBooleanExpression) obj).getBooleanValue(parent, null, stream);
+      return ((IBooleanExpression) obj).getBooleanValue(parent, match, element, stream);
     } else if (obj instanceof TypeExpression) {
       return ((TypeExpression) obj).getType(parent);
     } else if (obj instanceof IStringExpression) {
-      return ((IStringExpression) obj).getStringValue(parent, null, stream);
+      return ((IStringExpression) obj).getStringValue(parent, match, element, stream);
     }
     return null;
   }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java Mon Aug 10 18:55:22 2015
@@ -54,7 +54,7 @@ public class RemoveDuplicateAction exten
     Collection<Object> values = new HashSet<Object>();
     List<Object> result = new ArrayList<Object>();
     for (Object each : list) {
-      Object obj = getValue(each, element.getParent(), stream);
+      Object obj = getValue(each, element.getParent(), stream, match, element);
       if (!values.contains(obj)) {
         result.add(each);
         values.add(obj);
@@ -65,15 +65,15 @@ public class RemoveDuplicateAction exten
 
   }
 
-  private Object getValue(Object obj, RutaBlock parent, RutaStream stream) {
+  private Object getValue(Object obj, RutaBlock parent, RutaStream stream, RuleMatch match, RuleElement element) {
     if (obj instanceof INumberExpression) {
-      return ((INumberExpression) obj).getDoubleValue(parent, null, stream);
+      return ((INumberExpression) obj).getDoubleValue(parent, match, element, stream);
     } else if (obj instanceof IBooleanExpression) {
-      return ((IBooleanExpression) obj).getBooleanValue(parent, null, stream);
+      return ((IBooleanExpression) obj).getBooleanValue(parent, match, element, stream);
     } else if (obj instanceof TypeExpression) {
       return ((TypeExpression) obj).getType(parent);
     } else if (obj instanceof IStringExpression) {
-      return ((IStringExpression) obj).getStringValue(parent, null, stream);
+      return ((IStringExpression) obj).getStringValue(parent, match, element, stream);
     }
     return null;
   }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java Mon Aug 10 18:55:22 2015
@@ -51,7 +51,7 @@ public class UnmarkAction extends TypeSe
     Type t = type.getType(element.getParent());
     boolean allAtAnchor = false;
     if (allAnchor != null) {
-      allAtAnchor = allAnchor.getBooleanValue(element.getParent(), null, stream);
+      allAtAnchor = allAnchor.getBooleanValue(element.getParent(), match, element, stream);
     }
     List<Integer> indexList = getIndexList(element, list, stream);
     List<AnnotationFS> matchedAnnotations = match.getMatchedAnnotations(indexList,
@@ -95,6 +95,7 @@ public class UnmarkAction extends TypeSe
     }
     int last = Integer.MAX_VALUE - 1;
     for (INumberExpression each : list) {
+      // not allowed for feature matches
       int value = each.getIntegerValue(element.getParent(), null, stream);
       for (int i = Math.min(value, last + 1); i < value; i++) {
         indexList.add(i);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java Mon Aug 10 18:55:22 2015
@@ -130,7 +130,7 @@ public class ContainsCondition extends T
       }
       anchorCount = basicCount;
     }
-    if (percent.getBooleanValue(element.getParent(), null, stream)) {
+    if (percent.getBooleanValue(element.getParent(), annotation, stream)) {
       double percentValue = 0;
       if (totalCount != 0) {
         percentValue = (((double) basicCount) / ((double) totalCount)) * 100;

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java Mon Aug 10 18:55:22 2015
@@ -47,7 +47,7 @@ public class ReferenceBooleanExpression
 
   @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
-    return getBooleanValue(parent, null, stream) ? "true" : "false";
+    return getBooleanValue(parent, annotation, stream) ? "true" : "false";
   }
 
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java Mon Aug 10 18:55:22 2015
@@ -43,7 +43,7 @@ public class SimpleBooleanExpression ext
 
   @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
-    return getBooleanValue(parent, null, stream) ? "true" : "false";
+    return getBooleanValue(parent, annotation, stream) ? "true" : "false";
   }
 
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java Mon Aug 10 18:55:22 2015
@@ -40,8 +40,8 @@ public class SimpleBooleanFunction exten
 
   @Override
   public boolean getBooleanValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
-    boolean b1 = e1.getBooleanValue(parent, null, stream);
-    boolean b2 = e2.getBooleanValue(parent, null, stream);
+    boolean b1 = e1.getBooleanValue(parent, annotation, stream);
+    boolean b2 = e2.getBooleanValue(parent, annotation, stream);
     if ("XOR".equals(op)) {
       return (b1 || b2) && !(b1 && b2);
     } else if ("==".equals(op)) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java Mon Aug 10 18:55:22 2015
@@ -42,6 +42,7 @@ public class ReferenceBooleanListExpress
     List<Boolean> result = new ArrayList<Boolean>();
     for (Object each : list) {
       if (each instanceof IBooleanExpression) {
+        // TODO support arrays
         result.add(((IBooleanExpression) each).getBooleanValue(parent, null, stream));
       } else if (each instanceof Boolean) {
         result.add((Boolean) each);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java Mon Aug 10 18:55:22 2015
@@ -42,6 +42,7 @@ public class ReferenceNumberListExpressi
     List<Number> result = new ArrayList<Number>();
     for (Object each : list) {
       if (each instanceof INumberExpression) {
+     // TODO support arrays
         result.add(((INumberExpression) each).getDoubleValue(parent, null, stream));
       } else if (each instanceof Number) {
         result.add((Number) each);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java Mon Aug 10 18:55:22 2015
@@ -42,6 +42,7 @@ public class ReferenceStringListExpressi
     List<String> result = new ArrayList<String>();
     for (Object each : list) {
       if (each instanceof AbstractStringExpression) {
+     // TODO support arrays
         result.add(((AbstractStringExpression) each).getStringValue(parent, null, stream));
       } else if (each instanceof String) {
         result.add((String) each);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java Mon Aug 10 18:55:22 2015
@@ -39,6 +39,7 @@ public class SimpleBooleanListExpression
   public List<Boolean> getList(RutaBlock parent, RutaStream stream) {
     List<Boolean> result = new ArrayList<Boolean>();
     for (IBooleanExpression each : list) {
+   // TODO support arrays
       result.add(each.getBooleanValue(parent, null, stream));
     }
     return result;

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java Mon Aug 10 18:55:22 2015
@@ -39,6 +39,7 @@ public class SimpleNumberListExpression
   public List<Number> getList(RutaBlock parent, RutaStream stream) {
     List<Number> result = new ArrayList<Number>();
     for (INumberExpression each : list) {
+   // TODO support arrays
       result.add(each.getDoubleValue(parent, null, stream));
     }
     return result;

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java Mon Aug 10 18:55:22 2015
@@ -39,6 +39,7 @@ public class SimpleStringListExpression
   public List<String> getList(RutaBlock parent, RutaStream stream) {
     List<String> result = new ArrayList<String>();
     for (IStringExpression each : list) {
+   // TODO support arrays
       result.add(each.getStringValue(parent, null, stream));
     }
     return result;

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java Mon Aug 10 18:55:22 2015
@@ -43,6 +43,7 @@ public class UntypedListExpression exten
   public List<Object> getList(RutaBlock parent, RutaStream stream) {
     List<Object> result = new ArrayList<Object>();
     for (IRutaExpression each : list) {
+   // TODO support arrays
       if (each instanceof AbstractBooleanExpression) {
         result.add(((AbstractBooleanExpression) each).getBooleanValue(parent, null, stream));
       } else if (each instanceof AbstractNumberExpression) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java Mon Aug 10 18:55:22 2015
@@ -83,7 +83,7 @@ public class ComposedNumberExpression ex
 
   @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
-    return "" + getDoubleValue(parent, null, stream);
+    return "" + getDoubleValue(parent, annotation, stream);
   }
 
   public List<INumberExpression> getExpressions() {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java Mon Aug 10 18:55:22 2015
@@ -62,9 +62,9 @@ public class ReferenceNumberExpression e
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     Class<?> variableType = parent.getEnvironment().getVariableType(getVar());
     if (variableType.equals(Integer.class)) {
-      return "" + getIntegerValue(parent, null, stream);
+      return "" + getIntegerValue(parent, annotation, stream);
     } else {
-      return "" + getDoubleValue(parent, null, stream);
+      return "" + getDoubleValue(parent, annotation, stream);
     }
   }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java?rev=1695152&r1=1695151&r2=1695152&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java Mon Aug 10 18:55:22 2015
@@ -51,9 +51,9 @@ public class SimpleNumberExpression exte
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     boolean floating = number.intValue() != number.doubleValue();
     if (floating) {
-      return "" + getDoubleValue(parent, null, stream);
+      return "" + getDoubleValue(parent, annotation, stream);
     } else {
-      return "" + getIntegerValue(parent, null, stream);
+      return "" + getIntegerValue(parent, annotation, stream);
     }
   }