Author: pkluegl
Date: Wed Oct  8 11:32:50 2014
New Revision: 1630074

URL: http://svn.apache.org/r1630074
Log:
UIMA-4045 and UIMA-4046
- initialize types of all modules
- added test

Added:
    
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java
   (with props)
    uima/ruta/trunk/ruta-core/src/test/resources/META-INF/
    uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/
    
uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/types.txt
   (with props)
    
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Additional.ruta
    
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/AdditionalTypeSystem.xml
   (with props)
    uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Main.ruta
    
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/MainTypeSystem.xml
   (with props)
Modified:
    
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
    
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/BasicTypeSystem.xml

Modified: 
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java?rev=1630074&r1=1630073&r2=1630074&view=diff
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
 (original)
+++ 
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
 Wed Oct  8 11:32:50 2014
@@ -541,7 +541,7 @@ public class RutaEngine extends JCasAnno
     Collection<RutaModule> values = script.getScripts().values();
     for (RutaModule eachModule : values) {
       relinkEnvironments(eachModule, mainRootBlock, new 
ArrayList<RutaModule>());
-      // initializeTypes(eachModule, cas);
+      initializeTypes(eachModule, cas);
     }
   }
 

Added: 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java?rev=1630074&view=auto
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java
 (added)
+++ 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java
 Wed Oct  8 11:32:50 2014
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.ruta;
+
+import static 
org.apache.uima.fit.factory.AnalysisEngineFactory.createEngineDescription;
+import static org.junit.Assert.assertEquals;
+
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.FSIterator;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.cas.text.AnnotationIndex;
+import org.apache.uima.ruta.engine.RutaEngine;
+import org.junit.Test;
+
+public class AdditionalScriptUimaFitTest {
+
+  @Test
+  public void test() throws Exception {
+    
+    AnalysisEngineDescription aed = createEngineDescription(RutaEngine.class,
+            RutaEngine.PARAM_MAIN_SCRIPT, "org.apache.uima.ruta.Main", 
RutaEngine.PARAM_DEBUG, false,
+            RutaEngine.PARAM_ADDITIONAL_SCRIPTS, new String[] 
{"org.apache.uima.ruta.Additional"}
+//            , RutaEngine.PARAM_STRICT_IMPORTS, true
+            );
+    
+    
+    AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aed);
+    CAS cas = ae.newCAS();
+    cas.setDocumentText("Some text 10.");
+    
+    ae.process(cas);
+  
+    Type t = null;
+    AnnotationIndex<AnnotationFS> ai = null;
+    FSIterator<AnnotationFS> iterator = null;
+
+    t = 
cas.getTypeSystem().getType("org.apache.uima.ruta.Additional.NewType1");
+    ai = cas.getAnnotationIndex(t);
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("10", iterator.next().getCoveredText());
+    
+    t = 
cas.getTypeSystem().getType("org.apache.uima.ruta.Additional.NewType2");
+    ai = cas.getAnnotationIndex(t);
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("Some", iterator.next().getCoveredText());
+    
+    if (cas != null) {
+      cas.release();
+    }
+
+  }
+  
+  @Test
+  public void testStrictImport() throws Exception {
+    
+    AnalysisEngineDescription aed = createEngineDescription(RutaEngine.class,
+            RutaEngine.PARAM_MAIN_SCRIPT, "org.apache.uima.ruta.Main", 
RutaEngine.PARAM_DEBUG, false,
+            RutaEngine.PARAM_ADDITIONAL_SCRIPTS, new String[] 
{"org.apache.uima.ruta.Additional"}
+            , RutaEngine.PARAM_STRICT_IMPORTS, true
+            );
+    
+    
+    AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aed);
+    CAS cas = ae.newCAS();
+    cas.setDocumentText("Some text 10.");
+    
+    ae.process(cas);
+  
+    Type t = null;
+    AnnotationIndex<AnnotationFS> ai = null;
+    FSIterator<AnnotationFS> iterator = null;
+
+    t = 
cas.getTypeSystem().getType("org.apache.uima.ruta.Additional.NewType1");
+    ai = cas.getAnnotationIndex(t);
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("10", iterator.next().getCoveredText());
+    
+    t = 
cas.getTypeSystem().getType("org.apache.uima.ruta.Additional.NewType2");
+    ai = cas.getAnnotationIndex(t);
+    iterator = ai.iterator();
+    assertEquals(1, ai.size());
+    assertEquals("Some", iterator.next().getCoveredText());
+    
+    if (cas != null) {
+      cas.release();
+    }
+
+  }
+  
+}

Propchange: 
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/types.txt
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/types.txt?rev=1630074&view=auto
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/types.txt
 (added)
+++ 
uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/types.txt
 Wed Oct  8 11:32:50 2014
@@ -0,0 +1 @@
+classpath*:org/apache/uima/ruta/MainTypeSystem.xml

Propchange: 
uima/ruta/trunk/ruta-core/src/test/resources/META-INF/org.apache.uima.fit/types.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Additional.ruta
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Additional.ruta?rev=1630074&view=auto
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Additional.ruta
 (added)
+++ 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Additional.ruta
 Wed Oct  8 11:32:50 2014
@@ -0,0 +1,9 @@
+PACKAGE org.apache.uima.ruta;
+DECLARE NewType1, NewType2;
+TYPE RutaNum = org.apache.uima.ruta.type.NUM;
+RutaNum {-> NewType1};
+CW{-> NewType2};
+
+
+
+

Added: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/AdditionalTypeSystem.xml
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/AdditionalTypeSystem.xml?rev=1630074&view=auto
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/AdditionalTypeSystem.xml
 (added)
+++ 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/AdditionalTypeSystem.xml
 Wed Oct  8 11:32:50 2014
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier";>
+    <name>org.apache.uima.ruta.AdditionalTypeSystem</name>
+    <imports>
+        <import location="BasicTypeSystem.xml"/>
+    </imports>
+    <types>
+        <typeDescription>
+            <name>org.apache.uima.ruta.Additional.NewType1</name>
+            <description>Type defined in 
org.apache.uima.ruta.Additional</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.Additional.NewType2</name>
+            <description>Type defined in 
org.apache.uima.ruta.Additional</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+    </types>
+</typeSystemDescription>

Propchange: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/AdditionalTypeSystem.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/BasicTypeSystem.xml
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/BasicTypeSystem.xml?rev=1630074&r1=1630073&r2=1630074&view=diff
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/BasicTypeSystem.xml
 (original)
+++ 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/BasicTypeSystem.xml
 Wed Oct  8 11:32:50 2014
@@ -140,7 +140,7 @@
     <typeDescription>
       <name>org.apache.uima.ruta.type.Document</name>
       <description/>
-      <supertypeName>uima.tcas.DocumentAnnotation</supertypeName>
+      <supertypeName>uima.tcas.Annotation</supertypeName>
     </typeDescription>
     <typeDescription>
       <name>org.apache.uima.ruta.type.TokenSeed</name>

Added: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Main.ruta
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Main.ruta?rev=1630074&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Main.ruta 
(added)
+++ uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/Main.ruta 
Wed Oct  8 11:32:50 2014
@@ -0,0 +1,3 @@
+PACKAGE org.apache.uima.ruta;
+SCRIPT org.apache.uima.ruta.Additional;
+Document{-> CALL(Additional)};

Added: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/MainTypeSystem.xml
URL: 
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/MainTypeSystem.xml?rev=1630074&view=auto
==============================================================================
--- 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/MainTypeSystem.xml
 (added)
+++ 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/MainTypeSystem.xml
 Wed Oct  8 11:32:50 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier";>
+    <name>org.apache.uima.ruta.MainTypeSystem</name>
+    <imports>
+        <import location="BasicTypeSystem.xml"/>
+        <import location="AdditionalTypeSystem.xml"/>
+    </imports>
+</typeSystemDescription>

Propchange: 
uima/ruta/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/MainTypeSystem.xml
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to