Package org.ulti.dev.powermeter.util

Source Code of org.ulti.dev.powermeter.util.XMLTools

/*
* Created on 22-Oct-2003 by rtholmes
*
*/
package org.ulti.dev.powermeter.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;

import org.apache.log4j.Logger;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
* @author rtholmes
*
*/
public class XMLTools {

  private static Logger _log = Logger.getLogger(XMLTools.class);

  public static String STANDARD_DATE_FORMAT = "yyyy-MM-dd_HH-mm-ss";

  public static boolean writeXMLDocument(Document doc, String fName) {
    // Assert.assertNotNull(doc);
    if (doc == null)
      _log.error("null document");
    else {
      try {
        final long start = System.currentTimeMillis();
        FileOutputStream fos = new FileOutputStream(fName);
        try {
          XMLOutputter outputter = new XMLOutputter();
          outputter.setFormat(Format.getPrettyFormat());
          outputter.output(doc, fos);
          return true;
        } catch (IOException ioe) {
          _log.error(ioe);
        }
        _log.trace("Document written to " + fName);// + " in: " + TimeUtility.msToHumanReadableDelta(start));
      } catch (FileNotFoundException fnfe) {
        _log.error(fnfe);
      }
    }
    return false;
  }

  public static Document readXMLDocument(String fName) {

    SAXBuilder builder = new SAXBuilder(false);
    Document doc = null;

    try {

      doc = builder.build(new File(fName));

    } catch (JDOMException jdome) {
      _log.error(jdome);
    } catch (IOException ioe) {
      _log.error(ioe);
    }

    return doc;
  }

  public static Document readXMLDocument(URI fName) {

    SAXBuilder builder = new SAXBuilder(false);
    Document doc = null;

    try {

      doc = builder.build(new File(fName));

    } catch (JDOMException jdome) {
      _log.error(jdome);
    } catch (IOException ioe) {
      _log.error(ioe);
    }
    return doc;
  }

  // public static String writeXMLDocument(Document d) {
  // String outString = "";
  // try {
  //
  // if (d != null) {
  // Writer writer = new StringWriter();
  // OutputFormat format = new OutputFormat(d);
  // format.setIndenting(true);
  // // format.setLineSeparator("&line");
  // // format.setLineSeparator("\r\n");
  // // format.setPreserveSpace(true);
  // XMLSerializer serializer = new XMLSerializer(writer, format);
  // // serializer.s
  // serializer.asDOMSerializer();
  // serializer.serialize(d.getDocumentElement());
  // writer.flush();
  // outString = writer.toString();
  // writer.close();
  // }
  // } catch (IOException e) {
  // _log.error(e.getMessage());
  // }
  //
  // return outString;
  // }

  public static Document newXMLDocument() {

    // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    // DocumentBuilder builder = null;
    //
    // try {
    // // factory.setIgnoringElementContentWhitespace(true);
    // builder = factory.newDocumentBuilder();
    //
    // } catch (ParserConfigurationException e) {
    // _log.error(e.getMessage());
    // }
    //
    // return builder.newDocument();
    //
    return new Document();
  }

  /**
   * @param string
   * @return
   */
  public static Document newXMLErrorDocument(String errorString) {
    // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    // DocumentBuilder builder = null;
    //
    // try {
    // // factory.setIgnoringElementContentWhitespace(true);
    // builder = factory.newDocumentBuilder();
    //
    // } catch (ParserConfigurationException e) {
    // _log.error(e.getMessage());
    // }
    //
    // Document doc = builder.newDocument();
    Document d = new Document();

    Element e = new Element("error");
    e.setAttribute("target", errorString);
    d.addContent(e);

    return d;
  }

  private static XMLOutputter _xmlo = new XMLOutputter();

  public static String makeString(Element element) {
    return _xmlo.outputString(element);
  }
}
TOP

Related Classes of org.ulti.dev.powermeter.util.XMLTools

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.