package com.buglabs.support;
import java.util.Iterator;
import java.util.Map;
import com.buglabs.util.xml.XmlNode;
public class SupportInfoXMLFormatter implements ISupportInfoFormatter {
public String getContentType() {
return "text/xml";
}
public String buildResponse(String description, String kernelVersion, String rootfsVersion, Map jvmProperties, Map bundleVersions) {
XmlNode responseXml = new XmlNode("support");
responseXml.addChild(new XmlNode("description", description));
responseXml.addChild(new XmlNode("kernel_version", kernelVersion));
responseXml.addChild(new XmlNode("rootfs_version", "<![CDATA[" + rootfsVersion + "]]>"));
// JVM Properties
XmlNode jvmPropertiesNode = responseXml.addChild(new XmlNode("jvm_properties"));
Iterator itr = jvmProperties.keySet().iterator();
String key;
XmlNode helper;
while (itr.hasNext()) {
key = (String) itr.next();
helper = jvmPropertiesNode.addChild(new XmlNode("property"));
helper.addAttribute("key", key);
helper.addAttribute("value", (String) jvmProperties.get(key));
}
// JVM Properties
XmlNode bundleVersionsNode = responseXml.addChild(new XmlNode("bundle_versions"));
itr = bundleVersions.keySet().iterator();
while (itr.hasNext()) {
key = (String) itr.next();
helper = bundleVersionsNode.addChild(new XmlNode("bundle"));
helper.addAttribute("name", key);
helper.addAttribute("version", (String) bundleVersions.get(key));
}
return responseXml.toString();
}
}