import javax.swing.event.ChangeListener;
import javax.swing.event.EventListenerList;
+import net.sf.openrocket.gui.main.ExceptionHandler;
+import net.sf.openrocket.logging.LogHelper;
import net.sf.openrocket.motor.Motor;
+import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.Chars;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil;
*/
public class Rocket extends RocketComponent {
- public static final double DEFAULT_REFERENCE_LENGTH = 0.01;
+ private static final LogHelper log = Application.getLogger();
- private static final boolean DEBUG_LISTENERS = false;
+ public static final double DEFAULT_REFERENCE_LENGTH = 0.01;
/**
public void addComponentChangeListener(ComponentChangeListener l) {
checkState();
listenerList.add(ComponentChangeListener.class, l);
- if (DEBUG_LISTENERS)
- System.out.println(this + ": Added listner (now " + listenerList.getListenerCount() +
- " listeners): " + l);
+ log.verbose("Added ComponentChangeListener " + l + ", current number of listeners is " +
+ listenerList.getListenerCount());
}
@Override
public void removeComponentChangeListener(ComponentChangeListener l) {
listenerList.remove(ComponentChangeListener.class, l);
- if (DEBUG_LISTENERS)
- System.out.println(this + ": Removed listner (now " + listenerList.getListenerCount() +
- " listeners): " + l);
+ log.verbose("Removed ComponentChangeListener " + l + ", current number of listeners is " +
+ listenerList.getListenerCount());
}
public void addChangeListener(ChangeListener l) {
checkState();
listenerList.add(ChangeListener.class, l);
- if (DEBUG_LISTENERS)
- System.out.println(this + ": Added listner (now " + listenerList.getListenerCount() +
- " listeners): " + l);
+ log.verbose("Added ChangeListener " + l + ", current number of listeners is " +
+ listenerList.getListenerCount());
}
@Override
public void removeChangeListener(ChangeListener l) {
listenerList.remove(ChangeListener.class, l);
- if (DEBUG_LISTENERS)
- System.out.println(this + ": Removed listner (now " + listenerList.getListenerCount() +
- " listeners): " + l);
+ log.verbose("Removed ChangeListener " + l + ", current number of listeners is " +
+ listenerList.getListenerCount());
}
functionalModID = modID;
}
- if (DEBUG_LISTENERS)
- System.out.println("FIRING " + e);
-
// Check whether frozen
if (freezeList != null) {
+ log.debug("Rocket is in frozen state, adding event " + e + " info freeze list");
freezeList.add(e);
return;
}
+ log.debug("Firing rocket change event " + e);
+
// Notify all components first
Iterator<RocketComponent> iterator = this.deepIterator(true);
while (iterator.hasNext()) {
checkState();
if (freezeList == null) {
freezeList = new LinkedList<ComponentChangeEvent>();
+ log.debug("Freezing Rocket");
+ } else {
+ ExceptionHandler.handleErrorCondition("Attempting to freeze Rocket when it is already frozen, " +
+ "freezeList=" + freezeList);
}
}
*/
public void thaw() {
checkState();
- if (freezeList == null)
+ if (freezeList == null) {
+ ExceptionHandler.handleErrorCondition("Attempting to thaw Rocket when it is not frozen");
return;
+ }
if (freezeList.size() == 0) {
+ log.warn("Thawing rocket with no changes made");
freezeList = null;
return;
}
+ log.debug("Thawing rocket, freezeList=" + freezeList);
+
int type = 0;
Object c = null;
for (ComponentChangeEvent e : freezeList) {