[#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.name.none = none
|
||||||
SimulationExtension.javacode.desc = Add a custom SimulationListener to the simulation
|
SimulationExtension.javacode.desc = Add a custom SimulationListener to the simulation
|
||||||
SimulationExtension.javacode.className = Fully-qualified Java class name:
|
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.name = {language} script
|
||||||
SimulationExtension.scripting.desc = Extend OpenRocket simulations by custom scripts.
|
SimulationExtension.scripting.desc = Extend OpenRocket simulations by custom scripts.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package net.sf.openrocket.simulation.extension.impl;
|
package net.sf.openrocket.simulation.extension.impl;
|
||||||
|
|
||||||
|
import com.google.inject.ConfigurationException;
|
||||||
import net.sf.openrocket.simulation.SimulationConditions;
|
import net.sf.openrocket.simulation.SimulationConditions;
|
||||||
import net.sf.openrocket.simulation.exception.SimulationException;
|
import net.sf.openrocket.simulation.exception.SimulationException;
|
||||||
import net.sf.openrocket.simulation.extension.AbstractSimulationExtension;
|
import net.sf.openrocket.simulation.extension.AbstractSimulationExtension;
|
||||||
@ -23,11 +24,15 @@ public class JavaCode extends AbstractSimulationExtension {
|
|||||||
if (!SimulationListener.class.isAssignableFrom(clazz)) {
|
if (!SimulationListener.class.isAssignableFrom(clazz)) {
|
||||||
throw new SimulationException("Class " + className + " does not implement SimulationListener");
|
throw new SimulationException("Class " + className + " does not implement SimulationListener");
|
||||||
}
|
}
|
||||||
SimulationListener listener = (SimulationListener) injector.getInstance(clazz);
|
try {
|
||||||
conditions.getSimulationListenerList().add(listener);
|
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) {
|
} 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