[#1817] Add extra error information on simulation listener instantiation
This commit is contained in:
parent
8dd2d00ca5
commit
c5b0271db7
@ -470,6 +470,8 @@ SimulationExtension.javacode.name = Java code
|
||||
SimulationExtension.javacode.name.none = none
|
||||
SimulationExtension.javacode.desc = Add a custom SimulationListener to the simulation
|
||||
SimulationExtension.javacode.className = Fully-qualified Java class name:
|
||||
SimulationExtension.javacode.classnotfound = Could not find class
|
||||
SimulationExtension.javacode.couldnotinstantiate = <html>Could not instantiate class %s.<br>Does it have a zero-argument, or @Inject constructor?</html>
|
||||
|
||||
SimulationExtension.scripting.name = {language} script
|
||||
SimulationExtension.scripting.desc = Extend OpenRocket simulations by custom scripts.
|
||||
|
@ -1,5 +1,6 @@
|
||||
package net.sf.openrocket.simulation.extension.impl;
|
||||
|
||||
import com.google.inject.ConfigurationException;
|
||||
import net.sf.openrocket.simulation.SimulationConditions;
|
||||
import net.sf.openrocket.simulation.exception.SimulationException;
|
||||
import net.sf.openrocket.simulation.extension.AbstractSimulationExtension;
|
||||
@ -23,11 +24,15 @@ public class JavaCode extends AbstractSimulationExtension {
|
||||
if (!SimulationListener.class.isAssignableFrom(clazz)) {
|
||||
throw new SimulationException("Class " + className + " does not implement SimulationListener");
|
||||
}
|
||||
SimulationListener listener = (SimulationListener) injector.getInstance(clazz);
|
||||
conditions.getSimulationListenerList().add(listener);
|
||||
try {
|
||||
SimulationListener listener = (SimulationListener) injector.getInstance(clazz);
|
||||
conditions.getSimulationListenerList().add(listener);
|
||||
} catch (ConfigurationException e) {
|
||||
throw new SimulationException(String.format(trans.get("SimulationExtension.javacode.couldnotinstantiate"), className), e);
|
||||
}
|
||||
}
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new SimulationException("Could not find class " + className);
|
||||
throw new SimulationException(trans.get("SimulationExtension.javacode.classnotfound") + " " + className);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user