fixed one Expedition test; still one broken test

This commit is contained in:
Axel Uhl
2019-12-10 10:37:43 +01:00
parent 71ac6891ff
commit 5476c9f4c4
3 changed files with 26 additions and 17 deletions
@@ -33,11 +33,11 @@ public class ExpeditionStartDataTest {
assertNotNull(result);
final Set<TimePoint> startTimes = new HashSet<>();
Util.addAll(result.getStartTimes(), startTimes);
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:44:59.481+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:34:59.260+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:14:58.819+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T15:29:59.740+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:24:58.953+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:45:00.086+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:35:40.041+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:14:59.424+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T15:30:00.518+0200"))));
assertTrue(startTimes.contains(new MillisecondsTimePoint(TIMEPOINT_FORMATTER.parse("2018-04-28T14:24:59.731+0200"))));
assertEquals(34, Util.size(result.getStartLinePortFixes()));
assertEquals(34, Util.size(result.getStartLineStarboardFixes()));
}
@@ -54,13 +54,13 @@ import com.sap.sse.common.impl.MillisecondsTimePoint;
*/
public class ExpeditionCourseInferrer {
private static final Logger logger = Logger.getLogger(ExpeditionCourseInferrer.class.getName());
private static final String START_LINE_PORT_END_LAT = "Port lat";
private static final String START_LINE_PORT_END_LON = "Port lon";
private static final String START_LINE_STARBOARD_END_LAT = "Stbd lat";
private static final String START_LINE_STARBOARD_END_LON = "Stbd lon";
private static final String START_LINE_PORT_END_MARK_NAME = "Start P";
private static final String START_LINE_STARBOARD_END_MARK_NAME = "Start S";
private static final String START_LINE_CONTROL_POINT_NAME = "Start";
private static final String START_LINE_PORT_END_LAT = "port lat";
private static final String START_LINE_PORT_END_LON = "port lon";
private static final String START_LINE_STARBOARD_END_LAT = "stbd lat";
private static final String START_LINE_STARBOARD_END_LON = "stbd lon";
private static final String START_LINE_PORT_END_MARK_NAME = "start p";
private static final String START_LINE_STARBOARD_END_MARK_NAME = "start s";
private static final String START_LINE_CONTROL_POINT_NAME = "start";
private final RaceLogTrackingAdapter raceLogTrackingAdapter;
@@ -124,7 +124,7 @@ public class ExpeditionCourseInferrer {
}
private Double getColumnValue(String[] lineContentTokens, Map<String, Integer> columnsInFileFromHeader, String columnName) {
return getColumnValue(lineContentTokens, columnsInFileFromHeader.get(columnName));
return getColumnValue(lineContentTokens, columnsInFileFromHeader.get(columnName.toLowerCase()));
}
private Double getColumnValue(String[] lineContentTokens, final Integer columnIndex) {
@@ -256,10 +256,19 @@ public class ExpeditionExtendedDataImporterImpl extends AbstractDoubleVectorFixI
final TimePoint timePoint;
final String date;
final String dateFormatPattern;
if (columnsInFileFromHeader.containsKey(GPS_TIME_COLUMN) && !lineContentTokens[columnsInFileFromHeader.get(GPS_TIME_COLUMN)].trim().isEmpty()) {
timePoint = getTimePoint(lineContentTokens[columnsInFileFromHeader.get(GPS_TIME_COLUMN)]);
} else if (columnsInFileFromHeader.containsKey(UTC_COLUMN) && !lineContentTokens[columnsInFileFromHeader.get(UTC_COLUMN)].trim().isEmpty()) {
timePoint = getTimePoint(lineContentTokens[columnsInFileFromHeader.get(UTC_COLUMN)]);
final Integer gpsTimeColumnIndex = columnsInFileFromHeader.get(GPS_TIME_COLUMN);
final String time_ExcelEpoch = gpsTimeColumnIndex == null ? null : lineContentTokens[gpsTimeColumnIndex];
final Integer utcColumnIndex = columnsInFileFromHeader.get(UTC_COLUMN);
final String utc = utcColumnIndex == null ? null : lineContentTokens[utcColumnIndex];
if (time_ExcelEpoch != null && !time_ExcelEpoch.trim().isEmpty()) {
if (Double.valueOf(time_ExcelEpoch) < 1 && utc != null &&
!utc.trim().isEmpty()) { // then it seems to be only the fractional time of the day; try to add UTC day:
timePoint = getTimePoint(""+(Double.valueOf(utc.trim()).intValue()+Double.valueOf(time_ExcelEpoch)));
} else {
timePoint = getTimePoint(time_ExcelEpoch);
}
} else if (utc != null && !utc.trim().isEmpty()) {
timePoint = getTimePoint(lineContentTokens[utcColumnIndex]);
} else if (columnsInFileFromHeader.containsKey(DATE_COLUMN_1) && !lineContentTokens[columnsInFileFromHeader.get(DATE_COLUMN_1)].trim().isEmpty()
|| columnsInFileFromHeader.containsKey(DATE_COLUMN_2) && !lineContentTokens[columnsInFileFromHeader.get(DATE_COLUMN_2)].trim().isEmpty()) {
if (columnsInFileFromHeader.containsKey(DATE_COLUMN_1)) {