UIMA-4408
- fixed tests
- renamed TypeExpression to AbstractTypeExpression, use ITypeExpression instead
git-svn-id: https://svn.apache.org/repos/asf/uima/ruta/branches/UIMA-4408@1722822 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunction.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunction.java
index 1af90d0..fccfae2 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunction.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunction.java
@@ -22,19 +22,19 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.bool.BooleanFunctionExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class ExampleBooleanFunction extends BooleanFunctionExpression {
- private final TypeExpression expr;
+ private final ITypeExpression expr;
- public ExampleBooleanFunction(TypeExpression expr) {
+ public ExampleBooleanFunction(ITypeExpression expr) {
super();
this.expr = expr;
}
- public TypeExpression getExpr() {
+ public ITypeExpression getExpr() {
return expr;
}
diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionExtension.java
index 3bee2ad..cf4f8a1 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionExtension.java
@@ -23,7 +23,7 @@
import org.apache.uima.ruta.RutaElement;
import org.apache.uima.ruta.expression.RutaExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.extensions.IRutaBooleanFunctionExtension;
import org.apache.uima.ruta.extensions.RutaParseException;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
@@ -45,11 +45,11 @@
public ExampleBooleanFunction createBooleanFunction(String name, List<RutaExpression> args)
throws RutaParseException {
- if (args == null || args.size() != 1 || !(args.get(0) instanceof TypeExpression)) {
+ if (args == null || args.size() != 1 || !(args.get(0) instanceof ITypeExpression)) {
throw new RutaParseException(
"ExampleBooleanFunction accepts only one TypeExpression as argument!");
}
- return new ExampleBooleanFunction((TypeExpression) args.get(0));
+ return new ExampleBooleanFunction((ITypeExpression) args.get(0));
}
public String verbalizeName(RutaElement element) {
diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunction.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunction.java
index e85ab82..434cabf 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunction.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunction.java
@@ -19,22 +19,21 @@
package org.apache.uima.ruta.example.extensions;
-import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.NumberFunctionExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class ExampleNumberFunction extends NumberFunctionExpression {
- private final TypeExpression expr;
+ private final ITypeExpression expr;
- public ExampleNumberFunction(TypeExpression expr) {
+ public ExampleNumberFunction(ITypeExpression expr) {
super();
this.expr = expr;
}
- public TypeExpression getExpr() {
+ public ITypeExpression getExpr() {
return expr;
}
diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionExtension.java
index 6a55903..9752bdc 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionExtension.java
@@ -24,7 +24,7 @@
import org.apache.uima.ruta.RutaElement;
import org.apache.uima.ruta.expression.RutaExpression;
import org.apache.uima.ruta.expression.number.NumberFunctionExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.extensions.IRutaNumberFunctionExtension;
import org.apache.uima.ruta.extensions.RutaParseException;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
@@ -46,10 +46,10 @@
public NumberFunctionExpression createNumberFunction(String name, List<RutaExpression> args)
throws RutaParseException {
- if (args == null || args.size() != 1 || !(args.get(0) instanceof TypeExpression)) {
+ if (args == null || args.size() != 1 || !(args.get(0) instanceof ITypeExpression)) {
throw new RutaParseException("ExampleNumberFunction accepts only one TypeExpression as argument!");
}
- return new ExampleNumberFunction((TypeExpression) args.get(0));
+ return new ExampleNumberFunction((ITypeExpression) args.get(0));
}
public String verbalizeName(RutaElement element) {
diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunction.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunction.java
index 618b968..8616c22 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunction.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunction.java
@@ -21,19 +21,19 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.string.StringFunctionExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class ExampleStringFunction extends StringFunctionExpression {
- private final TypeExpression expr;
+ private final ITypeExpression expr;
- public ExampleStringFunction(TypeExpression expr) {
+ public ExampleStringFunction(ITypeExpression expr) {
super();
this.expr = expr;
}
- public TypeExpression getExpr() {
+ public ITypeExpression getExpr() {
return expr;
}
diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionExtension.java
index 0a8e08a..f920531 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionExtension.java
@@ -23,7 +23,7 @@
import org.apache.uima.ruta.RutaElement;
import org.apache.uima.ruta.expression.RutaExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.extensions.IRutaStringFunctionExtension;
import org.apache.uima.ruta.extensions.RutaParseException;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
@@ -45,10 +45,10 @@
public ExampleStringFunction createStringFunction(String name, List<RutaExpression> args)
throws RutaParseException {
- if (args == null || args.size() != 1 || !(args.get(0) instanceof TypeExpression)) {
+ if (args == null || args.size() != 1 || !(args.get(0) instanceof ITypeExpression)) {
throw new RutaParseException("ExampleStringFunction accepts only one TypeExpression as argument!");
}
- return new ExampleStringFunction((TypeExpression) args.get(0));
+ return new ExampleStringFunction((ITypeExpression) args.get(0));
}
public String verbalizeName(RutaElement element) {
diff --git a/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/OnlyFirstBlock.java b/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/OnlyFirstBlock.java
index b1fa760..3449eaa 100644
--- a/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/OnlyFirstBlock.java
+++ b/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/OnlyFirstBlock.java
@@ -21,7 +21,6 @@
import java.util.List;
-import org.apache.uima.UimaContext;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.BlockApply;
diff --git a/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java b/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java
index 2826aae..ac9359f 100644
--- a/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java
+++ b/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java
@@ -29,17 +29,17 @@
import org.apache.uima.ruta.RutaStatement;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.condition.AbstractRutaCondition;
-import org.apache.uima.ruta.expression.MatchReference;
+import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.feature.FeatureExpression;
+import org.apache.uima.ruta.rule.ComposedRuleElementMatch;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
+import org.apache.uima.ruta.rule.RuleElementMatch;
+import org.apache.uima.ruta.rule.RuleMatch;
import org.apache.uima.ruta.rule.RutaMatcher;
import org.apache.uima.ruta.rule.RutaRule;
import org.apache.uima.ruta.rule.RutaRuleElement;
-import org.apache.uima.ruta.rule.RuleMatch;
-import org.apache.uima.ruta.rule.RuleElementMatch;
-import org.apache.uima.ruta.rule.ComposedRuleElementMatch;
import org.apache.uima.ruta.rule.RutaTypeMatcher;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -239,9 +239,8 @@
RutaMatcher matcher = ((RutaRuleElement) element).getMatcher();
if (matcher instanceof RutaTypeMatcher) {
RutaTypeMatcher rtm = (RutaTypeMatcher) matcher;
- MatchReference mr = (MatchReference) rtm.getExpression();
- FeatureExpression featureExpression = mr.getFeatureExpression(context, stream);
- if (featureExpression != null) {
+ IRutaExpression expression = rtm.getExpression();
+ if (expression instanceof FeatureExpression) {
base = matcher.match(annotation, stream, element.getParent());
}
}
diff --git a/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g b/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
index 2b5cfed..9a78124 100644
--- a/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
+++ b/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
@@ -83,7 +83,7 @@
import org.apache.uima.ruta.expression.resource.WordTableExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.string.StringFunctionFactory;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.extensions.RutaExternalFactory;
import org.apache.uima.ruta.extensions.RutaParseRuntimeException;
import org.apache.uima.ruta.rule.AbstractRuleElement;
@@ -763,7 +763,7 @@
}
@init{
//RegExpRule rer = null;
- Map<TypeExpression, IRutaExpression> map = new HashMap<TypeExpression, IRutaExpression>();
+ Map<ITypeExpression, IRutaExpression> map = new HashMap<ITypeExpression, IRutaExpression>();
}
:
@@ -787,8 +787,8 @@
regexpRule returns [RegExpRule stmt = null]
@init{
- Map<TypeExpression, INumberExpression> map = new HashMap<TypeExpression, INumberExpression>();
- Map<TypeExpression, Map<IStringExpression, IRutaExpression>> fa = new HashMap<TypeExpression, Map<IStringExpression, IRutaExpression>>();
+ Map<ITypeExpression, INumberExpression> map = new HashMap<ITypeExpression, INumberExpression>();
+ Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> fa = new HashMap<ITypeExpression, Map<IStringExpression, IRutaExpression>>();
Map<IStringExpression, IRutaExpression> fmap = null;
}
:
@@ -1138,7 +1138,7 @@
simpleTypeListExpression returns [TypeListExpression expr = null]
@init{
- List<TypeExpression> list = new ArrayList<TypeExpression>();
+ List<ITypeExpression> list = new ArrayList<ITypeExpression>();
} :
LCURLY (e = simpleTypeExpression {list.add(e);} (COMMA e = simpleTypeExpression {list.add(e);})*)? RCURLY
{expr = ExpressionFactory.createTypeListExpression(list);}
@@ -1163,7 +1163,7 @@
{mr = ExpressionFactory.createMatchReference(ref);}
;
-typeExpression returns [TypeExpression type = null]
+typeExpression returns [ITypeExpression type = null]
options {
backtrack = true;
}
@@ -1174,13 +1174,13 @@
// not checked
-typeFunction returns [TypeExpression expr = null]
+typeFunction returns [ITypeExpression expr = null]
:
(e = externalTypeFunction)=> e = externalTypeFunction {expr = e;}
;
// not checked
-externalTypeFunction returns [TypeExpression expr = null]
+externalTypeFunction returns [ITypeExpression expr = null]
:
{isTypeFunctionExtension(input.LT(1).getText())}?
id = Identifier LPAREN
@@ -1190,7 +1190,7 @@
}
;
-simpleTypeExpression returns [TypeExpression type = null]
+simpleTypeExpression returns [ITypeExpression type = null]
:
{isVariableOfType($blockDeclaration::env,input.LT(1).getText(), "TYPE")}? var = Identifier
{type = ExpressionFactory.createReferenceTypeExpression(var);}
@@ -1209,7 +1209,7 @@
featureExpression returns [FeatureExpression feat = null]
@init{
List<Token> fs = new ArrayList<Token>();
-TypeExpression te = null;
+ITypeExpression te = null;
}
:
match = dottedId2
@@ -1268,15 +1268,15 @@
;
-//typeExpressionOr returns [TypeExpression type = null]
-//@init {List<TypeExpression> exprs = new ArrayList<TypeExpression>();}
+//typeExpressionOr returns [ITypeExpression type = null]
+//@init {List<ITypeExpression> exprs = new ArrayList<ITypeExpression>();}
// :
// LBRACK e = typeExpressionAnd{exprs.add(e);} ( COMMA e = typeExpressionAnd{exprs.add(e);} )* RBRACK
// {type = ExpressionFactory.createOrTypeExpression(exprs);}
// ;
-//typeExpressionAnd returns [TypeExpression type = null]
-//@init {List<TypeExpression> exprs = new ArrayList<TypeExpression>();}
+//typeExpressionAnd returns [ITypeExpression type = null]
+//@init {List<ITypeExpression> exprs = new ArrayList<ITypeExpression>();}
// :
// LBRACK e = simpleTypeExpression{exprs.add(e);} ( SEMI e = simpleTypeExpression{exprs.add(e);} )* RBRACK
// {type = ExpressionFactory.createAndTypeExpression(exprs);}
@@ -1880,7 +1880,7 @@
actionRetainType returns [AbstractRutaAction action = null]
@init {
-List<TypeExpression> list = new ArrayList<TypeExpression>();
+List<ITypeExpression> list = new ArrayList<ITypeExpression>();
}
:
RETAINTYPE (LPAREN id = typeExpression {list.add(id);} (COMMA id = typeExpression {list.add(id);})* RPAREN)?
@@ -1891,7 +1891,7 @@
actionFilterType returns [AbstractRutaAction action = null]
@init {
-List<TypeExpression> list = new ArrayList<TypeExpression>();
+List<ITypeExpression> list = new ArrayList<ITypeExpression>();
}
:
FILTERTYPE (LPAREN id = typeExpression {list.add(id);} (COMMA id = typeExpression {list.add(id);})* RPAREN)?
@@ -1988,7 +1988,7 @@
actionTrim returns [AbstractRutaAction action = null]
@init {
- List<TypeExpression> types = new ArrayList<TypeExpression>();
+ List<ITypeExpression> types = new ArrayList<ITypeExpression>();
}
:
name = TRIM LPAREN
@@ -2133,7 +2133,7 @@
actionAddRetainType returns [AbstractRutaAction action = null]
@init {
-List<TypeExpression> list = new ArrayList<TypeExpression>();
+List<ITypeExpression> list = new ArrayList<ITypeExpression>();
}
:
ADDRETAINTYPE (LPAREN id = typeExpression {list.add(id);} (COMMA id = typeExpression {list.add(id);})* RPAREN)
@@ -2142,7 +2142,7 @@
actionRemoveRetainType returns [AbstractRutaAction action = null]
@init {
-List<TypeExpression> list = new ArrayList<TypeExpression>();
+List<ITypeExpression> list = new ArrayList<ITypeExpression>();
}
:
REMOVERETAINTYPE (LPAREN id = typeExpression {list.add(id);} (COMMA id = typeExpression {list.add(id);})* RPAREN)
@@ -2151,7 +2151,7 @@
actionAddFilterType returns [AbstractRutaAction action = null]
@init {
-List<TypeExpression> list = new ArrayList<TypeExpression>();
+List<ITypeExpression> list = new ArrayList<ITypeExpression>();
}
:
ADDFILTERTYPE (LPAREN id = typeExpression {list.add(id);} (COMMA id = typeExpression {list.add(id);})* RPAREN)
@@ -2160,7 +2160,7 @@
actionRemoveFilterType returns [AbstractRutaAction action = null]
@init {
-List<TypeExpression> list = new ArrayList<TypeExpression>();
+List<ITypeExpression> list = new ArrayList<ITypeExpression>();
}
:
REMOVEFILTERTYPE (LPAREN id = typeExpression {list.add(id);} (COMMA id = typeExpression {list.add(id);})* RPAREN)
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java b/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
index 662ef6c..73d7258 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
@@ -46,6 +46,7 @@
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.engine.RutaEngine;
+import org.apache.uima.ruta.expression.AnnotationTypeExpression;
import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.feature.FeatureExpression;
@@ -953,20 +954,26 @@
IBooleanExpression booleanExpr = (IBooleanExpression) value;
boolean v = booleanExpr.getBooleanValue(context, this);
annotation.setBooleanValue(feature, v);
+ } else if (value instanceof AnnotationTypeExpression && !feature.getRange().isPrimitive()) {
+ AnnotationTypeExpression ate = (AnnotationTypeExpression) value;
+ AnnotationFS a = ate.getAnnotation(context, this);
+ if (a != null) {
+ // TODO support annotation list expressions
+ if (feature.getRange().isArray()) {
+ List<AnnotationFS> c = new ArrayList<AnnotationFS>();
+ c.add(a);
+ annotation.setFeatureValue(feature, UIMAUtils.toFSArray(this.getJCas(), c));
+ } else {
+ annotation.setFeatureValue(feature, a);
+ }
+ } else {
+ Type t = ate.getType(context, this);
+ assignAnnotationByTypeInWindow(annotation, feature, context, t);
+ }
} else if (value instanceof ITypeExpression && !feature.getRange().isPrimitive()) {
ITypeExpression typeExpr = (ITypeExpression) value;
Type t = typeExpr.getType(context, this);
- List<AnnotationFS> inWindow = this.getAnnotationsInWindow(context.getAnnotation(), t);
- if (feature.getRange().isArray()) {
- annotation.setFeatureValue(feature, UIMAUtils.toFSArray(this.getJCas(), inWindow));
- } else {
- if (inWindow != null && !inWindow.isEmpty()) {
- AnnotationFS a = inWindow.get(0);
- annotation.setFeatureValue(feature, a);
- } else {
- annotation.setFeatureValue(feature, null);
- }
- }
+ assignAnnotationByTypeInWindow(annotation, feature, context, t);
} else if (value instanceof GenericFeatureExpression && !feature.getRange().isPrimitive()) {
FeatureExpression fe = ((GenericFeatureExpression) value).getFeatureExpression();
ITypeExpression typeExpr = fe.getTypeExpr(context, this);
@@ -996,4 +1003,20 @@
}
}
}
+
+ private void assignAnnotationByTypeInWindow(AnnotationFS annotation, Feature feature,
+ MatchContext context, Type type) {
+
+ List<AnnotationFS> inWindow = this.getAnnotationsInWindow(context.getAnnotation(), type);
+ if (feature.getRange().isArray()) {
+ annotation.setFeatureValue(feature, UIMAUtils.toFSArray(this.getJCas(), inWindow));
+ } else {
+ if (inWindow != null && !inWindow.isEmpty()) {
+ AnnotationFS a = inWindow.get(0);
+ annotation.setFeatureValue(feature, a);
+ } else {
+ annotation.setFeatureValue(feature, null);
+ }
+ }
+ }
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java
index b94ef76..7c85cca 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java
@@ -27,13 +27,13 @@
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
public abstract class AbstractMarkAction extends TypeSensitiveAction {
- public AbstractMarkAction(TypeExpression type) {
+ public AbstractMarkAction(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractStructureAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractStructureAction.java
index 2787763..58fb3a8 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractStructureAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractStructureAction.java
@@ -41,7 +41,6 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.type.ITypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.utils.UIMAUtils;
@@ -58,7 +57,7 @@
String value = each.getKey().getStringValue(context, stream);
map.put(value, each.getValue());
}
-
+ // TODO use method in RutaStream?
TypeSystem typeSystem = stream.getCas().getTypeSystem();
JCas jcas = stream.getJCas();
List<?> featuresList = structure.getType().getFeatures();
@@ -69,9 +68,9 @@
Object valueObject = map.get(shortFName);
Type range = targetFeature.getRange();
if (valueObject != null) {
- if (valueObject instanceof TypeExpression
+ if (valueObject instanceof ITypeExpression
&& range.getName().equals(UIMAConstants.TYPE_STRING)) {
- TypeExpression type = (TypeExpression) valueObject;
+ ITypeExpression type = (ITypeExpression) valueObject;
List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(matchedAnnotation,
type.getType(context, stream));
if (annotationsInWindow != null && !annotationsInWindow.isEmpty()) {
@@ -126,8 +125,8 @@
&& range.getName().equals(UIMAConstants.TYPE_BOOLEAN)) {
structure.setBooleanValue(targetFeature,
((IBooleanExpression) valueObject).getBooleanValue(context, stream));
- } else if (valueObject instanceof TypeExpression) {
- TypeExpression type = (TypeExpression) valueObject;
+ } else if (valueObject instanceof ITypeExpression) {
+ ITypeExpression type = (ITypeExpression) valueObject;
List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(matchedAnnotation,
type.getType(context, stream));
if (typeSystem.subsumes(jcas.getCasType(FSArray.type), range)) {
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java
index 8c1e4db..ad54cde 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java
@@ -35,14 +35,14 @@
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.expression.resource.WordTableExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
public class ActionFactory {
private ActionFactory() {
}
- public static AbstractRutaAction createColorAction(TypeExpression typeExpr,
+ public static AbstractRutaAction createColorAction(ITypeExpression typeExpr,
IStringExpression bgcolor, IStringExpression fgcolor, IBooleanExpression selected,
RutaBlock parent) {
return new ColorAction(typeExpr, bgcolor, fgcolor, selected);
@@ -52,23 +52,23 @@
return new DelAction();
}
- public static AbstractRutaAction createMarkFastAction(TypeExpression type,
+ public static AbstractRutaAction createMarkFastAction(ITypeExpression type,
WordListExpression list, IBooleanExpression ignore, INumberExpression ignoreLength,
IBooleanExpression ignoreWS, RutaBlock parent) {
return new MarkFastAction(type, list, ignore, ignoreLength, ignoreWS);
}
- public static AbstractRutaAction createMarkFastAction(TypeExpression type,
+ public static AbstractRutaAction createMarkFastAction(ITypeExpression type,
StringListExpression list, IBooleanExpression ignore, INumberExpression ignoreLength,
IBooleanExpression ignoreWS, RutaBlock env) {
return new MarkFastAction(type, list, ignore, ignoreLength, ignoreWS);
}
- public static AbstractRutaAction createMarkLastAction(TypeExpression type, RutaBlock parent) {
+ public static AbstractRutaAction createMarkLastAction(ITypeExpression type, RutaBlock parent) {
return new MarkLastAction(type);
}
- public static AbstractRutaAction createRetainTypeAction(List<TypeExpression> types,
+ public static AbstractRutaAction createRetainTypeAction(List<ITypeExpression> types,
RutaBlock parent) {
return new RetainTypeAction(types);
}
@@ -80,13 +80,13 @@
return new LogAction(expr, level);
}
- public static AbstractRutaAction createMarkAction(INumberExpression score, TypeExpression type,
+ public static AbstractRutaAction createMarkAction(INumberExpression score, ITypeExpression type,
List<INumberExpression> list, RutaBlock parent) {
return new MarkAction(type, score, list);
}
public static AbstractRutaAction createMarkOnceAction(INumberExpression score,
- TypeExpression type, List<INumberExpression> list, RutaBlock env) {
+ ITypeExpression type, List<INumberExpression> list, RutaBlock env) {
return new MarkOnceAction(type, score, list);
}
@@ -94,19 +94,19 @@
return new ReplaceAction(lit);
}
- public static AbstractRutaAction createCreateAction(TypeExpression typeExpr,
+ public static AbstractRutaAction createCreateAction(ITypeExpression typeExpr,
Map<IStringExpression, IRutaExpression> map, List<INumberExpression> indexes,
RutaBlock parent) {
return new CreateAction(typeExpr, map, indexes);
}
- public static AbstractRutaAction createGatherAction(TypeExpression typeExpr,
+ public static AbstractRutaAction createGatherAction(ITypeExpression typeExpr,
Map<IStringExpression, IRutaExpression> map, List<INumberExpression> indexes,
RutaBlock parent) {
return new GatherAction(typeExpr, map, indexes);
}
- public static AbstractRutaAction createFillAction(TypeExpression type,
+ public static AbstractRutaAction createFillAction(ITypeExpression type,
Map<IStringExpression, IRutaExpression> map, RutaBlock parent) {
return new FillAction(type, map);
}
@@ -124,27 +124,27 @@
return new AssignAction(nv.getText(), e);
}
- public static AbstractRutaAction createFilterTypeAction(List<TypeExpression> types,
+ public static AbstractRutaAction createFilterTypeAction(List<ITypeExpression> types,
RutaBlock parent) {
return new FilterTypeAction(types);
}
- public static AbstractRutaAction createAddRetainTypeAction(List<TypeExpression> types,
+ public static AbstractRutaAction createAddRetainTypeAction(List<ITypeExpression> types,
RutaBlock env) {
return new AddRetainTypeAction(types);
}
- public static AbstractRutaAction createRemoveRetainTypeAction(List<TypeExpression> types,
+ public static AbstractRutaAction createRemoveRetainTypeAction(List<ITypeExpression> types,
RutaBlock env) {
return new RemoveRetainTypeAction(types);
}
- public static AbstractRutaAction createAddFilterTypeAction(List<TypeExpression> types,
+ public static AbstractRutaAction createAddFilterTypeAction(List<ITypeExpression> types,
RutaBlock env) {
return new AddFilterTypeAction(types);
}
- public static AbstractRutaAction createRemoveFilterTypeAction(List<TypeExpression> types,
+ public static AbstractRutaAction createRemoveFilterTypeAction(List<ITypeExpression> types,
RutaBlock env) {
return new RemoveFilterTypeAction(types);
}
@@ -154,12 +154,12 @@
return new SetFeatureAction(f, v);
}
- public static AbstractRutaAction createUnmarkAction(TypeExpression f,
+ public static AbstractRutaAction createUnmarkAction(ITypeExpression f,
List<INumberExpression> list, IBooleanExpression b, RutaBlock env) {
return new UnmarkAction(f, list, b);
}
- public static AbstractRutaAction createUnmarkAllAction(TypeExpression f, TypeListExpression list,
+ public static AbstractRutaAction createUnmarkAllAction(ITypeExpression f, TypeListExpression list,
RutaBlock env) {
return new UnmarkAllAction(f, list);
}
@@ -173,7 +173,7 @@
return new VariableAction(id.getText());
}
- public static AbstractRutaAction createTransferAction(TypeExpression f, RutaBlock env) {
+ public static AbstractRutaAction createTransferAction(ITypeExpression f, RutaBlock env) {
return new TransferAction(f);
}
@@ -189,7 +189,7 @@
return new ExecAction(ns, tl, view);
}
- public static AbstractRutaAction createMarkTableAction(TypeExpression structure,
+ public static AbstractRutaAction createMarkTableAction(ITypeExpression structure,
INumberExpression index, WordTableExpression table,
Map<IStringExpression, INumberExpression> map, IBooleanExpression ignoreCase,
INumberExpression ignoreLength, IStringExpression ignoreChar,
@@ -242,7 +242,7 @@
return new ClearAction(var == null ? null : var.getText());
}
- public static AbstractRutaAction createShiftAction(TypeExpression type,
+ public static AbstractRutaAction createShiftAction(ITypeExpression type,
List<INumberExpression> list, RutaBlock env) {
return new ShiftAction(type, list);
}
@@ -252,7 +252,7 @@
return new DynamicAnchoringAction(active, penalty, factor);
}
- public static AbstractRutaAction createTrimAction(List<TypeExpression> types,
+ public static AbstractRutaAction createTrimAction(List<ITypeExpression> types,
TypeListExpression typeList, RutaBlock env) {
return new TrimAction(types, typeList);
}
@@ -261,11 +261,11 @@
return new ImplicitFeatureAction(fae);
}
- public static AbstractRutaAction createAction(TypeExpression te) {
+ public static AbstractRutaAction createAction(ITypeExpression te) {
return new ImplicitMarkAction(te);
}
- public static AbstractRutaAction createMarkFirstAction(TypeExpression type, RutaBlock env) {
+ public static AbstractRutaAction createMarkFirstAction(ITypeExpression type, RutaBlock env) {
return new MarkFirstAction(type);
}
@@ -274,7 +274,7 @@
return new GreedyAnchoringAction(active, active2);
}
- public static AbstractRutaAction createSplitAction(TypeExpression type,
+ public static AbstractRutaAction createSplitAction(ITypeExpression type,
IBooleanExpression complete, IBooleanExpression appendToBegin,
IBooleanExpression appendToEnd, RutaBlock env) {
return new SplitAction(type, complete, appendToBegin, appendToEnd);
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java
index 412e774..15e3d0d 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/AddAction.java
@@ -30,7 +30,7 @@
import org.apache.uima.ruta.expression.list.ListExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -74,8 +74,8 @@
list.add(((INumberExpression) each).getIntegerValue(context, stream));
} else if (vgtype.equals(Double.class) && each instanceof INumberExpression) {
list.add(((INumberExpression) each).getDoubleValue(context, stream));
- } else if (vgtype.equals(Type.class) && each instanceof TypeExpression) {
- list.add(((TypeExpression) each).getType(context, stream));
+ } else if (vgtype.equals(Type.class) && each instanceof ITypeExpression) {
+ list.add(((ITypeExpression) each).getType(context, stream));
} else if (vgtype.equals(String.class) && each instanceof IStringExpression) {
list.add(((IStringExpression) each).getStringValue(context, stream));
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/AddFilterTypeAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/AddFilterTypeAction.java
index 1e6477e..82e6120 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/AddFilterTypeAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/AddFilterTypeAction.java
@@ -24,19 +24,13 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class AddFilterTypeAction extends AbstractRutaAction {
- public List<TypeExpression> getList() {
- return list;
- }
-
- private List<TypeExpression> list;
-
- public AddFilterTypeAction(List<TypeExpression> list) {
+ public AddFilterTypeAction(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -44,10 +38,17 @@
@Override
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
List<Type> types = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
types.add(each.getType(context, stream));
}
stream.addFilterTypes(types);
}
+ public List<ITypeExpression> getList() {
+ return list;
+ }
+
+ private List<ITypeExpression> list;
+
+
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/AddRetainTypeAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/AddRetainTypeAction.java
index 5193d48..578750b 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/AddRetainTypeAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/AddRetainTypeAction.java
@@ -24,19 +24,13 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class AddRetainTypeAction extends AbstractRutaAction {
- public List<TypeExpression> getList() {
- return list;
- }
-
- private List<TypeExpression> list;
-
- public AddRetainTypeAction(List<TypeExpression> list) {
+ public AddRetainTypeAction(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -44,10 +38,15 @@
@Override
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
List<Type> types = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
types.add(each.getType(context, stream));
}
stream.addRetainTypes(types);
}
+ public List<ITypeExpression> getList() {
+ return list;
+ }
+
+ private List<ITypeExpression> list;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/AssignAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/AssignAction.java
index 23b35f9..f4d75f0 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/AssignAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/AssignAction.java
@@ -27,7 +27,7 @@
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -56,8 +56,8 @@
} else if (clazz.equals(Integer.class) && expression instanceof INumberExpression) {
int v = ((INumberExpression) expression).getIntegerValue(context, stream);
environment.setVariableValue(var, v);
- } else if (clazz.equals(Type.class) && expression instanceof TypeExpression) {
- Type v = ((TypeExpression) expression).getType(context, stream);
+ } else if (clazz.equals(Type.class) && expression instanceof ITypeExpression) {
+ Type v = ((ITypeExpression) expression).getType(context, stream);
environment.setVariableValue(var, v);
} else if (clazz.equals(Boolean.class) && expression instanceof IBooleanExpression) {
boolean v = ((IBooleanExpression) expression).getBooleanValue(context, stream);
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/ColorAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/ColorAction.java
index ebd1d8a..33045c5 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/ColorAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/ColorAction.java
@@ -26,7 +26,7 @@
import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.type.RutaColoring;
@@ -40,9 +40,9 @@
private IBooleanExpression selected;
- private TypeExpression type;
+ private ITypeExpression type;
- public ColorAction(TypeExpression type, IStringExpression bgcolor, IStringExpression fgcolor,
+ public ColorAction(ITypeExpression type, IStringExpression bgcolor, IStringExpression fgcolor,
IBooleanExpression selected) {
super();
this.type = type;
@@ -80,7 +80,7 @@
return selected;
}
- public TypeExpression getType() {
+ public ITypeExpression getType() {
return type;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/ConfigureAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/ConfigureAction.java
index 86d29d4..d926140 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/ConfigureAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/ConfigureAction.java
@@ -41,7 +41,7 @@
import org.apache.uima.ruta.expression.list.TypeListExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -96,8 +96,8 @@
IStringExpression se = (IStringExpression) value;
String string = se.getStringValue(context, stream);
targetEngine.setConfigParameterValue(stringValue, string);
- } else if (value instanceof TypeExpression) {
- TypeExpression te = (TypeExpression) value;
+ } else if (value instanceof ITypeExpression) {
+ ITypeExpression te = (ITypeExpression) value;
Type t = te.getType(context, stream);
targetEngine.setConfigParameterValue(stringValue, t.getName());
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java
index dd49bdd..1f6c920 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java
@@ -30,7 +30,7 @@
import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -38,13 +38,13 @@
public class CreateAction extends AbstractStructureAction {
- private TypeExpression structureType;
+ private ITypeExpression structureType;
private Map<IStringExpression, IRutaExpression> features;
private List<INumberExpression> indexes;
- public CreateAction(TypeExpression structureType,
+ public CreateAction(ITypeExpression structureType,
Map<IStringExpression, IRutaExpression> features, List<INumberExpression> indexes) {
super();
this.structureType = structureType;
@@ -77,7 +77,7 @@
}
}
- public TypeExpression getStructureType() {
+ public ITypeExpression getStructureType() {
return structureType;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/FillAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/FillAction.java
index 76362fe..d330982 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/FillAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/FillAction.java
@@ -27,7 +27,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -37,9 +37,9 @@
private Map<IStringExpression, IRutaExpression> features;
- private TypeExpression structureType;
+ private ITypeExpression structureType;
- public FillAction(TypeExpression structureType, Map<IStringExpression, IRutaExpression> features) {
+ public FillAction(ITypeExpression structureType, Map<IStringExpression, IRutaExpression> features) {
super();
this.structureType = structureType;
this.features = features;
@@ -86,7 +86,7 @@
return features;
}
- public TypeExpression getStructureType() {
+ public ITypeExpression getStructureType() {
return structureType;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/FilterTypeAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/FilterTypeAction.java
index 74bfaa0..6166143 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/FilterTypeAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/FilterTypeAction.java
@@ -24,19 +24,14 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class FilterTypeAction extends AbstractRutaAction {
- public List<TypeExpression> getList() {
- return list;
- }
- private List<TypeExpression> list;
-
- public FilterTypeAction(List<TypeExpression> list) {
+ public FilterTypeAction(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -45,10 +40,16 @@
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
context.getElement();
List<Type> types = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
types.add(each.getType(context, stream));
}
stream.filterTypes(types);
}
+ public List<ITypeExpression> getList() {
+ return list;
+ }
+
+ private List<ITypeExpression> list;
+
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java
index f833151..859bb0a 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java
@@ -42,7 +42,7 @@
import org.apache.uima.ruta.expression.list.NumberListExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleElementMatch;
@@ -53,13 +53,13 @@
public class GatherAction extends AbstractStructureAction {
- private TypeExpression structureType;
+ private ITypeExpression structureType;
private Map<IStringExpression, IRutaExpression> features;
private List<INumberExpression> indexes;
- public GatherAction(TypeExpression structureType,
+ public GatherAction(ITypeExpression structureType,
Map<IStringExpression, IRutaExpression> features, List<INumberExpression> indexes) {
super();
this.structureType = structureType;
@@ -210,7 +210,7 @@
}
- public TypeExpression getStructureType() {
+ public ITypeExpression getStructureType() {
return structureType;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitMarkAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitMarkAction.java
index 0b7a7b1..e98730b 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitMarkAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitMarkAction.java
@@ -23,7 +23,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -31,7 +31,7 @@
public class ImplicitMarkAction extends AbstractMarkAction {
- public ImplicitMarkAction(TypeExpression te) {
+ public ImplicitMarkAction(ITypeExpression te) {
super(te);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java
index 2465996..31fcb30 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java
@@ -26,7 +26,7 @@
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -39,7 +39,7 @@
protected final List<INumberExpression> list;
- public MarkAction(TypeExpression type, INumberExpression scoreValue, List<INumberExpression> list) {
+ public MarkAction(ITypeExpression type, INumberExpression scoreValue, List<INumberExpression> list) {
super(type);
this.score = scoreValue;
this.list = list;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java
index bc92d8d..346756f 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFastAction.java
@@ -30,7 +30,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.resource.TreeWordList;
import org.apache.uima.ruta.rule.MatchContext;
@@ -50,7 +50,7 @@
private IBooleanExpression ignoreWS;
- public MarkFastAction(TypeExpression type, WordListExpression list, IBooleanExpression ignore,
+ public MarkFastAction(ITypeExpression type, WordListExpression list, IBooleanExpression ignore,
INumberExpression ignoreLength, IBooleanExpression ignoreWS) {
super(type);
this.list = list;
@@ -60,7 +60,7 @@
this.ignoreWS = ignoreWS == null ? new SimpleBooleanExpression(true) : ignoreWS;
}
- public MarkFastAction(TypeExpression type, StringListExpression list, IBooleanExpression ignore,
+ public MarkFastAction(ITypeExpression type, StringListExpression list, IBooleanExpression ignore,
INumberExpression ignoreLength, IBooleanExpression ignoreWS) {
super(type);
this.stringList = list;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFirstAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFirstAction.java
index 5a26c1f..76291a8 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFirstAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkFirstAction.java
@@ -23,7 +23,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -32,7 +32,7 @@
public class MarkFirstAction extends AbstractMarkAction {
- public MarkFirstAction(TypeExpression type) {
+ public MarkFirstAction(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkLastAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkLastAction.java
index 0194aae..03cf17b 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkLastAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkLastAction.java
@@ -23,7 +23,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -32,7 +32,7 @@
public class MarkLastAction extends AbstractMarkAction {
- public MarkLastAction(TypeExpression type) {
+ public MarkLastAction(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkOnceAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkOnceAction.java
index 32a002c..27744c1 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkOnceAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkOnceAction.java
@@ -25,7 +25,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -34,7 +34,7 @@
public class MarkOnceAction extends MarkAction {
- public MarkOnceAction(TypeExpression type, INumberExpression scoreValue,
+ public MarkOnceAction(ITypeExpression type, INumberExpression scoreValue,
List<INumberExpression> list) {
super(type, scoreValue, list);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java
index 655efca..47391cd 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java
@@ -38,7 +38,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.resource.WordTableExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.resource.RutaTable;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.MatchContext;
@@ -48,7 +48,7 @@
public class MarkTableAction extends AbstractRutaAction {
- private final TypeExpression typeExpr;
+ private final ITypeExpression typeExpr;
private final WordTableExpression tableExpr;
@@ -66,7 +66,7 @@
private IBooleanExpression ignoreWS = new SimpleBooleanExpression(true);
- public MarkTableAction(TypeExpression typeExpr, INumberExpression indexExpr,
+ public MarkTableAction(ITypeExpression typeExpr, INumberExpression indexExpr,
WordTableExpression tableExpr, Map<IStringExpression, INumberExpression> featureMap,
IBooleanExpression ignoreCase, INumberExpression ignoreLength,
IStringExpression ignoreChar, INumberExpression maxIgnoreChar) {
@@ -181,7 +181,7 @@
}
}
- public TypeExpression getTypeExpr() {
+ public ITypeExpression getTypeExpr() {
return typeExpr;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java
index 804f267..f429990 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveAction.java
@@ -29,7 +29,7 @@
import org.apache.uima.ruta.expression.list.ListExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -92,8 +92,8 @@
return ((INumberExpression) obj).getDoubleValue(context, stream);
} else if (obj instanceof IBooleanExpression) {
return ((IBooleanExpression) obj).getBooleanValue(context, stream);
- } else if (obj instanceof TypeExpression) {
- return ((TypeExpression) obj).getType(context, stream);
+ } else if (obj instanceof ITypeExpression) {
+ return ((ITypeExpression) obj).getType(context, stream);
} else if (obj instanceof IStringExpression) {
return ((IStringExpression) obj).getStringValue(context, stream);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java
index c3eea9b..cd493c7 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveDuplicateAction.java
@@ -28,7 +28,7 @@
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -70,8 +70,8 @@
return ((INumberExpression) obj).getDoubleValue(context, stream);
} else if (obj instanceof IBooleanExpression) {
return ((IBooleanExpression) obj).getBooleanValue(context, stream);
- } else if (obj instanceof TypeExpression) {
- return ((TypeExpression) obj).getType(context, stream);
+ } else if (obj instanceof ITypeExpression) {
+ return ((ITypeExpression) obj).getType(context, stream);
} else if (obj instanceof IStringExpression) {
return ((IStringExpression) obj).getStringValue(context, stream);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveFilterTypeAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveFilterTypeAction.java
index 17be36b..066a46e 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveFilterTypeAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveFilterTypeAction.java
@@ -24,19 +24,13 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class RemoveFilterTypeAction extends AbstractRutaAction {
- public List<TypeExpression> getList() {
- return list;
- }
-
- private List<TypeExpression> list;
-
- public RemoveFilterTypeAction(List<TypeExpression> list) {
+ public RemoveFilterTypeAction(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -45,10 +39,16 @@
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
context.getElement();
List<Type> types = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
types.add(each.getType(context, stream));
}
stream.removeFilterTypes(types);
}
+ public List<ITypeExpression> getList() {
+ return list;
+ }
+
+ private List<ITypeExpression> list;
+
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveRetainTypeAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveRetainTypeAction.java
index 13a71f0..2715f38 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveRetainTypeAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveRetainTypeAction.java
@@ -24,19 +24,13 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class RemoveRetainTypeAction extends AbstractRutaAction {
- public List<TypeExpression> getList() {
- return list;
- }
-
- private List<TypeExpression> list;
-
- public RemoveRetainTypeAction(List<TypeExpression> list) {
+ public RemoveRetainTypeAction(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -45,10 +39,16 @@
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
context.getElement();
List<Type> types = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
types.add(each.getType(context, stream));
}
stream.removeRetainTypes(types);
}
+ public List<ITypeExpression> getList() {
+ return list;
+ }
+
+ private List<ITypeExpression> list;
+
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/RetainTypeAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/RetainTypeAction.java
index 387482c..9d3943e 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/RetainTypeAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/RetainTypeAction.java
@@ -24,19 +24,13 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class RetainTypeAction extends AbstractRutaAction {
- public List<TypeExpression> getList() {
- return list;
- }
-
- private List<TypeExpression> list;
-
- public RetainTypeAction(List<TypeExpression> list) {
+ public RetainTypeAction(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -45,10 +39,15 @@
public void execute(MatchContext context, RutaStream stream, InferenceCrowd crowd) {
context.getElement();
List<Type> types = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
types.add(each.getType(context, stream));
}
stream.retainTypes(types);
}
+ public List<ITypeExpression> getList() {
+ return list;
+ }
+
+ private List<ITypeExpression> list;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/ShiftAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/ShiftAction.java
index 7c944de..080e30c 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/ShiftAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/ShiftAction.java
@@ -29,7 +29,7 @@
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.AnnotationComparator;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -39,7 +39,7 @@
public class ShiftAction extends MarkAction {
- public ShiftAction(TypeExpression type, List<INumberExpression> list) {
+ public ShiftAction(ITypeExpression type, List<INumberExpression> list) {
super(type, null, list);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java
index 0cc8086..d6632e7 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java
@@ -31,7 +31,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -41,7 +41,7 @@
public class SplitAction extends AbstractRutaAction {
- private TypeExpression splitOnType;
+ private ITypeExpression splitOnType;
private IBooleanExpression complete;
@@ -49,7 +49,7 @@
private IBooleanExpression appendToEnd;
- public SplitAction(TypeExpression splitOnType, IBooleanExpression complete,
+ public SplitAction(ITypeExpression splitOnType, IBooleanExpression complete,
IBooleanExpression appendToBegin, IBooleanExpression appendToEnd) {
super();
this.splitOnType = splitOnType;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java
index 4a7f8ee..bb08290 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java
@@ -27,7 +27,7 @@
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.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleElementMatch;
@@ -36,7 +36,7 @@
public class TransferAction extends TypeSensitiveAction {
- public TransferAction(TypeExpression type) {
+ public TransferAction(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java
index 8034092..2957803 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java
@@ -33,7 +33,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -78,8 +78,8 @@
for (IStringExpression eachKey : map.keySet()) {
String stringValue = eachKey.getStringValue(context, stream);
IRutaExpression expression = map.get(eachKey);
- if (expression instanceof TypeExpression) {
- Type typeValue = ((TypeExpression) expression).getType(context, stream);
+ if (expression instanceof ITypeExpression) {
+ Type typeValue = ((ITypeExpression) expression).getType(context, stream);
typeMap.put(stringValue, typeValue);
} else if (expression instanceof UntypedListExpression) {
List<Object> innerList = ((UntypedListExpression) expression).getList(context, stream);
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java
index a9712cf..76b4179 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java
@@ -27,7 +27,7 @@
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -38,9 +38,9 @@
private TypeListExpression typeList;
- private List<TypeExpression> types;
+ private List<ITypeExpression> types;
- public TrimAction(List<TypeExpression> types, TypeListExpression typeList) {
+ public TrimAction(List<ITypeExpression> types, TypeListExpression typeList) {
super();
this.types = types;
this.typeList = typeList;
@@ -113,7 +113,7 @@
private List<Type> getTypes(MatchContext context, RutaStream stream) {
List<Type> result = new ArrayList<Type>();
if (types != null) {
- for (TypeExpression each : types) {
+ for (ITypeExpression each : types) {
result.add(each.getType(context, stream));
}
} else if (typeList != null) {
@@ -126,7 +126,7 @@
return typeList;
}
- public List<TypeExpression> getTypes() {
+ public List<ITypeExpression> getTypes() {
return types;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java
index 22937bb..f209f5d 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java
@@ -19,18 +19,18 @@
package org.apache.uima.ruta.action;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
public abstract class TypeSensitiveAction extends AbstractRutaAction {
- public TypeSensitiveAction(TypeExpression type) {
+ protected ITypeExpression type;
+
+ public TypeSensitiveAction(ITypeExpression type) {
super();
this.type = type;
}
- protected TypeExpression type;
-
- public TypeExpression getType() {
+ public ITypeExpression getType() {
return type;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
index 52f7989..514cfbf 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
@@ -28,7 +28,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
@@ -41,7 +41,7 @@
private IBooleanExpression allAnchor;
- public UnmarkAction(TypeExpression type, List<INumberExpression> list, IBooleanExpression b) {
+ public UnmarkAction(ITypeExpression type, List<INumberExpression> list, IBooleanExpression b) {
super(type);
this.list = list;
this.allAnchor = b;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java b/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java
index 08dcd36..0e849c0 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java
@@ -29,7 +29,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleElementMatch;
@@ -41,7 +41,7 @@
private final TypeListExpression list;
- public UnmarkAllAction(TypeExpression type, TypeListExpression list) {
+ public UnmarkAllAction(ITypeExpression type, TypeListExpression list) {
super(type);
this.list = list;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java
index e3c1d68..6080874 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java
@@ -26,14 +26,14 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class AfterCondition extends TypeSentiveCondition {
- public AfterCondition(TypeExpression type) {
+ public AfterCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
index ae6673f..4deb9de 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
@@ -26,14 +26,14 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class BeforeCondition extends TypeSentiveCondition {
- public BeforeCondition(TypeExpression type) {
+ public BeforeCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java
index b3e3bf9..6de1008 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java
@@ -31,7 +31,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
public class ConditionFactory {
@@ -53,12 +53,12 @@
return new NotCondition(cond);
}
- public static AbstractRutaCondition createConditionContains(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionContains(ITypeExpression typeExpr,
INumberExpression min, INumberExpression max, IBooleanExpression percent, RutaBlock parent) {
return new ContainsCondition(typeExpr, min, max, percent);
}
- public static AbstractRutaCondition createConditionContextCount(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionContextCount(ITypeExpression typeExpr,
INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
String varString = null;
if (var != null) {
@@ -67,7 +67,7 @@
return new ContextCountCondition(typeExpr, min, max, varString);
}
- public static AbstractRutaCondition createConditionCurrentCount(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionCurrentCount(ITypeExpression typeExpr,
INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
String varString = null;
if (var != null) {
@@ -76,7 +76,7 @@
return new CurrentCountCondition(typeExpr, min, max, varString);
}
- public static AbstractRutaCondition createConditionCount(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionCount(ITypeExpression typeExpr,
INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
String varString = null;
if (var != null) {
@@ -85,7 +85,7 @@
return new CountCondition(typeExpr, min, max, varString);
}
- public static AbstractRutaCondition createConditionTotalCount(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionTotalCount(ITypeExpression typeExpr,
INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
String varString = null;
if (var != null) {
@@ -104,13 +104,13 @@
return new MOfNCondition(conds, min, max);
}
- public static AbstractRutaCondition createConditionNear(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionNear(ITypeExpression typeExpr,
INumberExpression min, INumberExpression max, IBooleanExpression direction,
IBooleanExpression filtered, RutaBlock parent) {
return new NearCondition(typeExpr, min, max, direction, filtered);
}
- public static AbstractRutaCondition createConditionPartOf(TypeExpression type,
+ public static AbstractRutaCondition createConditionPartOf(ITypeExpression type,
TypeListExpression list, RutaBlock parent) {
if (type != null) {
return new PartOfCondition(type);
@@ -119,7 +119,7 @@
}
}
- public static AbstractRutaCondition createConditionPosition(TypeExpression typeExpr,
+ public static AbstractRutaCondition createConditionPosition(ITypeExpression typeExpr,
INumberExpression pos, IBooleanExpression rel, RutaBlock parent) {
return new PositionCondition(typeExpr, pos, rel);
}
@@ -143,12 +143,12 @@
return new ScoreCondition(min, max, varString);
}
- public static AbstractRutaCondition createConditionVote(TypeExpression type1Expr,
- TypeExpression type2Expr, RutaBlock parent) {
+ public static AbstractRutaCondition createConditionVote(ITypeExpression type1Expr,
+ ITypeExpression type2Expr, RutaBlock parent) {
return new VoteCondition(type1Expr, type2Expr);
}
- public static AbstractRutaCondition createConditionLast(TypeExpression typeExpr, RutaBlock parent) {
+ public static AbstractRutaCondition createConditionLast(ITypeExpression typeExpr, RutaBlock parent) {
return new LastCondition(typeExpr);
}
@@ -178,7 +178,7 @@
return new VariableCondition(id.getText());
}
- public static AbstractRutaCondition createConditionIs(TypeExpression type,
+ public static AbstractRutaCondition createConditionIs(ITypeExpression type,
TypeListExpression list, RutaBlock env) {
if (type != null) {
return new IsCondition(type);
@@ -187,7 +187,7 @@
}
}
- public static AbstractRutaCondition createConditionAfter(TypeExpression type,
+ public static AbstractRutaCondition createConditionAfter(ITypeExpression type,
TypeListExpression list, RutaBlock env) {
if (type != null) {
return new AfterCondition(type);
@@ -196,7 +196,7 @@
}
}
- public static AbstractRutaCondition createConditionBefore(TypeExpression type,
+ public static AbstractRutaCondition createConditionBefore(ITypeExpression type,
TypeListExpression list, RutaBlock env) {
if (type != null) {
return new BeforeCondition(type);
@@ -205,7 +205,7 @@
}
}
- public static AbstractRutaCondition createConditionEndsWith(TypeExpression type,
+ public static AbstractRutaCondition createConditionEndsWith(ITypeExpression type,
TypeListExpression list, RutaBlock env) {
if (type != null) {
return new EndsWithCondition(type);
@@ -214,7 +214,7 @@
}
}
- public static AbstractRutaCondition createConditionStartsWith(TypeExpression type,
+ public static AbstractRutaCondition createConditionStartsWith(ITypeExpression type,
TypeListExpression list, RutaBlock env) {
if (type != null) {
return new StartsWithCondition(type);
@@ -223,7 +223,7 @@
}
}
- public static AbstractRutaCondition createConditionPartOfNeq(TypeExpression type,
+ public static AbstractRutaCondition createConditionPartOfNeq(ITypeExpression type,
TypeListExpression list, RutaBlock env) {
if (type != null) {
return new PartOfNeqCondition(type);
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
index 6a49d3d..47f866b 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
@@ -36,7 +36,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -55,7 +55,7 @@
@SuppressWarnings("rawtypes")
private ListExpression argList;
- public ContainsCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ public ContainsCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
IBooleanExpression percent) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.valueOf(1)) : min;
@@ -66,7 +66,7 @@
@SuppressWarnings("rawtypes")
public ContainsCondition(ListExpression list, IRutaExpression a, INumberExpression min,
INumberExpression max, IBooleanExpression percent) {
- super((TypeExpression) null);
+ super((ITypeExpression) null);
this.min = min == null ? new SimpleNumberExpression(Integer.valueOf(1)) : min;
this.max = max == null ? new SimpleNumberExpression(Integer.MAX_VALUE) : max;
this.percent = percent == null ? new SimpleBooleanExpression(false) : percent;
@@ -122,8 +122,8 @@
while (l.remove(v)) {
basicCount++;
}
- } else if (arg instanceof TypeExpression && argList instanceof TypeListExpression) {
- TypeExpression e = (TypeExpression) arg;
+ } else if (arg instanceof ITypeExpression && argList instanceof TypeListExpression) {
+ ITypeExpression e = (ITypeExpression) arg;
TypeListExpression le = (TypeListExpression) argList;
Type v = e.getType(context, stream);
List<Type> l = new ArrayList<Type>(le.getList(context, stream));
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java
index 446b172..1adc903 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java
@@ -28,7 +28,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -43,7 +43,7 @@
private final String var;
- public ContextCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ public ContextCountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java
index e7fcdae..7252f48 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java
@@ -35,7 +35,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -54,7 +54,7 @@
private IRutaExpression arg;
- public CountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ public CountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
@@ -64,7 +64,7 @@
public CountCondition(@SuppressWarnings("rawtypes") ListExpression list, IRutaExpression a, INumberExpression min,
INumberExpression max, String var) {
- super((TypeExpression) null);
+ super((ITypeExpression) null);
this.list = list;
this.arg = a;
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
@@ -113,8 +113,8 @@
while (l.remove(v)) {
count++;
}
- } else if (arg instanceof TypeExpression && list instanceof TypeListExpression) {
- TypeExpression e = (TypeExpression) arg;
+ } else if (arg instanceof ITypeExpression && list instanceof TypeListExpression) {
+ ITypeExpression e = (ITypeExpression) arg;
TypeListExpression le = (TypeListExpression) list;
Type v = e.getType(context, stream);
List<Type> l = new ArrayList<Type>(le.getList(context, stream));
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java
index d85c000..5809f23 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java
@@ -25,7 +25,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -38,7 +38,7 @@
private final String var;
- public CurrentCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ public CurrentCountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java
index fce399d..a5f4b89 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java
@@ -25,7 +25,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -33,7 +33,7 @@
public class EndsWithCondition extends TypeSentiveCondition {
- public EndsWithCondition(TypeExpression type) {
+ public EndsWithCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java
index 5b2872d..92f1433 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java
@@ -26,7 +26,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -34,7 +34,7 @@
public class IsCondition extends TypeSentiveCondition {
- public IsCondition(TypeExpression type) {
+ public IsCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java
index 78fed68..b8576d5 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java
@@ -22,7 +22,7 @@
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.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -30,7 +30,7 @@
public class LastCondition extends TypeSentiveCondition {
- public LastCondition(TypeExpression type) {
+ public LastCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java
index 3321a4c..c86c8d0 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java
@@ -27,7 +27,7 @@
import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -43,7 +43,7 @@
private final IBooleanExpression filtered;
- public NearCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ public NearCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
IBooleanExpression forward, IBooleanExpression filtered) {
super(type);
this.min = min == null ? new SimpleNumberExpression(1) : min;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java
index ba59794..906700f 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java
@@ -26,7 +26,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -35,7 +35,7 @@
public class PartOfCondition extends TypeSentiveCondition {
- public PartOfCondition(TypeExpression type) {
+ public PartOfCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java
index ef92892..5d01297 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java
@@ -26,7 +26,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -34,7 +34,7 @@
public class PartOfNeqCondition extends TypeSentiveCondition {
- public PartOfNeqCondition(TypeExpression type) {
+ public PartOfNeqCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java
index 0d5d60b..0893e4d 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java
@@ -28,7 +28,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -42,7 +42,7 @@
private final IBooleanExpression relative;
- public PositionCondition(TypeExpression type, INumberExpression position,
+ public PositionCondition(ITypeExpression type, INumberExpression position,
IBooleanExpression relative) {
super(type);
this.position = position;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java
index 1eb4a24..0c964f0 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java
@@ -25,7 +25,7 @@
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -33,7 +33,7 @@
public class StartsWithCondition extends TypeSentiveCondition {
- public StartsWithCondition(TypeExpression type) {
+ public StartsWithCondition(ITypeExpression type) {
super(type);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java
index 8d43606..6b6c2e1 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java
@@ -25,7 +25,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.rule.RuleElement;
@@ -38,7 +38,7 @@
private final String var;
- public TotalCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ public TotalCountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java
index 0c6dc43..da909dc 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java
@@ -20,19 +20,19 @@
package org.apache.uima.ruta.condition;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
public abstract class TypeSentiveCondition extends TerminalRutaCondition {
- protected final TypeExpression type;
+ protected final ITypeExpression type;
private final TypeListExpression list;
- public TypeExpression getType() {
+ public ITypeExpression getType() {
return type;
}
- public TypeSentiveCondition(TypeExpression type) {
+ public TypeSentiveCondition(ITypeExpression type) {
super();
this.type = type;
this.list = null;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java b/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java
index 54a1f75..220c83d 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java
@@ -24,7 +24,7 @@
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.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.type.RutaBasic;
@@ -32,11 +32,11 @@
public class VoteCondition extends TerminalRutaCondition {
- private final TypeExpression type1;
+ private final ITypeExpression type1;
- private final TypeExpression type2;
+ private final ITypeExpression type2;
- public VoteCondition(TypeExpression type1, TypeExpression type2) {
+ public VoteCondition(ITypeExpression type1, ITypeExpression type2) {
super();
this.type1 = type1;
this.type2 = type2;
@@ -63,11 +63,11 @@
return new EvaluatedCondition(this, count1 > count2);
}
- public TypeExpression getType1() {
+ public ITypeExpression getType1() {
return type1;
}
- public TypeExpression getType2() {
+ public ITypeExpression getType2() {
return type2;
}
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
index fe12746..4540640 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
@@ -54,6 +54,9 @@
if (!initialized) {
initialize(context, stream);
}
+ if(annotationExpression == null) {
+ return null;
+ }
return annotationExpression.getAnnotation(context, stream);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
index 9fc8ad3..394f2d6 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
@@ -74,8 +74,8 @@
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
import org.apache.uima.ruta.expression.string.StringFeatureExpression;
import org.apache.uima.ruta.expression.string.StringVariableExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.expression.type.TypeVariableExpression;
public class ExpressionFactory {
@@ -167,17 +167,17 @@
return new BooleanVariableExpression(id.getText());
}
- public static TypeExpression createSimpleTypeExpression(Token typeToken, RutaBlock parent) {
+ public static ITypeExpression createSimpleTypeExpression(Token typeToken, RutaBlock parent) {
String typeString = typeToken == null ? "uima.tcas.DocumentAnnotation" : typeToken.getText();
return new SimpleTypeExpression(typeString);
}
- public static TypeExpression createReferenceTypeExpression(Token varToken) {
+ public static ITypeExpression createReferenceTypeExpression(Token varToken) {
String varString = varToken == null ? "" : varToken.getText();
return new TypeVariableExpression(varString);
}
- public static TypeExpression createSimpleTypeExpression(String typeString, RutaBlock parent) {
+ public static ITypeExpression createSimpleTypeExpression(String typeString, RutaBlock parent) {
return new SimpleTypeExpression(typeString);
}
@@ -202,8 +202,8 @@
return new LiteralWordTableExpression(path.getText());
}
- public static IBooleanExpression createBooleanTypeExpression(TypeExpression e1, Token op,
- TypeExpression e2) {
+ public static IBooleanExpression createBooleanTypeExpression(ITypeExpression e1, Token op,
+ ITypeExpression e2) {
return new BooleanTypeExpression(e1, op.getText(), e2);
}
@@ -239,7 +239,7 @@
return new SimpleNumberListExpression(list);
}
- public static TypeListExpression createTypeListExpression(List<TypeExpression> list) {
+ public static TypeListExpression createTypeListExpression(List<ITypeExpression> list) {
return new SimpleTypeListExpression(list);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
index 3b1af4f..2f0ac25 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
@@ -29,7 +29,6 @@
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.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class NullExpression extends FeatureExpression implements IStringExpression, ITypeExpression {
@@ -66,7 +65,7 @@
}
@Override
- public TypeExpression getTypeExpr(MatchContext context, RutaStream stream) {
+ public ITypeExpression getTypeExpr(MatchContext context, RutaStream stream) {
return null;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java
index 9ff7e52..29c3ca5 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java
@@ -21,18 +21,18 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class BooleanTypeExpression extends AbstractBooleanExpression {
- private final TypeExpression e1;
+ private final ITypeExpression e1;
private final String op;
- private final TypeExpression e2;
+ private final ITypeExpression e2;
- public BooleanTypeExpression(TypeExpression e1, String op, TypeExpression e2) {
+ public BooleanTypeExpression(ITypeExpression e1, String op, ITypeExpression e2) {
super();
this.e1 = e1;
this.op = op;
@@ -57,7 +57,7 @@
return false;
}
- public TypeExpression getFristExpression() {
+ public ITypeExpression getFristExpression() {
return e1;
}
@@ -65,7 +65,7 @@
return op;
}
- public TypeExpression getSecondExpression() {
+ public ITypeExpression getSecondExpression() {
return e2;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
index da5a076..1e0f09d 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
@@ -35,7 +35,6 @@
import org.apache.uima.ruta.expression.MatchReference;
import org.apache.uima.ruta.expression.NullExpression;
import org.apache.uima.ruta.expression.type.ITypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.AnnotationComparator;
import org.apache.uima.ruta.rule.MatchContext;
@@ -110,7 +109,7 @@
return typeExpr;
}
- public void setTypeExpr(TypeExpression typeExpr) {
+ public void setTypeExpr(ITypeExpression typeExpr) {
this.typeExpr = typeExpr;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java
index 9b441f9..8a06e9b 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java
@@ -24,14 +24,14 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class SimpleTypeListExpression extends TypeListExpression {
- private List<TypeExpression> list;
+ private List<ITypeExpression> list;
- public SimpleTypeListExpression(List<TypeExpression> list) {
+ public SimpleTypeListExpression(List<ITypeExpression> list) {
super();
this.list = list;
}
@@ -39,13 +39,13 @@
@Override
public List<Type> getList(MatchContext context, RutaStream stream) {
List<Type> result = new ArrayList<Type>();
- for (TypeExpression each : list) {
+ for (ITypeExpression each : list) {
result.add(each.getType(context, stream));
}
return result;
}
- public List<TypeExpression> getList() {
+ public List<ITypeExpression> getList() {
return list;
}
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java
index 236f1ba..a11d6e9 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java
@@ -25,7 +25,7 @@
import org.apache.uima.cas.Type;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.MatchContext;
public class TypeListVariableExpression extends TypeListExpression {
@@ -44,8 +44,8 @@
List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
List<Type> result = new ArrayList<Type>();
for (Object each : list) {
- if (each instanceof TypeExpression) {
- result.add(((TypeExpression) each).getType(context, stream));
+ if (each instanceof ITypeExpression) {
+ result.add(((ITypeExpression) each).getType(context, stream));
} else if (each instanceof Type) {
result.add((Type) each);
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java
index f261f1b..aa306e7 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java
@@ -24,10 +24,10 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.IRutaExpression;
-import org.apache.uima.ruta.expression.bool.AbstractBooleanExpression;
-import org.apache.uima.ruta.expression.number.AbstractNumberExpression;
-import org.apache.uima.ruta.expression.string.AbstractStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
+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 UntypedListExpression extends ListExpression<Object> {
@@ -44,16 +44,16 @@
List<Object> result = new ArrayList<Object>();
for (IRutaExpression each : list) {
// TODO support arrays
- if (each instanceof AbstractBooleanExpression) {
- result.add(((AbstractBooleanExpression) each).getBooleanValue(context, stream));
- } else if (each instanceof AbstractNumberExpression) {
- result.add(((AbstractNumberExpression) each).getDoubleValue(context, stream));
- } else if (each instanceof TypeExpression) {
- result.add(((TypeExpression) each).getType(context, stream));
+ if (each instanceof IBooleanExpression) {
+ result.add(((IBooleanExpression) each).getBooleanValue(context, stream));
+ } else if (each instanceof INumberExpression) {
+ result.add(((INumberExpression) each).getDoubleValue(context, stream));
+ } else if (each instanceof ITypeExpression) {
+ result.add(((ITypeExpression) each).getType(context, stream));
} else if (each instanceof ListExpression) {
result.add(((ListExpression<?>) each).getList(context, stream));
- } else if (each instanceof AbstractStringExpression) {
- result.add(((AbstractStringExpression) each).getStringValue(context, stream));
+ } else if (each instanceof IStringExpression) {
+ result.add(((IStringExpression) each).getStringValue(context, stream));
}
}
return result;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java
similarity index 89%
rename from ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java
rename to ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java
index abf6772..12a759c 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java
@@ -21,6 +21,6 @@
import org.apache.uima.ruta.expression.string.AbstractStringExpression;
-public abstract class TypeExpression extends AbstractStringExpression implements ITypeExpression {
+public abstract class AbstractTypeExpression extends AbstractStringExpression implements ITypeExpression {
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java
index 35eeab2..e207825 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java
@@ -24,7 +24,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.rule.MatchContext;
-public class SimpleTypeExpression extends TypeExpression {
+public class SimpleTypeExpression extends AbstractTypeExpression {
private final String typeString;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java
index 61cf90d..6a9cd6d 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java
@@ -19,6 +19,6 @@
package org.apache.uima.ruta.expression.type;
-public abstract class TypeFunctionExpression extends TypeExpression {
+public abstract class TypeFunctionExpression extends AbstractTypeExpression {
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
index ab087e6..945d1de 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
@@ -24,7 +24,7 @@
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.rule.MatchContext;
-public class TypeVariableExpression extends TypeExpression {
+public class TypeVariableExpression extends AbstractTypeExpression {
private final String var;
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java b/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java
index 48c04b8..235186b 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java
@@ -33,7 +33,7 @@
import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.AbstractStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
public class RutaExternalFactory {
@@ -89,7 +89,7 @@
return null;
}
- public TypeExpression createExternalTypeFunction(Token id, List<RutaExpression> args)
+ public ITypeExpression createExternalTypeFunction(Token id, List<RutaExpression> args)
throws RutaParseException {
String name = id.getText();
IRutaTypeFunctionExtension extension = typeFunctionExtensions.get(name);
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java b/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java
index 8e22d8b..e0dbbd6 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java
@@ -48,20 +48,20 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.AbstractStringExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.utils.UIMAUtils;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class RegExpRule extends AbstractRule {
- private Map<TypeExpression, INumberExpression> typeMap;
+ private Map<ITypeExpression, INumberExpression> typeMap;
private IStringExpression regexpExpr;
- private Map<TypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments;
+ private Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments;
public RegExpRule(AbstractStringExpression regexp,
- Map<TypeExpression, INumberExpression> typeMap, int id, RutaBlock parent) {
+ Map<ITypeExpression, INumberExpression> typeMap, int id, RutaBlock parent) {
super(parent, id);
this.regexpExpr = regexp;
this.typeMap = typeMap;
@@ -111,11 +111,11 @@
private Map<Integer, Map<Type, Map<String, Object>>> getFeatureAssignmentMap(RutaStream stream) {
Map<Integer, Map<Type, Map<String, Object>>> result = new HashMap<Integer, Map<Type, Map<String, Object>>>();
- Set<Entry<TypeExpression, Map<IStringExpression, IRutaExpression>>> entrySet = featureAssignments
+ Set<Entry<ITypeExpression, Map<IStringExpression, IRutaExpression>>> entrySet = featureAssignments
.entrySet();
MatchContext context = new MatchContext(getParent());
- for (Entry<TypeExpression, Map<IStringExpression, IRutaExpression>> entry : entrySet) {
- TypeExpression key = entry.getKey();
+ for (Entry<ITypeExpression, Map<IStringExpression, IRutaExpression>> entry : entrySet) {
+ ITypeExpression key = entry.getKey();
Type type = key.getType(context, stream);
Map<IStringExpression, IRutaExpression> value = entry.getValue();
INumberExpression cgExpr = typeMap.get(key);
@@ -143,8 +143,8 @@
private Map<Integer, List<Type>> getGroup2Types(MatchContext context, RutaStream stream) {
Map<Integer, List<Type>> groupTypes = new TreeMap<Integer, List<Type>>();
- Set<Entry<TypeExpression, INumberExpression>> entrySet = typeMap.entrySet();
- for (Entry<TypeExpression, INumberExpression> entry : entrySet) {
+ Set<Entry<ITypeExpression, INumberExpression>> entrySet = typeMap.entrySet();
+ for (Entry<ITypeExpression, INumberExpression> entry : entrySet) {
Type type = entry.getKey().getType(context, stream);
INumberExpression value = entry.getValue();
int group = value == null ? 0 : value.getIntegerValue(context, stream);
@@ -224,9 +224,9 @@
}
}
} else {
- if (argExpr instanceof TypeExpression
+ if (argExpr instanceof ITypeExpression
&& range.getName().equals(UIMAConstants.TYPE_STRING)) {
- TypeExpression typeExpr = (TypeExpression) argExpr;
+ ITypeExpression typeExpr = (ITypeExpression) argExpr;
List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(afs,
typeExpr.getType(context, stream));
if (annotationsInWindow != null && !annotationsInWindow.isEmpty()) {
@@ -263,8 +263,8 @@
&& range.getName().equals(UIMAConstants.TYPE_BOOLEAN)) {
afs.setBooleanValue(feature,
((IBooleanExpression) argExpr).getBooleanValue(context, stream));
- } else if (argExpr instanceof TypeExpression) {
- TypeExpression typeExpr = (TypeExpression) argExpr;
+ } else if (argExpr instanceof ITypeExpression) {
+ ITypeExpression typeExpr = (ITypeExpression) argExpr;
List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(afs,
typeExpr.getType(context, stream));
if (typeSystem.subsumes(jcas.getCasType(FSArray.type), range)) {
@@ -287,11 +287,11 @@
return getParent().getEnvironment();
}
- public Map<TypeExpression, INumberExpression> getTypeMap() {
+ public Map<ITypeExpression, INumberExpression> getTypeMap() {
return typeMap;
}
- public void setTypeMap(Map<TypeExpression, INumberExpression> typeMap) {
+ public void setTypeMap(Map<ITypeExpression, INumberExpression> typeMap) {
this.typeMap = typeMap;
}
@@ -303,11 +303,11 @@
this.regexpExpr = regexp;
}
- public void setFeatureAssignments(Map<TypeExpression, Map<IStringExpression, IRutaExpression>> fa) {
+ public void setFeatureAssignments(Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> fa) {
this.featureAssignments = fa;
}
- public Map<TypeExpression, Map<IStringExpression, IRutaExpression>> getFeatureAssignments() {
+ public Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> getFeatureAssignments() {
return featureAssignments;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java
index d1d8998..674be32 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java
@@ -69,7 +69,7 @@
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.resource.WordTableExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
public class ActionVerbalizer {
@@ -433,7 +433,7 @@
return name + var + ", " + op + ")";
} else if (action instanceof MarkTableAction) {
MarkTableAction a = (MarkTableAction) action;
- TypeExpression typeExpr = a.getTypeExpr();
+ ITypeExpression typeExpr = a.getTypeExpr();
INumberExpression indexExpr = a.getIndexExpr();
WordTableExpression tableExpr = a.getTableExpr();
Map<IStringExpression, INumberExpression> featureMap = a.getFeatureMap();
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
index 008647b..d29c673 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
@@ -60,8 +60,8 @@
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
import org.apache.uima.ruta.expression.string.StringFeatureExpression;
import org.apache.uima.ruta.expression.string.StringVariableExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.expression.type.TypeVariableExpression;
public class ExpressionVerbalizer {
@@ -76,8 +76,8 @@
public String verbalize(IRutaExpression expression) {
if (expression instanceof GenericFeatureExpression) {
return verbalize(((GenericFeatureExpression) expression).getFeatureExpression());
- } else if (expression instanceof TypeExpression) {
- return verbalize((TypeExpression) expression);
+ } else if (expression instanceof ITypeExpression) {
+ return verbalize((ITypeExpression) expression);
} else if (expression instanceof IBooleanExpression) {
return verbalize((IBooleanExpression) expression);
} else if (expression instanceof INumberExpression) {
@@ -209,8 +209,8 @@
return "";
} else if (expression instanceof INumberExpression) {
return verbalize((INumberExpression) expression);
- } else if (expression instanceof TypeExpression) {
- return verbalize((TypeExpression) expression);
+ } else if (expression instanceof ITypeExpression) {
+ return verbalize((ITypeExpression) expression);
} else if (expression instanceof IBooleanExpression) {
return verbalize((IBooleanExpression) expression);
} else if (expression instanceof ListExpression) {
@@ -248,7 +248,7 @@
return expression.getClass().getSimpleName();
}
- public String verbalize(TypeExpression expression) {
+ public String verbalize(ITypeExpression expression) {
if (expression == null) {
return null;
}
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
index 9105fb4..76722ff 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
@@ -33,7 +33,7 @@
import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.rule.AbstractRuleElement;
import org.apache.uima.ruta.rule.ComposedRuleElement;
import org.apache.uima.ruta.rule.ConjunctRulesRuleElement;
@@ -294,10 +294,10 @@
sb.append(regexp);
sb.append(THEN);
- Iterator<Entry<TypeExpression, INumberExpression>> iterator = rule.getTypeMap().entrySet()
+ Iterator<Entry<ITypeExpression, INumberExpression>> iterator = rule.getTypeMap().entrySet()
.iterator();
while (iterator.hasNext()) {
- Entry<TypeExpression, INumberExpression> next = iterator.next();
+ Entry<ITypeExpression, INumberExpression> next = iterator.next();
String type = verbalizer.verbalize(next.getKey());
INumberExpression value = next.getValue();
if (value != null) {
@@ -306,7 +306,7 @@
} else {
sb.append(type);
}
- Map<TypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments = rule
+ Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments = rule
.getFeatureAssignments();
if (featureAssignments != null) {
Map<IStringExpression, IRutaExpression> map = featureAssignments.get(next.getKey());
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
index 002a97e..3d597d5 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
@@ -20,6 +20,7 @@
package org.apache.uima.ruta.expression.annotation;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import java.util.ArrayList;
import java.util.List;
@@ -75,6 +76,7 @@
AnnotationFS next = iterator.next();
assertEquals("text", next.getCoveredText());
AnnotationFS a = (AnnotationFS) next.getFeatureValue(f1);
+ assertNotNull("Feature value is null!", a);
assertEquals("Some", a.getCoveredText());
}
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java
index d1080ae..f1b97a0 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java
@@ -79,8 +79,8 @@
import org.apache.uima.ruta.expression.string.AbstractStringExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.expression.type.TypeVariableExpression;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
import org.junit.Test;
@@ -91,13 +91,13 @@
@Test
public void test() {
RutaVerbalizer v = new RutaVerbalizer();
- List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
+ List<ITypeExpression> typeExprList = new ArrayList<ITypeExpression>();
List<IStringExpression> stringExprList = new ArrayList<IStringExpression>();
List<IRutaExpression> exprList = new ArrayList<IRutaExpression>();
List<INumberExpression> indexes = new ArrayList<INumberExpression>();
String var = "anyVar";
- TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
- TypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
+ ITypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
+ ITypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
typeExprList.add(typeExpr1);
typeExprList.add(typeExpr2);
INumberExpression numExpr1 = new SimpleNumberExpression(4);
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java
index b424d7d..bdb06ad 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java
@@ -63,8 +63,8 @@
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.expression.type.TypeVariableExpression;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
import org.junit.Test;
@@ -74,12 +74,12 @@
@Test
public void test() {
RutaVerbalizer v = new RutaVerbalizer();
- List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
+ List<ITypeExpression> typeExprList = new ArrayList<ITypeExpression>();
List<IStringExpression> stringExprList = new ArrayList<IStringExpression>();
String var = "anyVar";
IStringExpression varExpr = new NumberVariableExpression(var);
- TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
- TypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
+ ITypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
+ ITypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
typeExprList.add(typeExpr1);
typeExprList.add(typeExpr2);
INumberExpression numExpr1 = new SimpleNumberExpression(4);
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java
index 78d8538..633e3d0 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java
@@ -50,8 +50,8 @@
import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
import org.apache.uima.ruta.expression.string.StringVariableExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.expression.type.TypeVariableExpression;
import org.apache.uima.ruta.verbalize.RutaVerbalizer;
import org.junit.Test;
@@ -97,8 +97,8 @@
String s = null;
String var = "anyVar";
- TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
- TypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
+ ITypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
+ ITypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
List<INumberExpression> numExprList1 = new ArrayList<INumberExpression>();
List<INumberExpression> numExprList2 = new ArrayList<INumberExpression>();
@@ -206,7 +206,7 @@
s = v.verbalize(nle2);
assertEquals("anyVar", s);
- List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
+ List<ITypeExpression> typeExprList = new ArrayList<ITypeExpression>();
typeExprList.add(typeExpr1);
typeExprList.add(typeExpr2);
TypeListExpression tle1 = new SimpleTypeListExpression(typeExprList);