Revision: 5063
http://sourceforge.net/p/jump-pilot/code/5063
Author: edso
Date: 2016-10-09 16:20:42 +0000 (Sun, 09 Oct 2016)
Log Message:
-----------
make sure ClassVersionErrors in extension jars or such do not break OJ startup
expose ErrorHandlerV2
Modified Paths:
--------------
core/trunk/src/com/vividsolutions/jump/workbench/JUMPWorkbenchContext.java
core/trunk/src/com/vividsolutions/jump/workbench/WorkbenchContext.java
core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/JUMPWorkbenchContext.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/workbench/JUMPWorkbenchContext.java
2016-10-09 14:46:28 UTC (rev 5062)
+++ core/trunk/src/com/vividsolutions/jump/workbench/JUMPWorkbenchContext.java
2016-10-09 16:20:42 UTC (rev 5063)
@@ -61,7 +61,7 @@
return workbench.getDriverManager();
}
- public ErrorHandler getErrorHandler() {
+ public ErrorHandlerV2 getErrorHandler() {
return workbench.getFrame();
}
Modified: core/trunk/src/com/vividsolutions/jump/workbench/WorkbenchContext.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/workbench/WorkbenchContext.java
2016-10-09 14:46:28 UTC (rev 5062)
+++ core/trunk/src/com/vividsolutions/jump/workbench/WorkbenchContext.java
2016-10-09 16:20:42 UTC (rev 5063)
@@ -59,7 +59,7 @@
abstract public JUMPWorkbench getWorkbench();
- abstract public ErrorHandler getErrorHandler();
+ abstract public ErrorHandlerV2 getErrorHandler();
abstract public Blackboard getBlackboard();
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
2016-10-09 14:46:28 UTC (rev 5062)
+++ core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
2016-10-09 16:20:42 UTC (rev 5063)
@@ -346,11 +346,19 @@
ArrayList configurations = new ArrayList();
for (Iterator i = classNames.iterator(); i.hasNext();) {
String name = (String) i.next();
- // find class using the plugin classloader
- Class clazz = Class.forName(name, false, classLoader);
- if ( Configuration.class.isAssignableFrom(clazz) ) {
- Configuration configuration = (Configuration) clazz.newInstance();
- configurations.add(configuration);
+
+ try {
+ // find class using the plugin classloader
+ Class clazz = Class.forName(name, false, classLoader);
+ if ( Configuration.class.isAssignableFrom(clazz) ) {
+ Configuration configuration = (Configuration) clazz.newInstance();
+ configurations.add(configuration);
+ }
+ }
+ // make sure ClassVersionErrors or such do not break OJ startup
+ catch (Throwable t) {
+
context.getErrorHandler().handleThrowable(t,context.getWorkbench().getFrame());
+ continue;
}
}
return configurations;
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel