use of org.activityinfo.server.endpoint.kml.xml.XmlBuilder in project activityinfo by bedatadriven.
the class KmlDataServlet method writeDocument.
protected void writeDocument(PrintWriter out, int activityId) throws SAXException, TransformerConfigurationException {
XmlBuilder xml = new XmlBuilder(new StreamResult(out));
List<SiteDTO> sites = querySites(activityId);
xml.startDocument();
KMLNamespace kml = new KMLNamespace(xml);
kml.startKml();
ActivityFormDTO activity = dispatcher.execute(new GetActivityForm(activityId));
kml.startDocument();
kml.startStyle().at("id", "noDirectionsStyle");
kml.startBalloonStyle();
kml.text("$[description]");
xml.close();
xml.close();
for (SiteDTO pm : sites) {
if (pm.hasLatLong()) {
kml.startPlaceMark();
kml.styleUrl("#noDirectionsStyle");
kml.name(pm.getLocationName());
kml.startSnippet();
xml.cdata(renderSnippet(activity, pm));
// Snippet
xml.close();
kml.startDescription();
xml.cdata(renderDescription(activity, pm));
// Description
xml.close();
kml.startTimeSpan();
if (pm.getDate1() != null) {
kml.begin(pm.getDate1().atMidnightInMyTimezone());
kml.end(pm.getDate2().atMidnightInMyTimezone());
// Timespan
xml.close();
}
kml.startPoint();
kml.coordinates(pm.getLongitude(), pm.getLatitude());
// Point
xml.close();
// Placemark
xml.close();
}
}
// Document
xml.close();
// kml
xml.close();
xml.endDocument();
}
Aggregations