RaceServer now creates an XMLMessage when the race's BoatDataSource changes. #story[1188]main
parent
298fcd03dc
commit
8c76d6c26e
@ -0,0 +1,533 @@
|
|||||||
|
//
|
||||||
|
// 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.09.01 at 11:12:43 PM NZST
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
package shared.xml.boats;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Java class for anonymous complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="Boats">
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="Boat" maxOccurs="unbounded">
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="GPSposition">
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <attribute name="X" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Y" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Z" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </element>
|
||||||
|
* </sequence>
|
||||||
|
* <attribute name="Type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="BoatName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
|
||||||
|
* <attribute name="HullNum" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="ShortName" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="ShapeID" type="{http://www.w3.org/2001/XMLSchema}int" />
|
||||||
|
* <attribute name="StoweName" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </element>
|
||||||
|
* </sequence>
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </element>
|
||||||
|
* </sequence>
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "", propOrder = {
|
||||||
|
"boats"
|
||||||
|
})
|
||||||
|
@XmlRootElement(name = "BoatConfig")
|
||||||
|
public class BoatConfig {
|
||||||
|
|
||||||
|
@XmlElement(name = "Boats", required = true)
|
||||||
|
protected BoatConfig.Boats boats;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the boats property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link BoatConfig.Boats }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public BoatConfig.Boats getBoats() {
|
||||||
|
return boats;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the boats property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link BoatConfig.Boats }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setBoats(BoatConfig.Boats value) {
|
||||||
|
this.boats = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Java class for anonymous complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="Boat" maxOccurs="unbounded">
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="GPSposition">
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <attribute name="X" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Y" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Z" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </element>
|
||||||
|
* </sequence>
|
||||||
|
* <attribute name="Type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="BoatName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
|
||||||
|
* <attribute name="HullNum" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="ShortName" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="ShapeID" type="{http://www.w3.org/2001/XMLSchema}int" />
|
||||||
|
* <attribute name="StoweName" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </element>
|
||||||
|
* </sequence>
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "", propOrder = {
|
||||||
|
"boat"
|
||||||
|
})
|
||||||
|
public static class Boats {
|
||||||
|
|
||||||
|
@XmlElement(name = "Boat", required = true)
|
||||||
|
protected List<BoatConfig.Boats.Boat> boat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the boat property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* This accessor method returns a reference to the live list,
|
||||||
|
* not a snapshot. Therefore any modification you make to the
|
||||||
|
* returned list will be present inside the JAXB object.
|
||||||
|
* This is why there is not a <CODE>set</CODE> method for the boat property.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* For example, to add a new item, do as follows:
|
||||||
|
* <pre>
|
||||||
|
* getBoat().add(newItem);
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Objects of the following type(s) are allowed in the list
|
||||||
|
* {@link BoatConfig.Boats.Boat }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public List<BoatConfig.Boats.Boat> getBoat() {
|
||||||
|
if (boat == null) {
|
||||||
|
boat = new ArrayList<BoatConfig.Boats.Boat>();
|
||||||
|
}
|
||||||
|
return this.boat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Java class for anonymous complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <sequence>
|
||||||
|
* <element name="GPSposition">
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <attribute name="X" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Y" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Z" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </element>
|
||||||
|
* </sequence>
|
||||||
|
* <attribute name="Type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="BoatName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="SourceID" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
|
||||||
|
* <attribute name="HullNum" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="ShortName" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* <attribute name="ShapeID" type="{http://www.w3.org/2001/XMLSchema}int" />
|
||||||
|
* <attribute name="StoweName" type="{http://www.w3.org/2001/XMLSchema}string" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "", propOrder = {
|
||||||
|
"gpSposition"
|
||||||
|
})
|
||||||
|
public static class Boat {
|
||||||
|
|
||||||
|
@XmlElement(name = "GPSposition", required = true)
|
||||||
|
protected BoatConfig.Boats.Boat.GPSposition gpSposition;
|
||||||
|
@XmlAttribute(name = "Type", required = true)
|
||||||
|
protected String type;
|
||||||
|
@XmlAttribute(name = "BoatName", required = true)
|
||||||
|
protected String boatName;
|
||||||
|
@XmlAttribute(name = "SourceID", required = true)
|
||||||
|
protected int sourceID;
|
||||||
|
@XmlAttribute(name = "HullNum")
|
||||||
|
protected String hullNum;
|
||||||
|
@XmlAttribute(name = "ShortName")
|
||||||
|
protected String shortName;
|
||||||
|
@XmlAttribute(name = "ShapeID")
|
||||||
|
protected Integer shapeID;
|
||||||
|
@XmlAttribute(name = "StoweName")
|
||||||
|
protected String stoweName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the gpSposition property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link BoatConfig.Boats.Boat.GPSposition }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public BoatConfig.Boats.Boat.GPSposition getGPSposition() {
|
||||||
|
return gpSposition;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the gpSposition property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link BoatConfig.Boats.Boat.GPSposition }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setGPSposition(BoatConfig.Boats.Boat.GPSposition value) {
|
||||||
|
this.gpSposition = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the type property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the type property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setType(String value) {
|
||||||
|
this.type = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the boatName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getBoatName() {
|
||||||
|
return boatName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the boatName property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setBoatName(String value) {
|
||||||
|
this.boatName = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the sourceID property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int getSourceID() {
|
||||||
|
return sourceID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the sourceID property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setSourceID(int value) {
|
||||||
|
this.sourceID = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the hullNum property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getHullNum() {
|
||||||
|
return hullNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the hullNum property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setHullNum(String value) {
|
||||||
|
this.hullNum = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the shortName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getShortName() {
|
||||||
|
return shortName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the shortName property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setShortName(String value) {
|
||||||
|
this.shortName = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the shapeID property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Integer getShapeID() {
|
||||||
|
return shapeID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the shapeID property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link Integer }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setShapeID(Integer value) {
|
||||||
|
this.shapeID = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the stoweName property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public String getStoweName() {
|
||||||
|
return stoweName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the stoweName property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link String }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setStoweName(String value) {
|
||||||
|
this.stoweName = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Java class for anonymous complex type.
|
||||||
|
*
|
||||||
|
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* <complexType>
|
||||||
|
* <complexContent>
|
||||||
|
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
|
||||||
|
* <attribute name="X" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Y" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* <attribute name="Z" use="required" type="{http://www.w3.org/2001/XMLSchema}double" />
|
||||||
|
* </restriction>
|
||||||
|
* </complexContent>
|
||||||
|
* </complexType>
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@XmlType(name = "")
|
||||||
|
public static class GPSposition {
|
||||||
|
|
||||||
|
@XmlAttribute(name = "X", required = true)
|
||||||
|
protected Double x;
|
||||||
|
@XmlAttribute(name = "Y", required = true)
|
||||||
|
protected double y;
|
||||||
|
@XmlAttribute(name = "Z", required = true)
|
||||||
|
protected double z;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the x property.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* possible object is
|
||||||
|
* {@link Double }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public Double getX() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the x property.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
* allowed object is
|
||||||
|
* {@link Double }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setX(Double value) {
|
||||||
|
this.x = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the y property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public double getY() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the y property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setY(double value) {
|
||||||
|
this.y = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value of the z property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public double getZ() {
|
||||||
|
return z;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value of the z property.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void setZ(double value) {
|
||||||
|
this.z = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
package shared.xml.boats;
|
||||||
|
|
||||||
|
import shared.dataInput.BoatDataSource;
|
||||||
|
import shared.dataInput.RaceDataSource;
|
||||||
|
import shared.enums.RoundingType;
|
||||||
|
import shared.model.Boat;
|
||||||
|
import shared.model.CompoundMark;
|
||||||
|
import shared.model.Leg;
|
||||||
|
import shared.model.Mark;
|
||||||
|
import shared.xml.Race.*;
|
||||||
|
import shared.xml.XMLUtilities;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Has functions to convert a {@link shared.dataInput.BoatDataSource} to an {@link BoatConfig} object.
|
||||||
|
*/
|
||||||
|
public class BoatDataSourceToXML {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a boat data source to an XMLRace object.
|
||||||
|
* @param boatDataSource The data source to convert.
|
||||||
|
* @return The XMLRace file.
|
||||||
|
*/
|
||||||
|
public static BoatConfig toXML(BoatDataSource boatDataSource) {
|
||||||
|
BoatConfig boatConfig = new BoatConfig();
|
||||||
|
|
||||||
|
boatConfig.boats = new BoatConfig.Boats();
|
||||||
|
boatConfig.boats.boat = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
for (Boat boat : boatDataSource.getBoats().values()) {
|
||||||
|
BoatConfig.Boats.Boat xmlBoat = new BoatConfig.Boats.Boat();
|
||||||
|
|
||||||
|
xmlBoat.setType("Yacht");
|
||||||
|
xmlBoat.setBoatName(boat.getName());
|
||||||
|
xmlBoat.setSourceID(boat.getSourceID());
|
||||||
|
xmlBoat.setStoweName(boat.getCountry());
|
||||||
|
xmlBoat.setShortName(boat.getCountry());
|
||||||
|
|
||||||
|
BoatConfig.Boats.Boat.GPSposition position = new BoatConfig.Boats.Boat.GPSposition();
|
||||||
|
position.setX(boat.getPosition().getLongitude());
|
||||||
|
position.setY(boat.getPosition().getLatitude());
|
||||||
|
position.setZ(0);
|
||||||
|
xmlBoat.setGPSposition(position);
|
||||||
|
|
||||||
|
boatConfig.boats.boat.add(xmlBoat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (Mark mark : boatDataSource.getMarkerBoats().values()) {
|
||||||
|
BoatConfig.Boats.Boat xmlBoat = new BoatConfig.Boats.Boat();
|
||||||
|
|
||||||
|
xmlBoat.setType("Mark");
|
||||||
|
xmlBoat.setBoatName(mark.getName());
|
||||||
|
xmlBoat.setSourceID(mark.getSourceID());
|
||||||
|
|
||||||
|
BoatConfig.Boats.Boat.GPSposition position = new BoatConfig.Boats.Boat.GPSposition();
|
||||||
|
position.setX(mark.getPosition().getLongitude());
|
||||||
|
position.setY(mark.getPosition().getLatitude());
|
||||||
|
position.setZ(0);
|
||||||
|
xmlBoat.setGPSposition(position);
|
||||||
|
|
||||||
|
boatConfig.boats.boat.add(xmlBoat);
|
||||||
|
}
|
||||||
|
|
||||||
|
return boatConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a boat data source to an xml string.
|
||||||
|
* @param boatDataSource Data source to convert.
|
||||||
|
* @return String containing xml file.
|
||||||
|
* @throws JAXBException Thrown if it cannot be converted.
|
||||||
|
*/
|
||||||
|
public static String toString(BoatDataSource boatDataSource) throws JAXBException {
|
||||||
|
BoatConfig boats = toXML(boatDataSource);
|
||||||
|
return XMLUtilities.classToXML(boats);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,71 @@
|
|||||||
|
//
|
||||||
|
// 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.09.01 at 11:12:43 PM NZST
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
package shared.xml.boats;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlRegistry;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This object contains factory methods for each
|
||||||
|
* Java content interface and Java element interface
|
||||||
|
* generated in the aaa 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: aaa
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public ObjectFactory() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an instance of {@link BoatConfig }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public BoatConfig createBoatConfig() {
|
||||||
|
return new BoatConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an instance of {@link BoatConfig.Boats }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public BoatConfig.Boats createBoatConfigBoats() {
|
||||||
|
return new BoatConfig.Boats();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an instance of {@link BoatConfig.Boats.Boat }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public BoatConfig.Boats.Boat createBoatConfigBoatsBoat() {
|
||||||
|
return new BoatConfig.Boats.Boat();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an instance of {@link BoatConfig.Boats.Boat.GPSposition }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public BoatConfig.Boats.Boat.GPSposition createBoatConfigBoatsBoatGPSposition() {
|
||||||
|
return new BoatConfig.Boats.Boat.GPSposition();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:element name="BoatConfig">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Boats">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Boat" maxOccurs="unbounded">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="GPSposition" maxOccurs="1">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="X" type="xs:double" use="required"/>
|
||||||
|
<xs:attribute name="Y" type="xs:double" use="required"/>
|
||||||
|
<xs:attribute name="Z" type="xs:double" use="required"/>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="Type" type="xs:string" use="required"/>
|
||||||
|
<xs:attribute name="BoatName" type="xs:string" use="required"/>
|
||||||
|
<xs:attribute name="SourceID" type="xs:int" use="required"/>
|
||||||
|
<xs:attribute name="HullNum" type="xs:string"/>
|
||||||
|
<xs:attribute name="ShortName" type="xs:string"/>
|
||||||
|
<xs:attribute name="ShapeID" type="xs:int"/>
|
||||||
|
<xs:attribute name="StoweName" type="xs:string"/>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
|
|
||||||
Loading…
Reference in new issue