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 2016/08/25 09:24:32 UTC
svn commit: r1757638 - in /uima/ruta/trunk/ruta-core/src:
main/antlr3/org/apache/uima/ruta/parser/ main/java/org/apache/uima/ruta/
main/java/org/apache/uima/ruta/action/
main/java/org/apache/uima/ruta/condition/
main/java/org/apache/uima/ruta/expressio...
Author: pkluegl
Date: Thu Aug 25 09:24:32 2016
New Revision: 1757638
URL: http://svn.apache.org/viewvc?rev=1757638&view=rev
Log:
UIMA-4623
- allow string expression for initial values of word list/table
- added tests
- fixed foreach composed test
Added:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordListExpression.java (with props)
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordTableExpression.java (with props)
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordListStringExpressionTest.java (with props)
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java (with props)
Modified:
uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.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/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/TrieAction.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java
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/annotation/AnnotationListVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableIndexExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordListExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordTableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordListExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordTableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordListExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordTableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordListExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordTableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeListVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java
Modified: uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g (original)
+++ uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g Thu Aug 25 09:24:32 2016
@@ -543,13 +543,13 @@ List<String> vars = new ArrayList<String
|
type = WORDLIST
{!isVariableOfType($blockDeclaration::env, input.LT(1).getText(), type.getText())}?
- name = Identifier (ASSIGN_EQUAL list = wordListExpression)?
+ name = Identifier (ASSIGN_EQUAL list = wordListOrStringExpression)?
{addVariable($blockDeclaration::env, name.getText(), type.getText());if(list != null){setValue($blockDeclaration::env, name.getText(), list);}}
SEMI
|
type = WORDTABLE
{!isVariableOfType($blockDeclaration::env, input.LT(1).getText(), type.getText())}?
- name = Identifier (ASSIGN_EQUAL table = wordTableExpression)?
+ name = Identifier (ASSIGN_EQUAL table = wordTableOrStringExpression)?
{addVariable($blockDeclaration::env, name.getText(), type.getText());if(table != null){setValue($blockDeclaration::env, name.getText(), table);}}
SEMI
|
@@ -2507,13 +2507,21 @@ List<IStringExpression> args = new Array
RESOURCE LPAREN name = dottedId (COMMA arg = stringExpression {args.add(arg);} )* RPAREN
{expr = ExpressionFactory.createExternalWordListExpression(name, args);}
|
- id = Identifier
- {expr = ExpressionFactory.createReferenceWordListExpression(id);}
- |
path = RessourceLiteral
{expr = ExpressionFactory.createLiteralWordListExpression(path);}
+ |
+ id = Identifier
+ {expr = ExpressionFactory.createReferenceWordListExpression(id);}
;
+wordListOrStringExpression returns [WordListExpression expr = null]
+ :
+ (stringExpression)=> string = stringExpression
+ {expr = ExpressionFactory.createStringWordListExpression(string);}
+ |
+ e = wordListExpression
+ {expr = e;}
+ ;
wordTableExpression returns [WordTableExpression expr = null]
@init {
@@ -2523,11 +2531,21 @@ List<IStringExpression> args = new Array
RESOURCE LPAREN name = dottedId (COMMA arg = stringExpression {args.add(arg);} )* RPAREN
{expr = ExpressionFactory.createExternalWordTableExpression(name, args);}
|
+ path = RessourceLiteral
+ {expr = ExpressionFactory.createLiteralWordTableExpression(path);}
+ |
id = Identifier
{expr = ExpressionFactory.createReferenceWordTableExpression(id);}
+ ;
+
+wordTableOrStringExpression returns [WordTableExpression expr = null]
+ :
+ (stringExpression)=>string = stringExpression
+ {expr = ExpressionFactory.createStringWordTableExpression(string);}
+ |
+ e = wordTableExpression
+ {expr = e;}
|
- path = RessourceLiteral
- {expr = ExpressionFactory.createLiteralWordTableExpression(path);}
;
// not checked
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java Thu Aug 25 09:24:32 2016
@@ -62,6 +62,8 @@ import org.apache.uima.ruta.expression.n
import org.apache.uima.ruta.expression.number.SimpleNumberListExpression;
import org.apache.uima.ruta.expression.resource.LiteralWordListExpression;
import org.apache.uima.ruta.expression.resource.LiteralWordTableExpression;
+import org.apache.uima.ruta.expression.resource.StringWordListExpression;
+import org.apache.uima.ruta.expression.resource.StringWordTableExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.expression.resource.WordTableExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
@@ -680,7 +682,7 @@ public class RutaEnvironment {
public RutaTable getWordTable(String table) {
RutaTable result = tables.get(table);
if (result == null) {
- if (table.endsWith("csv")) {
+ if (table.endsWith("csv") || table.endsWith("txt") || table.endsWith("tsv")) {
ResourceLoader resourceLoader = new RutaResourceLoader(getResourcePaths());
Resource resource = resourceLoader.getResource(table);
if (resource.exists()) {
@@ -818,7 +820,7 @@ public class RutaEnvironment {
return null;
}
- public <T> T getVariableValue(String name, Class<T> type) {
+ public <T> T getVariableValue(String name, Class<T> type, RutaStream stream) {
if (variableAliases.containsKey(name)) {
name = variableAliases.get(name);
}
@@ -855,23 +857,23 @@ public class RutaEnvironment {
MatchContext context = new MatchContext(owner);
if (RutaWordList.class.isAssignableFrom(type) && result instanceof WordListExpression) {
WordListExpression wle = (WordListExpression) result;
- RutaWordList list = wle.getList(context);
+ RutaWordList list = wle.getList(context, stream);
return type.cast(list);
} else if (RutaTable.class.isAssignableFrom(type) && result instanceof WordTableExpression) {
WordTableExpression wte = (WordTableExpression) result;
- RutaTable table = wte.getTable(context);
+ RutaTable table = wte.getTable(context, stream);
return type.cast(table);
} else {
return type.cast(result);
}
} else if (owner.getParent() != null) {
- return owner.getParent().getEnvironment().getVariableValue(name, type);
+ return owner.getParent().getEnvironment().getVariableValue(name, type, stream);
}
return null;
}
- public Object getVariableValue(String name) {
- return getVariableValue(name, Object.class);
+ public Object getVariableValue(String name, RutaStream stream) {
+ return getVariableValue(name, Object.class, stream);
}
@SuppressWarnings("rawtypes")
@@ -899,10 +901,14 @@ public class RutaEnvironment {
}
if (clazz.equals(RutaWordList.class) && value instanceof LiteralWordListExpression) {
return value;
+ } else if (clazz.equals(RutaWordList.class) && value instanceof StringWordListExpression) {
+ return value;
} else if (clazz.equals(RutaWordList.class) && value instanceof String) {
return value;
} else if (clazz.equals(RutaTable.class) && value instanceof LiteralWordTableExpression) {
return value;
+ } else if (clazz.equals(RutaTable.class) && value instanceof StringWordTableExpression) {
+ return value;
} else if (clazz.equals(RutaTable.class) && value instanceof String) {
return value;
} else if (clazz.equals(List.class) && value instanceof ListExpression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java Thu Aug 25 09:24:32 2016
@@ -63,7 +63,7 @@ public class AddAction extends AbstractR
RuleElement element = context.getElement();
RutaBlock parent = element.getParent();
RutaEnvironment environment = parent.getEnvironment();
- List list = environment.getVariableValue(var, List.class);
+ List list = environment.getVariableValue(var, List.class, stream);
// Class<?> vtype = environment.getVariableType(var);
Class<?> vgtype = environment.getVariableGenericType(var);
for (IRutaExpression each : elements) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java Thu Aug 25 09:24:32 2016
@@ -80,7 +80,7 @@ public class MarkFastAction extends Abst
RutaWordList wl = null;
element.getParent();
if (list != null) {
- wl = list.getList(context);
+ wl = list.getList(context, stream);
} else if (stringList != null) {
wl = new TreeWordList(stringList.getList(context, stream), false);
}
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=1757638&r1=1757637&r2=1757638&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 Thu Aug 25 09:24:32 2016
@@ -90,7 +90,10 @@ public class MarkTableAction extends Abs
RuleMatch match = context.getRuleMatch();
RuleElement element = context.getElement();
element.getParent();
- RutaTable table = tableExpr.getTable(context);
+ RutaTable table = tableExpr.getTable(context, stream);
+ if(table == null) {
+ return;
+ }
int index = indexExpr.getIntegerValue(context, stream);
Type type = typeExpr.getType(context, stream);
Map<String, Integer> map = new HashMap<String, Integer>();
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=1757638&r1=1757637&r2=1757638&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 Thu Aug 25 09:24:32 2016
@@ -62,7 +62,7 @@ public class RemoveAction extends Abstra
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
RuleElement element = context.getElement();
RutaBlock parent = element.getParent();
- List list = parent.getEnvironment().getVariableValue(var, List.class);
+ List list = parent.getEnvironment().getVariableValue(var, List.class, stream);
Class<?> vgtype = parent.getEnvironment().getVariableGenericType(var);
List<Object> toRemove = new ArrayList<Object>();
for (Object entry : list) {
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=1757638&r1=1757637&r2=1757638&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 Thu Aug 25 09:24:32 2016
@@ -50,7 +50,7 @@ public class RemoveDuplicateAction exten
@Override
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
RuleElement element = context.getElement();
- List list = element.getParent().getEnvironment().getVariableValue(var, List.class);
+ List list = element.getParent().getEnvironment().getVariableValue(var, List.class, stream);
Collection<Object> values = new HashSet<Object>();
List<Object> result = new ArrayList<Object>();
for (Object each : list) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java Thu Aug 25 09:24:32 2016
@@ -92,7 +92,7 @@ public class TrieAction extends Abstract
double distanceValue = distance.getDoubleValue(context, stream);
String ignoreCharValue = ignoreChar.getStringValue(context, stream);
- RutaWordList wl = list.getList(context);
+ RutaWordList wl = list.getList(context, stream);
if (wl != null) {
Collection<AnnotationFS> found = wl.find(stream, typeMap, ignoreCaseValue, ignoreLengthValue,
editValue, distanceValue, ignoreCharValue);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java Thu Aug 25 09:24:32 2016
@@ -62,7 +62,7 @@ public class InListCondition extends Ter
return new EvaluatedCondition(this, false);
}
if (stringList == null) {
- RutaWordList wordList = listExpr.getList(context);
+ RutaWordList wordList = listExpr.getList(context, stream);
return new EvaluatedCondition(this, wordList.contains(text, false, 0, null, 0, true));
}
List<String> sList = stringList.getList(context, stream);
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=1757638&r1=1757637&r2=1757638&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 Thu Aug 25 09:24:32 2016
@@ -69,6 +69,8 @@ import org.apache.uima.ruta.expression.r
import org.apache.uima.ruta.expression.resource.LiteralWordTableExpression;
import org.apache.uima.ruta.expression.resource.ReferenceWordListExpression;
import org.apache.uima.ruta.expression.resource.ReferenceWordTableExpression;
+import org.apache.uima.ruta.expression.resource.StringWordListExpression;
+import org.apache.uima.ruta.expression.resource.StringWordTableExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.expression.resource.WordTableExpression;
import org.apache.uima.ruta.expression.string.AbstractStringExpression;
@@ -217,6 +219,14 @@ public class ExpressionFactory {
public static WordTableExpression createLiteralWordTableExpression(Token path) {
return new LiteralWordTableExpression(path.getText());
}
+
+ public static WordListExpression createStringWordListExpression(IStringExpression expr) {
+ return new StringWordListExpression(expr);
+ }
+
+ public static WordTableExpression createStringWordTableExpression(IStringExpression expr) {
+ return new StringWordTableExpression(expr);
+ }
public static IBooleanExpression createBooleanTypeExpression(ITypeExpression e1, Token op,
ITypeExpression e2) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -40,7 +40,7 @@ public class AnnotationListVariableExpre
public List<AnnotationFS> getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
@SuppressWarnings("unchecked")
- List<AnnotationFS> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<AnnotationFS> list = parent.getEnvironment().getVariableValue(var, List.class, stream);
return list;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableIndexExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableIndexExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableIndexExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListVariableIndexExpression.java Thu Aug 25 09:24:32 2016
@@ -46,7 +46,7 @@ private String var;
public AnnotationFS getAnnotation(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
@SuppressWarnings("unchecked")
- List<AnnotationFS> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<AnnotationFS> list = parent.getEnvironment().getVariableValue(var, List.class, stream);
if(list != null && index >= 0 && index < list.size()) {
return list.get(index);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -41,7 +41,7 @@ private String var;
@Override
public AnnotationFS getAnnotation(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- AnnotationFS variableValue = parent.getEnvironment().getVariableValue(var, AnnotationFS.class);
+ AnnotationFS variableValue = parent.getEnvironment().getVariableValue(var, AnnotationFS.class, stream);
return variableValue;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -39,7 +39,7 @@ public class BooleanListVariableExpressi
@Override
public List<Boolean> getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class, stream);
List<Boolean> result = new ArrayList<Boolean>();
for (Object each : list) {
if (each instanceof IBooleanExpression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -35,7 +35,7 @@ public class BooleanVariableExpression e
@Override
public boolean getBooleanValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- Boolean variableValue = parent.getEnvironment().getVariableValue(var, Boolean.class);
+ Boolean variableValue = parent.getEnvironment().getVariableValue(var, Boolean.class, stream);
if (variableValue == null) {
return false;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -39,7 +39,7 @@ public class NumberListVariableExpressio
@Override
public List<Number> getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class, stream);
List<Number> result = new ArrayList<Number>();
for (Object each : list) {
if (each instanceof INumberExpression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -34,7 +34,7 @@ public class NumberVariableExpression ex
public double getDoubleValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- Object value = parent.getEnvironment().getVariableValue(getVar());
+ Object value = parent.getEnvironment().getVariableValue(getVar(), stream);
double variableValue = 0;
if (value instanceof Number) {
variableValue = ((Number) value).doubleValue();
@@ -44,7 +44,7 @@ public class NumberVariableExpression ex
public float getFloatValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- Object value = parent.getEnvironment().getVariableValue(getVar());
+ Object value = parent.getEnvironment().getVariableValue(getVar(), stream);
float variableValue = 0;
if (value instanceof Number) {
variableValue = ((Number) value).floatValue();
@@ -54,7 +54,7 @@ public class NumberVariableExpression ex
public int getIntegerValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- Object value = parent.getEnvironment().getVariableValue(getVar());
+ Object value = parent.getEnvironment().getVariableValue(getVar(), stream);
int variableValue = 0;
if (value instanceof Number) {
variableValue = ((Number) value).intValue();
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordListExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordListExpression.java Thu Aug 25 09:24:32 2016
@@ -22,6 +22,7 @@ package org.apache.uima.ruta.expression.
import java.util.ArrayList;
import java.util.List;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.MatchContext;
@@ -39,7 +40,7 @@ public class ExternalWordListExpression
}
@Override
- public RutaWordList getList(MatchContext context) {
+ public RutaWordList getList(MatchContext context, RutaStream stream) {
List<String> argList = new ArrayList<String>();
for (IStringExpression each : args) {
argList.add(each.getStringValue(context, null));
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordTableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordTableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ExternalWordTableExpression.java Thu Aug 25 09:24:32 2016
@@ -22,6 +22,7 @@ package org.apache.uima.ruta.expression.
import java.util.ArrayList;
import java.util.List;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.resource.RutaTable;
import org.apache.uima.ruta.rule.MatchContext;
@@ -39,7 +40,7 @@ public class ExternalWordTableExpression
}
@Override
- public RutaTable getTable(MatchContext context) {
+ public RutaTable getTable(MatchContext context, RutaStream stream) {
List<String> argList = new ArrayList<String>();
for (IStringExpression each : args) {
argList.add(each.getStringValue(context, null));
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordListExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordListExpression.java Thu Aug 25 09:24:32 2016
@@ -19,6 +19,7 @@
package org.apache.uima.ruta.expression.resource;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.block.RutaBlock;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.MatchContext;
@@ -41,7 +42,7 @@ public class LiteralWordListExpression e
}
@Override
- public RutaWordList getList(MatchContext context) {
+ public RutaWordList getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
RutaWordList list = parent.getEnvironment().getWordList(getText());
return list;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordTableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordTableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/LiteralWordTableExpression.java Thu Aug 25 09:24:32 2016
@@ -19,6 +19,7 @@
package org.apache.uima.ruta.expression.resource;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.block.RutaBlock;
import org.apache.uima.ruta.resource.RutaTable;
import org.apache.uima.ruta.rule.MatchContext;
@@ -41,7 +42,7 @@ public class LiteralWordTableExpression
}
@Override
- public RutaTable getTable(MatchContext context) {
+ public RutaTable getTable(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
RutaTable table = parent.getEnvironment().getWordTable(getText());
return table;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordListExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordListExpression.java Thu Aug 25 09:24:32 2016
@@ -19,6 +19,7 @@
package org.apache.uima.ruta.expression.resource;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.block.RutaBlock;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.MatchContext;
@@ -33,9 +34,9 @@ public class ReferenceWordListExpression
}
@Override
- public RutaWordList getList(MatchContext context) {
+ public RutaWordList getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- return parent.getEnvironment().getVariableValue(ref, RutaWordList.class);
+ return parent.getEnvironment().getVariableValue(ref, RutaWordList.class, stream);
}
public String getRef() {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordTableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordTableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/ReferenceWordTableExpression.java Thu Aug 25 09:24:32 2016
@@ -19,6 +19,7 @@
package org.apache.uima.ruta.expression.resource;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.block.RutaBlock;
import org.apache.uima.ruta.resource.RutaTable;
import org.apache.uima.ruta.rule.MatchContext;
@@ -33,9 +34,9 @@ public class ReferenceWordTableExpressio
}
@Override
- public RutaTable getTable(MatchContext context) {
+ public RutaTable getTable(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- return parent.getEnvironment().getVariableValue(ref, RutaTable.class);
+ return parent.getEnvironment().getVariableValue(ref, RutaTable.class, stream);
}
public String getRef() {
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordListExpression.java?rev=1757638&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordListExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordListExpression.java Thu Aug 25 09:24:32 2016
@@ -0,0 +1,50 @@
+/*
+ * 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.expression.resource;
+
+import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.block.RutaBlock;
+import org.apache.uima.ruta.expression.string.IStringExpression;
+import org.apache.uima.ruta.resource.RutaWordList;
+import org.apache.uima.ruta.rule.MatchContext;
+
+public class StringWordListExpression extends WordListExpression {
+
+ private final IStringExpression expression;
+
+ public StringWordListExpression(IStringExpression expression) {
+ super();
+ this.expression = expression;
+
+ }
+
+ @Override
+ public RutaWordList getList(MatchContext context, RutaStream stream) {
+ RutaBlock parent = context.getParent();
+ String stringValue = expression.getStringValue(context, stream);
+ RutaWordList list = parent.getEnvironment().getWordList(stringValue);
+ return list;
+ }
+
+ public IStringExpression getExpression() {
+ return expression;
+ }
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordListExpression.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordTableExpression.java?rev=1757638&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordTableExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordTableExpression.java Thu Aug 25 09:24:32 2016
@@ -0,0 +1,50 @@
+/*
+ * 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.expression.resource;
+
+import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.block.RutaBlock;
+import org.apache.uima.ruta.expression.string.IStringExpression;
+import org.apache.uima.ruta.resource.RutaTable;
+import org.apache.uima.ruta.rule.MatchContext;
+
+public class StringWordTableExpression extends WordTableExpression {
+
+ private final IStringExpression expression;
+
+ public StringWordTableExpression(IStringExpression expression) {
+ super();
+ this.expression = expression;
+
+ }
+
+ @Override
+ public RutaTable getTable(MatchContext context, RutaStream stream) {
+ RutaBlock parent = context.getParent();
+ String stringValue = expression.getStringValue(context, stream);
+ RutaTable table = parent.getEnvironment().getWordTable(stringValue);
+ return table;
+ }
+
+ public IStringExpression getExpression() {
+ return expression;
+ }
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/StringWordTableExpression.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordListExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordListExpression.java Thu Aug 25 09:24:32 2016
@@ -19,12 +19,13 @@
package org.apache.uima.ruta.expression.resource;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.RutaExpression;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.MatchContext;
public abstract class WordListExpression extends RutaExpression {
- public abstract RutaWordList getList(MatchContext context);
+ public abstract RutaWordList getList(MatchContext context, RutaStream stream);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordTableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordTableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/resource/WordTableExpression.java Thu Aug 25 09:24:32 2016
@@ -19,12 +19,13 @@
package org.apache.uima.ruta.expression.resource;
+import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.RutaExpression;
import org.apache.uima.ruta.resource.RutaTable;
import org.apache.uima.ruta.rule.MatchContext;
public abstract class WordTableExpression extends RutaExpression {
- public abstract RutaTable getTable(MatchContext context);
+ public abstract RutaTable getTable(MatchContext context, RutaStream stream);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java Thu Aug 25 09:24:32 2016
@@ -41,7 +41,7 @@ public class RemoveFunction extends Stri
public String getStringValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
StringBuilder result = new StringBuilder();
- String value = parent.getEnvironment().getVariableValue(var, String.class);
+ String value = parent.getEnvironment().getVariableValue(var, String.class, stream);
for (IStringExpression each : list) {
String string = each.getStringValue(context, stream);
String[] split = value.split(string);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -39,7 +39,7 @@ public class StringListVariableExpressio
@Override
public List<String> getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class, stream);
List<String> result = new ArrayList<String>();
for (Object each : list) {
if (each instanceof AbstractStringExpression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -35,7 +35,7 @@ public class StringVariableExpression ex
@Override
public String getStringValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- String variableValue = parent.getEnvironment().getVariableValue(getVar(), String.class);
+ String variableValue = parent.getEnvironment().getVariableValue(getVar(), String.class, stream);
return variableValue;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeListVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeListVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeListVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeListVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -40,7 +40,7 @@ public class TypeListVariableExpression
@Override
public List<Type> getList(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class, stream);
List<Type> result = new ArrayList<Type>();
for (Object each : list) {
if (each instanceof ITypeExpression) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java Thu Aug 25 09:24:32 2016
@@ -52,7 +52,7 @@ public class TypeVariableExpression exte
@Override
public Type getType(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
- Type type = parent.getEnvironment().getVariableValue(var, Type.class);
+ Type type = parent.getEnvironment().getVariableValue(var, Type.class, stream);
if (type == null) {
throw new IllegalArgumentException("Not able to resolve type variable: " + var);
}
Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java?rev=1757638&r1=1757637&r2=1757638&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java Thu Aug 25 09:24:32 2016
@@ -183,7 +183,7 @@ public class ForEachBlockTest {
public void testComposed() throws Exception {
String script = "NUM{-> T1};";
script += "FOREACH(t) T1{}{\n";
- script += "(t (SW NUM)* (SPECIAL NUM)?{-PARTOF(T2)}){->T2};";
+ script += "(t (SW NUM)* (SPECIAL NUM)?){-PARTOF(T2) ->T2};";
script += "}";
CAS cas = RutaTestUtils.getCAS("text 4x2^3 text");
Added: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordListStringExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordListStringExpressionTest.java?rev=1757638&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordListStringExpressionTest.java (added)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordListStringExpressionTest.java Thu Aug 25 09:24:32 2016
@@ -0,0 +1,45 @@
+/*
+ * 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.expression.resource;
+
+import org.apache.uima.cas.CAS;
+import org.apache.uima.ruta.engine.Ruta;
+import org.apache.uima.ruta.engine.RutaTestUtils;
+import org.junit.Test;
+
+public class WordListStringExpressionTest {
+
+
+ @Test
+ public void test() throws Exception {
+ String document = "1 0 0 text 2 0 0.";
+
+ String script="STRING s = \"org/apache/uima/ruta/action/\";\n";
+ script +="WORDLIST wl = s + \"MarkFastTestList.txt\";\n";
+ script +="MARKFAST(T1,wl);\n";
+
+ CAS cas = RutaTestUtils.getCAS(document);
+ Ruta.apply(cas, script);
+
+ RutaTestUtils.assertAnnotationsEquals(cas, 1, 2, "1 0 0", "2 0 0");
+
+ }
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordListStringExpressionTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java?rev=1757638&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java (added)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java Thu Aug 25 09:24:32 2016
@@ -0,0 +1,102 @@
+/*
+ * 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.expression.resource;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.FSIterator;
+import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.cas.text.AnnotationIndex;
+import org.apache.uima.ruta.engine.Ruta;
+import org.apache.uima.ruta.engine.RutaTestUtils;
+import org.apache.uima.ruta.engine.RutaTestUtils.TestFeature;
+import org.junit.Test;
+
+public class WordTableStringExpressionTest {
+
+
+ @Test
+ public void test() throws Exception {
+ String document = "Kluegl Schor Kottmann";
+
+ String script="STRING s = \"org/apache/uima/ruta/action/\";\n";
+ script +="WORDTABLE table = s + \"table.csv\";\n";
+ script +="MARKTABLE(Person, 1, table, true, 0, \"-.,\", 10, \"firstname\" = 2, \"system\" = 3);\n";
+
+ Map<String, String> complexTypes = new TreeMap<String, String>();
+ String typeName = "org.apache.uima.Person";
+ complexTypes.put(typeName, "uima.tcas.Annotation");
+
+ Map<String, List<TestFeature>> features = new TreeMap<String, List<TestFeature>>();
+ List<TestFeature> list = new ArrayList<RutaTestUtils.TestFeature>();
+ features.put(typeName, list);
+ String fn1 = "firstname";
+ list.add(new TestFeature(fn1, "", "uima.cas.String"));
+ String fn2 = "system";
+ list.add(new TestFeature(fn2, "", "uima.cas.String"));
+
+ CAS cas = RutaTestUtils.getCAS(document, complexTypes, features);
+ Ruta.apply(cas, script);
+
+ Type t = null;
+ AnnotationIndex<AnnotationFS> ai = null;
+ FSIterator<AnnotationFS> iterator = null;
+ AnnotationFS next = null;
+ String v1 = null;
+ String v2 = null;
+ t = cas.getTypeSystem().getType(typeName);
+ Feature f1 = t.getFeatureByBaseName(fn1);
+ Feature f2 = t.getFeatureByBaseName(fn2);
+ ai = cas.getAnnotationIndex(t);
+
+ assertEquals(3, ai.size());
+ iterator = ai.iterator();
+
+ next = iterator.next();
+ v1 = next.getStringValue(f1);
+ v2 = next.getStringValue(f2);
+ assertEquals("Peter", v1);
+ assertEquals("Ruta", v2);
+
+ next = iterator.next();
+ v1 = next.getStringValue(f1);
+ v2 = next.getStringValue(f2);
+ assertEquals("Marshall", v1);
+ assertEquals("UIMA", v2);
+
+ next = iterator.next();
+ v1 = next.getStringValue(f1);
+ v2 = next.getStringValue(f2);
+ assertEquals("Joern", v1);
+ assertEquals("CAS Editor", v2);
+
+ cas.release();
+
+ }
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java
------------------------------------------------------------------------------
svn:eol-style = native