package com.kdcloud.server.entity; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.jdo.annotations.PersistenceCapable; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.xml.sax.SAXException; import com.google.appengine.api.datastore.Blob; @PersistenceCapable public class View extends Describable { Blob content; public void setContent(Blob content) { this.content = content; } public boolean setSpecification(Document dom) throws TransformerFactoryConfigurationError, TransformerException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); Transformer t = TransformerFactory.newInstance().newTransformer(); t.transform(new DOMSource(dom), new StreamResult(bos)); content = new Blob(bos.toByteArray()); return true; } public Document getSpecification() throws SAXException, IOException, ParserConfigurationException { ByteArrayInputStream is = new ByteArrayInputStream(content.getBytes()); return DocumentBuilderFactory.newInstance().newDocumentBuilder() .parse(is); } }