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/11/06 16:57:18 UTC

svn commit: r1539375 - in /uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator: RutaCheckerUtils.java RutaEngineAndCallChecker.java

Author: pkluegl
Date: Wed Nov  6 15:57:18 2013
New Revision: 1539375

URL: http://svn.apache.org/r1539375
Log:
UIMA-3409
- use classloader of engine plugin if noVM option is active and platform is in development mode

Modified:
    uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerUtils.java
    uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaEngineAndCallChecker.java

Modified: uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerUtils.java
URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerUtils.java?rev=1539375&r1=1539374&r2=1539375&view=diff
==============================================================================
--- uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerUtils.java (original)
+++ uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerUtils.java Wed Nov  6 15:57:18 2013
@@ -183,34 +183,21 @@ public class RutaCheckerUtils {
     return result;
   }
 
-  @SuppressWarnings({ "unchecked", "unused" })
   public static boolean checkEngineOnClasspath(String clazz, IScriptProject project,
           ClassLoader classloader) {
-    if (classloader != null) {
-      try {
-        Class<?> loadClass = classloader.loadClass(clazz);
-        Class<?> loadClass2 = classloader.loadClass(AnalysisComponent.class.getName());
-        boolean assignableFrom = loadClass2.isAssignableFrom(loadClass);
-        if (loadClass != null && loadClass2.isAssignableFrom(loadClass)) {
-          return true;
-        }
-      } catch (ClassNotFoundException e) {
-        return false;
+    if (classloader == null) {
+      classloader = RutaEngine.class.getClassLoader();
+    }
+    try {
+      Class<?> loadClass = classloader.loadClass(clazz);
+      Class<?> loadClass2 = classloader.loadClass(AnalysisComponent.class.getName());
+      if (loadClass != null && loadClass2.isAssignableFrom(loadClass)) {
+        return true;
       }
+    } catch (ClassNotFoundException e) {
       return false;
-    } else {
-      try {
-        Class<?> forName = Class.forName(clazz);
-        try {
-          Class<? extends AnalysisComponent> uimafit = (Class<? extends AnalysisComponent>) forName;
-        } catch (Exception e) {
-          return false;
-        }
-      } catch (ClassNotFoundException e) {
-        return false;
-      }
     }
-    return true;
+    return false;
   }
 
   public static boolean checkScriptImport(String xmlFilePath, IScriptProject project) {

Modified: uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaEngineAndCallChecker.java
URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaEngineAndCallChecker.java?rev=1539375&r1=1539374&r2=1539375&view=diff
==============================================================================
--- uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaEngineAndCallChecker.java (original)
+++ uima/sandbox/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaEngineAndCallChecker.java Wed Nov  6 15:57:18 2013
@@ -29,6 +29,7 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.uima.ruta.ide.RutaIdeUIPlugin;
+import org.apache.uima.ruta.ide.core.RutaCorePreferences;
 import org.apache.uima.ruta.ide.launching.RutaLaunchConfigurationDelegate;
 import org.apache.uima.ruta.ide.parser.ast.RutaAction;
 import org.apache.uima.ruta.ide.parser.ast.RutaActionConstants;
@@ -37,6 +38,7 @@ import org.apache.uima.ruta.ide.parser.a
 import org.apache.uima.util.InvalidXMLException;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.dltk.ast.ASTVisitor;
 import org.eclipse.dltk.ast.declarations.MethodDeclaration;
 import org.eclipse.dltk.ast.declarations.ModuleDeclaration;
@@ -54,6 +56,7 @@ import org.eclipse.dltk.core.builder.IBu
 import org.eclipse.dltk.core.builder.IBuildParticipant;
 import org.eclipse.dltk.core.builder.IBuildParticipantExtension;
 import org.eclipse.dltk.core.builder.ISourceLineTracker;
+import org.eclipse.jface.preference.IPreferenceStore;
 
 public class RutaEngineAndCallChecker implements IBuildParticipant, IBuildParticipantExtension {
 
@@ -66,8 +69,6 @@ public class RutaEngineAndCallChecker im
 
     private Set<String> scripts;
 
-    private String curFile;
-
     private HashSet<String> scriptsInnerBlocks;
 
     private URLClassLoader classloader;
@@ -79,7 +80,6 @@ public class RutaEngineAndCallChecker im
       this.engines = new HashSet<String>();
       this.scripts = new HashSet<String>();
       this.scriptsInnerBlocks = new HashSet<String>();
-      this.curFile = curFile;
 
       if (curFile != null && curFile.endsWith(".ruta")) {
         scripts.add(curFile.substring(0, curFile.length() - 5));
@@ -92,20 +92,23 @@ public class RutaEngineAndCallChecker im
       } catch (IOException e) {
       } catch (ModelException e) {
       }
-
-      try {
-        Collection<String> dependencies = RutaLaunchConfigurationDelegate.getClassPath(project);
-        URL[] urls = new URL[dependencies.size()];
-        int counter = 0;
-        for (String dep : dependencies) {
-          urls[counter] = new File(dep).toURL();
-          counter++;
-        }
-        classloader = new URLClassLoader(urls);
-      } catch (CoreException e) {
-        RutaIdeUIPlugin.error(e);
-      } catch (MalformedURLException e) {
-        RutaIdeUIPlugin.error(e);
+      IPreferenceStore preferenceStore = RutaIdeUIPlugin.getDefault().getPreferenceStore();
+      boolean noVM = preferenceStore.getBoolean(RutaCorePreferences.NO_VM_IN_DEV_MODE);
+      if (!(noVM && Platform.inDevelopmentMode())) {
+        try {
+          Collection<String> dependencies = RutaLaunchConfigurationDelegate.getClassPath(project);
+          URL[] urls = new URL[dependencies.size()];
+          int counter = 0;
+          for (String dep : dependencies) {
+            urls[counter] = new File(dep).toURI().toURL();
+            counter++;
+          }
+          classloader = new URLClassLoader(urls);
+        } catch (CoreException e) {
+          RutaIdeUIPlugin.error(e);
+        } catch (MalformedURLException e) {
+          RutaIdeUIPlugin.error(e);
+        }
       }
 
     }