UIMA-4798
- revert failed merge

git-svn-id: https://svn.apache.org/repos/asf/uima/ruta/branches/UIMA-4798@1733238 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/example-projects/ruta-ep-example-extensions/pom.xml b/example-projects/ruta-ep-example-extensions/pom.xml
index c9754d3..72508d8 100644
--- a/example-projects/ruta-ep-example-extensions/pom.xml
+++ b/example-projects/ruta-ep-example-extensions/pom.xml
@@ -24,9 +24,9 @@
   <name>Apache UIMA Ruta: ${project.artifactId}</name>

   <parent>

     <groupId>org.apache.uima</groupId>

-    <artifactId>ruta-parent</artifactId>

+    <artifactId>ruta-ep-parent</artifactId>

     <version>2.4.1-SNAPSHOT</version>

-    <relativePath>../../ruta-parent/pom.xml</relativePath>

+    <relativePath>../../ruta-ep-parent/pom.xml</relativePath>

   </parent>

   <properties>

     <postNoticeText />

@@ -50,12 +50,6 @@
       <artifactId>ruta-ep-ide-ui</artifactId>

       <version>${project.parent.version}</version>

     </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

    <dependency>

       <groupId>org.antlr</groupId>

       <artifactId>antlr-runtime</artifactId>

diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleActionIDEExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleActionIDEExtension.java
index 87c3617..d4d8503 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleActionIDEExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleActionIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;

 import org.apache.uima.ruta.ide.parser.ast.RutaAction;

 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.compiler.problem.IProblem;

 import org.eclipse.dltk.compiler.problem.IProblemReporter;

@@ -48,10 +49,10 @@
         return false;

       }

       boolean ok = true;

-      List<Expression> childs = a.getChilds();

-      for (Expression expression : childs) {

-        if (expression.getKind() != RutaTypeConstants.RUTA_TYPE_N) {

-          IProblem problem = problemFactory.createWrongArgumentTypeProblem(expression,

+      List<ASTNode> childs = a.getChilds();

+      for (ASTNode each : childs) {

+        if (each instanceof Expression &&  ((Expression)each).getKind() != RutaTypeConstants.RUTA_TYPE_N) {

+          IProblem problem = problemFactory.createWrongArgumentTypeProblem((Expression) each,

                   "NumberExpression");

           rep.reportProblem(problem);

           ok = false;

diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionIDEExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionIDEExtension.java
index 27f59f4..cbf57a6 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionIDEExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleBooleanFunctionIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;

 import org.apache.uima.ruta.ide.parser.ast.RutaFunction;

 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.compiler.problem.IProblem;

 import org.eclipse.dltk.compiler.problem.IProblemReporter;

@@ -48,15 +49,15 @@
         return false;

       }

       boolean ok = true;

-      List<Expression> childs = f.getChilds();

+      List<ASTNode> childs = f.getChilds();

       if (childs.size() != 1) {

         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 1);

         rep.reportProblem(problem);

         ok = false;

       }

-      Expression expr = childs.get(0);

-      if (expr.getKind() != RutaTypeConstants.RUTA_TYPE_AT) {

-        IProblem problem = problemFactory.createWrongArgumentTypeProblem(expr, "TypeExpression");

+      ASTNode expr = childs.get(0);

+      if (expr instanceof Expression &&  ((Expression)expr).getKind() != RutaTypeConstants.RUTA_TYPE_AT) {

+        IProblem problem = problemFactory.createWrongArgumentTypeProblem((Expression) expr, "TypeExpression");

         rep.reportProblem(problem);

         ok = false;

       }

diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleConditionIDEExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleConditionIDEExtension.java
index 11ce8b1..7a7476c 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleConditionIDEExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleConditionIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;

 import org.apache.uima.ruta.ide.parser.ast.RutaCondition;

 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.compiler.problem.IProblem;

 import org.eclipse.dltk.compiler.problem.IProblemReporter;

@@ -48,15 +49,15 @@
         return false;

       }

       boolean ok = true;

-      List<Expression> childs = a.getChilds();

+      List<ASTNode> childs = a.getChilds();

       if (childs.size() != 2) {

         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 2);

         rep.reportProblem(problem);

         ok = false;

       }

-      for (Expression expression : childs) {

-        if (expression.getKind() != RutaTypeConstants.RUTA_TYPE_S) {

-          IProblem problem = problemFactory.createWrongArgumentTypeProblem(expression,

+      for (ASTNode expression : childs) {

+        if (expression instanceof Expression &&  ((Expression)expression).getKind() != RutaTypeConstants.RUTA_TYPE_S) {

+          IProblem problem = problemFactory.createWrongArgumentTypeProblem((Expression) expression,

                   "StringExpression");

           rep.reportProblem(problem);

           ok = false;

diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionIDEExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionIDEExtension.java
index 7d3ab0f..52c8790 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionIDEExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleNumberFunctionIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;

 import org.apache.uima.ruta.ide.parser.ast.RutaFunction;

 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.compiler.problem.IProblem;

 import org.eclipse.dltk.compiler.problem.IProblemReporter;

@@ -48,15 +49,15 @@
         return false;

       }

       boolean ok = true;

-      List<Expression> childs = f.getChilds();

+      List<ASTNode> childs = f.getChilds();

       if (childs.size() != 1) {

         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 1);

         rep.reportProblem(problem);

         ok = false;

       }

-      Expression expr = childs.get(0);

-      if (expr.getKind() != RutaTypeConstants.RUTA_TYPE_AT) {

-        IProblem problem = problemFactory.createWrongArgumentTypeProblem(expr, "TypeExpression");

+      ASTNode expr = childs.get(0);

+      if (expr instanceof Expression &&  ((Expression)expr).getKind() != RutaTypeConstants.RUTA_TYPE_AT) {

+        IProblem problem = problemFactory.createWrongArgumentTypeProblem((Expression) expr, "TypeExpression");

         rep.reportProblem(problem);

         ok = false;

       }

diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionIDEExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionIDEExtension.java
index 552ffa6..018e510 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionIDEExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleStringFunctionIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;

 import org.apache.uima.ruta.ide.parser.ast.RutaFunction;

 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.compiler.problem.IProblem;

 import org.eclipse.dltk.compiler.problem.IProblemReporter;

@@ -48,15 +49,15 @@
         return false;

       }

       boolean ok = true;

-      List<Expression> childs = f.getChilds();

+      List<ASTNode> childs = f.getChilds();

       if (childs.size() != 1) {

         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 1);

         rep.reportProblem(problem);

         ok = false;

       }

-      Expression expr = childs.get(0);

-      if (expr.getKind() != RutaTypeConstants.RUTA_TYPE_AT) {

-        IProblem problem = problemFactory.createWrongArgumentTypeProblem(expr, "TypeExpression");

+      ASTNode expr = childs.get(0);

+      if (expr instanceof Expression &&  ((Expression)expr).getKind() != RutaTypeConstants.RUTA_TYPE_AT) {

+        IProblem problem = problemFactory.createWrongArgumentTypeProblem((Expression) expr, "TypeExpression");

         rep.reportProblem(problem);

         ok = false;

       }

diff --git a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleTypeFunctionIDEExtension.java b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleTypeFunctionIDEExtension.java
index 5343720..bc7c7f2 100644
--- a/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleTypeFunctionIDEExtension.java
+++ b/example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ExampleTypeFunctionIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;

 import org.apache.uima.ruta.ide.parser.ast.RutaFunction;

 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.compiler.problem.IProblem;

 import org.eclipse.dltk.compiler.problem.IProblemReporter;

@@ -48,15 +49,15 @@
         return false;

       }

       boolean ok = true;

-      List<Expression> childs = f.getChilds();

+      List<ASTNode> childs = f.getChilds();

       if (childs.size() != 1) {

         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 1);

         rep.reportProblem(problem);

         ok = false;

       }

-      Expression expr = childs.get(0);

-      if (expr.getKind() != RutaTypeConstants.RUTA_TYPE_S) {

-        IProblem problem = problemFactory.createWrongArgumentTypeProblem(expr, "NumberExpression");

+      ASTNode expr = childs.get(0);

+      if (expr instanceof Expression &&  ((Expression)expr).getKind() != RutaTypeConstants.RUTA_TYPE_S) {

+        IProblem problem = problemFactory.createWrongArgumentTypeProblem((Expression) expr, "NumberExpression");

         rep.reportProblem(problem);

         ok = false;

       }

diff --git a/ruta-ep-addons/pom.xml b/ruta-ep-addons/pom.xml
index 2ebcefd..a80fa7a 100644
--- a/ruta-ep-addons/pom.xml
+++ b/ruta-ep-addons/pom.xml
@@ -22,9 +22,9 @@
   <artifactId>ruta-ep-addons</artifactId>

   <parent>

     <groupId>org.apache.uima</groupId>

-    <artifactId>ruta-parent</artifactId>

+    <artifactId>ruta-ep-parent</artifactId>

     <version>2.4.1-SNAPSHOT</version>

-    <relativePath>../ruta-parent/pom.xml</relativePath>

+    <relativePath>../ruta-ep-parent/pom.xml</relativePath>

   </parent>

   <properties>

     <uimaScmProject>${project.artifactId}</uimaScmProject>

@@ -82,12 +82,6 @@
       <scope>provided</scope>

     </dependency>

     <dependency>

-      <groupId>org.eclipse.swt.win32.win32</groupId>

-      <artifactId>x86</artifactId>

-      <version>[3.2.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.ui</groupId>

       <artifactId>ide</artifactId>

       <version>[3.3.0,5.0.0)</version>

@@ -112,33 +106,13 @@
       <scope>provided</scope>

     </dependency>

     <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>ui</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>debug</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.emf</groupId>

       <artifactId>ecore</artifactId>

-      <version>[2.7.0,3.0.0)</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.emf.ecore</groupId>

       <artifactId>xmi</artifactId>

-      <version>[2.7.0,3.0.0)</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

diff --git a/ruta-ep-caseditor/pom.xml b/ruta-ep-caseditor/pom.xml
index e0bb381..fd2a17c 100644
--- a/ruta-ep-caseditor/pom.xml
+++ b/ruta-ep-caseditor/pom.xml
@@ -22,9 +22,9 @@
   <artifactId>ruta-ep-caseditor</artifactId>

   <parent>

     <groupId>org.apache.uima</groupId>

-    <artifactId>ruta-parent</artifactId>

+    <artifactId>ruta-ep-parent</artifactId>

     <version>2.4.1-SNAPSHOT</version>

-    <relativePath>../ruta-parent/pom.xml</relativePath>

+    <relativePath>../ruta-ep-parent/pom.xml</relativePath>

   </parent>

   <properties>

     <uimaScmProject>${project.artifactId}</uimaScmProject>

@@ -62,12 +62,6 @@
       <scope>provided</scope>

     </dependency>

     <dependency>

-      <groupId>org.eclipse.swt.win32.win32</groupId>

-      <artifactId>x86</artifactId>

-      <version>[3.2.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.ui</groupId>

       <artifactId>ide</artifactId>

       <version>[3.3.0.0,5.0.0)</version>

diff --git a/ruta-ep-core-ext/pom.xml b/ruta-ep-core-ext/pom.xml
index 79a8eda..e42cc07 100644
--- a/ruta-ep-core-ext/pom.xml
+++ b/ruta-ep-core-ext/pom.xml
@@ -24,9 +24,9 @@
   <name>Apache UIMA Ruta Eclipse: ${project.artifactId}</name>
   <parent>
     <groupId>org.apache.uima</groupId>
-    <artifactId>ruta-parent</artifactId>
+    <artifactId>ruta-ep-parent</artifactId>
     <version>2.4.1-SNAPSHOT</version>
-    <relativePath>../ruta-parent/pom.xml</relativePath>
+    <relativePath>../ruta-ep-parent/pom.xml</relativePath>
   </parent>
   <properties>
     <postNoticeText />
@@ -61,12 +61,6 @@
       <artifactId>ruta-ep-ide-ui</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.dltk</groupId>
-      <artifactId>core</artifactId>
-      <version>[3.0.1,5.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
    <dependency>
       <groupId>org.antlr</groupId>
       <artifactId>antlr-runtime</artifactId>
diff --git a/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/BooleanOperationsIDEExtension.java b/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/BooleanOperationsIDEExtension.java
index 9fd1ed2..fc04e1b 100644
--- a/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/BooleanOperationsIDEExtension.java
+++ b/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/BooleanOperationsIDEExtension.java
@@ -28,6 +28,7 @@
 import org.apache.uima.ruta.ide.parser.ast.RutaFunction;
 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;
 import org.apache.uima.ruta.string.bool.BooleanOperationsExtension;
+import org.eclipse.dltk.ast.ASTNode;
 import org.eclipse.dltk.ast.expressions.Expression;
 import org.eclipse.dltk.compiler.problem.IProblem;
 import org.eclipse.dltk.compiler.problem.IProblemReporter;
@@ -46,13 +47,13 @@
       RutaFunction f = (RutaFunction) element;
       String name = f.getName();
       boolean ok = true;
-      List<Expression> childs = f.getChilds();
+      List<ASTNode> childs = f.getChilds();
       if (childs.size() < 1) {
         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 1);
         rep.reportProblem(problem);
         ok = false;
       }
-      Expression expr = childs.get(0);
+      Expression expr = (Expression) childs.get(0);
       if (expr.getKind() != RutaTypeConstants.RUTA_TYPE_S) {
         IProblem problem = problemFactory.createWrongArgumentTypeProblem(expr, "TypeExpression");
         rep.reportProblem(problem);
diff --git a/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/StringOperationsIDEExtension.java b/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/StringOperationsIDEExtension.java
index 9bc3531..1ed070b 100644
--- a/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/StringOperationsIDEExtension.java
+++ b/ruta-ep-core-ext/src/main/java/org/apache/uima/ruta/string/StringOperationsIDEExtension.java
@@ -26,6 +26,7 @@
 import org.apache.uima.ruta.ide.core.extensions.IRutaCheckerProblemFactory;
 import org.apache.uima.ruta.ide.parser.ast.RutaFunction;
 import org.apache.uima.ruta.ide.parser.ast.RutaTypeConstants;
+import org.eclipse.dltk.ast.ASTNode;
 import org.eclipse.dltk.ast.expressions.Expression;
 import org.eclipse.dltk.compiler.problem.IProblem;
 import org.eclipse.dltk.compiler.problem.IProblemReporter;
@@ -50,13 +51,13 @@
         return false;
       }
       boolean ok = true;
-      List<Expression> childs = f.getChilds();
+      List<ASTNode> childs = f.getChilds();
       if (childs.size() != 1) {
         IProblem problem = problemFactory.createWrongNumberOfArgumentsProblem(name, element, 1);
         rep.reportProblem(problem);
         ok = false;
       }
-      Expression expr = childs.get(0);
+      Expression expr = (Expression) childs.get(0);
       if (expr.getKind() != RutaTypeConstants.RUTA_TYPE_AT) {
         IProblem problem = problemFactory.createWrongArgumentTypeProblem(expr, "TypeExpression");
         rep.reportProblem(problem);
diff --git a/ruta-ep-ide-ui/pom.xml b/ruta-ep-ide-ui/pom.xml
index 59e20d7..3f0f9f1 100644
--- a/ruta-ep-ide-ui/pom.xml
+++ b/ruta-ep-ide-ui/pom.xml
@@ -23,9 +23,9 @@
   <artifactId>ruta-ep-ide-ui</artifactId>

   <parent>

     <groupId>org.apache.uima</groupId>

-    <artifactId>ruta-parent</artifactId>

+    <artifactId>ruta-ep-parent</artifactId>

     <version>2.4.1-SNAPSHOT</version>

-    <relativePath>../ruta-parent/pom.xml</relativePath>

+    <relativePath>../ruta-ep-parent/pom.xml</relativePath>

   </parent>

   <properties>

     <uimaScmProject>${project.artifactId}</uimaScmProject>

@@ -36,68 +36,44 @@
   <dependencies>

     <dependency>

       <groupId>org.eclipse.dltk</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>launching</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk.validators</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk.validators</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>console</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk.console</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk</groupId>

       <artifactId>debug</artifactId>

-      <version>[3.0.1,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk.debug</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk</groupId>

       <artifactId>formatter</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk</groupId>

       <artifactId>testing</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

@@ -131,12 +107,6 @@
       <scope>provided</scope>

     </dependency>

     <dependency>

-      <groupId>org.eclipse.swt</groupId>

-      <artifactId>org.eclipse.swt.win32.win32.x86</artifactId>

-      <version>[3.2.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.ui</groupId>

       <artifactId>ide</artifactId>

       <version>[3.3.0,5.0.0)</version>

diff --git a/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/formatter/RutaFormattedPrinter.java b/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/formatter/RutaFormattedPrinter.java
index e15ec5c..ba9c8a0 100644
--- a/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/formatter/RutaFormattedPrinter.java
+++ b/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/formatter/RutaFormattedPrinter.java
@@ -529,7 +529,7 @@
     append(COMMA);
     append(" ");
     // number expressions
-    List<Expression> indices = tmca.getExpressions();
+    List<ASTNode> indices = tmca.getExpressions();
     if (indices != null) {
       traverseAstNodes(indices);
       if (!indices.isEmpty()) {
@@ -594,7 +594,7 @@
     append(COMMA);
     append(" ");
     // number expressions
-    List<Expression> indices = tmca.getExpressions();
+    List<ASTNode> indices = tmca.getExpressions();
     if (indices != null) {
       traverseAstNodes(indices);
     }
diff --git a/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/console/RutaFileHyperlink.java b/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/console/RutaFileHyperlink.java
index fdaae88..a537fa8 100644
--- a/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/console/RutaFileHyperlink.java
+++ b/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/console/RutaFileHyperlink.java
@@ -124,12 +124,7 @@
   }

 

   public IEditorInput getEditorInput(Object item) {

-    try {

-      return EditorUtility.getEditorInput(item);

-    } catch (CoreException e) {

-      DLTKDebugUIPlugin.log(e);

-      return null;

-    }

+    return EditorUtility.getEditorInput(item);

   }

 

   protected Object getSourceModule(String fileName) {

diff --git a/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/editor/ReferenceFinder.java b/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/editor/ReferenceFinder.java
index 50f0581..e65301e 100644
--- a/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/editor/ReferenceFinder.java
+++ b/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/editor/ReferenceFinder.java
@@ -48,7 +48,7 @@
     if (node instanceof RutaAction) {

       RutaAction a = (RutaAction) node;

       if (ActionFactory.IMPLICIT.equals(a.getName()) && !a.getChilds().isEmpty()) {

-        Expression expression = a.getChilds().get(0);

+        ASTNode expression = a.getChilds().get(0);

         if (expression != null && !expression.getChilds().isEmpty()) {

           return (ASTNode) expression.getChilds().get(0);

         }

@@ -57,7 +57,7 @@
     if (node instanceof RutaCondition) {

       RutaCondition c = (RutaCondition) node;

       if (ConditionFactory.IMPLICIT.equals(c.getName()) && !c.getChilds().isEmpty()) {

-        Expression expression = c.getChilds().get(0);

+        ASTNode expression = c.getChilds().get(0);

         if (expression != null && !expression.getChilds().isEmpty()) {

           return (ASTNode) expression.getChilds().get(0);

         }

diff --git a/ruta-ep-ide/pom.xml b/ruta-ep-ide/pom.xml
index 751567e..74ad95e 100644
--- a/ruta-ep-ide/pom.xml
+++ b/ruta-ep-ide/pom.xml
@@ -21,11 +21,11 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

   <modelVersion>4.0.0</modelVersion>

   <artifactId>ruta-ep-ide</artifactId>

-  <parent>

+    <parent>

     <groupId>org.apache.uima</groupId>

-    <artifactId>ruta-parent</artifactId>

+    <artifactId>ruta-ep-parent</artifactId>

     <version>2.4.1-SNAPSHOT</version>

-    <relativePath>../ruta-parent/pom.xml</relativePath>

+    <relativePath>../ruta-ep-parent/pom.xml</relativePath>

   </parent>

   <properties>

     <uimaScmProject>${project.artifactId}</uimaScmProject>

@@ -36,24 +36,6 @@
   <description>Provides the UIMA Ruta development environment for Eclipse</description>

   <dependencies>

     <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>launching</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk.validators</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.core</groupId>

       <artifactId>runtime</artifactId>

       <version>[3.3.0,5.0.0)</version>

@@ -78,12 +60,6 @@
       <scope>provided</scope>

     </dependency>

     <dependency>

-      <groupId>org.eclipse.swt</groupId>

-      <artifactId>org.eclipse.swt.win32.win32.x86</artifactId>

-      <version>[3.2.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.equinox</groupId>

       <artifactId>preferences</artifactId>

       <version>[3.3.0,5.0.0)</version>

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ActionFactory.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ActionFactory.java
index eef72c9..dd62a3c 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ActionFactory.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ActionFactory.java
@@ -26,6 +26,7 @@
 import java.util.Map;

 

 import org.antlr.runtime.Token;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.ast.expressions.ExpressionConstants;

 

@@ -33,11 +34,11 @@
 

   public static final String IMPLICIT = "Implicit";

   

-  public static RutaAction createAction(Token type, List exprsRaw) {

+  public static RutaAction createAction(Token type, List<Expression> exprsRaw) {

     int bounds[] = getBounds(type);

     int nameStart = bounds[0];

     int nameEnd = bounds[1];

-    List<Expression> exprs = new ArrayList<Expression>();

+    List<ASTNode> exprs = new ArrayList<>();

     if (exprsRaw != null) {

       for (Object expressionObj : exprsRaw) {

         Expression expr = (Expression) expressionObj;

@@ -69,7 +70,7 @@
 

   public static RutaAction createEmptyAction(Token token) {

     int bounds[] = getBounds(token);

-    return new RutaAction(bounds[0], bounds[1], new ArrayList<Expression>(),

+    return new RutaAction(bounds[0], bounds[1], new ArrayList<ASTNode>(),

             RutaConditionConstants.CONSTANT_OFFSET, "", bounds[0], bounds[1]);

   }

 

@@ -110,7 +111,7 @@
    * @param bounds

    * @param exprs

    */

-  private static void filterNullObjsAndSetBounds(List left, int[] bounds, List<Expression> exprs) {

+  private static void filterNullObjsAndSetBounds(List left, int[] bounds, List<ASTNode> exprs) {

     if (left != null) {

       for (Object expressionObj : left) {

         Expression expr = (Expression) expressionObj;

@@ -119,7 +120,7 @@
         }

       }

       if (!exprs.isEmpty()) {

-        Expression lastExpr = exprs.get(exprs.size() - 1);

+        ASTNode lastExpr = exprs.get(exprs.size() - 1);

         bounds[1] = Math.max(bounds[1], lastExpr.sourceEnd());

       }

     }

@@ -149,7 +150,7 @@
     int bounds[] = getBounds(type);

     int nameStart = bounds[0];

     int nameEnd = bounds[1];

-    List<Expression> numExprs = new ArrayList<Expression>();

+    List<ASTNode> numExprs = new ArrayList<>();

     Map<Expression, Expression> assignments = new LinkedHashMap<Expression, Expression>();

     List<Expression> indexes = new ArrayList<Expression>();

     indexes.add(table);

@@ -211,7 +212,7 @@
     int bounds[] = getBounds(name);

     int nameStart = bounds[0];

     int nameEnd = bounds[1];

-    List<Expression> numExprs = new ArrayList<Expression>();

+    List<ASTNode> numExprs = new ArrayList<>();

     Map<Expression, Expression> assignments = new LinkedHashMap<Expression, Expression>();

     filterNullObjsAndSetBounds(args, bounds, numExprs);

     if (left != null && right != null) {

@@ -236,7 +237,7 @@
   }

 

   public static RutaAction createAction(Expression... exprsArray) {

-    List<Expression> exprL = new ArrayList<Expression>();

+    List<ASTNode> exprL = new ArrayList<>();

     if (exprsArray != null) {

       for (int i = 0; i < exprsArray.length; i++) {

         Expression expression = exprsArray[i];

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ConditionFactory.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ConditionFactory.java
index d77a8af..a1fb2ec 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ConditionFactory.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ConditionFactory.java
@@ -23,6 +23,7 @@
 import java.util.List;

 

 import org.antlr.runtime.Token;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.Expression;

 

 public class ConditionFactory extends AbstractFactory {

@@ -47,11 +48,11 @@
             nameEnd);

   }

 

-  public static RutaCondition createCondition(Expression... exprsArray) {

-    List<Expression> exprL = new ArrayList<Expression>();

+  public static RutaCondition createCondition(ASTNode... exprsArray) {

+    List<ASTNode> exprL = new ArrayList<ASTNode>();

     if (exprsArray != null) {

       for (int i = 0; i < exprsArray.length; i++) {

-        Expression expression = exprsArray[i];

+        ASTNode expression = exprsArray[i];

         if (expression != null) {

           exprL.add(expression);

         }

@@ -80,7 +81,7 @@
       return null;

     }

     int bounds[] = getBounds(token);

-    return new RutaCondition(bounds[0], bounds[1], new ArrayList<Expression>(),

+    return new RutaCondition(bounds[0], bounds[1], new ArrayList<ASTNode>(),

             RutaConditionConstants.CONSTANT_OFFSET, "", bounds[0], bounds[1]);

   }

 

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ExpressionFactory.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ExpressionFactory.java
index a4ec6cf..49d1f97 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ExpressionFactory.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ExpressionFactory.java
@@ -25,6 +25,7 @@
 import org.antlr.runtime.CommonToken;

 import org.antlr.runtime.Token;

 import org.apache.uima.ruta.parser.RutaLexer;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.expressions.BooleanLiteral;

 import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.ast.expressions.ExpressionConstants;

@@ -152,16 +153,17 @@
 

   // =====> STRING-EXPRESSIONS <======

   public static RutaStringExpression createStringExpression(List<Expression> exprList) {

-    if (exprList == null) {

-      exprList = new ArrayList<Expression>();

-    }

+    List<ASTNode> l = new ArrayList<>();

     int start = 0;

     int end = 0;

-    if (!exprList.isEmpty()) {

-      start = exprList.get(0).sourceStart();

-      end = exprList.get(exprList.size() - 1).sourceEnd();

+    if (exprList != null) {

+      l.addAll(exprList);

+      if (!exprList.isEmpty()) {

+        start = exprList.get(0).sourceStart();

+        end = exprList.get(exprList.size() - 1).sourceEnd();

+      }

     }

-    return new RutaStringExpression(start, end, exprList);

+    return new RutaStringExpression(start, end, l);

   }

 

   public static StringLiteral createSimpleString(Token stringToken) {

@@ -319,21 +321,22 @@
   }

 

   public static Expression createListExpression(List<Expression> exprList, int type) {

-    if (exprList == null) {

-      exprList = new ArrayList<Expression>();

-    }

+    List<ASTNode> l = new ArrayList<>();

     int start = 0;

     int end = 0;

-    if (!exprList.isEmpty()) {

-      start = exprList.get(0).sourceStart();

-      Expression expression = exprList.get(exprList.size() - 1);

-      if (expression != null) {

-        end = expression.sourceEnd();

-      } else {

-        exprList.get(0).sourceEnd();

+    if (exprList != null) {

+      l.addAll(exprList);

+      if (!exprList.isEmpty()) {

+        start = exprList.get(0).sourceStart();

+        Expression expression = exprList.get(exprList.size() - 1);

+        if (expression != null) {

+          end = expression.sourceEnd();

+        } else {

+          end = exprList.get(0).sourceEnd();

+        }

       }

     }

-    return new RutaListExpression(start, end, exprList, type);

+    return new RutaListExpression(start, end, l, type);

   }

 

   public static Expression createListExpression(Token var, int type) {

@@ -374,7 +377,7 @@
     int bounds[] = getBounds(type);

     int nameStart = bounds[0];

     int nameEnd = bounds[1];

-    List<Expression> exprs = new ArrayList<Expression>();

+    List<ASTNode> exprs = new ArrayList<>();

     if (exprsRaw != null) {

       for (Object expressionObj : exprsRaw) {

         Expression expr = (Expression) expressionObj;

@@ -399,6 +402,7 @@
     list.add(fe);

     return createStringExpression(list);

   }

+

   public static Expression createNullExpression(Token t) {

     int bounds[] = getBounds(t);

     return new NullExpression(bounds[0], bounds[1]);

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaAction.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaAction.java
index 6bb76b4..6a1cb1c 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaAction.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaAction.java
@@ -22,11 +22,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.dltk.ast.ASTNode;
 import org.eclipse.dltk.ast.ASTVisitor;
 import org.eclipse.dltk.ast.expressions.Expression;
 
 public class RutaAction extends Expression {
-  protected List<Expression> exprs;
+  protected List<ASTNode> exprs;
 
   protected int kind;
 
@@ -50,13 +51,13 @@
    * @param exprs
    * @param kind
    */
-  public RutaAction(int start, int end, List<Expression> exprs, int kind, String name,
+  public RutaAction(int start, int end, List<ASTNode> exprs, int kind, String name,
           int nameStart, int nameEnd) {
     super(start, end);
     if (exprs != null) {
       this.exprs = exprs;
     } else {
-      this.exprs = new ArrayList<Expression>();
+      this.exprs = new ArrayList<ASTNode>();
     }
     this.kind = kind;
     this.name = name;
@@ -87,7 +88,7 @@
   @Override
   public void traverse(ASTVisitor visitor) throws Exception {
     if (visitor.visit(this)) {
-      for (Expression expr : exprs) {
+      for (ASTNode expr : exprs) {
         if (expr != null) {
           expr.traverse(visitor);
         }
@@ -98,7 +99,7 @@
   }
 
   @Override
-  public List<Expression> getChilds() {
+  public List<ASTNode> getChilds() {
     return exprs;
   }
 
diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaCondition.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaCondition.java
index f58182b..d1e5ade 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaCondition.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaCondition.java
@@ -23,11 +23,12 @@
 import java.util.Iterator;

 import java.util.List;

 

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.ASTVisitor;

 import org.eclipse.dltk.ast.expressions.Expression;

 

 public class RutaCondition extends Expression {

-  protected List<Expression> exprs;

+  protected List<ASTNode> exprs;

 

   protected int kind;

 

@@ -43,13 +44,13 @@
    * @param exprs

    * @param kind

    */

-  public RutaCondition(int start, int end, List<Expression> exprs, int kind, String name,

+  public RutaCondition(int start, int end, List<ASTNode> exprs, int kind, String name,

           int nameStart, int nameEnd) {

     super(start, end);

     if (exprs != null) {

       this.exprs = exprs;

     } else {

-      this.exprs = new ArrayList<Expression>();

+      this.exprs = new ArrayList<ASTNode>();

     }

     this.kind = kind;

     this.name = name;

@@ -65,8 +66,8 @@
   @Override

   public void traverse(ASTVisitor visitor) throws Exception {

     if (visitor.visit(this)) {

-      for (Iterator<Expression> iterator = exprs.iterator(); iterator.hasNext();) {

-        Expression expr = iterator.next();

+      for (Iterator<ASTNode> iterator = exprs.iterator(); iterator.hasNext();) {

+        ASTNode expr = iterator.next();

         if (expr != null) {

           expr.traverse(visitor);

         }

@@ -76,7 +77,7 @@
   }

 

   @Override

-  public List<Expression> getChilds() {

+  public List<ASTNode> getChilds() {

     return exprs;

   }

 

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaFunction.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaFunction.java
index a2c9584..8c87a8f 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaFunction.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaFunction.java
@@ -22,11 +22,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.dltk.ast.ASTNode;
 import org.eclipse.dltk.ast.ASTVisitor;
 import org.eclipse.dltk.ast.expressions.Expression;
 
 public class RutaFunction extends Expression {
-  protected List<Expression> exprs;
+  protected List<ASTNode> exprs;
 
   protected int kind;
 
@@ -42,13 +43,13 @@
    * @param exprs
    * @param kind
    */
-  public RutaFunction(int start, int end, List<Expression> exprs, int kind, String name,
+  public RutaFunction(int start, int end, List<ASTNode> exprs, int kind, String name,
           int nameStart, int nameEnd) {
     super(start, end);
     if (exprs != null) {
       this.exprs = exprs;
     } else {
-      this.exprs = new ArrayList<Expression>();
+      this.exprs = new ArrayList<ASTNode>();
     }
     this.kind = kind;
     this.name = name;
@@ -79,7 +80,7 @@
   @Override
   public void traverse(ASTVisitor visitor) throws Exception {
     if (visitor.visit(this)) {
-      for (Expression expr : exprs) {
+      for (ASTNode expr : exprs) {
         if (expr != null) {
           expr.traverse(visitor);
         }
@@ -89,7 +90,7 @@
   }
 
   @Override
-  public List<Expression> getChilds() {
+  public List<ASTNode> getChilds() {
     return exprs;
   }
 
diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaListExpression.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaListExpression.java
index 9d4310f..08f2297 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaListExpression.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaListExpression.java
@@ -22,8 +22,8 @@
 import java.util.List;

 

 import org.eclipse.dltk.ast.ASTListNode;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.ASTVisitor;

-import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.ast.expressions.ExpressionConstants;

 import org.eclipse.dltk.utils.CorePrinter;

 

@@ -32,7 +32,7 @@
 

   private int type;

 

-  public RutaListExpression(int start, int end, List<Expression> exprList, int type) {

+  public RutaListExpression(int start, int end, List<ASTNode> exprList, int type) {

     super(start, end, null, RutaTypeConstants.RUTA_TYPE_S);

     this.setExprs(new ASTListNode(start, end, exprList));

     this.type = type;

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaLogAction.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaLogAction.java
index bc72f80..b4993ac 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaLogAction.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaLogAction.java
@@ -21,7 +21,7 @@
 
 import java.util.List;
 
-import org.eclipse.dltk.ast.expressions.Expression;
+import org.eclipse.dltk.ast.ASTNode;
 
 public class RutaLogAction extends RutaAction {
   int[] logLevelBounds;
@@ -29,7 +29,7 @@
   boolean logLevelAssigned;
 
   public RutaLogAction(int exprStart, int exprEnd, String name, int nameStart, int nameEnd,
-          List<Expression> exprs, int levelStart, int levelEnd) {
+          List<ASTNode> exprs, int levelStart, int levelEnd) {
     super(exprStart, exprEnd, exprs, RutaActionConstants.A_LOG, name, nameStart, nameEnd);
     logLevelBounds = new int[2];
     logLevelBounds[0] = levelStart;
diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStringExpression.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStringExpression.java
index 81b9b63..5965848 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStringExpression.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStringExpression.java
@@ -22,8 +22,8 @@
 import java.util.List;

 

 import org.eclipse.dltk.ast.ASTListNode;

+import org.eclipse.dltk.ast.ASTNode;

 import org.eclipse.dltk.ast.ASTVisitor;

-import org.eclipse.dltk.ast.expressions.Expression;

 import org.eclipse.dltk.utils.CorePrinter;

 

 /**

@@ -34,7 +34,7 @@
 public class RutaStringExpression extends RutaExpression {

   private ASTListNode exprs;

 

-  public RutaStringExpression(int start, int end, List<Expression> exprList) {

+  public RutaStringExpression(int start, int end, List<ASTNode> exprList) {

     super(start, end, null, RutaTypeConstants.RUTA_TYPE_S);

     this.exprs = new ASTListNode(start, end, exprList);

   }

diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStructureAction.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStructureAction.java
index 86dea39..7fd85fc 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStructureAction.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaStructureAction.java
@@ -25,6 +25,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.eclipse.dltk.ast.ASTNode;
 import org.eclipse.dltk.ast.ASTVisitor;
 import org.eclipse.dltk.ast.expressions.Expression;
 
@@ -33,7 +34,7 @@
 
   private Map<Expression, Expression> assignments;
 
-  public RutaStructureAction(int start, int end, List<Expression> exprs, int kind, String name,
+  public RutaStructureAction(int start, int end, List<ASTNode> exprs, int kind, String name,
           int nameStart, int nameEnd, Map<Expression, Expression> assignments, Expression structure) {
     super(start, end, exprs, kind, name, nameStart, nameEnd);
     this.assignments = assignments;
@@ -44,7 +45,7 @@
   public void traverse(ASTVisitor visitor) throws Exception {
     if (visitor.visit(this)) {
       structure.traverse(visitor);
-      for (Expression e : super.exprs) {
+      for (ASTNode e : super.exprs) {
         e.traverse(visitor);
       }
       Iterator<Entry<Expression, Expression>> it = assignments.entrySet().iterator();
@@ -60,8 +61,8 @@
   }
 
   @Override
-  public List<Expression> getChilds() {
-    List<Expression> l = new ArrayList<Expression>();
+  public List<ASTNode> getChilds() {
+    List<ASTNode> l = new ArrayList<>();
     l.add(structure);
     l.addAll(assignments.keySet());
     l.addAll(assignments.values());
@@ -77,7 +78,7 @@
     return structure;
   }
 
-  public List<Expression> getExpressions() {
+  public List<ASTNode> getExpressions() {
     return super.exprs;
   }
 }
diff --git a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ScriptFactory.java b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ScriptFactory.java
index 9b45bb9..37c39d4 100644
--- a/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ScriptFactory.java
+++ b/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ScriptFactory.java
@@ -230,11 +230,13 @@
     filterNullObjects(body);

     int innerStart = 0;

     int innerEnd = 0;

+    List<ASTNode> list = new ArrayList<>();

     if (body != null && !body.isEmpty()) {

       innerStart = body.get(0).sourceStart();

       innerEnd = body.get(body.size() - 1).sourceEnd();

+      list.addAll(body);

     }

-    Block inner = new Block(innerStart, innerEnd, body);

+    Block inner = new Block(innerStart, innerEnd, list);

     block.acceptBody(inner, false);

     block.setRule(rule);

     block.setEnd(rc != null ? getBounds(rc)[1] : rule.sourceEnd());

diff --git a/ruta-ep-textruler/pom.xml b/ruta-ep-textruler/pom.xml
index b79e123..2011bef 100644
--- a/ruta-ep-textruler/pom.xml
+++ b/ruta-ep-textruler/pom.xml
@@ -22,9 +22,9 @@
   <artifactId>ruta-ep-textruler</artifactId>

   <parent>

     <groupId>org.apache.uima</groupId>

-    <artifactId>ruta-parent</artifactId>

+    <artifactId>ruta-ep-parent</artifactId>

     <version>2.4.1-SNAPSHOT</version>

-    <relativePath>../ruta-parent/pom.xml</relativePath>

+    <relativePath>../ruta-ep-parent/pom.xml</relativePath>

   </parent>

   <properties>

     <uimaScmProject>${project.artifactId}</uimaScmProject>

@@ -68,75 +68,27 @@
       <scope>provided</scope>

     </dependency>

     <dependency>

-      <groupId>org.eclipse.swt</groupId>

-      <artifactId>org.eclipse.swt.win32.win32.x86</artifactId>

-      <version>[3.2.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

       <groupId>org.eclipse.dltk</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.1,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>launching</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk.validators</groupId>

-      <artifactId>core</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk.validators</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>console</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk.console</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>debug</artifactId>

-      <version>[3.0.1,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

       <groupId>org.eclipse.dltk.debug</groupId>

       <artifactId>ui</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>formatter</artifactId>

-      <version>[3.0.0,5.0.0)</version>

-      <scope>provided</scope>

-    </dependency>

-    <dependency>

-      <groupId>org.eclipse.dltk</groupId>

-      <artifactId>testing</artifactId>

-      <version>[3.0.0,5.0.0)</version>

+      <version>${dltk.version}</version>

       <scope>provided</scope>

     </dependency>

     <dependency>

diff --git a/ruta-ep-textruler/src/main/java/org/apache/uima/ruta/textruler/ui/ConfigureLearnersHandler.java b/ruta-ep-textruler/src/main/java/org/apache/uima/ruta/textruler/ui/ConfigureLearnersHandler.java
index 16f3769..9cc43b0 100755
--- a/ruta-ep-textruler/src/main/java/org/apache/uima/ruta/textruler/ui/ConfigureLearnersHandler.java
+++ b/ruta-ep-textruler/src/main/java/org/apache/uima/ruta/textruler/ui/ConfigureLearnersHandler.java
@@ -31,6 +31,7 @@
 import org.eclipse.core.commands.ExecutionException;

 import org.eclipse.core.commands.IHandler;

 import org.eclipse.core.commands.IHandlerListener;

+import org.eclipse.jface.preference.IPreferenceNode;

 import org.eclipse.jface.preference.PreferenceDialog;

 import org.eclipse.jface.preference.PreferenceManager;

 import org.eclipse.jface.preference.PreferenceNode;

@@ -55,9 +56,9 @@
     PreferenceNode node = new PreferenceNode("org.apache.uima.ruta.textruler.config", page);

     pm.addToRoot(node);

 

-    List<PreferenceNode> nodes = pm.getElements(0);

-    PreferenceNode top = null;

-    for (PreferenceNode n : nodes)

+    List<IPreferenceNode> nodes = pm.getElements(0);

+    IPreferenceNode top = null;

+    for (IPreferenceNode n : nodes)

       if (n.getId().equals("org.apache.uima.ruta.textruler.config"))

         top = n;

     if (top != null) {

diff --git a/ruta-maven-plugin/pom.xml b/ruta-maven-plugin/pom.xml
index 4f17adf..f24644f 100644
--- a/ruta-maven-plugin/pom.xml
+++ b/ruta-maven-plugin/pom.xml
@@ -110,6 +110,32 @@
             </execution>
           </executions>
         </plugin>
+        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-plugin-plugin</artifactId>
+                    <versionRange>[3.3,)</versionRange>
+                    <goals>
+                      <goal>descriptor</goal>
+                      <goal>helpmojo</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
 	<plugins>
diff --git a/ruta-parent/pom.xml b/ruta-parent/pom.xml
index e26770a..2fe602a 100644
--- a/ruta-parent/pom.xml
+++ b/ruta-parent/pom.xml
@@ -101,10 +101,10 @@
 

     <!-- Temporary repository that contains osgi bundles like DLTK 3.0. Added to ease building the UIMA Ruta 

       Eclipse plugins that depend on bundles, which are not provided by public maven repositories. -->

-    <repository>

-      <id>ukp-osgi-releases</id>

-      <url>http://zoidberg.ukp.informatik.tu-darmstadt.de/artifactory/public-ext-osgi-releases-local</url>

-    </repository>

+<!--     <repository> -->

+<!--       <id>ukp-osgi-releases</id> -->

+<!--       <url>http://zoidberg.ukp.informatik.tu-darmstadt.de/artifactory/public-ext-osgi-releases-local</url> -->

+<!--     </repository> -->

 

   </repositories>

 

@@ -141,8 +141,8 @@
      BACKWARD_COMPATIBLE_USER        - minor version (=.+.0)

      NON_BACKWARD_COMPATIBLE         - major version (+.0.0)

      -->

-    <compat.level>BACKWARD_COMPATIBLE_USER</compat.level>

-    <compat.previous.version>2.3.1</compat.previous.version>

+    <compat.level>BACKWARD_COMPATIBLE_IMPLEMENTER</compat.level>

+    <compat.previous.version>2.4.0</compat.previous.version>

  

   </properties>