Made all the model classes extend off the schema xml classes for race, and made xml builder, validator and reader utility class.

#story[1092]
main
Fan-Wu Yang 8 years ago
parent 70d5447e88
commit b5e414f97a

@ -0,0 +1,3 @@
<component name="CopyrightManager">
<settings default="" />
</component>

@ -3,7 +3,6 @@ package mock.app;
import mock.dataInput.PolarParser;
import mock.model.MockRace;
import mock.model.Polars;
import mock.xml.Race;
import mock.xml.RaceXMLCreator;
import network.Messages.LatestMessages;
import org.xml.sax.SAXException;
@ -14,6 +13,7 @@ import shared.exceptions.InvalidRaceDataException;
import shared.exceptions.InvalidRegattaDataException;
import shared.exceptions.XMLReaderException;
import shared.model.Constants;
import shared.xml.Race.XMLRace;
import shared.xml.XMLUtilities;
import javax.xml.bind.JAXBException;
@ -22,8 +22,6 @@ import javax.xml.transform.TransformerException;
import java.io.*;
import java.net.UnknownHostException;
import java.nio.charset.StandardCharsets;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
/**
@ -49,7 +47,7 @@ public class Event {
private Event() {
try {
try {
this.raceXML = getRaceXMLAtCurrentTime(RaceXMLCreator.alterRaceToWind("mock/mockXML/raceSchemaTest.xml", 90));
this.raceXML = RaceXMLCreator.alterRaceToWind("mock/mockXML/raceSchemaTest.xml", 90);
} catch (SAXException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
@ -102,15 +100,16 @@ public class Event {
sendXMLs();
//Parse the XML files into data sources.
// RaceDataSource raceDataSource = new RaceXMLReader(this.raceXML, this.xmlFileType);
Race race = (Race) XMLUtilities.xmlToClass(raceXML,
RaceDataSource raceDataSource = new RaceXMLReader(this.raceXML, this.xmlFileType);
//more work here
XMLRace race = (XMLRace) XMLUtilities.xmlToClass(raceXML,
RaceXMLCreator.class.getClassLoader().getResource("mock/mockXML/schema/raceSchema.xsd"),
Race.class);
XMLRace.class);
BoatDataSource boatDataSource = new BoatXMLReader(this.boatXML, this.xmlFileType);
RegattaDataSource regattaDataSource = new RegattaXMLReader(this.regattaXML, this.xmlFileType);
//Create and start race.
MockRace newRace = new MockRace(boatDataSource, race, regattaDataSource, this.latestMessages, this.boatPolars, Constants.RaceTimeScale);
MockRace newRace = new MockRace(boatDataSource, raceDataSource, regattaDataSource, this.latestMessages, this.boatPolars, Constants.RaceTimeScale);
new Thread(newRace).start();
}
@ -127,28 +126,5 @@ public class Event {
mockOutput.setBoatsXml(boatXML);
}
/**
* Sets the xml description of the race to show the race was created now, and starts in 4 minutes
* @param raceXML The race.xml contents.
* @return String containing edited xml
*/
private String getRaceXMLAtCurrentTime(String raceXML) {
//The start time is current time + 4 minutes. prestart is 3 minutes, and we add another minute.
long millisecondsToAdd = Constants.RacePreStartTime + (1 * 60 * 1000);
long secondsToAdd = millisecondsToAdd / 1000;
//Scale the time using our time scalar.
secondsToAdd = secondsToAdd / Constants.RaceTimeScale;
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
ZonedDateTime creationTime = ZonedDateTime.now();
raceXML = raceXML.replace("CREATION_TIME", dateFormat.format(creationTime));
raceXML = raceXML.replace("START_TIME", dateFormat.format(creationTime.plusSeconds(secondsToAdd)));
return raceXML;
}
}

@ -90,7 +90,7 @@ public class MockRace extends Race {
* @param polars The polars table to be used for boat simulation.
* @param timeScale The timeScale for the race. See {@link Constants#RaceTimeScale}.
*/
public MockRace(BoatDataSource boatDataSource, mock.xml.Race raceDataSource, RegattaDataSource regattaDataSource, LatestMessages latestMessages, Polars polars, int timeScale) {
public MockRace(BoatDataSource boatDataSource, RaceDataSource raceDataSource, RegattaDataSource regattaDataSource, LatestMessages latestMessages, Polars polars, int timeScale) {
super(boatDataSource, raceDataSource, regattaDataSource, latestMessages);

File diff suppressed because it is too large Load Diff

@ -1,127 +0,0 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 10:39:29 PM NZST
//
package mock.xml;
import javax.xml.bind.annotation.XmlRegistry;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the scd package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class RaceFactory {
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: scd
*
*/
public RaceFactory() {
}
/**
* Create an instance of {@link Race }
*
*/
public Race createRace() {
return new Race();
}
/**
* Create an instance of {@link Race.CourseLimit }
*
*/
public Race.CourseLimit createRaceCourseLimit() {
return new Race.CourseLimit();
}
/**
* Create an instance of {@link Race.Course }
*
*/
public Race.Course createRaceCourse() {
return new Race.Course();
}
/**
* Create an instance of {@link Race.Course.CompoundMark }
*
*/
public Race.Course.CompoundMark createRaceCourseCompoundMark() {
return new Race.Course.CompoundMark();
}
/**
* Create an instance of {@link Race.CompoundMarkSequence }
*
*/
public Race.CompoundMarkSequence createRaceCompoundMarkSequence() {
return new Race.CompoundMarkSequence();
}
/**
* Create an instance of {@link Race.Participants }
*
*/
public Race.Participants createRaceParticipants() {
return new Race.Participants();
}
/**
* Create an instance of {@link Race.RaceStartTime }
*
*/
public Race.RaceStartTime createRaceRaceStartTime() {
return new Race.RaceStartTime();
}
/**
* Create an instance of {@link Race.CourseLimit.Limit }
*
*/
public Race.CourseLimit.Limit createRaceCourseLimitLimit() {
return new Race.CourseLimit.Limit();
}
/**
* Create an instance of {@link Race.Course.CompoundMark.Mark }
*
*/
public Race.Course.CompoundMark.Mark createRaceCourseCompoundMarkMark() {
return new Race.Course.CompoundMark.Mark();
}
/**
* Create an instance of {@link Race.CompoundMarkSequence.Corner }
*
*/
public Race.CompoundMarkSequence.Corner createRaceCompoundMarkSequenceCorner() {
return new Race.CompoundMarkSequence.Corner();
}
/**
* Create an instance of {@link Race.Participants.Yacht }
*
*/
public Race.Participants.Yacht createRaceParticipantsYacht() {
return new Race.Participants.Yacht();
}
}

@ -6,10 +6,8 @@ import shared.dataInput.RaceXMLReader;
import shared.enums.XMLFileType;
import shared.exceptions.InvalidRaceDataException;
import shared.exceptions.XMLReaderException;
import shared.model.CompoundMark;
import shared.model.Corner;
import shared.model.GPSCoordinate;
import shared.model.Mark;
import shared.model.*;
import shared.xml.Race.*;
import shared.xml.XMLUtilities;
import javax.xml.XMLConstants;
@ -29,98 +27,16 @@ import javax.xml.validation.Validator;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.math.BigInteger;
import java.net.URL;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
/**
* Helper Class for creating a Race XML
*/
public class RaceXMLCreator {
/**
* Copy the race to a mock.xml.Race class from a RaceXMlReader
* @param reader RaceXMlReader
* @return string of the new mock.xml.Race
* @throws InvalidRaceDataException If the reader is unable to be read
* @throws XMLReaderException If the reader is unable to be read
*/
public static Race copyRace(RaceXMLReader reader) throws InvalidRaceDataException, XMLReaderException {
RaceFactory raceFactory = new RaceFactory();
Race race = raceFactory.createRace();
race.setRaceID(String.valueOf(reader.getRaceId()));
race.setRaceType(String.valueOf(reader.getRaceType()));
race.setCreationTimeDate("CREATION_TIME");//this needs to be changed later
//Race Start Time
Race.RaceStartTime raceStartTime = raceFactory.createRaceRaceStartTime();
raceStartTime.setPostpone("false");
raceStartTime.setTime("START_TIME");//this needs to be changed later
race.setRaceStartTime(raceStartTime);
//Participants
Race.Participants participants = raceFactory.createRaceParticipants();
for (int i :reader.getParticipants()) {
Race.Participants.Yacht yacht = raceFactory.createRaceParticipantsYacht();
yacht.setSourceID(String.valueOf(i));
participants.getYacht().add(yacht); //java schema does not clone the array so this is "safe".
}
race.setParticipants(participants);
//compound marks sequence
Race.CompoundMarkSequence cms = raceFactory.createRaceCompoundMarkSequence();
for (Corner mark: reader.getCornersList()){
Race.CompoundMarkSequence.Corner corner = raceFactory.createRaceCompoundMarkSequenceCorner();
corner.setCompoundMarkID(String.valueOf(mark.getId()));
corner.setSeqID(String.valueOf(mark.getSeqID()));
cms.getCorner().add(corner);
}
race.setCompoundMarkSequence(cms);
//Course
Race.Course course = raceFactory.createRaceCourse();
for (CompoundMark mark: reader.getCompoundMarks()){
Race.Course.CompoundMark cm = raceFactory.createRaceCourseCompoundMark();
cm.setName(mark.getName());
cm.setCompoundMarkID(String.valueOf(mark.getId()));
cm.getMark().add(setMarkFromMark(raceFactory, mark.getMark1()));
Race.Course.CompoundMark.Mark m2 = setMarkFromMark(raceFactory, mark.getMark2());
if (m2 != null) {
cm.getMark().add(m2);
}
course.getCompoundMark().add(cm);
}
race.setCourse(course);
//Course Limit
Race.CourseLimit courseLimit = raceFactory.createRaceCourseLimit();
for (int i = 0; i < reader.getBoundary().size(); i++){
Race.CourseLimit.Limit limit = raceFactory.createRaceCourseLimitLimit();
limit.setSeqID(String.valueOf(i+1));
limit.setLat(String.valueOf(reader.getBoundary().get(i).getLatitude()));
limit.setLon(String.valueOf(reader.getBoundary().get(i).getLongitude()));
courseLimit.getLimit().add(limit);
}
race.setCourseLimit(courseLimit);
return race;
}
/**
* Sets a mock.xml.Mark from a shared.model.Mark
* @param raceFactory race Factory for creating mock.xml.Race classes and subclasses
* @param mark Mark to be converted.
* @return converted mock.xml.Mark.
*/
public static Race.Course.CompoundMark.Mark setMarkFromMark(RaceFactory raceFactory, Mark mark){
if (mark != null) {
Race.Course.CompoundMark.Mark m = raceFactory.createRaceCourseCompoundMarkMark();
m.setName(mark.getName());
m.setTargetLat(String.valueOf(mark.getPosition().getLatitude()));
m.setTargetLng(String.valueOf(mark.getPosition().getLongitude()));
m.setSourceID(String.valueOf(mark.getSourceID()));
return m;
}
return null;
}
/**
* get the windward gate in a race
@ -158,9 +74,11 @@ public class RaceXMLCreator {
public static String alterRaceToWind(String s, double degrees) throws XMLReaderException, InvalidRaceDataException, JAXBException, IOException, SAXException, ParserConfigurationException {
RaceXMLReader reader = new RaceXMLReader(s, XMLFileType.ResourcePath);
Race race = (Race) XMLUtilities.xmlToClass(new File(RaceXMLCreator.class.getClassLoader().getResource(s).getFile()),
XMLRace race = (XMLRace) XMLUtilities.xmlToClass(new File(RaceXMLCreator.class.getClassLoader().getResource(s).getFile()),
RaceXMLCreator.class.getClassLoader().getResource("mock/mockXML/schema/raceSchema.xsd"),
Race.class);
XMLRace.class);
setRaceXMLAtCurrentTimeToNow(race);
double raceOriginalBearing = getLineAngle(getLeewardGate(reader).getMark1Position(), getWindwardGate(reader).getMark1Position());
@ -168,7 +86,7 @@ public class RaceXMLCreator {
alterRaceRotation(race, degreesToRotate);
JAXBContext context = JAXBContext.newInstance(Race.class);
JAXBContext context = JAXBContext.newInstance(XMLRace.class);
Marshaller jaxbMarshaller = context.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
@ -183,20 +101,20 @@ public class RaceXMLCreator {
* @param race the race to alter
* @param degrees the degrees to rotate by.
*/
public static void alterRaceRotation(Race race, double degrees){
public static void alterRaceRotation(XMLRace race, double degrees){
GPSCoordinate center = getCenter(race);
for(Race.CourseLimit.Limit limit: race.getCourseLimit().getLimit()){
for(XMLLimit limit: race.getCourseLimit().getLimit()){
GPSCoordinate rotatedLim = rotate(center, limitToGPSCoordinate(limit), degrees);
limit.setLat(String.valueOf(rotatedLim.getLatitude()));
limit.setLon(String.valueOf(rotatedLim.getLongitude()));
limit.setLat(rotatedLim.getLatitude());
limit.setLon(rotatedLim.getLongitude());
}
for(Race.Course.CompoundMark compoundMark: race.getCourse().getCompoundMark()){
for (Race.Course.CompoundMark.Mark mark: compoundMark.getMark()){
for(XMLCompoundMark compoundMark: race.getCourse().getCompoundMark()){
for (XMLMark mark: compoundMark.getMark()){
System.out.println(mark);
GPSCoordinate rotatedMark = rotate(center, markToGPSCoordinate(mark), degrees);
mark.setTargetLat(String.valueOf(rotatedMark.getLatitude()));
mark.setTargetLng(String.valueOf(rotatedMark.getLongitude()));
mark.setTargetLat(rotatedMark.getLatitude());
mark.setTargetLng(rotatedMark.getLongitude());
}
}
}
@ -206,8 +124,8 @@ public class RaceXMLCreator {
* @param limit limit to convert
* @return gps coordinate corresponding to the limit
*/
public static GPSCoordinate limitToGPSCoordinate(Race.CourseLimit.Limit limit){
return new GPSCoordinate(Double.parseDouble(limit.getLat()), Double.parseDouble(limit.getLon()));
public static GPSCoordinate limitToGPSCoordinate(XMLLimit limit){
return new GPSCoordinate(limit.getLat(), limit.getLon());
}
/**
@ -232,8 +150,8 @@ public class RaceXMLCreator {
* @param mark mark to obtain the GPSCoordinates of
* @return the GPSCOordinatess of a mark
*/
public static GPSCoordinate markToGPSCoordinate(Race.Course.CompoundMark.Mark mark){
return new GPSCoordinate(Double.parseDouble(mark.getTargetLat()), Double.parseDouble(mark.getTargetLng()));
public static GPSCoordinate markToGPSCoordinate(XMLMark mark){
return new GPSCoordinate(mark.getTargetLat(), mark.getTargetLng());
}
/**
@ -241,12 +159,12 @@ public class RaceXMLCreator {
* @param race race to get the center of
* @return GPSCoordinates of the center
*/
public static GPSCoordinate getCenter(Race race){
public static GPSCoordinate getCenter(XMLRace race){
double avgLat = 0;
double avgLng = 0;
for (Race.CourseLimit.Limit limit: race.getCourseLimit().getLimit()){
avgLat += Double.parseDouble(limit.getLat());
avgLng += Double.parseDouble(limit.getLon());
for (XMLLimit limit: race.getCourseLimit().getLimit()){
avgLat += limit.getLat();
avgLng += limit.getLon();
}
avgLat = avgLat/race.getCourseLimit().getLimit().size();
avgLng = avgLng/race.getCourseLimit().getLimit().size();
@ -265,4 +183,24 @@ public class RaceXMLCreator {
return Math.atan2(dy, dx)/Math.PI * 180;
}
/**
* Sets the xml description of the race to show the race was created now, and starts in 4 minutes
* @param raceXML The race.xml contents.
* @return String containing edited xml
*/
public static void setRaceXMLAtCurrentTimeToNow(XMLRace raceXML) {
//The start time is current time + 4 minutes. prestart is 3 minutes, and we add another minute.
long millisecondsToAdd = Constants.RacePreStartTime + (1 * 60 * 1000);
long secondsToAdd = millisecondsToAdd / 1000;
//Scale the time using our time scalar.
secondsToAdd = secondsToAdd / Constants.RaceTimeScale;
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
ZonedDateTime creationTime = ZonedDateTime.now();
raceXML.setCreationTimeDate(dateFormat.format(creationTime));
raceXML.getRaceStartTime().setTime(dateFormat.format(creationTime.plusSeconds(secondsToAdd)));
}
}

@ -337,7 +337,7 @@ public class RaceXMLReader extends XMLReader implements RaceDataSource {
int cornerSeq = Integer.parseInt(getAttribute(cornerElement, "SeqID"));
cornersList.add(new Corner(cornerID, cornerSeq));
cornersList.add(new Corner(cornerID, cornerSeq, "SP", 3));
//Gets the CompoundMark associated with this corner.
CompoundMark lastCompoundMark = this.compoundMarkMap.get(cornerID);
@ -356,7 +356,7 @@ public class RaceXMLReader extends XMLReader implements RaceDataSource {
cornerSeq = Integer.parseInt(getAttribute(cornerElement, "SeqID"));
cornersList.add(new Corner(cornerID, cornerSeq));
cornersList.add(new Corner(cornerID, cornerSeq, "Port", 3));
//Gets the CompoundMark associated with this corner.
CompoundMark currentCompoundMark = this.compoundMarkMap.get(cornerID);

@ -1,10 +1,12 @@
package shared.model;
import shared.xml.Race.XMLCompoundMark;
/**
* Represents a compound mark - that is, either one or two individual marks which form a single compound mark.
*/
public class CompoundMark {
public class CompoundMark extends XMLCompoundMark{
/**
* The ID of the compound mark.
@ -39,11 +41,7 @@ public class CompoundMark {
* @param mark1 The individual mark that comprises this compound mark.
*/
public CompoundMark(int id, String name, Mark mark1) {
this.id = id;
this.name = name;
this.mark1 = mark1;
this.averageGPSCoordinate = calculateAverage();
this(id, name, mark1, null);
}
@ -55,6 +53,13 @@ public class CompoundMark {
* @param mark2 The second individual mark that comprises this compound mark.
*/
public CompoundMark(int id, String name, Mark mark1, Mark mark2) {
//parent set up
super();
setName(name);
setCompoundMarkID(id);
getMark().add(mark1);
if (mark2 != null) getMark().add(mark2);
this.id = id;
this.name = name;
this.mark1 = mark1;
@ -72,14 +77,6 @@ public class CompoundMark {
return id;
}
/**
* Returns the name of this compound mark
* @return The name of this compound mark.
*/
public String getName() {
return name;
}
/**
* Returns the first mark of the compound mark.
* @return The first mark of the compound mark.

@ -1,23 +1,25 @@
package shared.model;
import shared.xml.Race.XMLCorner;
/**
* Created by Gondr on 3/08/2017.
*/
public class Corner {
public class Corner extends XMLCorner{
private int id;
private int seqID;
public Corner(int id, int seqID){
public Corner(int id, int seqID, String rounding, int zoneSize){
super();
setCompoundMarkID(id);
setSeqID(seqID);
setRounding(rounding);
setZoneSize(zoneSize);
this.id = id;
this.seqID = seqID;
}
public int getId() {
return id;
}
public int getSeqID() {
return seqID;
}
}

@ -1,28 +1,21 @@
package shared.model;
import shared.xml.Race.XMLMark;
import java.math.BigDecimal;
import java.math.BigInteger;
/**
* Represents an individual mark.
* Has a source ID, name, and position.
*/
public class Mark {
/**
* The source ID of the mark.
*/
private int sourceID;
/**
* The name of the mark.
*/
private String name;
public class Mark extends XMLMark{
/**
* The position of the mark.
*/
private GPSCoordinate position;
/**
* Constructs a mark with a given source ID, name, and position.
* @param sourceID The source ID of the mark.
@ -30,8 +23,12 @@ public class Mark {
* @param position The position of the mark.
*/
public Mark(int sourceID, String name, GPSCoordinate position) {
this.sourceID = sourceID;
this.name = name;
super();
targetLat = position.getLatitude();
targetLng = position.getLongitude();
setSourceID(sourceID);
setName(name);
this.position = position;
}
@ -44,14 +41,6 @@ public class Mark {
return name;
}
/**
* Returns the source ID of the mark.
* @return The source ID of the mark.
*/
public int getSourceID() {
return sourceID;
}
/**
* Returns the position of the mark.
* @return The position of the mark.

@ -23,7 +23,7 @@ public abstract class Race implements Runnable {
/**
* The source of race related data.
*/
protected mock.xml.Race raceDataSource;
protected RaceDataSource raceDataSource;
/**
* The source of boat related data.
@ -134,7 +134,7 @@ public abstract class Race implements Runnable {
* @param regattaDataSource Data source for race related data (course name, location, timezone, etc...).
* @param latestMessages The collection of latest messages, which can be written to, or read from.
*/
public Race(BoatDataSource boatDataSource, mock.xml.Race raceDataSource, RegattaDataSource regattaDataSource, LatestMessages latestMessages) {
public Race(BoatDataSource boatDataSource, RaceDataSource raceDataSource, RegattaDataSource regattaDataSource, LatestMessages latestMessages) {
//Keep a reference to data sources.
this.raceDataSource = raceDataSource;

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import java.util.ArrayList;
import java.util.List;
@ -31,17 +31,17 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
@ -54,12 +54,12 @@ import javax.xml.bind.annotation.XmlType;
@XmlType(name = "", propOrder = {
"mark"
})
public class CompoundMark {
public class XMLCompoundMark {
@XmlElement(name = "Mark", required = true)
protected List<Mark> mark;
protected List<XMLMark> mark;
@XmlAttribute(name = "CompoundMarkID", required = true)
protected String compoundMarkID;
protected int compoundMarkID;
@XmlAttribute(name = "Name", required = true)
protected String name;
@ -81,13 +81,13 @@ public class CompoundMark {
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Mark }
* {@link XMLMark }
*
*
*/
public List<Mark> getMark() {
public List<XMLMark> getMark() {
if (mark == null) {
mark = new ArrayList<Mark>();
mark = new ArrayList<XMLMark>();
}
return this.mark;
}
@ -95,24 +95,16 @@ public class CompoundMark {
/**
* Gets the value of the compoundMarkID property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCompoundMarkID() {
public int getCompoundMarkID() {
return compoundMarkID;
}
/**
* Sets the value of the compoundMarkID property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCompoundMarkID(String value) {
public void setCompoundMarkID(int value) {
this.compoundMarkID = value;
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import java.util.ArrayList;
import java.util.List;
@ -30,10 +30,10 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Rounding" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="ZoneSize" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="ZoneSize" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -50,10 +50,10 @@ import javax.xml.bind.annotation.XmlType;
@XmlType(name = "", propOrder = {
"corner"
})
public class CompoundMarkSequence {
public class XMLCompoundMarkSequence {
@XmlElement(name = "Corner", required = true)
protected List<Corner> corner;
protected List<XMLCorner> corner;
/**
* Gets the value of the corner property.
@ -73,13 +73,13 @@ public class CompoundMarkSequence {
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Corner }
* {@link XMLCorner }
*
*
*/
public List<Corner> getCorner() {
public List<XMLCorner> getCorner() {
if (corner == null) {
corner = new ArrayList<Corner>();
corner = new ArrayList<XMLCorner>();
}
return this.corner;
}

@ -2,17 +2,15 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
@ -25,10 +23,10 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Rounding" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="ZoneSize" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="ZoneSize" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -38,65 +36,46 @@ import javax.xml.bind.annotation.XmlType;
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class Corner {
public class XMLCorner {
@XmlAttribute(name = "CompoundMarkID", required = true)
@XmlSchemaType(name = "positiveInteger")
protected BigInteger compoundMarkID;
protected int compoundMarkID;
@XmlAttribute(name = "SeqID", required = true)
@XmlSchemaType(name = "positiveInteger")
protected BigInteger seqID;
protected int seqID;
@XmlAttribute(name = "Rounding", required = true)
protected String rounding;
@XmlAttribute(name = "ZoneSize", required = true)
@XmlSchemaType(name = "positiveInteger")
protected BigInteger zoneSize;
protected int zoneSize;
/**
* Gets the value of the compoundMarkID property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getCompoundMarkID() {
public int getCompoundMarkID() {
return compoundMarkID;
}
/**
* Sets the value of the compoundMarkID property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setCompoundMarkID(BigInteger value) {
public void setCompoundMarkID(int value) {
this.compoundMarkID = value;
}
/**
* Gets the value of the seqID property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getSeqID() {
public int getSeqID() {
return seqID;
}
/**
* Sets the value of the seqID property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setSeqID(BigInteger value) {
public void setSeqID(int value) {
this.seqID = value;
}
@ -127,24 +106,16 @@ public class Corner {
/**
* Gets the value of the zoneSize property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getZoneSize() {
public int getZoneSize() {
return zoneSize;
}
/**
* Sets the value of the zoneSize property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setZoneSize(BigInteger value) {
public void setZoneSize(int value) {
this.zoneSize = value;
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import java.util.ArrayList;
import java.util.List;
@ -35,17 +35,17 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
@ -63,10 +63,10 @@ import javax.xml.bind.annotation.XmlType;
@XmlType(name = "", propOrder = {
"compoundMark"
})
public class Course {
public class XMLCourse {
@XmlElement(name = "CompoundMark", required = true)
protected List<CompoundMark> compoundMark;
protected List<XMLCompoundMark> compoundMark;
/**
* Gets the value of the compoundMark property.
@ -86,13 +86,13 @@ public class Course {
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link CompoundMark }
* {@link XMLCompoundMark }
*
*
*/
public List<CompoundMark> getCompoundMark() {
public List<XMLCompoundMark> getCompoundMark() {
if (compoundMark == null) {
compoundMark = new ArrayList<CompoundMark>();
compoundMark = new ArrayList<XMLCompoundMark>();
}
return this.compoundMark;
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import java.util.ArrayList;
import java.util.List;
@ -30,9 +30,9 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="Lat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="Lon" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="Lat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="Lon" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -49,10 +49,10 @@ import javax.xml.bind.annotation.XmlType;
@XmlType(name = "", propOrder = {
"limit"
})
public class CourseLimit {
public class XMLCourseLimit {
@XmlElement(name = "Limit", required = true)
protected List<Limit> limit;
protected List<XMLLimit> limit;
/**
* Gets the value of the limit property.
@ -72,13 +72,13 @@ public class CourseLimit {
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Limit }
* {@link XMLLimit }
*
*
*/
public List<Limit> getLimit() {
public List<XMLLimit> getLimit() {
if (limit == null) {
limit = new ArrayList<Limit>();
limit = new ArrayList<XMLLimit>();
}
return this.limit;
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -23,9 +23,9 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="Lat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="Lon" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="Lat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="Lon" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -35,84 +35,60 @@ import javax.xml.bind.annotation.XmlType;
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class Limit {
public class XMLLimit {
@XmlAttribute(name = "Lat", required = true)
protected String lat;
protected double lat;
@XmlAttribute(name = "Lon", required = true)
protected String lon;
protected double lon;
@XmlAttribute(name = "SeqID", required = true)
protected String seqID;
protected int seqID;
/**
* Gets the value of the lat property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLat() {
public double getLat() {
return lat;
}
/**
* Sets the value of the lat property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLat(String value) {
public void setLat(double value) {
this.lat = value;
}
/**
* Gets the value of the lon property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLon() {
public double getLon() {
return lon;
}
/**
* Sets the value of the lon property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLon(String value) {
public void setLon(double value) {
this.lon = value;
}
/**
* Gets the value of the seqID property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSeqID() {
public int getSeqID() {
return seqID;
}
/**
* Sets the value of the seqID property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSeqID(String value) {
public void setSeqID(int value) {
this.seqID = value;
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -23,11 +23,11 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -37,28 +37,28 @@ import javax.xml.bind.annotation.XmlType;
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class Mark {
public class XMLMark {
@XmlAttribute(name = "SeqId")
protected String seqId;
protected Integer seqId;
@XmlAttribute(name = "Name", required = true)
protected String name;
@XmlAttribute(name = "TargetLat", required = true)
protected String targetLat;
protected double targetLat;
@XmlAttribute(name = "TargetLng", required = true)
protected String targetLng;
protected double targetLng;
@XmlAttribute(name = "SourceID", required = true)
protected String sourceID;
protected int sourceID;
/**
* Gets the value of the seqId property.
*
* @return
* possible object is
* {@link String }
* {@link Integer }
*
*/
public String getSeqId() {
public Integer getSeqId() {
return seqId;
}
@ -67,10 +67,10 @@ public class Mark {
*
* @param value
* allowed object is
* {@link String }
* {@link Integer }
*
*/
public void setSeqId(String value) {
public void setSeqId(Integer value) {
this.seqId = value;
}
@ -101,72 +101,48 @@ public class Mark {
/**
* Gets the value of the targetLat property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTargetLat() {
public double getTargetLat() {
return targetLat;
}
/**
* Sets the value of the targetLat property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTargetLat(String value) {
public void setTargetLat(double value) {
this.targetLat = value;
}
/**
* Gets the value of the targetLng property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTargetLng() {
public double getTargetLng() {
return targetLng;
}
/**
* Sets the value of the targetLng property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTargetLng(String value) {
public void setTargetLng(double value) {
this.targetLng = value;
}
/**
* Gets the value of the sourceID property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSourceID() {
public int getSourceID() {
return sourceID;
}
/**
* Sets the value of the sourceID property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSourceID(String value) {
public void setSourceID(int value) {
this.sourceID = value;
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import java.util.ArrayList;
import java.util.List;
@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Entry" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
@ -48,10 +48,10 @@ import javax.xml.bind.annotation.XmlType;
@XmlType(name = "", propOrder = {
"yacht"
})
public class Participants {
public class XMLParticipants {
@XmlElement(name = "Yacht", required = true)
protected List<Yacht> yacht;
protected List<XMLYacht> yacht;
/**
* Gets the value of the yacht property.
@ -71,13 +71,13 @@ public class Participants {
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Yacht }
* {@link XMLYacht }
*
*
*/
public List<Yacht> getYacht() {
public List<XMLYacht> getYacht() {
if (yacht == null) {
yacht = new ArrayList<Yacht>();
yacht = new ArrayList<XMLYacht>();
}
return this.yacht;
}

@ -2,18 +2,16 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 03:20:03 AM NZST
//
package schema;
package shared.xml.Race;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
@ -27,7 +25,7 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="RaceID" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/>
* &lt;element name="RaceID" type="{http://www.w3.org/2001/XMLSchema}int"/>
* &lt;element name="RaceType" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="CreationTimeDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="RaceStartTime">
@ -49,7 +47,7 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Entry" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
@ -69,10 +67,10 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Rounding" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="ZoneSize" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
* &lt;attribute name="ZoneSize" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -96,17 +94,17 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqId" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="TargetLat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="TargetLng" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="CompoundMarkID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
@ -126,9 +124,9 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="Lat" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="Lon" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="Lat" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="Lon" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
* &lt;attribute name="SeqID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
@ -158,47 +156,38 @@ import javax.xml.bind.annotation.XmlType;
"courseLimit"
})
@XmlRootElement(name = "Race")
public class Race {
public class XMLRace {
@XmlElement(name = "RaceID", required = true)
@XmlSchemaType(name = "positiveInteger")
protected BigInteger raceID;
@XmlElement(name = "RaceID")
protected int raceID;
@XmlElement(name = "RaceType", required = true)
protected String raceType;
@XmlElement(name = "CreationTimeDate", required = true)
protected String creationTimeDate;
@XmlElement(name = "RaceStartTime", required = true)
protected RaceStartTime raceStartTime;
protected XMLRaceStartTime raceStartTime;
@XmlElement(name = "Participants", required = true)
protected Participants participants;
protected XMLParticipants participants;
@XmlElement(name = "CompoundMarkSequence", required = true)
protected CompoundMarkSequence compoundMarkSequence;
protected XMLCompoundMarkSequence compoundMarkSequence;
@XmlElement(name = "Course", required = true)
protected Course course;
protected XMLCourse course;
@XmlElement(name = "CourseLimit", required = true)
protected CourseLimit courseLimit;
protected XMLCourseLimit courseLimit;
/**
* Gets the value of the raceID property.
*
* @return
* possible object is
* {@link BigInteger }
*
*/
public BigInteger getRaceID() {
public int getRaceID() {
return raceID;
}
/**
* Sets the value of the raceID property.
*
* @param value
* allowed object is
* {@link BigInteger }
*
*/
public void setRaceID(BigInteger value) {
public void setRaceID(int value) {
this.raceID = value;
}
@ -255,10 +244,10 @@ public class Race {
*
* @return
* possible object is
* {@link RaceStartTime }
* {@link XMLRaceStartTime }
*
*/
public RaceStartTime getRaceStartTime() {
public XMLRaceStartTime getRaceStartTime() {
return raceStartTime;
}
@ -267,10 +256,10 @@ public class Race {
*
* @param value
* allowed object is
* {@link RaceStartTime }
* {@link XMLRaceStartTime }
*
*/
public void setRaceStartTime(RaceStartTime value) {
public void setRaceStartTime(XMLRaceStartTime value) {
this.raceStartTime = value;
}
@ -279,10 +268,10 @@ public class Race {
*
* @return
* possible object is
* {@link Participants }
* {@link XMLParticipants }
*
*/
public Participants getParticipants() {
public XMLParticipants getParticipants() {
return participants;
}
@ -291,10 +280,10 @@ public class Race {
*
* @param value
* allowed object is
* {@link Participants }
* {@link XMLParticipants }
*
*/
public void setParticipants(Participants value) {
public void setParticipants(XMLParticipants value) {
this.participants = value;
}
@ -303,10 +292,10 @@ public class Race {
*
* @return
* possible object is
* {@link CompoundMarkSequence }
* {@link XMLCompoundMarkSequence }
*
*/
public CompoundMarkSequence getCompoundMarkSequence() {
public XMLCompoundMarkSequence getCompoundMarkSequence() {
return compoundMarkSequence;
}
@ -315,10 +304,10 @@ public class Race {
*
* @param value
* allowed object is
* {@link CompoundMarkSequence }
* {@link XMLCompoundMarkSequence }
*
*/
public void setCompoundMarkSequence(CompoundMarkSequence value) {
public void setCompoundMarkSequence(XMLCompoundMarkSequence value) {
this.compoundMarkSequence = value;
}
@ -327,10 +316,10 @@ public class Race {
*
* @return
* possible object is
* {@link Course }
* {@link XMLCourse }
*
*/
public Course getCourse() {
public XMLCourse getCourse() {
return course;
}
@ -339,10 +328,10 @@ public class Race {
*
* @param value
* allowed object is
* {@link Course }
* {@link XMLCourse }
*
*/
public void setCourse(Course value) {
public void setCourse(XMLCourse value) {
this.course = value;
}
@ -351,10 +340,10 @@ public class Race {
*
* @return
* possible object is
* {@link CourseLimit }
* {@link XMLCourseLimit }
*
*/
public CourseLimit getCourseLimit() {
public XMLCourseLimit getCourseLimit() {
return courseLimit;
}
@ -363,10 +352,10 @@ public class Race {
*
* @param value
* allowed object is
* {@link CourseLimit }
* {@link XMLCourseLimit }
*
*/
public void setCourseLimit(CourseLimit value) {
public void setCourseLimit(XMLCourseLimit value) {
this.courseLimit = value;
}

@ -0,0 +1,127 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.14 at 02:41:51 AM NZST
//
package shared.xml.Race;
import javax.xml.bind.annotation.XmlRegistry;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the shared.xml.Race package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class XMLRaceFactory {
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: shared.xml.Race
*
*/
public XMLRaceFactory() {
}
/**
* Create an instance of {@link XMLRace }
*
*/
public XMLRace createRace() {
return new XMLRace();
}
/**
* Create an instance of {@link XMLRaceStartTime }
*
*/
public XMLRaceStartTime createXMLRaceStartTime() {
return new XMLRaceStartTime();
}
/**
* Create an instance of {@link XMLParticipants }
*
*/
public XMLParticipants createXMLParticipants() {
return new XMLParticipants();
}
/**
* Create an instance of {@link XMLCompoundMarkSequence }
*
*/
public XMLCompoundMarkSequence createXMLCompoundMarkSequence() {
return new XMLCompoundMarkSequence();
}
/**
* Create an instance of {@link XMLCourse }
*
*/
public XMLCourse createXMLCourse() {
return new XMLCourse();
}
/**
* Create an instance of {@link XMLCourseLimit }
*
*/
public XMLCourseLimit createXMLCourseLimit() {
return new XMLCourseLimit();
}
/**
* Create an instance of {@link XMLLimit }
*
*/
public XMLLimit createXMLLimit() {
return new XMLLimit();
}
/**
* Create an instance of {@link XMLCompoundMark }
*
*/
public XMLCompoundMark createXMLCompoundMark() {
return new XMLCompoundMark();
}
/**
* Create an instance of {@link XMLMark }
*
*/
public XMLMark createXMLMark() {
return new XMLMark();
}
/**
* Create an instance of {@link XMLCorner }
*
*/
public XMLCorner createXMLCorner() {
return new XMLCorner();
}
/**
* Create an instance of {@link XMLYacht }
*
*/
public XMLYacht createXMLYacht() {
return new XMLYacht();
}
}

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -34,7 +34,7 @@ import javax.xml.bind.annotation.XmlType;
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class RaceStartTime {
public class XMLRaceStartTime {
@XmlAttribute(name = "Postpone", required = true)
protected String postpone;

@ -2,11 +2,11 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
// Generated on: 2017.08.14 at 02:54:32 AM NZST
//
package schema;
package shared.xml.Race;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
* &lt;attribute name="Entry" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
@ -34,34 +34,26 @@ import javax.xml.bind.annotation.XmlType;
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class Yacht {
public class XMLYacht {
@XmlAttribute(name = "SourceID", required = true)
protected String sourceID;
protected int sourceID;
@XmlAttribute(name = "Entry")
protected String entry;
/**
* Gets the value of the sourceID property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSourceID() {
public int getSourceID() {
return sourceID;
}
/**
* Sets the value of the sourceID property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSourceID(String value) {
public void setSourceID(int value) {
this.sourceID = value;
}

@ -3,6 +3,7 @@ package shared.xml;
import mock.xml.Race;
import mock.xml.RaceXMLCreator;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.XMLConstants;
@ -17,6 +18,7 @@ import javax.xml.transform.dom.DOMSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
@ -47,7 +49,7 @@ public class XMLUtilities {
public static Object xmlToClass(String xml, URL schemaURL, Class c) throws ParserConfigurationException, IOException, SAXException, JAXBException {
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(xml);
Document document = parser.parse(new InputSource(new ByteArrayInputStream(xml.getBytes("utf-8"))));
return xmlToClass(document, schemaURL, c);
}

@ -6,12 +6,15 @@ import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;
import mock.app.Event;
import org.xml.sax.SAXException;
import shared.exceptions.InvalidBoatDataException;
import shared.exceptions.InvalidRaceDataException;
import shared.exceptions.InvalidRegattaDataException;
import shared.exceptions.XMLReaderException;
import visualiser.model.RaceConnection;
import javax.xml.bind.JAXBException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.soap.Text;
import java.io.IOException;
import java.net.Socket;
@ -170,6 +173,14 @@ public class ConnectionController extends Controller {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JAXBException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
}
}

@ -6,12 +6,15 @@ import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
import mock.app.Event;
import org.xml.sax.SAXException;
import shared.exceptions.InvalidBoatDataException;
import shared.exceptions.InvalidRaceDataException;
import shared.exceptions.InvalidRegattaDataException;
import shared.exceptions.XMLReaderException;
import visualiser.model.RaceConnection;
import javax.xml.bind.JAXBException;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
import java.net.Socket;
import java.net.URL;
@ -55,6 +58,12 @@ public class HostController extends Controller {
e.printStackTrace();
} catch (InvalidRegattaDataException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (JAXBException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
}

@ -0,0 +1,17 @@
<jxb:bindings version="1.0"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc">
<jxb:bindings schemaLocation="raceSchema.xsd" node="/xs:schema">
<jxb:schemaBindings>
<jxb:nameXmlTransform>
<jxb:typeName prefix="XML"/>
<jxb:anonymousTypeName prefix="XML"/>
</jxb:nameXmlTransform>
</jxb:schemaBindings>
<jxb:globalBindings localScoping="toplevel"/>
</jxb:bindings>
</jxb:bindings>

@ -1,127 +0,0 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:00:04 PM NZST
//
package generated;
import javax.xml.bind.annotation.XmlRegistry;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the generated package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: generated
*
*/
public ObjectFactory() {
}
/**
* Create an instance of {@link Race }
*
*/
public Race createRace() {
return new Race();
}
/**
* Create an instance of {@link Race.CourseLimit }
*
*/
public Race.CourseLimit createRaceCourseLimit() {
return new Race.CourseLimit();
}
/**
* Create an instance of {@link Race.Course }
*
*/
public Race.Course createRaceCourse() {
return new Race.Course();
}
/**
* Create an instance of {@link Race.Course.CompoundMark }
*
*/
public Race.Course.CompoundMark createRaceCourseCompoundMark() {
return new Race.Course.CompoundMark();
}
/**
* Create an instance of {@link Race.CompoundMarkSequence }
*
*/
public Race.CompoundMarkSequence createRaceCompoundMarkSequence() {
return new Race.CompoundMarkSequence();
}
/**
* Create an instance of {@link Race.Participants }
*
*/
public Race.Participants createRaceParticipants() {
return new Race.Participants();
}
/**
* Create an instance of {@link Race.RaceStartTime }
*
*/
public Race.RaceStartTime createRaceRaceStartTime() {
return new Race.RaceStartTime();
}
/**
* Create an instance of {@link Race.CourseLimit.Limit }
*
*/
public Race.CourseLimit.Limit createRaceCourseLimitLimit() {
return new Race.CourseLimit.Limit();
}
/**
* Create an instance of {@link Race.Course.CompoundMark.Mark }
*
*/
public Race.Course.CompoundMark.Mark createRaceCourseCompoundMarkMark() {
return new Race.Course.CompoundMark.Mark();
}
/**
* Create an instance of {@link Race.CompoundMarkSequence.Corner }
*
*/
public Race.CompoundMarkSequence.Corner createRaceCompoundMarkSequenceCorner() {
return new Race.CompoundMarkSequence.Corner();
}
/**
* Create an instance of {@link Race.Participants.Yacht }
*
*/
public Race.Participants.Yacht createRaceParticipantsYacht() {
return new Race.Participants.Yacht();
}
}

@ -3,7 +3,7 @@
<xs:element name="Race">
<xs:complexType>
<xs:sequence>
<xs:element name="RaceID" type="xs:positiveInteger"/>
<xs:element name="RaceID" type="xs:int"/>
<xs:element name="RaceType" type="xs:string"/>
<xs:element name="CreationTimeDate" type="xs:string"/>
<xs:element name="RaceStartTime">
@ -17,7 +17,7 @@
<xs:sequence>
<xs:element name="Yacht" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="SourceID" type="xs:string" use="required"/>
<xs:attribute name="SourceID" type="xs:int" use="required"/>
<xs:attribute name="Entry" type="xs:string"/>
</xs:complexType>
</xs:element>
@ -29,10 +29,10 @@
<xs:sequence>
<xs:element name="Corner" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="CompoundMarkID" type="xs:positiveInteger" use="required"/>
<xs:attribute name="SeqID" type="xs:positiveInteger" use="required"/>
<xs:attribute name="CompoundMarkID" type="xs:int" use="required"/>
<xs:attribute name="SeqID" type="xs:int" use="required"/>
<xs:attribute name="Rounding" type="xs:string" use="required"/>
<xs:attribute name="ZoneSize" type="xs:positiveInteger" use="required"/>
<xs:attribute name="ZoneSize" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@ -46,15 +46,15 @@
<xs:sequence>
<xs:element name="Mark" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="SeqId" type="xs:string"/>
<xs:attribute name="SeqId" type="xs:int"/>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="TargetLat" type="xs:string" use="required"/>
<xs:attribute name="TargetLng" type="xs:string" use="required"/>
<xs:attribute name="SourceID" type="xs:string" use="required"/>
<xs:attribute name="TargetLat" type="xs:double" use="required"/>
<xs:attribute name="TargetLng" type="xs:double" use="required"/>
<xs:attribute name="SourceID" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="CompoundMarkID" type="xs:string" use="required"/>
<xs:attribute name="CompoundMarkID" type="xs:int" use="required"/>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
@ -66,9 +66,9 @@
<xs:sequence>
<xs:element name="Limit" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Lat" type="xs:string" use="required"/>
<xs:attribute name="Lon" type="xs:string" use="required"/>
<xs:attribute name="SeqID" type="xs:string" use="required"/>
<xs:attribute name="Lat" type="xs:double" use="required"/>
<xs:attribute name="Lon" type="xs:double" use="required"/>
<xs:attribute name="SeqID" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>

@ -1,127 +0,0 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 10:39:29 PM NZST
//
package scd;
import javax.xml.bind.annotation.XmlRegistry;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the scd package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: scd
*
*/
public ObjectFactory() {
}
/**
* Create an instance of {@link Race }
*
*/
public Race createRace() {
return new Race();
}
/**
* Create an instance of {@link Race.CourseLimit }
*
*/
public Race.CourseLimit createRaceCourseLimit() {
return new Race.CourseLimit();
}
/**
* Create an instance of {@link Race.Course }
*
*/
public Race.Course createRaceCourse() {
return new Race.Course();
}
/**
* Create an instance of {@link Race.Course.CompoundMark }
*
*/
public Race.Course.CompoundMark createRaceCourseCompoundMark() {
return new Race.Course.CompoundMark();
}
/**
* Create an instance of {@link Race.CompoundMarkSequence }
*
*/
public Race.CompoundMarkSequence createRaceCompoundMarkSequence() {
return new Race.CompoundMarkSequence();
}
/**
* Create an instance of {@link Race.Participants }
*
*/
public Race.Participants createRaceParticipants() {
return new Race.Participants();
}
/**
* Create an instance of {@link Race.RaceStartTime }
*
*/
public Race.RaceStartTime createRaceRaceStartTime() {
return new Race.RaceStartTime();
}
/**
* Create an instance of {@link Race.CourseLimit.Limit }
*
*/
public Race.CourseLimit.Limit createRaceCourseLimitLimit() {
return new Race.CourseLimit.Limit();
}
/**
* Create an instance of {@link Race.Course.CompoundMark.Mark }
*
*/
public Race.Course.CompoundMark.Mark createRaceCourseCompoundMarkMark() {
return new Race.Course.CompoundMark.Mark();
}
/**
* Create an instance of {@link Race.CompoundMarkSequence.Corner }
*
*/
public Race.CompoundMarkSequence.Corner createRaceCompoundMarkSequenceCorner() {
return new Race.CompoundMarkSequence.Corner();
}
/**
* Create an instance of {@link Race.Participants.Yacht }
*
*/
public Race.Participants.Yacht createRaceParticipantsYacht() {
return new Race.Participants.Yacht();
}
}

@ -1,127 +0,0 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.08.13 at 11:01:23 PM NZST
//
package schema;
import javax.xml.bind.annotation.XmlRegistry;
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the schema package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: schema
*
*/
public ObjectFactory() {
}
/**
* Create an instance of {@link Race }
*
*/
public Race createRace() {
return new Race();
}
/**
* Create an instance of {@link RaceStartTime }
*
*/
public RaceStartTime createRaceStartTime() {
return new RaceStartTime();
}
/**
* Create an instance of {@link Participants }
*
*/
public Participants createParticipants() {
return new Participants();
}
/**
* Create an instance of {@link CompoundMarkSequence }
*
*/
public CompoundMarkSequence createCompoundMarkSequence() {
return new CompoundMarkSequence();
}
/**
* Create an instance of {@link Course }
*
*/
public Course createCourse() {
return new Course();
}
/**
* Create an instance of {@link CourseLimit }
*
*/
public CourseLimit createCourseLimit() {
return new CourseLimit();
}
/**
* Create an instance of {@link Limit }
*
*/
public Limit createLimit() {
return new Limit();
}
/**
* Create an instance of {@link CompoundMark }
*
*/
public CompoundMark createCompoundMark() {
return new CompoundMark();
}
/**
* Create an instance of {@link Mark }
*
*/
public Mark createMark() {
return new Mark();
}
/**
* Create an instance of {@link Corner }
*
*/
public Corner createCorner() {
return new Corner();
}
/**
* Create an instance of {@link Yacht }
*
*/
public Yacht createYacht() {
return new Yacht();
}
}
Loading…
Cancel
Save