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 2013/08/06 15:49:18 UTC

svn commit: r1510962 - in /uima/sandbox/ruta/trunk: ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/launching/RutaLaunchConfigurationDelegate.java

Author: pkluegl
Date: Tue Aug  6 13:49:18 2013
New Revision: 1510962

URL: http://svn.apache.org/r1510962
Log:
UIMA-3151
- added hotfix for uimaFIT AEs in referenced scripts
- fixed transitive dependencies to AEs

Modified:
    uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
    uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/launching/RutaLaunchConfigurationDelegate.java

Modified: uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java?rev=1510962&r1=1510961&r2=1510962&view=diff
==============================================================================
--- uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java (original)
+++ uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java Tue Aug  6 13:49:18 2013
@@ -484,7 +484,7 @@ public class RutaEngine extends JCasAnno
           // Class clazz = this.getClass().getClassLoader().loadClass(eachUimafitEngine) ;
           Class<? extends AnalysisComponent> uimafitClass = (Class<? extends AnalysisComponent>) Class
                   .forName(eachUimafitEngine);
-          eachEngine = AnalysisEngineFactory.createPrimitive(uimafitClass);
+          eachEngine = AnalysisEngineFactory.createEngine(uimafitClass);
         } catch (ClassNotFoundException e) {
           throw new AnalysisEngineProcessException(e);
         } catch (ResourceInitializationException e) {
@@ -645,12 +645,31 @@ public class RutaEngine extends JCasAnno
       for (String eachEngineLocation : engineKeySet) {
         if (!additionalEngines.containsKey(eachEngineLocation)) {
           String engineLocation = locate(eachEngineLocation, descriptorPaths, ".xml");
-          try {
-            AnalysisEngine eachEngine = engineLoader.loadEngine(engineLocation, viewName);
-            additionalEngines.put(eachEngineLocation, eachEngine);
-          } catch (Exception e) {
-            throw new AnalysisEngineProcessException(e);
-          }
+          if (engineLocation == null) {
+            String engineLocationIS = locateIS(eachEngineLocation, descriptorPaths, ".xml");
+            try {
+              AnalysisEngine eachEngine = engineLoader.loadEngineIS(engineLocationIS, viewName);
+              additionalEngines.put(eachEngineLocation, eachEngine);
+            } catch (Exception e) {
+              // uimaFit engine?
+              try {
+                @SuppressWarnings("unchecked")
+                Class<? extends AnalysisComponent> uimafitClass = (Class<? extends AnalysisComponent>) Class
+                        .forName(eachEngineLocation);
+                AnalysisEngine eachEngine = AnalysisEngineFactory.createEngine(uimafitClass);
+                additionalEngines.put(eachEngineLocation, eachEngine);
+              } catch (Exception e1) {
+                throw new AnalysisEngineProcessException(e1);
+              }
+            }
+          } else {
+            try {
+              AnalysisEngine eachEngine = engineLoader.loadEngine(engineLocation, viewName);
+              additionalEngines.put(eachEngineLocation, eachEngine);
+            } catch (Exception e) {
+              throw new AnalysisEngineProcessException(e);
+            }
+          } 
         }
       }
     } catch (IOException e) {

Modified: uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/launching/RutaLaunchConfigurationDelegate.java
URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/launching/RutaLaunchConfigurationDelegate.java?rev=1510962&r1=1510961&r2=1510962&view=diff
==============================================================================
--- uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/launching/RutaLaunchConfigurationDelegate.java (original)
+++ uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/launching/RutaLaunchConfigurationDelegate.java Tue Aug  6 13:49:18 2013
@@ -34,6 +34,7 @@ import org.apache.commons.lang3.StringUt
 import org.apache.uima.cas.CAS;
 import org.apache.uima.ruta.ide.RutaIdeUIPlugin;
 import org.apache.uima.ruta.ide.core.RutaCorePreferences;
+import org.apache.uima.ruta.ide.core.RutaNature;
 import org.apache.uima.ruta.ide.core.builder.RutaProjectUtils;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
@@ -227,7 +228,7 @@ public class RutaLaunchConfigurationDele
                 "Failed to compose classpath!", e));
       }
     }
-    Collection<String> dependencies = getDependencies(project);
+    Collection<String> dependencies = getDependencies(project.getProject());
     extendedClasspath.addAll(dependencies);
 
     Collection<String> extensions = getExtensions();
@@ -257,13 +258,17 @@ public class RutaLaunchConfigurationDele
     return result;
   }
 
-  private static Collection<String> getDependencies(IScriptProject scriptProject)
+  private static Collection<String> getDependencies(IProject project)
           throws CoreException {
     Collection<String> result = new TreeSet<String>();
-    IProject[] referencedProjects = scriptProject.getProject().getReferencedProjects();
+    IProject[] referencedProjects = project.getReferencedProjects();
     for (IProject eachProject : referencedProjects) {
       // for each java project
       extendClasspathWithProject(result, eachProject, new HashSet<IProject>());
+      IProjectNature nature = eachProject.getNature(RutaNature.NATURE_ID);
+      if(nature != null) {
+        result.addAll(getDependencies(eachProject));
+      }
     }
     return result;
   }