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 2016/07/25 14:19:16 UTC

svn commit: r1754014 - in /uima/ruta/trunk/ruta-core/src: main/java/org/apache/uima/ruta/engine/RutaEngine.java test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java

Author: pkluegl
Date: Mon Jul 25 14:19:16 2016
New Revision: 1754014

URL: http://svn.apache.org/viewvc?rev=1754014&view=rev
Log:
UIMA-5027	
- use script info of parser, param just backup

Modified:
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java

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=1754014&r1=1754013&r2=1754014&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 Mon Jul 25 14:19:16 2016
@@ -697,45 +697,46 @@ public class RutaEngine extends JCasAnno
       return;
     }
 
-    Map<String, RutaModule> additionalScriptsMap = new HashMap<String, RutaModule>();
+    Map<String, RutaModule> additionalScriptMap = new HashMap<String, RutaModule>();
     Map<String, AnalysisEngine> additionalUimafitEngineMap = new HashMap<String, AnalysisEngine>();
     Map<String, AnalysisEngine> additionalDescriptorEngineMap = new HashMap<String, AnalysisEngine>();
 
     // add configuration parameter values
     for (String each : additionalUimafitEngines) {
       String classString = each;
-     List<String> configurationData = new ArrayList<>();
+      List<String> configurationData = new ArrayList<>();
       String[] split = each.split("[\\[\\]]");
       if (split.length == 2) {
         classString = split[0];
         configurationData = Arrays.asList(StringUtils.split(split[1], ","));
       }
       script.addUimafitEngine(classString, null);
-      if(!configurationData.isEmpty()) {
+      if (!configurationData.isEmpty()) {
         script.addConfigurationData(classString, configurationData);
       }
     }
     for (String each : additionalEngines) {
       script.addDescriptorEngine(each, null);
     }
+    for (String each : additionalScripts) {
+      script.addScript(each, null);
+    }
 
     initializeEngines(script, viewName, additionalUimafitEngineMap, additionalDescriptorEngineMap);
 
-    if (additionalScripts != null) {
-      for (String add : additionalScripts) {
-        recursiveLoadScript(add, additionalScriptsMap, additionalDescriptorEngineMap,
-                additionalUimafitEngineMap, viewName);
-      }
+    for (String add : script.getScripts().keySet()) {
+      recursiveLoadScript(add, additionalScriptMap, additionalDescriptorEngineMap,
+              additionalUimafitEngineMap, viewName);
     }
 
     analysisEnginesAlreadyInitialized = true;
 
-    for (RutaModule each : additionalScriptsMap.values()) {
-      each.setScriptDependencies(additionalScriptsMap);
+    for (RutaModule each : additionalScriptMap.values()) {
+      each.setScriptDependencies(additionalScriptMap);
     }
-    script.setScriptDependencies(additionalScriptsMap);
+    script.setScriptDependencies(additionalScriptMap);
 
-    for (RutaModule each : additionalScriptsMap.values()) {
+    for (RutaModule each : additionalScriptMap.values()) {
       each.setDescriptorEngineDependencies(additionalDescriptorEngineMap);
       each.setUimafitEngineDependencies(additionalUimafitEngineMap);
     }
@@ -814,8 +815,9 @@ public class RutaEngine extends JCasAnno
     additionalEnginesMap.put(engineName, eachEngine);
   }
 
-  private void addUimafitAnalysisEngine(RutaModule script, Map<String, AnalysisEngine> additionalEnginesMap,
-          String eachUimafitEngine) throws AnalysisEngineProcessException {
+  private void addUimafitAnalysisEngine(RutaModule script,
+          Map<String, AnalysisEngine> additionalEnginesMap, String eachUimafitEngine)
+          throws AnalysisEngineProcessException {
     AnalysisEngine eachEngine = null;
     try {
       @SuppressWarnings("unchecked")

Modified: 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=1754014&r1=1754013&r2=1754014&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/AdditionalScriptUimaFitTest.java Mon Jul 25 14:19:16 2016
@@ -104,4 +104,37 @@ public class AdditionalScriptUimaFitTest
 
     cas.release();
   }
+  
+  @Test
+  public void testOnlyScriptImport() throws Exception {
+    
+    AnalysisEngineDescription aed = createEngineDescription(RutaEngine.class,
+            RutaEngine.PARAM_MAIN_SCRIPT, "org.apache.uima.ruta.Main", RutaEngine.PARAM_DEBUG, false
+            );
+    
+    
+    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());
+
+    cas.release();
+  }
 }