|
From: <sa...@us...> - 2004-02-26 13:31:42
|
Update of /cvsroot/jrobin/src/org/jrobin/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22676/org/jrobin/core Modified Files: RrdDef.java RrdDefTemplate.java Util.java XmlTemplate.java XmlWriter.java Log Message: exportXmlTemplate added to RrdDef class Index: RrdDef.java =================================================================== RCS file: /cvsroot/jrobin/src/org/jrobin/core/RrdDef.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** RrdDef.java 26 Feb 2004 10:33:29 -0000 1.7 --- RrdDef.java 26 Feb 2004 13:15:54 -0000 1.8 *************** *** 29,32 **** --- 29,33 ---- import java.util.Date; import java.util.GregorianCalendar; + import java.io.*; /** *************** *** 354,356 **** --- 355,414 ---- throw new RrdException("Could not find archive " + consolFun + "/" + steps); } + + /** + * Exports RrdDef object to output stream in XML format. Generated XML code can be parsed + * with {@link RrdDefTemplate} class. + * @param out Output stream + */ + public void exportXmlTemplate(OutputStream out) { + XmlWriter xml = new XmlWriter(out); + xml.startTag("rrd_def"); + xml.writeTag("path", getPath()); + xml.writeTag("step", getStep()); + xml.writeTag("start", getStartTime()); + // datasources + DsDef[] dsDefs = getDsDefs(); + for(int i = 0; i < dsDefs.length; i++) { + xml.startTag("datasource"); + xml.writeTag("name", dsDefs[i].getDsName()); + xml.writeTag("type", dsDefs[i].getDsType()); + xml.writeTag("heartbeat", dsDefs[i].getHeartbeat()); + xml.writeTag("min", dsDefs[i].getMinValue(), "U"); + xml.writeTag("max", dsDefs[i].getMaxValue(), "U"); + xml.closeTag(); // datasource + } + ArcDef[] arcDefs = getArcDefs(); + for(int i = 0; i < arcDefs.length; i++) { + xml.startTag("archive"); + xml.writeTag("cf", arcDefs[i].getConsolFun()); + xml.writeTag("xff", arcDefs[i].getXff()); + xml.writeTag("steps", arcDefs[i].getSteps()); + xml.writeTag("rows", arcDefs[i].getRows()); + xml.closeTag(); // archive + } + xml.closeTag(); // rrd_def + xml.finish(); + } + + /** + * Exports RrdDef object to string in XML format. Generated XML string can be parsed + * with {@link RrdDefTemplate} class. + * @return XML formatted string representing this RrdDef object + */ + public String exportXmlTemplate() { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + exportXmlTemplate(out); + return out.toString(); + } + + /** + * Exports RrdDef object to a file in XML format. Generated XML code can be parsed + * with {@link RrdDefTemplate} class. + * @param filePath Path to the file + */ + public void exportXmlTemplate(String filePath) throws IOException { + FileOutputStream out = new FileOutputStream(filePath, false); + exportXmlTemplate(out); + out.close(); + } } Index: RrdDefTemplate.java =================================================================== RCS file: /cvsroot/jrobin/src/org/jrobin/core/RrdDefTemplate.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RrdDefTemplate.java 26 Feb 2004 10:33:29 -0000 1.3 --- RrdDefTemplate.java 26 Feb 2004 13:15:54 -0000 1.4 *************** *** 228,254 **** return rrdDef; } - - /* - public static void main(String[] args) throws RrdException, IOException { - File f = new File("work/test.xml"); - RrdDefTemplate t = new RrdDefTemplate(f); - - t.setVariable("path", "work/test1.rrd"); - t.setVariable("start", new GregorianCalendar(2004, 2, 12, 12, 23, 34)); - t.setVariable("step", 310); - t.setVariable("hb", 123); - - RrdDef def = t.getRrdDef(); - System.out.println(def.dump()); - - t.setVariable("path", "work/test2.rrd"); - t.setVariable("step", 320); - t.setVariable("hb", 321); - t.setVariable("start", new GregorianCalendar()); - - RrdDef def2 = t.getRrdDef(); - System.out.println(def2.dump()); - - } - */ } --- 228,230 ---- Index: Util.java =================================================================== RCS file: /cvsroot/jrobin/src/org/jrobin/core/Util.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Util.java 26 Feb 2004 10:33:29 -0000 1.11 --- Util.java 26 Feb 2004 13:15:54 -0000 1.12 *************** *** 363,367 **** static String getValue(Node node) { ! return node.getFirstChild().getNodeValue().trim(); } --- 363,375 ---- static String getValue(Node node) { ! String value = null; ! Node child = node.getFirstChild(); ! if(child != null) { ! value = child.getNodeValue(); ! if(value != null) { ! value = value.trim(); ! } ! } ! return value; } Index: XmlTemplate.java =================================================================== RCS file: /cvsroot/jrobin/src/org/jrobin/core/XmlTemplate.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** XmlTemplate.java 26 Feb 2004 10:33:29 -0000 1.3 --- XmlTemplate.java 26 Feb 2004 13:15:54 -0000 1.4 *************** *** 184,188 **** private String resolveMappings(String value) { ! if(value.startsWith("${") && value.endsWith("}")) { // template variable found, remove leading "${" and trailing "}" String var = value.substring(2, value.length() - 1); --- 184,188 ---- private String resolveMappings(String value) { ! if(value != null && value.startsWith("${") && value.endsWith("}")) { // template variable found, remove leading "${" and trailing "}" String var = value.substring(2, value.length() - 1); Index: XmlWriter.java =================================================================== RCS file: /cvsroot/jrobin/src/org/jrobin/core/XmlWriter.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** XmlWriter.java 13 Nov 2003 11:45:35 -0000 1.3 --- XmlWriter.java 26 Feb 2004 13:15:54 -0000 1.4 *************** *** 54,58 **** void writeTag(String tag, Object value) { ! writer.println(indent + "<" + tag + ">" + value + "</" + tag + ">"); } --- 54,63 ---- void writeTag(String tag, Object value) { ! if(value != null) { ! writer.println(indent + "<" + tag + ">" + value + "</" + tag + ">"); ! } ! else { ! writer.println(indent + "<" + tag + "></" + tag + ">"); ! } } |