1 package net.sf.openrocket.android.db;
\r
3 import java.io.ByteArrayInputStream;
\r
4 import java.io.ByteArrayOutputStream;
\r
5 import java.io.ObjectInputStream;
\r
6 import java.io.ObjectOutputStream;
\r
7 import java.util.ArrayList;
\r
8 import java.util.List;
\r
10 import net.sf.openrocket.motor.Motor;
\r
11 import net.sf.openrocket.util.Coordinate;
\r
13 public abstract class ConversionUtils {
\r
15 static double[] stringToDelays( String value ) {
\r
16 if (value == null || "".equals(value) ) {
\r
17 return new double[0];
\r
19 String[] parts = value.split(",");
\r
20 double[] values = new double[parts.length];
\r
21 for( int i =0; i<parts.length; i++ ) {
\r
22 String p = parts[i];
\r
23 if ( "P".equals(p) ) {
\r
24 values[i] = Motor.PLUGGED;
\r
26 double d = Double.parseDouble(p);
\r
33 public static String delaysToString( double[] delays ) {
\r
34 StringBuilder s = new StringBuilder();
\r
35 boolean first = true;
\r
36 for( double d:delays ) {
\r
42 if ( d == Motor.PLUGGED ) {
\r
45 s.append(Math.round(d));
\r
48 return s.toString();
\r
51 public static List<String> delaysToStringList( double[] delays ) {
\r
52 ArrayList<String> list = new ArrayList<String>( delays.length );
\r
53 for( double d: delays ) {
\r
54 if ( d == Motor.PLUGGED ) {
\r
57 list.add(String.valueOf(Math.round(d)));
\r
63 public static double stringToDelay( String s ) {
\r
64 if ( "P".equals(s) ) {
\r
65 return Motor.PLUGGED;
\r
67 return Long.parseLong(s);
\r
70 static double[] deserializeArrayOfDouble( byte[] bytes ) throws Exception {
\r
71 double[] data = null;
\r
72 if (bytes != null ) {
\r
73 ObjectInputStream is = new ObjectInputStream( new ByteArrayInputStream(bytes));
\r
74 data = (double[]) is.readObject();
\r
79 static byte[] serializeArrayOfDouble( double[] data ) throws Exception {
\r
81 byte[] serObj = null;
\r
82 if ( data != null ) {
\r
83 ByteArrayOutputStream b = new ByteArrayOutputStream();
\r
84 ObjectOutputStream os = new ObjectOutputStream(b);
\r
85 os.writeObject(data);
\r
87 serObj = b.toByteArray();
\r
92 static Coordinate[] deserializeArrayOfCoordinate( byte[] bytes ) throws Exception {
\r
93 Coordinate[] data = null;
\r
94 if (bytes != null ) {
\r
95 ObjectInputStream is = new ObjectInputStream( new ByteArrayInputStream(bytes));
\r
96 data = (Coordinate[]) is.readObject();
\r
101 static byte[] serializeArrayOfCoordinate( Coordinate[] data ) throws Exception {
\r
103 byte[] serObj = null;
\r
104 if ( data != null ) {
\r
105 ByteArrayOutputStream b = new ByteArrayOutputStream();
\r
106 ObjectOutputStream os = new ObjectOutputStream(b);
\r
107 os.writeObject(data);
\r
109 serObj = b.toByteArray();
\r