Fixed time source for visualiser, replacing local time
- StreamedCourse now provides start time for clock from XML #story[782]
This commit is contained in:
@@ -66,7 +66,7 @@ public class StreamedCourse implements RaceDataSource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ZonedDateTime getZonedDateTime() {
|
public ZonedDateTime getZonedDateTime() {
|
||||||
return RaceClock.getCurrentZonedDateTime(regattaXMLReader.getRegatta().getGPSCoordinate());
|
return streamedCourseXMLReader.getRaceStartTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public GPSCoordinate getMapTopLeft() {
|
public GPSCoordinate getMapTopLeft() {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package seng302.Mock;
|
package seng302.Mock;
|
||||||
|
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
import org.w3c.dom.NamedNodeMap;
|
import org.w3c.dom.NamedNodeMap;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
@@ -15,6 +16,8 @@ import java.io.IOException;
|
|||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.ZonedDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,8 +31,8 @@ public class StreamedCourseXMLReader extends XMLReader {
|
|||||||
private Map<Integer, StreamedBoat> participants = new HashMap<>();
|
private Map<Integer, StreamedBoat> participants = new HashMap<>();
|
||||||
private List<Leg> legs = new ArrayList<>();
|
private List<Leg> legs = new ArrayList<>();
|
||||||
private List<Marker> markers = new ArrayList<>();
|
private List<Marker> markers = new ArrayList<>();
|
||||||
Date creationTimeDate;
|
ZonedDateTime creationTimeDate;
|
||||||
Date raceStartTime;
|
ZonedDateTime raceStartTime;
|
||||||
int raceID;
|
int raceID;
|
||||||
String raceType;
|
String raceType;
|
||||||
boolean postpone;
|
boolean postpone;
|
||||||
@@ -67,14 +70,14 @@ public class StreamedCourseXMLReader extends XMLReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void readRace() throws ParseException {
|
private void readRace() throws ParseException {
|
||||||
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
|
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
|
||||||
Element settings = (Element) doc.getElementsByTagName("Race").item(0);
|
Element settings = (Element) doc.getElementsByTagName("Race").item(0);
|
||||||
|
|
||||||
raceID = Integer.parseInt(getTextValueOfNode(settings, "RaceID"));
|
raceID = Integer.parseInt(getTextValueOfNode(settings, "RaceID"));
|
||||||
raceType = getTextValueOfNode(settings, "RaceType");
|
raceType = getTextValueOfNode(settings, "RaceType");
|
||||||
creationTimeDate = dateFormat.parse(getTextValueOfNode(settings, "CreationTimeDate"));
|
creationTimeDate = ZonedDateTime.parse(getTextValueOfNode(settings, "CreationTimeDate"), dateFormat);
|
||||||
NamedNodeMap raceTimeTag = doc.getElementsByTagName("RaceStartTime").item(0).getAttributes();
|
NamedNodeMap raceTimeTag = doc.getElementsByTagName("RaceStartTime").item(0).getAttributes();
|
||||||
raceStartTime = dateFormat.parse(raceTimeTag.getNamedItem("Time").getTextContent());
|
raceStartTime = ZonedDateTime.parse(raceTimeTag.getNamedItem("Time").getTextContent(), dateFormat);
|
||||||
postpone = Boolean.parseBoolean(raceTimeTag.getNamedItem("Postpone").getTextContent());
|
postpone = Boolean.parseBoolean(raceTimeTag.getNamedItem("Postpone").getTextContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,11 +223,11 @@ public class StreamedCourseXMLReader extends XMLReader {
|
|||||||
return COORDINATEPADDING;
|
return COORDINATEPADDING;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getCreationTimeDate() {
|
public ZonedDateTime getCreationTimeDate() {
|
||||||
return creationTimeDate;
|
return creationTimeDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getRaceStartTime() {
|
public ZonedDateTime getRaceStartTime() {
|
||||||
return raceStartTime;
|
return raceStartTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class RaceClock {
|
|||||||
*/
|
*/
|
||||||
public void setTime(ZonedDateTime time) {
|
public void setTime(ZonedDateTime time) {
|
||||||
this.time = time;
|
this.time = time;
|
||||||
this.timeString.set(DateTimeFormatter.ofPattern("dd-MM HH:mm:ss z").format(time));
|
this.timeString.set(DateTimeFormatter.ofPattern("HH:mm:ss dd/MM/YYYY Z").format(time));
|
||||||
this.lastTime = System.currentTimeMillis();
|
this.lastTime = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user