use of org.whole.lang.xml.codebase.XmlPrettyPrinterBuilderOperation in project whole by wholeplatform.
the class AbstractXsiPersistenceKit method doWriteModel.
@Override
protected void doWriteModel(IEntity model, IPersistenceProvider pp) throws Exception {
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(pp.getOutputStream(), pp.getEncoding()));
XmlPrettyPrinterBuilderOperation op = new XmlPrettyPrinterBuilderOperation(printWriter);
ITemplate template = getXsiModelTemplate(model, pp.getEncoding());
template.apply(op);
printWriter.flush();
}
use of org.whole.lang.xml.codebase.XmlPrettyPrinterBuilderOperation in project whole by wholeplatform.
the class XmlPrettyPrinterBuilderTest method comparePrettyPrints.
private void comparePrettyPrints(String filename) throws Exception {
IEntity model = XmlSourcePersistenceKit.instance().readModel(new StreamPersistenceProvider(getClass().getResourceAsStream(filename)));
StringWriter stringWriter = new StringWriter();
XmlPrettyPrinterBuilderOperation xppbop = new XmlPrettyPrinterBuilderOperation(new PrintWriter(stringWriter, true));
new ModelTemplate(model).apply(new XmlGenericBuilderAdapter((IXmlBuilder) xppbop.wGetBuilder(XmlLanguageKit.URI)));
assertEquals(toPrettyPrintString(model), stringWriter.toString());
}
use of org.whole.lang.xml.codebase.XmlPrettyPrinterBuilderOperation in project whole by wholeplatform.
the class XmlPrettyPrinterBuilderTest method _testPerformance.
public void _testPerformance() {
IEntity model = new BPELModel().create();
PrintStream nullPrintStream = new PrintStream(new OutputStream() {
@Override
public void write(int b) throws IOException {
// do nothing
}
});
try {
long timestamp = new Date().getTime();
for (int i = 0; i < 1000; i++) {
XmlPrettyPrinterBuilderOperation op = new XmlPrettyPrinterBuilderOperation(new PrintWriter(nullPrintStream));
XmlStoreProducerBuilderOperation xmlOp = new XmlStoreProducerBuilderOperation(op);
((XmlStoreProducerBuilder) xmlOp.wGetBuilder()).buildStartDocument();
new ModelTemplate(model).apply(xmlOp);
((XmlStoreProducerBuilder) xmlOp.wGetBuilder()).buildEndDocument();
}
long timediff = new Date().getTime() - timestamp;
System.out.println("PrettyPrinterBuilder elapsed time: " + timediff + "ms");
timestamp = new Date().getTime();
for (int i = 0; i < 1000; i++) XmlBuilderPersistenceKit.instance().writeModel(model, new StreamPersistenceProvider(nullPrintStream));
timediff = new Date().getTime() - timestamp;
System.out.println("PrettyPrinterVisitor elapsed time: " + timediff + "ms");
} catch (Exception e) {
fail();
}
}
Aggregations