package net.sourceforge.cruisecontrol.util; import net.sourceforge.cruisecontrol.BuildLoopInformation; import net.sourceforge.cruisecontrol.Modification; import net.sourceforge.cruisecontrol.BuildLoopInformation.ProjectInfo; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.XppDriver; public class BuildInformationHelper { private XStream xStream; public void init() { if (xStream == null) { xStream = new XStream(new XppDriver()); xStream.alias("buildloop", BuildLoopInformation.class); xStream.alias("project", ProjectInfo.class); xStream.alias("modification", Modification.class); xStream.aliasField("username", Modification.class, "userName"); xStream.omitField(BuildLoopInformation.class, "controller"); xStream.omitField(BuildLoopInformation.class, "xstream"); } } public String toXml(BuildLoopInformation buildinfo) { init(); return xStream.toXML(buildinfo); } public BuildLoopInformation toObject(String xml) { init(); return (BuildLoopInformation) xStream.fromXML(xml); } }