You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2019/02/04 14:06:24 UTC

svn commit: r1852917 [1/2] - in /uima/ruta/trunk: ruta-core-ext/src/test/java/org/apache/uima/ruta/type/ ruta-core/src/main/java/org/apache/uima/ruta/descriptor/ ruta-core/src/main/java/org/apache/uima/ruta/engine/ ruta-core/src/main/java/org/apache/ui...

Author: pkluegl
Date: Mon Feb  4 14:06:24 2019
New Revision: 1852917

URL: http://svn.apache.org/viewvc?rev=1852917&view=rev
Log:
UIMA-5978: use org.apache.uima.internal.util.XMLUtils for xml parsing, some cleanup

Added:
    uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/CheckDocumentXMLUtils.java
Removed:
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java
    uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java
Modified:
    uima/ruta/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/type/TypeFromStringFunctionTest.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaTestUtils.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/StrictImportTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ImplicitActionTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/LabelAtActionTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/Shift1Test.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/RutaScriptBlockTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContainsTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContextCountTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/CountTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition2Test.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/MacroConditionTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ResourcesFromDataPathTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/RutaTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RutaAnnotationTypeMatcherTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/SidestepInComposedTest.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/quantifier/QuantifierTest.java
    uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java
    uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/AnnotationCheckComposite.java
    uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/UpdateTaskHandler.java
    uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java
    uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java
    uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java
    uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java

Modified: uima/ruta/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/type/TypeFromStringFunctionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/type/TypeFromStringFunctionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/type/TypeFromStringFunctionTest.java (original)
+++ uima/ruta/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/type/TypeFromStringFunctionTest.java Mon Feb  4 14:06:24 2019
@@ -38,12 +38,14 @@ import org.apache.uima.ruta.engine.RutaE
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class TypeFromStringFunctionTest {
 
   @Test
   public void test() throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
     String document = "This is a test.\n1900/12/24 and 24.4.1982\nCW\norg.apache.uima.ruta.type.NUM";
 
     String script = "";
@@ -65,7 +67,7 @@ public class TypeFromStringFunctionTest
     t = RutaTestUtils.getTestType(cas, 1);
     ai = cas.getAnnotationIndex(t);
     assertEquals(7, ai.size());
-    
+
     t = RutaTestUtils.getTestType(cas, 2);
     ai = cas.getAnnotationIndex(t);
     assertEquals(8, ai.size());
@@ -73,6 +75,6 @@ public class TypeFromStringFunctionTest
     if (cas != null) {
       cas.release();
     }
-    
+
   }
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java Mon Feb  4 14:06:24 2019
@@ -23,7 +23,6 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -61,11 +60,9 @@ import org.apache.uima.ruta.resource.Rut
 import org.apache.uima.util.CasCreationUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.apache.uima.util.XMLInputSource;
-import org.apache.uima.util.XMLSerializer;
 import org.apache.uima.util.XMLizable;
 import org.springframework.core.io.Resource;
 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
 
 public class RutaDescriptorBuilder {
@@ -323,11 +320,12 @@ public class RutaDescriptorBuilder {
       }
     }
 
-     AnalysisEngineDescription analysisEngineDescription = configureEngine(desc, engineOutput, options, scriptPaths, enginePaths, resourcePaths, import_impl, aets);
-     if(needToIncludeTypeSystemDescriptor) {
-       analysisEngineDescription.getAnalysisEngineMetaData().setTypeSystem(typeSystemDescription);
-     }
-     return analysisEngineDescription;
+    AnalysisEngineDescription analysisEngineDescription = configureEngine(desc, engineOutput,
+            options, scriptPaths, enginePaths, resourcePaths, import_impl, aets);
+    if (needToIncludeTypeSystemDescriptor) {
+      analysisEngineDescription.getAnalysisEngineMetaData().setTypeSystem(typeSystemDescription);
+    }
+    return analysisEngineDescription;
   }
 
   @Deprecated
@@ -571,7 +569,8 @@ public class RutaDescriptorBuilder {
             es.toArray(new String[0]));
   }
 
-  private TypeSystemDescription getTypeSystemDescriptor(URL url, ResourceManager rm) throws InvalidXMLException, IOException {
+  private TypeSystemDescription getTypeSystemDescriptor(URL url, ResourceManager rm)
+          throws InvalidXMLException, IOException {
     TypeSystemDescription tsdesc = UIMAFramework.getXMLParser()
             .parseTypeSystemDescription(new XMLInputSource(url));
     tsdesc.resolveImports(rm);
@@ -582,14 +581,11 @@ public class RutaDescriptorBuilder {
     return new File(location);
   }
 
-  private void toFile(XMLizable desc, File destination) throws SAXException, FileNotFoundException {
+  private void toFile(XMLizable desc, File destination) throws SAXException, IOException {
     destination.getParentFile().mkdirs();
-    OutputStream out = new FileOutputStream(destination);
-    XMLSerializer sax = new XMLSerializer(out);
-    ContentHandler ch = sax.getContentHandler();
-    ch.startDocument();
-    desc.toXML(ch);
-    ch.endDocument();
+    try (FileOutputStream fos = new FileOutputStream(destination)) {
+      desc.toXML(fos);
+    }
   }
 
   public static URL checkImportExistence(String candidate, String extension,

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaTestUtils.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaTestUtils.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaTestUtils.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaTestUtils.java Mon Feb  4 14:06:24 2019
@@ -222,19 +222,19 @@ public class RutaTestUtils {
   }
 
   public static CAS getCAS(String document)
-          throws ResourceInitializationException, IOException, InvalidXMLException {
+          throws ResourceInitializationException, IOException, InvalidXMLException, SAXException {
     return getCAS(document, null, null);
   }
 
   public static CAS getCAS(String document, Map<String, String> complexTypes,
           Map<String, List<TestFeature>> features)
-          throws ResourceInitializationException, IOException, InvalidXMLException {
+          throws ResourceInitializationException, IOException, InvalidXMLException, SAXException {
     return getCAS(document, complexTypes, features, false);
   }
 
   public static CAS getCAS(String document, Map<String, String> complexTypes,
           Map<String, List<TestFeature>> features, boolean storeTypeSystem)
-          throws ResourceInitializationException, IOException, InvalidXMLException {
+          throws ResourceInitializationException, IOException, InvalidXMLException, SAXException {
     URL url = RutaEngine.class.getClassLoader().getResource("BasicEngine.xml");
     if (url == null) {
       url = RutaTestUtils.class.getClassLoader()
@@ -270,11 +270,7 @@ public class RutaTestUtils {
 
     if (storeTypeSystem) {
       try (OutputStream os = new FileOutputStream("TypeSystem.xml")) {
-        try {
-          mergeTypeSystems.toXML(os);
-        } catch (SAXException e) {
-          e.printStackTrace();
-        }
+        mergeTypeSystems.toXML(os);
       }
     }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java Mon Feb  4 14:06:24 2019
@@ -30,14 +30,16 @@ import java.util.Map;
 import java.util.StringTokenizer;
 
 import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.uima.cas.FSIterator;
 import org.apache.uima.cas.FeatureStructure;
 import org.apache.uima.cas.Type;
+import org.apache.uima.internal.util.XMLUtils;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.ruta.type.RutaColoring;
-import org.apache.uima.ruta.utils.XmlUtils;
 import org.apache.uima.tools.stylemap.ColorParser;
 import org.apache.uima.tools.stylemap.StyleMapEntry;
 import org.apache.uima.tools.stylemap.StyleMapXmlParser;
@@ -254,13 +256,14 @@ public class StyleMapFactory {
 
     File styleMapFile = new File(styleFileString);
     Document parse = null;
-   
-    try (FileInputStream stream = new FileInputStream(styleMapFile)) { 
-      DocumentBuilder db = XmlUtils.createDocumentBuilder();
+
+    try (FileInputStream stream = new FileInputStream(styleMapFile)) {
+      DocumentBuilderFactory documentBuilderFactory = XMLUtils.createDocumentBuilderFactory();
+      DocumentBuilder db = documentBuilderFactory.newDocumentBuilder();
       parse = db.parse(stream);
-    } catch (SAXException | IOException e) {
+    } catch (SAXException | IOException | ParserConfigurationException e) {
       throw new IllegalStateException(e);
-    } 
+    }
     final Node root = parse.getDocumentElement();
     final NodeList nodeList = root.getChildNodes();
 
@@ -274,18 +277,18 @@ public class StyleMapFactory {
 
       // Collect type or pattern, label, and color text style
       NodeList childrenList = node.getChildNodes();
-      String type = ""; //$NON-NLS-1$ 
-      String label = ""; //$NON-NLS-1$ 
-      String colorText = ""; //$NON-NLS-1$ 
+      String type = ""; //$NON-NLS-1$
+      String label = ""; //$NON-NLS-1$
+      String colorText = ""; //$NON-NLS-1$
       for (int j = 0; j < childrenList.getLength(); ++j) {
         final Node child = childrenList.item(j);
         final String childName = child.getNodeName();
 
-        if (childName.equals("pattern")) { //$NON-NLS-1$ 
+        if (childName.equals("pattern")) { //$NON-NLS-1$
           type = getTextValue(child);
-        } else if (childName.equals("label")) { //$NON-NLS-1$ 
+        } else if (childName.equals("label")) { //$NON-NLS-1$
           label = getTextValue(child);
-        } else if (childName.equals("style")) { //$NON-NLS-1$ 
+        } else if (childName.equals("style")) { //$NON-NLS-1$
           colorText = getTextValue(child);
         }
       }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java Mon Feb  4 14:06:24 2019
@@ -135,10 +135,11 @@ public class MultiTreeWordList implement
     this.root = new MultiTextNode();
     this.costMap = new EditDistanceCostMap();
 
-    if (name.endsWith(".mtwl"))
+    if (name.endsWith(".mtwl")) {
       persistence.readMTWL(root, stream, ENCODING);
-    if (name.endsWith(".txt"))
+    } else if (name.endsWith(".txt")) {
       buildNewTree(stream, name);
+    }
   }
 
   /**

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java Mon Feb  4 14:06:24 2019
@@ -32,9 +32,7 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 import java.util.zip.ZipOutputStream;
 
-import javax.xml.parsers.SAXParser;
-
-import org.apache.uima.ruta.utils.XmlUtils;
+import org.apache.uima.internal.util.XMLUtils;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
@@ -48,10 +46,13 @@ public class MultiTreeWordListPersistenc
    *          - the root node of the tree
    * @param path
    *          - path of the word list
-   * @throws IOException - when there is a problem reading the stream
+   * @throws IOException
+   *           - when there is a problem reading the stream
    */
   public void readMTWL(MultiTextNode root, String path) throws IOException {
-    readMTWL(root, new FileInputStream(path), "UTF-8");
+    try (FileInputStream stream = new FileInputStream(path)) {
+      readMTWL(root, stream, "UTF-8");
+    }
   }
 
   /**
@@ -60,7 +61,8 @@ public class MultiTreeWordListPersistenc
    * @param is
    *          the inputStream to sniff. Must support {@link InputStream#markSupported()}
    * @return true if this stream starts with '{@literal <?xml}'
-   * @throws IOException - when there is a problem reading the stream
+   * @throws IOException
+   *           - when there is a problem reading the stream
    */
   public static boolean isSniffedXmlContentType(InputStream is) throws IOException {
     if (is == null)
@@ -89,16 +91,12 @@ public class MultiTreeWordListPersistenc
       }
       InputStreamReader streamReader = new InputStreamReader(is, encoding);
       TrieXMLEventHandler handler = new TrieXMLEventHandler(root);
-      SAXParser saxParser = XmlUtils.createSaxParser();
-      XMLReader reader = saxParser.getXMLReader();
-      reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
-      reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
-      reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);
+      XMLReader reader = XMLUtils.createXMLReader();
       reader.setContentHandler(handler);
       reader.setErrorHandler(handler);
       reader.parse(new InputSource(streamReader));
     } catch (SAXException e) {
-     throw new IllegalStateException(e);
+      throw new IllegalStateException(e);
     }
   }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java Mon Feb  4 14:06:24 2019
@@ -36,15 +36,13 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 import java.util.zip.ZipOutputStream;
 
-import javax.xml.parsers.SAXParser;
-
 import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.uima.cas.FSIterator;
 import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.internal.util.XMLUtils;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.type.RutaBasic;
-import org.apache.uima.ruta.utils.XmlUtils;
 import org.springframework.core.io.FileSystemResource;
 import org.springframework.core.io.Resource;
 import org.xml.sax.InputSource;
@@ -68,10 +66,14 @@ public class TreeWordList implements Rut
   /**
    * Constructs a TreeWordList from a resource.
    * 
-   * @param resource - Resource to create a TextWordList from
-   * @param dictRemoveWS - option to remove whitespaces fromt he resource
-   * @throws IOException - when there is a problem reading the resource
-   * @throws IllegalArgumentException - for an invalid name or file ending
+   * @param resource
+   *          - Resource to create a TextWordList from
+   * @param dictRemoveWS
+   *          - option to remove whitespaces fromt he resource
+   * @throws IOException
+   *           - when there is a problem reading the resource
+   * @throws IllegalArgumentException
+   *           - for an invalid name or file ending
    */
   public TreeWordList(Resource resource, boolean dictRemoveWS) throws IOException {
     this.dictRemoveWS = dictRemoveWS;
@@ -100,9 +102,12 @@ public class TreeWordList implements Rut
   /**
    * Constructs a TreeWordList from a file with path = filename
    * 
-   * @param pathname - path of the file to create a TextWordList from
-   * @param dictRemoveWS - remove whitespaces    
-   * @throws IOException - when there is a problem reading the pathname
+   * @param pathname
+   *          - path of the file to create a TextWordList from
+   * @param dictRemoveWS
+   *          - remove whitespaces
+   * @throws IOException
+   *           - when there is a problem reading the pathname
    */
   public TreeWordList(String pathname, boolean dictRemoveWS) throws IOException {
     this(new FileSystemResource(pathname), dictRemoveWS);
@@ -113,9 +118,12 @@ public class TreeWordList implements Rut
    * 
    * @param stream
    *          path of the file to create a TextWordList from
-   * @param name - the name of the resource in the stream
-   * @param dictRemoveWS - remove whitespaces    
-   * @throws IOException - when there is a problem reading the stream
+   * @param name
+   *          - the name of the resource in the stream
+   * @param dictRemoveWS
+   *          - remove whitespaces
+   * @throws IOException
+   *           - when there is a problem reading the stream
    */
   public TreeWordList(InputStream stream, String name, boolean dictRemoveWS) throws IOException {
     this.dictRemoveWS = dictRemoveWS;
@@ -147,7 +155,8 @@ public class TreeWordList implements Rut
    * @param stream
    *          Open InputStream containing the word for the treeWordList, this method will close the
    *          stream.
-   * @throws IOException - when there is a problem reading the stream
+   * @throws IOException
+   *           - when there is a problem reading the stream
    */
   public void buildNewTree(InputStream stream) throws IOException {
     Scanner scan = new Scanner(stream, "UTF-8");
@@ -263,9 +272,11 @@ public class TreeWordList implements Rut
         result |= recursiveContains(pointer, text, next, ignoreCase, fragment, ignoreChars,
                 maxIgnoreChars, ignoreWS);
       } else {
-        result |= recursiveContains(childNodeL, text, next, ignoreCase, fragment, ignoreChars, maxIgnoreChars, ignoreWS);
-        if (childNodeL != childNodeU) {  // Do not go into the same tree.
-          result |= recursiveContains(childNodeU, text, next, ignoreCase, fragment, ignoreChars, maxIgnoreChars, ignoreWS);
+        result |= recursiveContains(childNodeL, text, next, ignoreCase, fragment, ignoreChars,
+                maxIgnoreChars, ignoreWS);
+        if (childNodeL != childNodeU) { // Do not go into the same tree.
+          result |= recursiveContains(childNodeU, text, next, ignoreCase, fragment, ignoreChars,
+                  maxIgnoreChars, ignoreWS);
         }
       }
     } else {
@@ -350,7 +361,8 @@ public class TreeWordList implements Rut
     return results;
   }
 
-  public List<AnnotationFS> find(RutaStream stream, boolean ignoreCase, int size, boolean ignoreWS) {
+  public List<AnnotationFS> find(RutaStream stream, boolean ignoreCase, int size,
+          boolean ignoreWS) {
     return find(stream, ignoreCase, size, null, 0, ignoreWS);
   }
 
@@ -360,8 +372,8 @@ public class TreeWordList implements Rut
     if (basicsToAdd.size() >= 1
             && contains(lastCandidate, ignoreCase, size, ignoreChars, maxIgnoredChars, ignoreWS)) {
 
-      results.add(new Annotation(stream.getJCas(), basicsToAdd.get(0).getBegin(), basicsToAdd.get(
-              basicsToAdd.size() - 1).getEnd()));
+      results.add(new Annotation(stream.getJCas(), basicsToAdd.get(0).getBegin(),
+              basicsToAdd.get(basicsToAdd.size() - 1).getEnd()));
     } else if (interResult != null) {
       results.add(interResult);
     }
@@ -377,17 +389,15 @@ public class TreeWordList implements Rut
       }
       InputStreamReader streamReader = new InputStreamReader(is, encoding);
       this.root = new TextNode();
+
       XMLEventHandler handler = new XMLEventHandler(root);
-      SAXParser parser = XmlUtils.createSaxParser();
-      XMLReader reader = parser.getXMLReader();
-      reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
-      reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
-      reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);
+      XMLReader reader = XMLUtils.createXMLReader();
       reader.setContentHandler(handler);
       reader.setErrorHandler(handler);
+
       reader.parse(new InputSource(streamReader));
-    } catch (SAXException  e) {
-     throw new IllegalStateException(e);
+    } catch (SAXException e) {
+      throw new IllegalStateException(e);
     }
   }
 
@@ -440,8 +450,8 @@ public class TreeWordList implements Rut
 
   public void writeNode(Writer writer, TextNode node) throws IOException {
     String value = StringEscapeUtils.escapeXml11(String.valueOf(node.getValue()));
-    String output = "<node char=\"" + value + "\" isWordEnd=\""
-            + Boolean.toString(node.isWordEnd()) + "\">";
+    String output = "<node char=\"" + value + "\" isWordEnd=\"" + Boolean.toString(node.isWordEnd())
+            + "\">";
     writer.write(output);
     for (TextNode child : node.getChildren().values()) {
       writeNode(writer, child);
@@ -456,8 +466,8 @@ public class TreeWordList implements Rut
   }
 
   @Override
-  public List<AnnotationFS> find(RutaStream stream, Map<String, Object> typeMap,
-          boolean ignoreCase, int ignoreLength, boolean edit, double distance, String ignoreToken) {
+  public List<AnnotationFS> find(RutaStream stream, Map<String, Object> typeMap, boolean ignoreCase,
+          int ignoreLength, boolean edit, double distance, String ignoreToken) {
     return null;
   }
 

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/StrictImportTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/StrictImportTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/StrictImportTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/StrictImportTest.java Mon Feb  4 14:06:24 2019
@@ -53,29 +53,32 @@ import org.apache.uima.ruta.type.TruePos
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Assert;
 import org.junit.Test;
-
+import org.xml.sax.SAXException;
 
 /**
  * Test the strict import option of {@link org.apache.uima.ruta.engine.RutaEngine}.
  */
 public class StrictImportTest {
   private final String NAME = this.getClass().getSimpleName();
+
   private final String NAMESPACE = this.getClass().getPackage().getName();
 
   /**
    * Create an analysis engine for a Ruta script.
    *
-   * @param script       Script path.
-   * @param strictImport {@link RutaEngine#PARAM_STRICT_IMPORTS} value.
+   * @param script
+   *          Script path.
+   * @param strictImport
+   *          {@link RutaEngine#PARAM_STRICT_IMPORTS} value.
    * @return Analysis engine.
    */
-  private AnalysisEngine createAE(String script, boolean strictImport) throws ResourceInitializationException, IOException, InvalidXMLException {
+  private AnalysisEngine createAE(String script, boolean strictImport)
+          throws ResourceInitializationException, IOException, InvalidXMLException {
     final TypeSystemDescription tsd = TypeSystemDescriptionFactory.createTypeSystemDescription(
             "org.apache.uima.ruta.engine.BasicTypeSystem",
             "org.apache.uima.ruta.StrictImportTestTypeSystem");
     final AnalysisEngineDescription ruta = AnalysisEngineFactory.createEngineDescription(
-            "org.apache.uima.ruta.engine.BasicEngine",
-            RutaEngine.PARAM_MAIN_SCRIPT, script,
+            "org.apache.uima.ruta.engine.BasicEngine", RutaEngine.PARAM_MAIN_SCRIPT, script,
             RutaEngine.PARAM_STRICT_IMPORTS, strictImport);
 
     tsd.addType(script.replaceAll("/", ".") + ".T1", "Type for Testing", "uima.tcas.Annotation");
@@ -148,44 +151,46 @@ public class StrictImportTest {
 
     return values;
   }
-  
+
   @Test
-  public void testStrictScriptImport() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException {
+  public void testStrictScriptImport() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, SAXException {
     Map<String, String> complexTypes = new HashMap<>();
     String s1 = "org.apache.uima.ruta.StrictScript2.Type1";
     String s2 = "org.apache.uima.ruta.other.Type1";
     complexTypes.put(s1, "uima.tcas.Annotation");
     complexTypes.put(s2, "uima.tcas.Annotation");
-    
+
     CAS cas = RutaTestUtils.getCAS("Some text.", complexTypes, null);
-    
-    AnalysisEngine ae = AnalysisEngineFactory.createEngine(RutaEngine.class, 
+
+    AnalysisEngine ae = AnalysisEngineFactory.createEngine(RutaEngine.class,
             RutaEngine.PARAM_MAIN_SCRIPT, "org.apache.uima.ruta.StrictScript1",
             RutaEngine.PARAM_ADDITIONAL_SCRIPTS, "org.apache.uima.ruta.StrictScript2",
-            RutaEngine.PARAM_STRICT_IMPORTS, true
-            );
+            RutaEngine.PARAM_STRICT_IMPORTS, true);
     ae.process(cas);
-    
+
     Type t1 = cas.getTypeSystem().getType(s1);
     Type t2 = cas.getTypeSystem().getType(s2);
-    
+
     Assert.assertEquals(1, cas.getAnnotationIndex(t1).size());
     Assert.assertEquals(1, cas.getAnnotationIndex(t2).size());
-    
+
     cas.release();
   }
-  
+
   @Test
-  public void testDocumentAnnotation() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException, CASRuntimeException, CASException  {
+  public void testDocumentAnnotation() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, CASRuntimeException, CASException, SAXException {
     CAS cas = RutaTestUtils.getCAS("Some text.");
     Map<String, Object> params = new HashMap<>();
     params.put(RutaEngine.PARAM_STRICT_IMPORTS, true);
     Ruta.apply(cas, "DocumentAnnotation{->TruePositive};", params);
     Ruta.apply(cas, "Document{->TruePositive};", params);
-    AnnotationIndex<Annotation> annotationIndex = cas.getJCas().getAnnotationIndex(TruePositive.type);
+    AnnotationIndex<Annotation> annotationIndex = cas.getJCas()
+            .getAnnotationIndex(TruePositive.type);
     Assert.assertEquals(2, annotationIndex.size());
     cas.release();
   }
-  
-  
+
 }
\ No newline at end of file

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ImplicitActionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ImplicitActionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ImplicitActionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ImplicitActionTest.java Mon Feb  4 14:06:24 2019
@@ -38,6 +38,7 @@ import org.apache.uima.ruta.engine.RutaT
 import org.apache.uima.ruta.engine.RutaTestUtils.TestFeature;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class ImplicitActionTest {
 
@@ -93,9 +94,9 @@ public class ImplicitActionTest {
   }
 
   @Test
-  public void testChangeOffsets()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testChangeOffsets() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String text = "text 2 3 x 4 1";
     String script = "";
     script += "NUM{->T1};";

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/LabelAtActionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/LabelAtActionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/LabelAtActionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/LabelAtActionTest.java Mon Feb  4 14:06:24 2019
@@ -29,12 +29,14 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class LabelAtActionTest {
 
   @Test
   public void test() throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
 
     String document = "This is a test.";
     String script = "CW{-> t:T1}->{t{->T2};};";

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/MacroActionTest.java Mon Feb  4 14:06:24 2019
@@ -30,6 +30,7 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class MacroActionTest {
 
@@ -77,9 +78,9 @@ public class MacroActionTest {
   }
 
   @Test
-  public void testVariable()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testVariable() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String document = "Test";
     String script = "INT j;\n";
     script += "ACTION inc(VAR INT var, INT i) = ASSIGN(var,var+i);\n";

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/Shift1Test.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/Shift1Test.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/Shift1Test.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/Shift1Test.java Mon Feb  4 14:06:24 2019
@@ -30,6 +30,7 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class Shift1Test {
 
@@ -42,9 +43,11 @@ public class Shift1Test {
 
     cas.release();
   }
-  
+
   @Test
-  public void testOverlapping() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testOverlapping() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String text = "text 2 3 x 4";
     String script = "";
     script += "NUM+{->T1};";
@@ -54,5 +57,5 @@ public class Shift1Test {
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "2 3", "3 x 4", "4");
     cas.release();
   }
-  
+
 }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/ForEachBlockTest.java Mon Feb  4 14:06:24 2019
@@ -35,6 +35,7 @@ import org.apache.uima.ruta.seed.TextSee
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Ignore;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class ForEachBlockTest {
 
@@ -69,9 +70,9 @@ public class ForEachBlockTest {
 
   @Test
   @Ignore
-  public void testPerformance()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testPerformance() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
 
     int lines = 10000;
     StringBuilder sb = new StringBuilder();
@@ -127,9 +128,9 @@ public class ForEachBlockTest {
   }
 
   @Test
-  public void testRigthToLeft()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testRigthToLeft() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String script = "NUM{-> T1};";
     script += "FOREACH(t) T1{}{\n";
     script += "n:T1 SPECIAL.ct==\"^\" t{-> t.begin = n.begin};\n";
@@ -144,7 +145,8 @@ public class ForEachBlockTest {
   @Test
   public void testEnforcedLeftToRigthInComposedWithDebbugging()
           throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
     String script = "NUM{-> T1};";
     script += "FOREACH(t) T1{}{\n";
     script += "(n:@T1{->UNMARK(T1)} SPECIAL.ct==\"^\" t){-> t.begin = n.begin};\n";
@@ -160,9 +162,9 @@ public class ForEachBlockTest {
   }
 
   @Test
-  public void testDirection()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testDirection() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String script = "NUM{-> T1};";
     script += "FOREACH(t,true) T1{}{\n";
     script += "(# t{-PARTOF(T2)}){->T2};\n";
@@ -178,7 +180,6 @@ public class ForEachBlockTest {
     cas.release();
   }
 
-
   @Test
   public void testComposed() throws Exception {
     String script = "NUM{-> T1};";
@@ -192,8 +193,7 @@ public class ForEachBlockTest {
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "4x2^3");
     cas.release();
   }
-  
-  
+
   @Test
   public void testConditionMacro() throws Exception {
     String script = "CONDITION isSmall() = REGEXP(\".\");\n";
@@ -207,7 +207,7 @@ public class ForEachBlockTest {
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "1");
     cas.release();
   }
-  
+
   @Test
   public void testWithContainingBlock() throws Exception {
     String script = "";
@@ -225,7 +225,5 @@ public class ForEachBlockTest {
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 3, "1", "22", "333");
     cas.release();
   }
-  
-  
-  
+
 }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/RutaScriptBlockTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/RutaScriptBlockTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/RutaScriptBlockTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/block/RutaScriptBlockTest.java Mon Feb  4 14:06:24 2019
@@ -30,6 +30,7 @@ import org.apache.uima.ruta.engine.RutaE
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class RutaScriptBlockTest {
 
@@ -62,7 +63,7 @@ public class RutaScriptBlockTest {
 
   @Test
   public void testExternalBlockCall() throws ResourceInitializationException, InvalidXMLException,
-          IOException, AnalysisEngineProcessException, CASException {
+          IOException, AnalysisEngineProcessException, CASException, SAXException {
     String script = "SCRIPT org.apache.uima.ruta.ScriptWithStackedBlocks;";
     script += "(# PERIOD){-> T3} (# PERIOD){->T4};";
     script += "T3{-> CALL(ScriptWithStackedBlocks.First)};";

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContainsTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContainsTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContainsTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContainsTest.java Mon Feb  4 14:06:24 2019
@@ -32,6 +32,7 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class ContainsTest {
 
@@ -45,19 +46,22 @@ public class ContainsTest {
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 3, "A single sentence", "And here is another one",
             "Testing the CONTAINS condition of Ruta");
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Testing the CONTAINS condition of Ruta");
-    RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "A single sentence", "Testing the CONTAINS condition of Ruta");
+    RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "A single sentence",
+            "Testing the CONTAINS condition of Ruta");
 
     cas.release();
   }
-  
+
   @Test
-  public void testAlias() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testAlias() throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
     String document = "1 some text; 2 some text; 3 some text;";
-    
+
     String script = "IMPORT PACKAGE * FROM org.apache.uima.ruta.ImportStatementsTestTypeSystemWithManyPackages AS ruta;";
     script += "(NUM # PM){-> ruta.Type1, T1};";
     script += "Document{CONTAINS(ruta.Type1) -> T2};";
-    
+
     Map<String, String> typeMap = new TreeMap<String, String>();
     String typeName = "org.apache.uima.ruta.other3.Type1";
     typeMap.put(typeName, "uima.tcas.Annotation");
@@ -66,29 +70,30 @@ public class ContainsTest {
 
     CAS cas = RutaTestUtils.getCAS(document, typeMap, null);
     Ruta.apply(cas, script);
-    
-    RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "1 some text;", "2 some text;", "3 some text;");
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "1 some text;", "2 some text;",
+            "3 some text;");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, document);
-    
+
   }
-  
+
   @Test
-  public void testContainsOverlappingAnnotations() throws ResourceInitializationException, 
-      InvalidXMLException, IOException, AnalysisEngineProcessException, 
-      ResourceConfigurationException, URISyntaxException {
-  
-  String document = "1 2 3 4 5 6 7 8";
-  
-  String script = "(\"1\" # \"5\") {-> T1};";
-  script += "(\"3\" # \"8\") {-> T1};";
-  script += "(\"3\" # \"4\") {-> T1};";
-  script += "(\"3\" # \"5\") {-> T2};";
-  script += "T2{CONTAINS(T1,1,1)-> T3};";
-  
-  CAS cas = RutaTestUtils.getCAS(document);
-  Ruta.apply(cas, script);
-  
-  RutaTestUtils.assertAnnotationsEquals(cas, 3, 1);
-  
+  public void testContainsOverlappingAnnotations() throws ResourceInitializationException,
+          InvalidXMLException, IOException, AnalysisEngineProcessException,
+          ResourceConfigurationException, URISyntaxException, SAXException {
+
+    String document = "1 2 3 4 5 6 7 8";
+
+    String script = "(\"1\" # \"5\") {-> T1};";
+    script += "(\"3\" # \"8\") {-> T1};";
+    script += "(\"3\" # \"4\") {-> T1};";
+    script += "(\"3\" # \"5\") {-> T2};";
+    script += "T2{CONTAINS(T1,1,1)-> T3};";
+
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 3, 1);
+
   }
 }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContextCountTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContextCountTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContextCountTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContextCountTest.java Mon Feb  4 14:06:24 2019
@@ -37,6 +37,7 @@ import org.apache.uima.ruta.engine.RutaT
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Assert;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class ContextCountTest {
 
@@ -45,27 +46,28 @@ public class ContextCountTest {
 
     CAS cas = RutaTestUtils.processTestScript(this.getClass());
 
-    RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "A single sentence",
-            "And here is another one", "Testing the CONTEXTCOUNT condition of Ruta System");
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "A single sentence", "And here is another one",
+            "Testing the CONTEXTCOUNT condition of Ruta System");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 4, "A", "And", "Testing", "Ruta");
 
     Type t = RutaTestUtils.getTestType(cas, 3);
     AnnotationIndex<AnnotationFS> ai = cas.getAnnotationIndex(t);
     assertEquals(1, ai.size());
     FSIterator<AnnotationFS> iterator = ai.iterator();
-    assertEquals("A single sentence." + "And here is another one."
-            + "Testing the CONTEXTCOUNT condition of Ruta System.", iterator.next()
-            .getCoveredText().replaceAll("[\n\r]", ""));
+    assertEquals(
+            "A single sentence." + "And here is another one."
+                    + "Testing the CONTEXTCOUNT condition of Ruta System.",
+            iterator.next().getCoveredText().replaceAll("[\n\r]", ""));
 
     cas.release();
   }
 
   @Test
-  public void testIndex() throws CASException, ResourceInitializationException,
-          InvalidXMLException, IOException, AnalysisEngineProcessException {
+  public void testIndex() throws CASException, ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, SAXException {
     JCas jcas = RutaTestUtils.getCAS("A B C a b c").getJCas();
     Assert.assertTrue(Ruta.matches(jcas,
-                    "INT index; CW{CONTEXTCOUNT(Document,index,index)} # @SW{CONTEXTCOUNT(Document,0,100,index)-> MARK(T1,1,3)};"));
+            "INT index; CW{CONTEXTCOUNT(Document,index,index)} # @SW{CONTEXTCOUNT(Document,0,100,index)-> MARK(T1,1,3)};"));
     RutaTestUtils.assertAnnotationsEquals(jcas.getCas(), 1, 3, "A B C a", "B C a b", "C a b c");
   }
 

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/CountTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/CountTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/CountTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/CountTest.java Mon Feb  4 14:06:24 2019
@@ -30,6 +30,7 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class CountTest {
 
@@ -37,24 +38,25 @@ public class CountTest {
   public void test() {
 
     CAS cas = RutaTestUtils.processTestScript(this.getClass());
-    
+
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "A single sentence", "And here is another one",
             "Testing the COUNT condition of Ruta System");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Testing the COUNT condition of Ruta System");
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Testing the COUNT condition of Ruta System");
-    
-    cas.release();    
+
+    cas.release();
   }
-  
+
   @Test
-  public void testCountWithPeriodPostfix() throws ResourceInitializationException, InvalidXMLException, 
-    IOException, AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
-    
+  public void testCountWithPeriodPostfix() throws ResourceInitializationException,
+          InvalidXMLException, IOException, AnalysisEngineProcessException,
+          ResourceConfigurationException, URISyntaxException, SAXException {
+
     String document = "Some text.";
     String script = "(CW SW) {-> T1};";
-    script +="INT i = 0;";
-    script +="T1{COUNT(PERIOD, i)};";
-    script +="Document{(i>0)-> T2};";
+    script += "INT i = 0;";
+    script += "T1{COUNT(PERIOD, i)};";
+    script += "Document{(i>0)-> T2};";
     CAS cas = RutaTestUtils.getCAS(document);
     Ruta.apply(cas, script);
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition2Test.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition2Test.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition2Test.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition2Test.java Mon Feb  4 14:06:24 2019
@@ -30,6 +30,7 @@ import org.apache.uima.ruta.engine.RutaT
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Assert;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class ImplicitCondition2Test {
 
@@ -64,7 +65,7 @@ public class ImplicitCondition2Test {
 
   @Test
   public void testStringCompare() throws ResourceInitializationException, InvalidXMLException,
-          IOException, AnalysisEngineProcessException, CASException {
+          IOException, AnalysisEngineProcessException, CASException, SAXException {
     String document = "a b. a b.";
     CAS cas = RutaTestUtils.getCAS(document);
     Assert.assertTrue(Ruta.matches(cas.getJCas(), "(w:W # W{W.ct==w.ct}){->T1};"));
@@ -75,7 +76,7 @@ public class ImplicitCondition2Test {
 
   @Test
   public void testStringCompareNull() throws ResourceInitializationException, InvalidXMLException,
-          IOException, AnalysisEngineProcessException, CASException {
+          IOException, AnalysisEngineProcessException, CASException, SAXException {
     String document = "a b. a b.";
     CAS cas = RutaTestUtils.getCAS(document);
 

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/MacroConditionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/MacroConditionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/MacroConditionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/MacroConditionTest.java Mon Feb  4 14:06:24 2019
@@ -30,6 +30,7 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class MacroConditionTest {
 
@@ -78,9 +79,9 @@ public class MacroConditionTest {
   }
 
   @Test
-  public void testVariable()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testVariable() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String document = "This is a Test.";
     String script = "INT j;\n";
     script += "CONDITION cc(VAR INT var) = TOTALCOUNT(W,1,1000,var);\n";

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ResourcesFromDataPathTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ResourcesFromDataPathTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ResourcesFromDataPathTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ResourcesFromDataPathTest.java Mon Feb  4 14:06:24 2019
@@ -34,18 +34,20 @@ import org.apache.uima.resource.Resource
 import org.apache.uima.resource.ResourceManager;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class ResourcesFromDataPathTest {
 
   @Test
   public void test() throws IOException, ResourceInitializationException, InvalidXMLException,
-          AnalysisEngineProcessException {
+          AnalysisEngineProcessException, SAXException {
 
     final String datapath = "target/datapath/";
     new File(datapath).mkdirs();
     FileUtils.copyFile(new File("src/test/resources/org/apache/uima/ruta/action/MarkFastTest.ruta"),
             new File(datapath + "MarkFastTest.ruta"));
-    FileUtils.copyFile(new File("src/test/resources/org/apache/uima/ruta/action/MarkFastTestList.txt"),
+    FileUtils.copyFile(
+            new File("src/test/resources/org/apache/uima/ruta/action/MarkFastTestList.txt"),
             new File(datapath + "MarkFastTestList.txt"));
     ResourceManagerFactory.setResourceManagerCreator(new ResourceManagerCreator() {
 
@@ -61,12 +63,13 @@ public class ResourcesFromDataPathTest {
         return resourceManager;
       }
     });
-    
-    
-    AnalysisEngine ae = AnalysisEngineFactory.createEngine(RutaEngine.class, RutaEngine.PARAM_MAIN_SCRIPT, "MarkFastTest");
-    CAS cas = RutaTestUtils.getCAS(FileUtils.readFileToString(new File("src/test/resources/org/apache/uima/ruta/action/MarkFastTest.txt")));
+
+    AnalysisEngine ae = AnalysisEngineFactory.createEngine(RutaEngine.class,
+            RutaEngine.PARAM_MAIN_SCRIPT, "MarkFastTest");
+    CAS cas = RutaTestUtils.getCAS(FileUtils.readFileToString(
+            new File("src/test/resources/org/apache/uima/ruta/action/MarkFastTest.txt")));
     ae.process(cas);
-    
+
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 3, "1 0 0", "100", "2 0 0");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "100");

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/RutaTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/RutaTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/RutaTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/RutaTest.java Mon Feb  4 14:06:24 2019
@@ -50,149 +50,152 @@ import org.apache.uima.util.InvalidXMLEx
 import org.apache.uima.util.XMLInputSource;
 import org.junit.Assert;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class RutaTest {
 
-   @Test
-   public void testApply() throws Exception {
-   URL typePrioritiesUrl = RutaTestUtils.class.getResource("TypePriorities.xml");
-   URL tsUrl = RutaTestUtils.class.getResource("BasicTypeSystem.xml");
-   Object descriptor = UIMAFramework.getXMLParser().parse(new XMLInputSource(tsUrl));
-   TypeSystemDescription tsDesc = (TypeSystemDescription) descriptor;
-   tsDesc.addType("uima.ruta.T1", "", "uima.tcas.Annotation");
-   tsDesc.addType("uima.ruta.T2", "", "uima.tcas.Annotation");
-   tsDesc.addType("uima.ruta.T3", "", "uima.tcas.Annotation");
-   tsDesc.resolveImports();
-   TypePriorities typePriorities = UIMAFramework.getXMLParser().parseTypePriorities(
-   new XMLInputSource(typePrioritiesUrl));
-   CAS cas = CasCreationUtils.createCas(tsDesc, typePriorities, new FsIndexDescription[0]);
-  
-   cas.setDocumentText("Some document.");
-  
-   Ruta.apply(cas, "CW{-> MARK(T1)} SW;");
-   AnnotationIndex<AnnotationFS> ai = null;
-   FSIterator<AnnotationFS> iterator = null;
-   ai = cas.getAnnotationIndex(cas.getTypeSystem().getType("uima.ruta.T1"));
-   iterator = ai.iterator();
-   assertEquals(1, ai.size());
-   assertEquals("Some", iterator.next().getCoveredText());
-  
-   Ruta.apply(cas, "T1 SW{-> MARK(T2)};");
-   ai = cas.getAnnotationIndex(cas.getTypeSystem().getType("uima.ruta.T2"));
-   iterator = ai.iterator();
-   assertEquals(1, ai.size());
-   assertEquals("document", iterator.next().getCoveredText());
-  
-   Ruta.apply(cas, "T1{-> MARK(T3,1,2,3)} T2 PERIOD;");
-   ai = cas.getAnnotationIndex(cas.getTypeSystem().getType("uima.ruta.T3"));
-   iterator = ai.iterator();
-   assertEquals(1, ai.size());
-   assertEquals("Some document.", iterator.next().getCoveredText());
-  
-   cas.release();
-   }
-  
-   @Test
-   public void testCreateAnalysisEngineDescription() throws Exception {
-   TypeSystemDescription_impl tsdi = new TypeSystemDescription_impl();
-   String t1 = "some.type.Test1";
-   String t2 = "some.type.Test2";
-   TypeDescription_impl ti1 = new TypeDescription_impl(t1, "", "uima.tcas.Annotation");
-   TypeDescription_impl ti2 = new TypeDescription_impl(t2, "", "uima.tcas.Annotation");
-   tsdi.setTypes(new TypeDescription[] { ti1, ti2 });
-  
-   String script = "CW SW{-> MARK(Test1)};\n Test1 SW{-> MARK(Test2)};";
-   @SuppressWarnings("deprecation")
-   AnalysisEngineDescription aed = Ruta.createAnalysisEngineDescription(script, tsdi);
-   AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aed);
-   CAS cas = ae.newCAS();
-   cas.setDocumentText("Only some text.");
-   ae.process(cas);
-  
-   Type type1 = cas.getTypeSystem().getType(t1);
-   AnnotationIndex<AnnotationFS> ai1 = cas.getAnnotationIndex(type1);
-   assertEquals(1, ai1.size());
-   assertEquals("some", ai1.iterator().get().getCoveredText());
-  
-   Type type2 = cas.getTypeSystem().getType(t2);
-   AnnotationIndex<AnnotationFS> ai2 = cas.getAnnotationIndex(type2);
-   assertEquals(1, ai2.size());
-   assertEquals("text", ai2.iterator().get().getCoveredText());
-   }
-  
-   @Test
-   public void testApplyRule() throws ResourceInitializationException, InvalidXMLException,
-   IOException, CASException, AnalysisEngineProcessException {
-   CAS cas = RutaTestUtils.getCAS("Some document.");
-   JCas jcas = cas.getJCas();
-  
-   Ruta.applyRule(jcas, "CW{-> MARK(T1)} SW;");
-   RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Some");
-  
-   Ruta.applyRule(jcas, "T1 SW{-> MARK(T2)};");
-   RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "document");
-  
-   Ruta.applyRule(jcas, "T1{-> MARK(T3,1,2,3)} T2 PERIOD;");
-   RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Some document.");
-   }
-  
-   @Test
-   public void testSelect() throws ResourceInitializationException, InvalidXMLException,
-   IOException, CASException, AnalysisEngineProcessException {
-   String document = "Some text.";
-   CAS cas = RutaTestUtils.getCAS(document);
-   JCas jcas = cas.getJCas();
-   List<Annotation> select1 = Ruta.select(jcas, "W{REGEXP(\"t.*\")};");
-   Assert.assertEquals(1, select1.size());
-   Assert.assertEquals("text", select1.get(0).getCoveredText());
-  
-   List<Annotation> select2 = Ruta.select(jcas, "Document<-{ANY @PERIOD;};");
-   Assert.assertEquals(1, select2.size());
-   Assert.assertEquals("Some text.", select2.get(0).getCoveredText());
-  
-   List<Annotation> select3 = Ruta.select(jcas, "ANY @ANY;");
-   Assert.assertEquals(2, select3.size());
-   Assert.assertEquals("Some text", select3.get(0).getCoveredText());
-   Assert.assertEquals("text.", select3.get(1).getCoveredText());
-   }
+  @Test
+  public void testApply() throws Exception {
+    URL typePrioritiesUrl = RutaTestUtils.class.getResource("TypePriorities.xml");
+    URL tsUrl = RutaTestUtils.class.getResource("BasicTypeSystem.xml");
+    Object descriptor = UIMAFramework.getXMLParser().parse(new XMLInputSource(tsUrl));
+    TypeSystemDescription tsDesc = (TypeSystemDescription) descriptor;
+    tsDesc.addType("uima.ruta.T1", "", "uima.tcas.Annotation");
+    tsDesc.addType("uima.ruta.T2", "", "uima.tcas.Annotation");
+    tsDesc.addType("uima.ruta.T3", "", "uima.tcas.Annotation");
+    tsDesc.resolveImports();
+    TypePriorities typePriorities = UIMAFramework.getXMLParser()
+            .parseTypePriorities(new XMLInputSource(typePrioritiesUrl));
+    CAS cas = CasCreationUtils.createCas(tsDesc, typePriorities, new FsIndexDescription[0]);
+
+    cas.setDocumentText("Some document.");
+
+    Ruta.apply(cas, "CW{-> MARK(T1)} SW;");
+    AnnotationIndex<AnnotationFS> ai = null;
+    FSIterator<AnnotationFS> iterator = null;
+    ai = cas.getAnnotationIndex(cas.getTypeSystem().getType("uima.ruta.T1"));
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("Some", iterator.next().getCoveredText());
+
+    Ruta.apply(cas, "T1 SW{-> MARK(T2)};");
+    ai = cas.getAnnotationIndex(cas.getTypeSystem().getType("uima.ruta.T2"));
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("document", iterator.next().getCoveredText());
+
+    Ruta.apply(cas, "T1{-> MARK(T3,1,2,3)} T2 PERIOD;");
+    ai = cas.getAnnotationIndex(cas.getTypeSystem().getType("uima.ruta.T3"));
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("Some document.", iterator.next().getCoveredText());
+
+    cas.release();
+  }
+
+  @Test
+  public void testCreateAnalysisEngineDescription() throws Exception {
+    TypeSystemDescription_impl tsdi = new TypeSystemDescription_impl();
+    String t1 = "some.type.Test1";
+    String t2 = "some.type.Test2";
+    TypeDescription_impl ti1 = new TypeDescription_impl(t1, "", "uima.tcas.Annotation");
+    TypeDescription_impl ti2 = new TypeDescription_impl(t2, "", "uima.tcas.Annotation");
+    tsdi.setTypes(new TypeDescription[] { ti1, ti2 });
+
+    String script = "CW SW{-> MARK(Test1)};\n Test1 SW{-> MARK(Test2)};";
+    @SuppressWarnings("deprecation")
+    AnalysisEngineDescription aed = Ruta.createAnalysisEngineDescription(script, tsdi);
+    AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aed);
+    CAS cas = ae.newCAS();
+    cas.setDocumentText("Only some text.");
+    ae.process(cas);
+
+    Type type1 = cas.getTypeSystem().getType(t1);
+    AnnotationIndex<AnnotationFS> ai1 = cas.getAnnotationIndex(type1);
+    assertEquals(1, ai1.size());
+    assertEquals("some", ai1.iterator().get().getCoveredText());
+
+    Type type2 = cas.getTypeSystem().getType(t2);
+    AnnotationIndex<AnnotationFS> ai2 = cas.getAnnotationIndex(type2);
+    assertEquals(1, ai2.size());
+    assertEquals("text", ai2.iterator().get().getCoveredText());
+  }
+
+  @Test
+  public void testApplyRule() throws ResourceInitializationException, InvalidXMLException,
+          IOException, CASException, AnalysisEngineProcessException, SAXException {
+    CAS cas = RutaTestUtils.getCAS("Some document.");
+    JCas jcas = cas.getJCas();
+
+    Ruta.applyRule(jcas, "CW{-> MARK(T1)} SW;");
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Some");
+
+    Ruta.applyRule(jcas, "T1 SW{-> MARK(T2)};");
+    RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "document");
+
+    Ruta.applyRule(jcas, "T1{-> MARK(T3,1,2,3)} T2 PERIOD;");
+    RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Some document.");
+  }
 
   @Test
-  public void testSelectWithInjection() throws ResourceInitializationException,
-          InvalidXMLException, IOException, CASException, AnalysisEngineProcessException {
+  public void testSelect() throws ResourceInitializationException, InvalidXMLException, IOException,
+          CASException, AnalysisEngineProcessException, SAXException {
+    String document = "Some text.";
+    CAS cas = RutaTestUtils.getCAS(document);
+    JCas jcas = cas.getJCas();
+    List<Annotation> select1 = Ruta.select(jcas, "W{REGEXP(\"t.*\")};");
+    Assert.assertEquals(1, select1.size());
+    Assert.assertEquals("text", select1.get(0).getCoveredText());
+
+    List<Annotation> select2 = Ruta.select(jcas, "Document<-{ANY @PERIOD;};");
+    Assert.assertEquals(1, select2.size());
+    Assert.assertEquals("Some text.", select2.get(0).getCoveredText());
+
+    List<Annotation> select3 = Ruta.select(jcas, "ANY @ANY;");
+    Assert.assertEquals(2, select3.size());
+    Assert.assertEquals("Some text", select3.get(0).getCoveredText());
+    Assert.assertEquals("text.", select3.get(1).getCoveredText());
+  }
+
+  @Test
+  public void testSelectWithInjection() throws ResourceInitializationException, InvalidXMLException,
+          IOException, CASException, AnalysisEngineProcessException, SAXException {
     String document = "Some text.";
     CAS cas = RutaTestUtils.getCAS(document);
     AnnotationImpl t1 = (AnnotationImpl) cas.createAnnotation(RutaTestUtils.getTestType(cas, 1), 5,
             9);
     cas.addFsToIndexes(t1);
     JCas jcas = cas.getJCas();
-     List<Annotation> select1 = Ruta.select(jcas, Ruta.inject("W $;", t1));
-     Assert.assertEquals(1, select1.size());
-     Assert.assertEquals("Some text", select1.get(0).getCoveredText());
+    List<Annotation> select1 = Ruta.select(jcas, Ruta.inject("W $;", t1));
+    Assert.assertEquals(1, select1.size());
+    Assert.assertEquals("Some text", select1.get(0).getCoveredText());
 
 //    List<Annotation> select2 = Ruta.select(jcas, Ruta.inject("W{W.begin == $.begin};", t1));
 //    Assert.assertEquals(1, select2.size());
 //    Assert.assertEquals("text", select2.get(0).getCoveredText());
   }
-  
+
   @Test
-  public void testMatches() throws ResourceInitializationException,
-          InvalidXMLException, IOException, CASException, AnalysisEngineProcessException {
+  public void testMatches() throws ResourceInitializationException, InvalidXMLException,
+          IOException, CASException, AnalysisEngineProcessException, SAXException {
     JCas jcas = RutaTestUtils.getCAS("Some text.").getJCas();
     Assert.assertTrue(Ruta.matches(jcas, "CW # @PERIOD;"));
     Assert.assertTrue(Ruta.matches(jcas, "W{IS(CW)} \"text\";"));
   }
-  
+
   @Test
-  public void testMatchesWithInjection() throws ResourceInitializationException,
-          InvalidXMLException, IOException, CASException, AnalysisEngineProcessException {
+  public void testMatchesWithInjection()
+          throws ResourceInitializationException, InvalidXMLException, IOException, CASException,
+          AnalysisEngineProcessException, SAXException {
     String document = "Some text.";
     CAS cas = RutaTestUtils.getCAS(document);
     AnnotationImpl t1 = (AnnotationImpl) cas.createAnnotation(RutaTestUtils.getTestType(cas, 1), 5,
             9);
     cas.addFsToIndexes(t1);
     JCas jcas = cas.getJCas();
-     Assert.assertTrue(Ruta.matches(jcas, Ruta.inject("W $;", t1)));
-     Assert.assertTrue(Ruta.matches(jcas, Ruta.inject("${REGEXP(\"te.*\"), PARTOF(SW)} PERIOD;", t1)));
+    Assert.assertTrue(Ruta.matches(jcas, Ruta.inject("W $;", t1)));
+    Assert.assertTrue(
+            Ruta.matches(jcas, Ruta.inject("${REGEXP(\"te.*\"), PARTOF(SW)} PERIOD;", t1)));
   }
 
 }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java Mon Feb  4 14:06:24 2019
@@ -39,6 +39,7 @@ import org.apache.uima.util.CasCreationU
 import org.apache.uima.util.InvalidXMLException;
 import org.apache.uima.util.XMLInputSource;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class StackedScriptsTest {
 
@@ -55,9 +56,9 @@ public class StackedScriptsTest {
   String rules3 = "W{PARTOF({T1,T2,T3})->T4};";
 
   @Test
-  public void testWithUimaFitAggregated() throws ResourceInitializationException,
-          InvalidXMLException, IOException, AnalysisEngineProcessException,
-          ResourceConfigurationException {
+  public void testWithUimaFitAggregated()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, SAXException {
 
     AnalysisEngine aae = createEngine(createEngineDescription(
             createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules1),
@@ -74,8 +75,9 @@ public class StackedScriptsTest {
   }
 
   @Test
-  public void testWithoutUimaFit() throws ResourceInitializationException, InvalidXMLException,
-          IOException, AnalysisEngineProcessException, ResourceConfigurationException {
+  public void testWithoutUimaFit()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, SAXException {
 
     AnalysisEngine rutaAE1 = createAnalysisEngine(rules1, null);
     AnalysisEngine rutaAE2 = createAnalysisEngine(rules2, null);
@@ -85,9 +87,9 @@ public class StackedScriptsTest {
 
   }
 
-  private void processAndTest(AnalysisEngine rutaAE1, AnalysisEngine rutaAE2, AnalysisEngine rutaAE3)
-          throws ResourceInitializationException, IOException, InvalidXMLException,
-          AnalysisEngineProcessException {
+  private void processAndTest(AnalysisEngine rutaAE1, AnalysisEngine rutaAE2,
+          AnalysisEngine rutaAE3) throws ResourceInitializationException, IOException,
+          InvalidXMLException, AnalysisEngineProcessException, SAXException {
     CAS cas = getCAS(LINES);
 
     rutaAE1.process(cas);
@@ -128,8 +130,8 @@ public class StackedScriptsTest {
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 3 * lines, t4);
   }
 
-  private CAS getCAS(int lines) throws ResourceInitializationException, IOException,
-          InvalidXMLException {
+  private CAS getCAS(int lines)
+          throws ResourceInitializationException, IOException, InvalidXMLException, SAXException {
     StringBuilder sb = new StringBuilder();
     for (int i = 0; i < lines; i++) {
       sb.append(DOC_TEXT);
@@ -144,7 +146,8 @@ public class StackedScriptsTest {
           ResourceConfigurationException {
     URL url = RutaEngine.class.getClassLoader().getResource("BasicEngine.xml");
     if (url == null) {
-      url = RutaTestUtils.class.getClassLoader().getResource("org/apache/uima/ruta/engine/BasicEngine.xml");
+      url = RutaTestUtils.class.getClassLoader()
+              .getResource("org/apache/uima/ruta/engine/BasicEngine.xml");
     }
     XMLInputSource in = new XMLInputSource(url);
     ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(in);
@@ -171,7 +174,7 @@ public class StackedScriptsTest {
 
   @Test
   public void testPerformanceOfReindexOnly() throws ResourceInitializationException,
-          InvalidXMLException, IOException, AnalysisEngineProcessException {
+          InvalidXMLException, IOException, AnalysisEngineProcessException, SAXException {
     AnalysisEngine aaeNoReindex = createEngine(createEngineDescription(
             createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules1),
             createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules2),
@@ -182,8 +185,8 @@ public class StackedScriptsTest {
             createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules2,
                     RutaEngine.PARAM_REINDEX_ONLY, new String[] { RutaTestUtils.TYPE + "1" }),
             createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules3,
-                    RutaEngine.PARAM_REINDEX_ONLY, new String[] { RutaTestUtils.TYPE + "2",
-                        RutaTestUtils.TYPE + "3" })));
+                    RutaEngine.PARAM_REINDEX_ONLY,
+                    new String[] { RutaTestUtils.TYPE + "2", RutaTestUtils.TYPE + "3" })));
 
     long start = 0;
     long end = 0;

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java Mon Feb  4 14:06:24 2019
@@ -48,6 +48,7 @@ import org.apache.uima.util.InvalidXMLEx
 import org.junit.Assert;
 import org.junit.Ignore;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class AnnotationLabelExpressionTest {
 
@@ -315,15 +316,16 @@ public class AnnotationLabelExpressionTe
 
   @Test(expected = AnalysisEngineProcessException.class)
   public void testWrongFeature() throws ResourceInitializationException, InvalidXMLException,
-          IOException, AnalysisEngineProcessException, CASException {
+          IOException, AnalysisEngineProcessException, CASException, SAXException {
 
     CAS cas = RutaTestUtils.getCAS("Some text.");
     Ruta.matches(cas.getJCas(), "a:W b:W{a.x == (b.y-1)-> T1};");
   }
 
   @Test
-  public void testSequentialLabelSelfMatch() throws ResourceInitializationException,
-          InvalidXMLException, IOException, AnalysisEngineProcessException, CASException {
+  public void testSequentialLabelSelfMatch()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, CASException, SAXException {
 
     CAS cas = RutaTestUtils.getCAS("Some text.");
     Assert.assertFalse(Ruta.matches(cas.getJCas(), "e:CW e;"));

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java Mon Feb  4 14:06:24 2019
@@ -48,12 +48,14 @@ import org.apache.uima.ruta.engine.RutaT
 import org.apache.uima.ruta.engine.RutaTestUtils.TestFeature;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class AnnotationVariableExpressionTest {
 
   @Test
   public void test() throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
     String document = "Some text.";
     String script = "ANNOTATION a;";
     script += "CW{-> ASSIGN(a, CW)};";
@@ -94,9 +96,9 @@ public class AnnotationVariableExpressio
   }
 
   @Test
-  public void testImplicitAssignment()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testImplicitAssignment() throws ResourceInitializationException, InvalidXMLException,
+          IOException, AnalysisEngineProcessException, ResourceConfigurationException,
+          URISyntaxException, SAXException {
     String document = "Some text.";
     String script = "ANNOTATION a;";
     script += "CW{-> a = CW};";
@@ -137,9 +139,9 @@ public class AnnotationVariableExpressio
   }
 
   @Test
-  public void testListImplicitAssignment()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testListImplicitAssignment() throws ResourceInitializationException,
+          InvalidXMLException, IOException, AnalysisEngineProcessException,
+          ResourceConfigurationException, URISyntaxException, SAXException {
     String document = "Some text.";
     String script = "ANNOTATIONLIST as;";
     script += "Document{-> as = W};";
@@ -181,7 +183,8 @@ public class AnnotationVariableExpressio
 
   @Test
   public void testList() throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
     String document = "Some text.";
     String script = "ANNOTATIONLIST as;";
     script += "Document{-> ASSIGN(as, W)};";
@@ -222,9 +225,9 @@ public class AnnotationVariableExpressio
   }
 
   @Test
-  public void testResetVariableBetweenCases()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testResetVariableBetweenCases() throws ResourceInitializationException,
+          InvalidXMLException, IOException, AnalysisEngineProcessException,
+          ResourceConfigurationException, URISyntaxException, SAXException {
 
     String document = "Some text.";
     String script = "ANNOTATIONLIST as;\n";
@@ -263,9 +266,9 @@ public class AnnotationVariableExpressio
   }
 
   @Test
-  public void testNullValueWithFeatureMatch()
-          throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+  public void testNullValueWithFeatureMatch() throws ResourceInitializationException,
+          InvalidXMLException, IOException, AnalysisEngineProcessException,
+          ResourceConfigurationException, URISyntaxException, SAXException {
 
     String document = "Some text.";
     String script = "";

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RutaAnnotationTypeMatcherTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RutaAnnotationTypeMatcherTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RutaAnnotationTypeMatcherTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RutaAnnotationTypeMatcherTest.java Mon Feb  4 14:06:24 2019
@@ -34,6 +34,7 @@ import org.apache.uima.ruta.engine.RutaT
 import org.apache.uima.ruta.engine.RutaTestUtils.TestFeature;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class RutaAnnotationTypeMatcherTest {
 
@@ -77,10 +78,9 @@ public class RutaAnnotationTypeMatcherTe
     script += "c:CW{->T26}<-{c.begin==0;};\n";
     script += "s:Struct1->{s.as{-> T27};};\n";
     script += "s:Struct1->{s.as.begin==5{-> T28};};\n";
-    
-    
+
     CAS cas = apply(document, script);
-    
+
     RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "This");
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "This");
@@ -109,12 +109,12 @@ public class RutaAnnotationTypeMatcherTe
     RutaTestUtils.assertAnnotationsEquals(cas, 26, 1, "This");
     RutaTestUtils.assertAnnotationsEquals(cas, 27, 3, "is", "a", "test");
     RutaTestUtils.assertAnnotationsEquals(cas, 28, 1, "is");
-    
+
   }
 
-  private CAS apply(String document, String script)
-          throws ResourceInitializationException, IOException, InvalidXMLException,
-          ResourceConfigurationException, AnalysisEngineProcessException, URISyntaxException {
+  private CAS apply(String document, String script) throws ResourceInitializationException,
+          IOException, InvalidXMLException, ResourceConfigurationException,
+          AnalysisEngineProcessException, URISyntaxException, SAXException {
     Map<String, String> complexTypes = new TreeMap<String, String>();
     complexTypes.put("Struct1", "uima.tcas.Annotation");
     complexTypes.put("Struct2", "uima.tcas.Annotation");
@@ -129,10 +129,10 @@ public class RutaAnnotationTypeMatcherTe
     features.put("Struct4", list);
     list.add(new TestFeature("a", "", "uima.tcas.Annotation"));
     list.add(new TestFeature("as", "", "uima.cas.FSArray"));
-    
+
     CAS cas = RutaTestUtils.getCAS(document, complexTypes, features);
     Ruta.apply(cas, script);
     return cas;
   }
-  
+
 }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/SidestepInComposedTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/SidestepInComposedTest.java?rev=1852917&r1=1852916&r2=1852917&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/SidestepInComposedTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/SidestepInComposedTest.java Mon Feb  4 14:06:24 2019
@@ -30,12 +30,14 @@ import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
+import org.xml.sax.SAXException;
 
 public class SidestepInComposedTest {
 
   @Test
   public void test() throws ResourceInitializationException, InvalidXMLException, IOException,
-          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException,
+          SAXException {
     String document = "15. Mai 2005";
     String script = "\"Mai\" -> T1;";
     script += "NUM{->T2} PERIOD @T1 NUM;\n";