You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2011/08/01 17:25:50 UTC
svn commit: r1152824 [7/21] - in
/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker:
./ action/ batch/ condition/ engine/ kernel/ kernel/constraint/
kernel/expression/ kernel/expression/bool/...
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,28 @@
+package org.apache.uima.tm.textmarker.kernel.expression.bool;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class SimpleBooleanExpression extends BooleanExpression {
+
+ private final boolean value;
+
+ public SimpleBooleanExpression(boolean value) {
+ super();
+ this.value = value;
+ }
+
+ @Override
+ public boolean getBooleanValue(TextMarkerStatement parent) {
+ return getPrimitiveValue();
+ }
+
+ public boolean getPrimitiveValue() {
+ return value;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return getBooleanValue(parent) ? "true" : "false";
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanFunction.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanFunction.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanFunction.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanFunction.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,39 @@
+package org.apache.uima.tm.textmarker.kernel.expression.bool;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class SimpleBooleanFunction extends BooleanExpression {
+
+ private String op;
+
+ private BooleanExpression e1;
+
+ private BooleanExpression e2;
+
+ public SimpleBooleanFunction(String text, BooleanExpression e1, BooleanExpression e2) {
+ super();
+ this.op = text;
+ this.e1 = e1;
+ this.e2 = e2;
+ }
+
+ @Override
+ public boolean getBooleanValue(TextMarkerStatement parent) {
+ boolean b1 = e1.getBooleanValue(parent);
+ boolean b2 = e2.getBooleanValue(parent);
+ if ("XOR".equals(op)) {
+ return (b1 || b2) && !(b1 && b2);
+ } else if ("==".equals(op)) {
+ return b1 == b2;
+ } else if ("!=".equals(op)) {
+ return b1 != b2;
+ }
+ return false;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return e1.getStringValue(parent) + " " + op + " " + e2.getStringValue(parent);
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanFunction.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/bool/SimpleBooleanFunction.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/BooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/BooleanListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/BooleanListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/BooleanListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,5 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+public abstract class BooleanListExpression extends ListExpression<Boolean> {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/BooleanListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/BooleanListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.string.StringExpression;
+
+
+public abstract class ListExpression<T> extends StringExpression {
+
+ public abstract List<T> getList(TextMarkerStatement parent);
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return getList(parent).toString();
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/NumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/NumberListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/NumberListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/NumberListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,5 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+public abstract class NumberListExpression extends ListExpression<Number> {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/NumberListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/NumberListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceBooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceBooleanListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceBooleanListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceBooleanListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,38 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.bool.BooleanExpression;
+
+
+public class ReferenceBooleanListExpression extends BooleanListExpression {
+
+ private String var;
+
+ public ReferenceBooleanListExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<Boolean> getList(TextMarkerStatement parent) {
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<Boolean> result = new ArrayList<Boolean>();
+ for (Object each : list) {
+ if (each instanceof BooleanExpression) {
+ result.add(((BooleanExpression) each).getBooleanValue(parent));
+ } else if (each instanceof Boolean) {
+ result.add((Boolean) each);
+ }
+ }
+ return result;
+ }
+
+ public String getVar() {
+ return var;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceBooleanListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceBooleanListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceNumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceNumberListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceNumberListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceNumberListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,37 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.number.NumberExpression;
+
+
+public class ReferenceNumberListExpression extends NumberListExpression {
+
+ private String var;
+
+ public ReferenceNumberListExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<Number> getList(TextMarkerStatement parent) {
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<Number> result = new ArrayList<Number>();
+ for (Object each : list) {
+ if (each instanceof NumberExpression) {
+ result.add(((NumberExpression) each).getDoubleValue(parent));
+ } else if (each instanceof Number) {
+ result.add((Number) each);
+ }
+ }
+ return result;
+ }
+
+ public String getVar() {
+ return var;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceNumberListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceNumberListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceStringListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceStringListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceStringListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceStringListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,37 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.string.StringExpression;
+
+
+public class ReferenceStringListExpression extends StringListExpression {
+
+ private String var;
+
+ public ReferenceStringListExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<String> getList(TextMarkerStatement parent) {
+ List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
+ List<String> result = new ArrayList<String>();
+ for (Object each : list) {
+ if (each instanceof StringExpression) {
+ result.add(((StringExpression) each).getStringValue(parent));
+ } else if (each instanceof String) {
+ result.add((String) each);
+ }
+ }
+ return result;
+ }
+
+ public String getVar() {
+ return var;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceStringListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceStringListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceTypeListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceTypeListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceTypeListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceTypeListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,38 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.type.TypeExpression;
+
+
+public class ReferenceTypeListExpression extends TypeListExpression {
+
+ private String var;
+
+ public ReferenceTypeListExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<Type> getList(TextMarkerStatement parent) {
+ 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(parent));
+ } else if (each instanceof Type) {
+ result.add((Type) each);
+ }
+ }
+ return result;
+ }
+
+ public String getVar() {
+ return var;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceTypeListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/ReferenceTypeListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleBooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleBooleanListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleBooleanListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleBooleanListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,32 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.bool.BooleanExpression;
+
+
+public class SimpleBooleanListExpression extends BooleanListExpression {
+
+ private List<BooleanExpression> list;
+
+ public SimpleBooleanListExpression(List<BooleanExpression> list) {
+ super();
+ this.list = list;
+ }
+
+ @Override
+ public List<Boolean> getList(TextMarkerStatement parent) {
+ List<Boolean> result = new ArrayList<Boolean>();
+ for (BooleanExpression each : list) {
+ result.add(each.getBooleanValue(parent));
+ }
+ return result;
+ }
+
+ public List<BooleanExpression> getList() {
+ return list;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleBooleanListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleBooleanListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleNumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleNumberListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleNumberListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleNumberListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,31 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.number.NumberExpression;
+
+
+public class SimpleNumberListExpression extends NumberListExpression {
+
+ private List<NumberExpression> list;
+
+ public SimpleNumberListExpression(List<NumberExpression> list) {
+ super();
+ this.list = list;
+ }
+
+ @Override
+ public List<Number> getList(TextMarkerStatement parent) {
+ List<Number> result = new ArrayList<Number>();
+ for (NumberExpression each : list) {
+ result.add(each.getDoubleValue(parent));
+ }
+ return result;
+ }
+
+ public List<NumberExpression> getList() {
+ return list;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleNumberListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleNumberListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleStringListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleStringListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleStringListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleStringListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,31 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.string.StringExpression;
+
+
+public class SimpleStringListExpression extends StringListExpression {
+
+ private List<StringExpression> list;
+
+ public SimpleStringListExpression(List<StringExpression> list) {
+ super();
+ this.list = list;
+ }
+
+ @Override
+ public List<String> getList(TextMarkerStatement parent) {
+ List<String> result = new ArrayList<String>();
+ for (StringExpression each : list) {
+ result.add(each.getStringValue(parent));
+ }
+ return result;
+ }
+
+ public List<StringExpression> getList() {
+ return list;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleStringListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleStringListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleTypeListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleTypeListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleTypeListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleTypeListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,32 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.type.TypeExpression;
+
+
+public class SimpleTypeListExpression extends TypeListExpression {
+
+ private List<TypeExpression> list;
+
+ public SimpleTypeListExpression(List<TypeExpression> list) {
+ super();
+ this.list = list;
+ }
+
+ @Override
+ public List<Type> getList(TextMarkerStatement parent) {
+ List<Type> result = new ArrayList<Type>();
+ for (TypeExpression each : list) {
+ result.add(each.getType(parent));
+ }
+ return result;
+ }
+
+ public List<TypeExpression> getList() {
+ return list;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleTypeListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/SimpleTypeListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/StringListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/StringListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/StringListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/StringListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,5 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+public abstract class StringListExpression extends ListExpression<String> {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/StringListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/StringListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/TypeListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/TypeListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/TypeListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/TypeListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.textmarker.kernel.expression.list;
+
+import org.apache.uima.cas.Type;
+
+public abstract class TypeListExpression extends ListExpression<Type> {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/TypeListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/list/TypeListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/AbstractNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/AbstractNumberExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/AbstractNumberExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/AbstractNumberExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,56 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+
+public abstract class AbstractNumberExpression extends NumberExpression {
+
+ protected double calculate(double t1, double t2, String op) {
+ if ("+".equals(op)) {
+ return t1 + t2;
+ } else if ("-".equals(op)) {
+ return t1 - t2;
+ } else if ("*".equals(op)) {
+ return t1 * t2;
+ } else if ("/".equals(op)) {
+ return t1 / t2;
+ } else if ("%".equals(op)) {
+ return t1 % t2;
+ } else if ("EXP".equals(op)) {
+ return Math.exp(t1);
+ } else if ("LOG".equals(op)) {
+ return Math.log(t1);
+ } else if ("SIN".equals(op)) {
+ return Math.sin(t1);
+ } else if ("COS".equals(op)) {
+ return Math.cos(t1);
+ } else if ("TAN".equals(op)) {
+ return Math.tan(t1);
+ }
+ return 0;
+ }
+
+ protected int calculate(int t1, int t2, String op) {
+ if ("+".equals(op)) {
+ return t1 + t2;
+ } else if ("-".equals(op)) {
+ return t1 - t2;
+ } else if ("*".equals(op)) {
+ return t1 * t2;
+ } else if ("/".equals(op)) {
+ return t1 / t2;
+ } else if ("%".equals(op)) {
+ return t1 % t2;
+ } else if ("EXP".equals(op)) {
+ return (int) Math.exp(t1);
+ } else if ("LOG".equals(op)) {
+ return (int) Math.log(t1);
+ } else if ("SIN".equals(op)) {
+ return (int) Math.sin(t1);
+ } else if ("COS".equals(op)) {
+ return (int) Math.cos(t1);
+ } else if ("TAN".equals(op)) {
+ return (int) Math.tan(t1);
+ }
+ return 0;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/AbstractNumberExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/AbstractNumberExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedDoubleExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedDoubleExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedDoubleExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedDoubleExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,63 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+
+public class ComposedDoubleExpression extends AbstractNumberExpression {
+
+ private final List<NumberExpression> expressions;
+
+ private final List<String> ops;
+
+ public ComposedDoubleExpression(List<NumberExpression> expressions, List<String> ops) {
+ super();
+ this.expressions = expressions;
+ this.ops = ops;
+ }
+
+ @Override
+ public double getDoubleValue(TextMarkerStatement parent) {
+ NumberExpression numberExpression = getExpressions().get(0);
+ if (numberExpression == null) {
+ return 0;
+ }
+ double result = numberExpression.getDoubleValue(parent);
+ for (int i = 0; i < getOperators().size(); i++) {
+ double second = 0;
+ if (getExpressions().size() > i + 1) {
+ second = getExpressions().get(i + 1).getIntegerValue(parent);
+ }
+ result = calculate(result, second, getOperators().get(i));
+ }
+ return result;
+ }
+
+ @Override
+ public int getIntegerValue(TextMarkerStatement parent) {
+ int result = getExpressions().get(0).getIntegerValue(parent);
+ for (int i = 0; i < getOperators().size(); i++) {
+ int second = 0;
+ if (getExpressions().size() > i + 1) {
+ second = getExpressions().get(i + 1).getIntegerValue(parent);
+ }
+ result = calculate(result, second, getOperators().get(i));
+ }
+ return result;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return "" + getDoubleValue(parent);
+ }
+
+ public List<NumberExpression> getExpressions() {
+ return expressions;
+ }
+
+ public List<String> getOperators() {
+ return ops;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedDoubleExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedDoubleExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedIntegerExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedIntegerExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedIntegerExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedIntegerExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,59 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+
+public class ComposedIntegerExpression extends AbstractNumberExpression {
+
+ private final List<NumberExpression> expressions;
+
+ private final List<String> ops;
+
+ public ComposedIntegerExpression(List<NumberExpression> expressions, List<String> ops) {
+ super();
+ this.expressions = expressions;
+ this.ops = ops;
+ }
+
+ @Override
+ public double getDoubleValue(TextMarkerStatement parent) {
+ double result = getExpressions().get(0).getDoubleValue(parent);
+ for (int i = 0; i < getOperators().size(); i++) {
+ result = calculate(result, getExpressions().get(i + 1).getDoubleValue(parent), getOperators()
+ .get(i));
+ }
+ return result;
+ }
+
+ @Override
+ public int getIntegerValue(TextMarkerStatement parent) {
+ int result = getExpressions().get(0).getIntegerValue(parent);
+ for (int i = 0; i < getOperators().size(); i++) {
+ result = calculate(result, getExpressions().get(i + 1).getIntegerValue(parent),
+ getOperators().get(i));
+ }
+ return result;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ try {
+ String string = "" + getDoubleValue(parent);
+ return string;
+ } catch (Exception e) {
+ }
+ return "" + getIntegerValue(parent);
+
+ }
+
+ public List<NumberExpression> getExpressions() {
+ return expressions;
+ }
+
+ public List<String> getOperators() {
+ return ops;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedIntegerExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ComposedIntegerExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NegativeNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NegativeNumberExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NegativeNumberExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NegativeNumberExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,33 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class NegativeNumberExpression extends NumberExpression {
+
+ private final NumberExpression ne;
+
+ public NegativeNumberExpression(NumberExpression simpleNumberExpression) {
+ super();
+ this.ne = simpleNumberExpression;
+ }
+
+ @Override
+ public double getDoubleValue(TextMarkerStatement parent) {
+ return -ne.getDoubleValue(parent);
+ }
+
+ @Override
+ public int getIntegerValue(TextMarkerStatement parent) {
+ return -ne.getIntegerValue(parent);
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return "-" + ne.getStringValue(parent);
+ }
+
+ public NumberExpression getExpression() {
+ return ne;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NegativeNumberExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NegativeNumberExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,12 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.string.StringExpression;
+
+public abstract class NumberExpression extends StringExpression {
+
+ public abstract int getIntegerValue(TextMarkerStatement parent);
+
+ public abstract double getDoubleValue(TextMarkerStatement parent);
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberFunctionExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberFunctionExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberFunctionExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberFunctionExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,6 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+
+public abstract class NumberFunctionExpression extends NumberExpression {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberFunctionExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/NumberFunctionExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceDoubleExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceDoubleExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceDoubleExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceDoubleExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,47 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class ReferenceDoubleExpression extends NumberExpression {
+
+ private final String var;
+
+ public ReferenceDoubleExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @Override
+ public double getDoubleValue(TextMarkerStatement parent) {
+ Object value = parent.getEnvironment().getVariableValue(getVar());
+ double variableValue = 0;
+ if (value instanceof Number) {
+ variableValue = ((Number) value).doubleValue();
+ }
+ return variableValue;
+ }
+
+ @Override
+ public int getIntegerValue(TextMarkerStatement parent) {
+ Object value = parent.getEnvironment().getVariableValue(getVar());
+ int variableValue = 0;
+ if (value instanceof Number) {
+ variableValue = ((Number) value).intValue();
+ }
+ return variableValue;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ Class<?> variableType = parent.getEnvironment().getVariableType(getVar());
+ if (variableType.equals(Integer.class)) {
+ return "" + getIntegerValue(parent);
+ } else {
+ return "" + getDoubleValue(parent);
+ }
+ }
+
+ public String getVar() {
+ return var;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceDoubleExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceDoubleExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceIntegerExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceIntegerExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceIntegerExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceIntegerExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,39 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class ReferenceIntegerExpression extends NumberExpression {
+ private final String var;
+
+ public ReferenceIntegerExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @Override
+ public double getDoubleValue(TextMarkerStatement parent) {
+ Double variableValue = parent.getEnvironment().getVariableValue(getVar(), Double.class);
+ return variableValue;
+ }
+
+ @Override
+ public int getIntegerValue(TextMarkerStatement parent) {
+ Integer variableValue = parent.getEnvironment().getVariableValue(getVar(), Integer.class);
+ return variableValue;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ Class<?> variableType = parent.getEnvironment().getVariableType(getVar());
+ if (variableType.equals(Integer.class)) {
+ return "" + getIntegerValue(parent);
+ } else {
+ return "" + getDoubleValue(parent);
+ }
+ }
+
+ public String getVar() {
+ return var;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceIntegerExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/ReferenceIntegerExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/SimpleNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/SimpleNumberExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/SimpleNumberExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/SimpleNumberExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,38 @@
+package org.apache.uima.tm.textmarker.kernel.expression.number;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class SimpleNumberExpression extends NumberExpression {
+
+ private final Number number;
+
+ public SimpleNumberExpression(Number number) {
+ super();
+ this.number = number;
+ }
+
+ @Override
+ public double getDoubleValue(TextMarkerStatement parent) {
+ return number.doubleValue();
+ }
+
+ @Override
+ public int getIntegerValue(TextMarkerStatement parent) {
+ return number.intValue();
+ }
+
+ public Number getNumber() {
+ return number;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ boolean floating = number.intValue() != number.doubleValue();
+ if (floating) {
+ return "" + getDoubleValue(parent);
+ } else {
+ return "" + getIntegerValue(parent);
+ }
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/SimpleNumberExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/number/SimpleNumberExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,33 @@
+package org.apache.uima.tm.textmarker.kernel.expression.resource;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.resource.TextMarkerWordList;
+
+public class LiteralWordListExpression extends WordListExpression {
+
+ private final String text;
+
+ public LiteralWordListExpression(String text) {
+ super();
+ if (text.startsWith("\'") && text.endsWith("\'")) {
+ text = text.substring(1, text.length() - 1);
+ }
+ this.text = stripEscapes(text); // hotfix for the escaping problem
+ }
+
+ public static String stripEscapes(String str) {
+ String result = str.replaceAll("\\\\\\\\", "\\\\");
+ return result.replaceAll("\\\\\\\"", "\\\"");
+ }
+
+ @Override
+ public TextMarkerWordList getList(TextMarkerStatement element) {
+ TextMarkerWordList list = element.getEnvironment().getWordList(getText());
+ return list;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordTableExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordTableExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordTableExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,33 @@
+package org.apache.uima.tm.textmarker.kernel.expression.resource;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.resource.TextMarkerTable;
+
+public class LiteralWordTableExpression extends WordTableExpression {
+
+ private final String text;
+
+ public LiteralWordTableExpression(String text) {
+ super();
+ if (text.startsWith("\'") && text.endsWith("\'")) {
+ text = text.substring(1, text.length() - 1);
+ }
+ this.text = stripEscapes(text); // hotfix for the escaping problem
+ }
+
+ public static String stripEscapes(String str) {
+ String result = str.replaceAll("\\\\\\\\", "\\\\");
+ return result.replaceAll("\\\\\\\"", "\\\"");
+ }
+
+ @Override
+ public TextMarkerTable getTable(TextMarkerStatement element) {
+ TextMarkerTable table = element.getEnvironment().getWordTable(getText());
+ return table;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordTableExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/LiteralWordTableExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,23 @@
+package org.apache.uima.tm.textmarker.kernel.expression.resource;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.resource.TextMarkerWordList;
+
+public class ReferenceWordListExpression extends WordListExpression {
+
+ private String ref;
+
+ public ReferenceWordListExpression(String ref) {
+ super();
+ this.ref = ref;
+ }
+
+ @Override
+ public TextMarkerWordList getList(TextMarkerStatement element) {
+ return element.getEnvironment().getVariableValue(ref, TextMarkerWordList.class);
+ }
+
+ public String getRef() {
+ return ref;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordTableExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordTableExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordTableExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,24 @@
+package org.apache.uima.tm.textmarker.kernel.expression.resource;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.resource.TextMarkerTable;
+
+public class ReferenceWordTableExpression extends WordTableExpression {
+
+ private String ref;
+
+ public ReferenceWordTableExpression(String ref) {
+ super();
+ this.ref = ref;
+ }
+
+ @Override
+ public TextMarkerTable getTable(TextMarkerStatement element) {
+ return element.getEnvironment().getVariableValue(ref, TextMarkerTable.class);
+ }
+
+ public String getRef() {
+ return ref;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordTableExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/ReferenceWordTableExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordListExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordListExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordListExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordListExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,11 @@
+package org.apache.uima.tm.textmarker.kernel.expression.resource;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.TextMarkerExpression;
+import org.apache.uima.tm.textmarker.resource.TextMarkerWordList;
+
+public abstract class WordListExpression extends TextMarkerExpression {
+
+ public abstract TextMarkerWordList getList(TextMarkerStatement element);
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordListExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordListExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordTableExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordTableExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordTableExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordTableExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,11 @@
+package org.apache.uima.tm.textmarker.kernel.expression.resource;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.TextMarkerExpression;
+import org.apache.uima.tm.textmarker.resource.TextMarkerTable;
+
+public abstract class WordTableExpression extends TextMarkerExpression {
+
+ public abstract TextMarkerTable getTable(TextMarkerStatement element);
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordTableExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/resource/WordTableExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ComposedStringExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ComposedStringExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ComposedStringExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ComposedStringExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,30 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+
+public class ComposedStringExpression extends LiteralStringExpression {
+
+ private final List<StringExpression> epxressions;
+
+ public ComposedStringExpression(List<StringExpression> expressions) {
+ super();
+ this.epxressions = expressions;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ StringBuilder result = new StringBuilder();
+ for (StringExpression each : getExpressions()) {
+ result.append(each.getStringValue(parent));
+ }
+ return result.toString();
+ }
+
+ public List<StringExpression> getExpressions() {
+ return epxressions;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ComposedStringExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ComposedStringExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/LiteralStringExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/LiteralStringExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/LiteralStringExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/LiteralStringExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,6 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+
+public abstract class LiteralStringExpression extends StringExpression {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/LiteralStringExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/LiteralStringExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ReferenceStringExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ReferenceStringExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ReferenceStringExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ReferenceStringExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,24 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class ReferenceStringExpression extends LiteralStringExpression {
+
+ private final String var;
+
+ public ReferenceStringExpression(String var) {
+ super();
+ this.var = var;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ String variableValue = parent.getEnvironment().getVariableValue(getVar(), String.class);
+ return variableValue;
+ }
+
+ public String getVar() {
+ return var;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ReferenceStringExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/ReferenceStringExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/RemoveFunction.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/RemoveFunction.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/RemoveFunction.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/RemoveFunction.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,42 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+
+public class RemoveFunction extends StringFunctionExpression {
+
+ private List<StringExpression> list;
+
+ private String var;
+
+ public RemoveFunction(String v, List<StringExpression> list) {
+ super();
+ this.var = v;
+ this.list = list;
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ StringBuilder result = new StringBuilder();
+ String value = parent.getEnvironment().getVariableValue(var, String.class);
+ for (StringExpression each : list) {
+ String string = each.getStringValue(parent);
+ String[] split = value.split(string);
+ for (String r : split) {
+ result.append(r);
+ }
+ }
+ return result.toString();
+ }
+
+ public List<StringExpression> getList() {
+ return list;
+ }
+
+ public String getVar() {
+ return var;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/RemoveFunction.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/RemoveFunction.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/SimpleStringExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/SimpleStringExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/SimpleStringExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/SimpleStringExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,31 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+public class SimpleStringExpression extends LiteralStringExpression {
+
+ private final String value;
+
+ public static String stripEscapes(String str) {
+ String result = str.replaceAll("\\\\\\\\", "\\\\");
+ return result.replaceAll("\\\\\\\"", "\\\"");
+ }
+
+ public SimpleStringExpression(String value) {
+ super();
+ if (value.startsWith("\"") && value.endsWith("\"")) {
+ value = value.substring(1, value.length() - 1);
+ }
+ this.value = stripEscapes(value); // hotfix for the escaping problem
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return getValue();
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/SimpleStringExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/SimpleStringExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,10 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.TextMarkerExpression;
+
+public abstract class StringExpression extends TextMarkerExpression {
+
+ public abstract String getStringValue(TextMarkerStatement parent);
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,5 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+public abstract class StringFunctionExpression extends StringExpression {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionFactory.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionFactory.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,13 @@
+package org.apache.uima.tm.textmarker.kernel.expression.string;
+
+import java.util.List;
+
+import org.antlr.runtime.Token;
+
+public class StringFunctionFactory {
+
+ public static StringExpression createRemoveFunction(Token var, List<StringExpression> list) {
+ String v = var == null ? "" : var.getText();
+ return new RemoveFunction(v, list);
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/string/StringFunctionFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/ReferenceTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/ReferenceTypeExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/ReferenceTypeExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/ReferenceTypeExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,36 @@
+package org.apache.uima.tm.textmarker.kernel.expression.type;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+
+public class ReferenceTypeExpression extends TypeExpression {
+
+ private final String var;
+
+ public ReferenceTypeExpression(String varString) {
+ super();
+ this.var = varString;
+ }
+
+ @Override
+ public String toString() {
+ return getVar();
+ }
+
+ public String getVar() {
+ return var;
+ }
+
+ @Override
+ public Type getType(TextMarkerStatement parent) {
+ return parent.getEnvironment().getVariableValue(var, Type.class);
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ Type type = getType(parent);
+ return type != null ? type.getName() : "null";
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/ReferenceTypeExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/ReferenceTypeExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/SimpleTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/SimpleTypeExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/SimpleTypeExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/SimpleTypeExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,31 @@
+package org.apache.uima.tm.textmarker.kernel.expression.type;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+
+
+public class SimpleTypeExpression extends TypeExpression {
+
+ private final Type type;
+
+ public SimpleTypeExpression(Type type) {
+ super();
+ this.type = type;
+ }
+
+ @Override
+ public Type getType(TextMarkerStatement parent) {
+ return type;
+ }
+
+ @Override
+ public String toString() {
+ return type.getShortName();
+ }
+
+ @Override
+ public String getStringValue(TextMarkerStatement parent) {
+ return type.getName();
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/SimpleTypeExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/SimpleTypeExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/TypeExpression.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/TypeExpression.java?rev=1152824&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/TypeExpression.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/TypeExpression.java Mon Aug 1 15:24:44 2011
@@ -0,0 +1,12 @@
+package org.apache.uima.tm.textmarker.kernel.expression.type;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.tm.textmarker.kernel.TextMarkerStatement;
+import org.apache.uima.tm.textmarker.kernel.expression.string.StringExpression;
+
+
+public abstract class TypeExpression extends StringExpression {
+
+ public abstract Type getType(TextMarkerStatement parent);
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/TypeExpression.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.engine/src/main/java/org/apache/uima/tm/textmarker/kernel/expression/type/TypeExpression.java
------------------------------------------------------------------------------
svn:mime-type = text/plain