\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
\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
}\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
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
}\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
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
}\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