From c3b1cbc39f510c917b1a63ff486e7adcb809db08 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Thu, 27 Feb 2014 12:29:37 -0800 Subject: [PATCH] PRoduces xml stream from a document --- .../api/util/DocumentContentProducer.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/org/rundeck/api/util/DocumentContentProducer.java diff --git a/src/main/java/org/rundeck/api/util/DocumentContentProducer.java b/src/main/java/org/rundeck/api/util/DocumentContentProducer.java new file mode 100644 index 0000000..ace7840 --- /dev/null +++ b/src/main/java/org/rundeck/api/util/DocumentContentProducer.java @@ -0,0 +1,38 @@ +package org.rundeck.api.util; + +import org.apache.http.entity.ContentProducer; +import org.dom4j.Document; +import org.dom4j.io.OutputFormat; +import org.dom4j.io.XMLWriter; + +import java.io.IOException; +import java.io.OutputStream; + +/** + * DocumentContentProducer writes XML document to a stream + * + * @author greg + * @since 2014-02-27 + */ +public class DocumentContentProducer implements ContentProducer { + Document document; + private OutputFormat format; + + public DocumentContentProducer(final Document document, final OutputFormat format) { + this.document = document; + this.format = format; + } + + public DocumentContentProducer(final Document document) { + this.document = document; + format = new OutputFormat("", false, "UTF-8"); + } + + @Override + public void writeTo(final OutputStream outstream) throws IOException { + + final XMLWriter xmlWriter = new XMLWriter(outstream, format); + xmlWriter.write(document); + xmlWriter.flush(); + } +}