svn commit: r1575535 - in /uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta: action/ActionFactory.java action/SetFeatureAction.java verbalize/ActionVerbalizer.java
Author: pkluegl Date: Sat Mar 8 12:39:14 2014 New Revision: 1575535 URL: http://svn.apache.org/r1575535 Log: UIMA-3670 - fixed SETFEATURE action Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java?rev=1575535r1=1575534r2=1575535view=diff == --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java Sat Mar 8 12:39:14 2014 @@ -26,6 +26,7 @@ import java.util.logging.Level; import org.antlr.runtime.Token; import org.apache.uima.ruta.RutaBlock; import org.apache.uima.ruta.expression.IRutaExpression; +import org.apache.uima.ruta.expression.RutaExpression; import org.apache.uima.ruta.expression.bool.IBooleanExpression; import org.apache.uima.ruta.expression.feature.FeatureMatchExpression; import org.apache.uima.ruta.expression.list.ListExpression; @@ -149,16 +150,9 @@ public class ActionFactory { return new RemoveFilterTypeAction(types); } - public static AbstractRutaAction createSetFeatureAction(IStringExpression f, Object v, + public static AbstractRutaAction createSetFeatureAction(IStringExpression f, IRutaExpression v, RutaBlock parent) { -if (v instanceof INumberExpression) { - return new SetFeatureAction(f, (INumberExpression) v); -} else if (v instanceof IBooleanExpression) { - return new SetFeatureAction(f, (IBooleanExpression) v); -} else if (v instanceof IStringExpression) { - return new SetFeatureAction(f, (IStringExpression) v); -} -return null; +return new SetFeatureAction(f, v); } public static AbstractRutaAction createUnmarkAction(TypeExpression f, @@ -191,7 +185,8 @@ public class ActionFactory { return new TrieAction(list, map, ignoreCase, ignoreLength, edit, distance, ignoreChar); } - public static AbstractRutaAction createExecAction(String ns, TypeListExpression tl, IStringExpression view, RutaBlock env) { + public static AbstractRutaAction createExecAction(String ns, TypeListExpression tl, + IStringExpression view, RutaBlock env) { return new ExecAction(ns, tl, view); } @@ -224,7 +219,8 @@ public class ActionFactory { return new AddAction(var == null ? null : var.getText(), list); } - public static AbstractRutaAction createGetListAction(Token var, IStringExpression op, RutaBlock env) { + public static AbstractRutaAction createGetListAction(Token var, IStringExpression op, + RutaBlock env) { return new GetListAction(var == null ? null : var.getText(), op); } Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java?rev=1575535r1=1575534r2=1575535view=diff == --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java Sat Mar 8 12:39:14 2014 @@ -27,6 +27,7 @@ import org.apache.uima.cas.text.Annotati import org.apache.uima.ruta.RutaBlock; import org.apache.uima.ruta.RutaStream; import org.apache.uima.ruta.UIMAConstants; +import org.apache.uima.ruta.expression.IRutaExpression; import org.apache.uima.ruta.expression.bool.IBooleanExpression; import org.apache.uima.ruta.expression.number.INumberExpression; import org.apache.uima.ruta.expression.string.IStringExpression; @@ -40,58 +41,18 @@ public class SetFeatureAction extends Ab private final IStringExpression featureStringExpression; - private IStringExpression stringExpr; + private final IRutaExpression expr; - private INumberExpression numberExpr; - - private IBooleanExpression booleanExpr; - - private TypeExpression typeExpr; - - protected SetFeatureAction(IStringExpression feature) { + public SetFeatureAction(IStringExpression feature, IRutaExpression expr) { super(); this.featureStringExpression = feature; - } - - public SetFeatureAction(IStringExpression feature, IStringExpression stringExpr) { -this(feature); -this.stringExpr = stringExpr; - } - - public SetFeatureAction(IStringExpression feature, INumberExpression numberExpr) { -this(feature); -this.numberExpr = numberExpr; - } - - public
svn commit: r1575584 - /uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java
Author: pkluegl Date: Sat Mar 8 18:23:12 2014 New Revision: 1575584 URL: http://svn.apache.org/r1575584 Log: UIMA-3670 - fixed copy/paste error Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java?rev=1575584r1=1575583r2=1575584view=diff == --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java Sat Mar 8 18:23:12 2014 @@ -53,7 +53,6 @@ public class SetFeatureAction extends Ab return featureStringExpression; } - @Override public void execute(RuleMatch match, RuleElement element, RutaStream stream, InferenceCrowd crowd) { RutaBlock parent = element.getParent(); @@ -69,31 +68,33 @@ public class SetFeatureAction extends Ab IStringExpression stringExpr = (IStringExpression) expr; String string = stringExpr.getStringValue(parent, match, element, stream); annotationFS.setStringValue(feature, string); -}else if (range.equals(UIMAConstants.TYPE_INTEGER) expr instanceof INumberExpression) { -INumberExpression numberExpr = (INumberExpression) expr; -int v = numberExpr.getIntegerValue(parent, match, element, stream); -annotationFS.setIntValue(feature, v); - } else if (range.equals(UIMAConstants.TYPE_DOUBLE) expr instanceof INumberExpression) { -INumberExpression numberExpr = (INumberExpression) expr; -double v = numberExpr.getDoubleValue(parent, match, element, stream); -annotationFS.setDoubleValue(feature, v); - } else if (range.equals(UIMAConstants.TYPE_FLOAT) expr instanceof INumberExpression) { -INumberExpression numberExpr = (INumberExpression) expr; -float v = (float) numberExpr.getFloatValue(parent, match, element, stream); -annotationFS.setFloatValue(feature, v); - } else if (range.equals(UIMAConstants.TYPE_BYTE) expr instanceof INumberExpression) { -INumberExpression numberExpr = (INumberExpression) expr; -byte v = (byte) numberExpr.getIntegerValue(parent, match, element, stream); -annotationFS.setByteValue(feature, v); - } else if (range.equals(UIMAConstants.TYPE_SHORT) expr instanceof INumberExpression) { -INumberExpression numberExpr = (INumberExpression) expr; -short v = (short) numberExpr.getIntegerValue(parent, match, element, stream); -annotationFS.setShortValue(feature, v); - } else if (range.equals(UIMAConstants.TYPE_LONG) expr instanceof INumberExpression) { -INumberExpression numberExpr = (INumberExpression) expr; -long v = numberExpr.getIntegerValue(parent, match, element, stream); -annotationFS.setLongValue(feature, v); -} else if (range.equals(UIMAConstants.TYPE_BOOLEAN) expr instanceof IBooleanExpression) { +} else if (rangeName.equals(UIMAConstants.TYPE_INTEGER) + expr instanceof INumberExpression) { + INumberExpression numberExpr = (INumberExpression) expr; + int v = numberExpr.getIntegerValue(parent, match, element, stream); + annotationFS.setIntValue(feature, v); +} else if (rangeName.equals(UIMAConstants.TYPE_DOUBLE) expr instanceof INumberExpression) { + INumberExpression numberExpr = (INumberExpression) expr; + double v = numberExpr.getDoubleValue(parent, match, element, stream); + annotationFS.setDoubleValue(feature, v); +} else if (rangeName.equals(UIMAConstants.TYPE_FLOAT) expr instanceof INumberExpression) { + INumberExpression numberExpr = (INumberExpression) expr; + float v = (float) numberExpr.getFloatValue(parent, match, element, stream); + annotationFS.setFloatValue(feature, v); +} else if (rangeName.equals(UIMAConstants.TYPE_BYTE) expr instanceof INumberExpression) { + INumberExpression numberExpr = (INumberExpression) expr; + byte v = (byte) numberExpr.getIntegerValue(parent, match, element, stream); + annotationFS.setByteValue(feature, v); +} else if (rangeName.equals(UIMAConstants.TYPE_SHORT) expr instanceof INumberExpression) { + INumberExpression numberExpr = (INumberExpression) expr; + short v = (short) numberExpr.getIntegerValue(parent, match, element, stream); + annotationFS.setShortValue(feature, v); +} else if (rangeName.equals(UIMAConstants.TYPE_LONG) expr instanceof INumberExpression) { + INumberExpression