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);
+ }
}
}