fixed exception when no data
[sw/motorsim] / src / com / billkuker / rocketry / motorsim / ConvergentDivergentNozzle.java
index 8ce520f15918226b33ba244a18dfa238b388f33e..2f10cb99d93a2a88f5c2379c93da251ae0b8c0f9 100644 (file)
@@ -14,7 +14,7 @@ import javax.measure.unit.SI;
 \r
 import org.jscience.physics.amount.Amount;\r
 \r
-public class ConvergentDivergentNozzle extends MotorPart implements Nozzle {\r
+public class ConvergentDivergentNozzle implements Nozzle, Validating {\r
 \r
        private Amount<Length> throatDiameter;\r
        \r
@@ -38,11 +38,7 @@ public class ConvergentDivergentNozzle extends MotorPart implements Nozzle {
 \r
 \r
        public void setThroatDiameter(Amount<Length> throatDiameter) {\r
-               if ( exitDiameter != null && throatDiameter.isGreaterThan(exitDiameter))\r
-                       throw new IllegalArgumentException("Throat > Exit");\r
-               Amount<Length> old = this.throatDiameter;\r
                this.throatDiameter = throatDiameter;\r
-               firePropertyChange("throatDiameter", old, throatDiameter);\r
        }\r
        \r
 \r
@@ -52,11 +48,7 @@ public class ConvergentDivergentNozzle extends MotorPart implements Nozzle {
 \r
 \r
        public void setExitDiameter(Amount<Length> exitDiameter) {\r
-               if ( throatDiameter != null && exitDiameter.isLessThan(throatDiameter))\r
-                       throw new IllegalArgumentException("Throat > Exit");\r
-               Amount<Length> old = this.exitDiameter;\r
                this.exitDiameter = exitDiameter;\r
-               firePropertyChange("exitDiameter", old, exitDiameter);\r
        }\r
        \r
        public Amount<Force> thrust(Amount<Pressure> Po, Amount<Pressure> Pe, Amount<Pressure> Patm, final double k ){\r
@@ -87,9 +79,7 @@ public class ConvergentDivergentNozzle extends MotorPart implements Nozzle {
        }\r
 \r
        public void setEfficiency(double efficiency) {\r
-               double old = this.efficiency;\r
                this.efficiency = efficiency;\r
-               firePropertyChange("efficiency", old, efficiency);\r
        }\r
 \r
        public Shape nozzleShape(Amount<Length> chamberDiameter){\r
@@ -118,4 +108,10 @@ public class ConvergentDivergentNozzle extends MotorPart implements Nozzle {
                \r
                return s;\r
        }\r
+\r
+       @Override\r
+       public void validate() throws ValidationException {\r
+               if ( exitDiameter != null && throatDiameter.isGreaterThan(exitDiameter))\r
+                       throw new IllegalArgumentException("Throat > Exit");\r
+       }\r
 }\r