]> git.gag.com Git - debian/openrocket/commitdiff
Refactor ExtendedThrustCurveMotor so it extends ThrustCurveMotor instead of delegates...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 16 May 2012 06:27:02 +0000 (06:27 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 16 May 2012 06:27:02 +0000 (06:27 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@688 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/MotorDatabaseAdapter.java
android/src/net/sf/openrocket/android/db/MotorDao.java
android/src/net/sf/openrocket/android/motor/BurnPlotFragment.java
android/src/net/sf/openrocket/android/motor/ExtendedThrustCurveMotor.java
android/src/net/sf/openrocket/android/motor/MotorDetailsFragment.java
android/src/net/sf/openrocket/android/thrustcurve/TCQueryAction.java

index 7260918479a7114a17d72a9ce94ee819174bf910..cb027d2b8a1a77e242d8be57435000ee1071a19c 100644 (file)
@@ -33,7 +33,7 @@ public class MotorDatabaseAdapter implements MotorDatabase {
                try {\r
                        ExtendedThrustCurveMotor m = mDbHelper.getMotorDao().fetchMotor(manufacturer, designation);\r
                        if ( m != null ) {\r
-                               return Collections.singletonList(m.getThrustCurveMotor());\r
+                               return Collections.singletonList(m);\r
                        }\r
                } catch ( Exception ex ) {\r
 \r
index 5ea8caec119477b4c823df30031aae8d30a06ea2..81e9912dbe770e21b32e55bd8019ee2135b46c04 100644 (file)
@@ -2,6 +2,7 @@ package net.sf.openrocket.android.db;
 \r
 import net.sf.openrocket.android.motor.ExtendedThrustCurveMotor;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
+import net.sf.openrocket.android.util.AndroidLogWrapper.LogHelper;\r
 import net.sf.openrocket.motor.Manufacturer;\r
 import net.sf.openrocket.motor.Motor;\r
 import net.sf.openrocket.motor.ThrustCurveMotor;\r
@@ -93,25 +94,24 @@ public class MotorDao {
        \r
        public long insertOrUpdateMotor(ExtendedThrustCurveMotor mi) throws Exception {\r
                ContentValues initialValues = new ContentValues();\r
-               final ThrustCurveMotor tcm = mi.getThrustCurveMotor();\r
                initialValues.put(ID, mi.getId());\r
-               initialValues.put(UNIQUE_NAME, tcm.getManufacturer() + tcm.getDesignation());\r
-               initialValues.put(DIGEST, tcm.getDigest());\r
-               initialValues.put(DESIGNATION, tcm.getDesignation());\r
-               initialValues.put(DELAYS, ConversionUtils.delaysToString(tcm.getStandardDelays()));\r
-               initialValues.put(DIAMETER, tcm.getDiameter());\r
-               initialValues.put(TOTAL_IMPULSE, tcm.getTotalImpulseEstimate());\r
-               initialValues.put(AVG_THRUST, tcm.getAverageThrustEstimate());\r
-               initialValues.put(MAX_THRUST, tcm.getMaxThrustEstimate());\r
-               initialValues.put(BURN_TIME, tcm.getBurnTimeEstimate());\r
-               initialValues.put(LENGTH, tcm.getLength());\r
+               initialValues.put(UNIQUE_NAME, mi.getManufacturer() + mi.getDesignation());\r
+               initialValues.put(DIGEST, mi.getDigest());\r
+               initialValues.put(DESIGNATION, mi.getDesignation());\r
+               initialValues.put(DELAYS, ConversionUtils.delaysToString(mi.getStandardDelays()));\r
+               initialValues.put(DIAMETER, mi.getDiameter());\r
+               initialValues.put(TOTAL_IMPULSE, mi.getTotalImpulseEstimate());\r
+               initialValues.put(AVG_THRUST, mi.getAverageThrustEstimate());\r
+               initialValues.put(MAX_THRUST, mi.getMaxThrustEstimate());\r
+               initialValues.put(BURN_TIME, mi.getBurnTimeEstimate());\r
+               initialValues.put(LENGTH, mi.getLength());\r
                initialValues.put(CASE_INFO, mi.getCaseInfo());\r
-               initialValues.put(TYPE, tcm.getMotorType().name());\r
+               initialValues.put(TYPE, mi.getMotorType().name());\r
                initialValues.put(IMPULSE_CLASS, mi.getImpulseClass());\r
-               initialValues.put(MANUFACTURER, tcm.getManufacturer().getSimpleName());\r
-               initialValues.put(THRUST_DATA, ConversionUtils.serializeArrayOfDouble(tcm.getThrustPoints()));\r
-               initialValues.put(TIME_DATA, ConversionUtils.serializeArrayOfDouble(tcm.getTimePoints()));\r
-               initialValues.put(CG_DATA, ConversionUtils.serializeArrayOfCoordinate(tcm.getCGPoints()));\r
+               initialValues.put(MANUFACTURER, mi.getManufacturer().getSimpleName());\r
+               initialValues.put(THRUST_DATA, ConversionUtils.serializeArrayOfDouble(mi.getThrustPoints()));\r
+               initialValues.put(TIME_DATA, ConversionUtils.serializeArrayOfDouble(mi.getTimePoints()));\r
+               initialValues.put(CG_DATA, ConversionUtils.serializeArrayOfCoordinate(mi.getCGPoints()));\r
                \r
                AndroidLogWrapper.d(MotorDao.class, "insertOrUpdate Motor");\r
                long rv = mDb.insertWithOnConflict(DATABASE_TABLE, null, initialValues, SQLiteDatabase.CONFLICT_REPLACE);\r
@@ -183,12 +183,7 @@ public class MotorDao {
        }\r
        \r
        private ExtendedThrustCurveMotor hydrateMotor(Cursor mCursor) throws Exception {\r
-               ExtendedThrustCurveMotor mi = new ExtendedThrustCurveMotor();\r
-               \r
-               mi.setId(mCursor.getLong(mCursor.getColumnIndex(ID)));\r
-               mi.setCaseInfo(mCursor.getString(mCursor.getColumnIndex(CASE_INFO)));\r
-               mi.setImpulseClass(mCursor.getString(mCursor.getColumnIndex(IMPULSE_CLASS)));\r
-               \r
+               ExtendedThrustCurveMotor mi;\r
                {\r
                        String digest = mCursor.getString(mCursor.getColumnIndex(DIGEST));\r
                        String designation = mCursor.getString(mCursor.getColumnIndex(DESIGNATION));\r
@@ -222,7 +217,12 @@ public class MotorDao {
                                        cgData,\r
                                        digest\r
                                        );\r
-                       mi.setThrustCurveMotor(tcm);\r
+                       mi = new ExtendedThrustCurveMotor(tcm);\r
+                       \r
+                       mi.setId(mCursor.getLong(mCursor.getColumnIndex(ID)));\r
+                       mi.setCaseInfo(mCursor.getString(mCursor.getColumnIndex(CASE_INFO)));\r
+                       mi.setImpulseClass(mCursor.getString(mCursor.getColumnIndex(IMPULSE_CLASS)));\r
+                       \r
                }\r
                return mi;\r
                \r
@@ -268,6 +268,9 @@ public class MotorDao {
                        }\r
                        mCursor.moveToFirst();\r
                        return hydrateMotor(mCursor);\r
+               } catch( Exception ex ) {\r
+                       LogHelper.getInstance().debug("whoa!", ex);\r
+                       throw ex;\r
                } finally {\r
                        mCursor.close();\r
                }\r
index 53ff92054d3a4689f9236b6a7a77f83b76db6714..c055e556ba927b95378bdcdae6beeffba1eef163 100644 (file)
@@ -98,7 +98,7 @@ public class BurnPlotFragment extends Fragment {
                renderer.setAxesColor(Color.LTGRAY);\r
                renderer.setLabelsColor(Color.LTGRAY);\r
 \r
-               renderer.setChartTitle(motor.getThrustCurveMotor().getManufacturer() + " " + motor.getThrustCurveMotor().getDesignation());\r
+               renderer.setChartTitle(motor.getManufacturer() + " " + motor.getDesignation());\r
 \r
                renderer.setXTitle("time (s)");\r
                renderer.setXLabelsAlign(Align.RIGHT);\r
@@ -122,10 +122,10 @@ public class BurnPlotFragment extends Fragment {
 \r
                XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();\r
 \r
-               XYSeries series = new XYSeries(motor.getThrustCurveMotor().getDesignation(), 0);\r
+               XYSeries series = new XYSeries(motor.getDesignation(), 0);\r
                \r
-               double[] timePoints = motor.getThrustCurveMotor().getTimePoints();\r
-               double[] thrustPoints = motor.getThrustCurveMotor().getThrustPoints();\r
+               double[] timePoints = motor.getTimePoints();\r
+               double[] thrustPoints = motor.getThrustPoints();\r
 \r
                // We are going to abuse this loop to also compute the Y axis max.\r
                int maxy = 0;\r
index 41e4c4fda73e157ff9873349144ee6222308d035..cd72be489738a77a14c4617a39a45d68ba9440f7 100644 (file)
@@ -2,12 +2,16 @@ package net.sf.openrocket.android.motor;
 \r
 import net.sf.openrocket.motor.ThrustCurveMotor;\r
 \r
-public class ExtendedThrustCurveMotor {\r
+public class ExtendedThrustCurveMotor extends ThrustCurveMotor {\r
 \r
        private Long id;\r
        private String caseInfo;\r
        private String impulseClass;\r
-       private ThrustCurveMotor thrustCurveMotor;\r
+       \r
+       public ExtendedThrustCurveMotor( ThrustCurveMotor tcm ) {\r
+               super(tcm);\r
+       }\r
+       \r
        /**\r
         * @return the id\r
         */\r
@@ -44,19 +48,6 @@ public class ExtendedThrustCurveMotor {
        public void setImpulseClass(String impulseClass) {\r
                this.impulseClass = impulseClass;\r
        }\r
-       /**\r
-        * @return the thrustCurveMotor\r
-        */\r
-       public ThrustCurveMotor getThrustCurveMotor() {\r
-               return thrustCurveMotor;\r
-       }\r
-       /**\r
-        * @param thrustCurveMotor the thrustCurveMotor to set\r
-        */\r
-       public void setThrustCurveMotor(ThrustCurveMotor thrustCurveMotor) {\r
-               this.thrustCurveMotor = thrustCurveMotor;\r
-       }\r
-       \r
-       \r
+\r
        \r
 }\r
index b1fac2cb5e5a1eb2651ef8f80ff858d6ceb59494..5bd42b9af43dca571fc32aa8de6f82539e13679a 100644 (file)
@@ -3,13 +3,12 @@ package net.sf.openrocket.android.motor;
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.db.ConversionUtils;\r
 import net.sf.openrocket.android.db.DbAdapter;\r
-import net.sf.openrocket.motor.ThrustCurveMotor;\r
+import net.sf.openrocket.unit.UnitGroup;\r
 import android.os.Bundle;\r
 import android.support.v4.app.DialogFragment;\r
 import android.view.LayoutInflater;\r
 import android.view.View;\r
 import android.view.ViewGroup;\r
-import android.widget.Button;\r
 import android.widget.EditText;\r
 \r
 public class MotorDetailsFragment extends DialogFragment {\r
@@ -84,14 +83,13 @@ public class MotorDetailsFragment extends DialogFragment {
        }\r
 \r
        private void init( ) {\r
-               ThrustCurveMotor tcm = motor.getThrustCurveMotor();\r
-               manuField.setText( tcm.getManufacturer().getDisplayName());\r
-               nameField.setText( tcm.getDesignation() );\r
-               delaysField.setText( ConversionUtils.delaysToString(tcm.getStandardDelays()) );\r
+               manuField.setText( motor.getManufacturer().getDisplayName());\r
+               nameField.setText( motor.getDesignation() );\r
+               delaysField.setText( ConversionUtils.delaysToString(motor.getStandardDelays()) );\r
                caseField.setText( motor.getCaseInfo());\r
                impulseClassField.setText( motor.getImpulseClass());\r
-               diameterField.setText( String.valueOf(tcm.getDiameter()*1000.0) );\r
-               lengthField.setText( String.valueOf(tcm.getLength()*1000.0) );\r
+               diameterField.setText( UnitGroup.UNITS_MOTOR_DIMENSIONS.toString(motor.getDiameter()) );\r
+               lengthField.setText( UnitGroup.UNITS_LENGTH.getUnit("mm").toString(motor.getLength()) );\r
        }\r
 \r
        private void saveChanges() {\r
index 7516f7f118f5efbf355c29dc4e76e2ed66ec193f..52d99a4050a4b738d6d426e9af1c1dda43c31342 100644 (file)
@@ -101,9 +101,7 @@ public abstract class TCQueryAction extends Fragment {
                DbAdapter mDbHelper = new DbAdapter(getActivity());\r
                mDbHelper.open();\r
                try {\r
-                       ExtendedThrustCurveMotor m = new ExtendedThrustCurveMotor();\r
-\r
-                       m.setThrustCurveMotor( thrustCurveMotor );\r
+                       ExtendedThrustCurveMotor m = new ExtendedThrustCurveMotor(thrustCurveMotor);\r
 \r
                        // Convert impulse class.  ThrustCurve puts mmx, 1/4a and 1/2a as A.\r
                        m.setImpulseClass(mi.getImpulse_class());\r