X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fsave%2FFileSaver.java;h=ecf61d393907e4085926f0bfbefbfd76076ccc6c;hb=a6197ddcaac11c0b943183da7d46169742d024af;hp=debe0e799bb1134416b950ca29700c7c111d7143;hpb=649c5da6ee1bbc590699e11a92316ece2ea8512d;p=GpsPrune.git diff --git a/tim/prune/save/FileSaver.java b/tim/prune/save/FileSaver.java index debe0e7..ecf61d3 100644 --- a/tim/prune/save/FileSaver.java +++ b/tim/prune/save/FileSaver.java @@ -35,7 +35,6 @@ import tim.prune.App; import tim.prune.I18nManager; import tim.prune.UpdateMessageBroker; import tim.prune.config.Config; -import tim.prune.data.Altitude; import tim.prune.data.Coordinate; import tim.prune.data.DataPoint; import tim.prune.data.Field; @@ -43,6 +42,8 @@ import tim.prune.data.FieldList; import tim.prune.data.RecentFile; import tim.prune.data.Timestamp; import tim.prune.data.Track; +import tim.prune.data.Unit; +import tim.prune.data.UnitSetLibrary; import tim.prune.load.GenericFileFilter; import tim.prune.load.OneCharDocument; @@ -72,8 +73,8 @@ public class FileSaver private static final int[] FORMAT_COORDS = {Coordinate.FORMAT_NONE, Coordinate.FORMAT_DEG_MIN_SEC, Coordinate.FORMAT_DEG_MIN, Coordinate.FORMAT_DEG}; - private static final Altitude.Format[] FORMAT_ALTS = {Altitude.Format.NO_FORMAT, Altitude.Format.METRES, Altitude.Format.FEET}; - private static final int[] FORMAT_TIMES = {Timestamp.FORMAT_ORIGINAL, Timestamp.FORMAT_LOCALE, Timestamp.FORMAT_ISO_8601}; + private static final Unit[] UNIT_ALTS = {null, UnitSetLibrary.UNITS_METRES, UnitSetLibrary.UNITS_FEET}; + private static final Timestamp.Format[] FORMAT_TIMES = {Timestamp.Format.ORIGINAL, Timestamp.Format.LOCALE, Timestamp.Format.ISO8601}; /** @@ -428,15 +429,15 @@ public class FileSaver for (int i=0; i<_coordUnitsRadios.length; i++) if (_coordUnitsRadios[i].isSelected()) coordFormat = FORMAT_COORDS[i]; - Altitude.Format altitudeFormat = Altitude.Format.NO_FORMAT; + Unit altitudeUnit = null; for (int i=0; i<_altitudeUnitsRadios.length; i++) { if (_altitudeUnitsRadios[i].isSelected()) { - altitudeFormat = FORMAT_ALTS[i]; + altitudeUnit = UNIT_ALTS[i]; } } // Get timestamp format - int timestampFormat = Timestamp.FORMAT_ORIGINAL; + Timestamp.Format timestampFormat = Timestamp.Format.ORIGINAL; for (int i=0; i<_timestampUnitsRadios.length; i++) { if (_timestampUnitsRadios[i].isSelected()) { @@ -518,7 +519,7 @@ public class FileSaver if (!firstField) { buffer.append(delimiter); } - saveField(buffer, point, info.getField(), coordFormat, altitudeFormat, timestampFormat); + saveField(buffer, point, info.getField(), coordFormat, altitudeUnit, timestampFormat); firstField = false; } } @@ -567,11 +568,11 @@ public class FileSaver * @param inPoint point object * @param inField field object * @param inCoordFormat coordinate format - * @param inAltitudeFormat altitude format + * @param inAltitudeUnit altitude unit * @param inTimestampFormat timestamp format */ private void saveField(StringBuffer inBuffer, DataPoint inPoint, Field inField, - int inCoordFormat, Altitude.Format inAltitudeFormat, int inTimestampFormat) + int inCoordFormat, Unit inAltitudeUnit, Timestamp.Format inTimestampFormat) { // Output field according to type if (inField == Field.LATITUDE) @@ -586,7 +587,7 @@ public class FileSaver { try { - inBuffer.append(inPoint.getAltitude().getStringValue(inAltitudeFormat)); + inBuffer.append(inPoint.getAltitude().getStringValue(inAltitudeUnit)); } catch (NullPointerException npe) {} } @@ -594,14 +595,8 @@ public class FileSaver { if (inPoint.hasTimestamp()) { - if (inTimestampFormat == Timestamp.FORMAT_ORIGINAL) { - // output original string - inBuffer.append(inPoint.getFieldValue(Field.TIMESTAMP)); - } - else { - // format value accordingly - inBuffer.append(inPoint.getTimestamp().getText(inTimestampFormat)); - } + // format value accordingly + inBuffer.append(inPoint.getTimestamp().getText(inTimestampFormat)); } } else