use of nl.nn.adapterframework.stream.xml.XmlTee in project iaf by ibissource.
the class MessageOutputStream method captureBinaryStream.
@SuppressWarnings("resource")
public void captureBinaryStream(OutputStream outputStream, int maxSize) {
log.debug("creating capture of " + ClassUtils.nameOf(requestStream));
closeOnClose(outputStream);
if (requestStream instanceof OutputStream) {
requestStream = StreamUtil.captureOutputStream((OutputStream) requestStream, outputStream, maxSize);
return;
}
if (requestStream instanceof ContentHandler) {
requestStream = new XmlTee((ContentHandler) requestStream, new PrettyPrintFilter(new XmlWriter(StreamUtil.limitSize(outputStream, maxSize))));
return;
}
if (requestStream instanceof JsonEventHandler) {
requestStream = new JsonTee((JsonEventHandler) requestStream, new JsonWriter(StreamUtil.limitSize(outputStream, maxSize)));
return;
}
if (requestStream instanceof Writer) {
requestStream = StreamUtil.captureWriter((Writer) requestStream, new OutputStreamWriter(outputStream, StreamUtil.DEFAULT_CHARSET), maxSize);
return;
}
log.warn("captureBinaryStream() called before stream is installed.");
}
use of nl.nn.adapterframework.stream.xml.XmlTee in project iaf by ibissource.
the class MessageOutputStream method captureCharacterStream.
@SuppressWarnings("resource")
public void captureCharacterStream(Writer writer, int maxSize) {
log.debug("creating capture of " + ClassUtils.nameOf(requestStream));
closeOnClose(writer);
if (requestStream instanceof Writer) {
requestStream = StreamUtil.captureWriter((Writer) requestStream, writer, maxSize);
return;
}
if (requestStream instanceof ContentHandler) {
requestStream = new XmlTee((ContentHandler) requestStream, new PrettyPrintFilter(new XmlWriter(StreamUtil.limitSize(writer, maxSize))));
return;
}
if (requestStream instanceof JsonEventHandler) {
requestStream = new JsonTee((JsonEventHandler) requestStream, new JsonWriter(StreamUtil.limitSize(writer, maxSize)));
return;
}
if (requestStream instanceof OutputStream) {
requestStream = StreamUtil.captureOutputStream((OutputStream) requestStream, new WriterOutputStream(writer, StreamUtil.DEFAULT_CHARSET), maxSize);
return;
}
log.warn("captureCharacterStream() called before stream is installed.");
}
use of nl.nn.adapterframework.stream.xml.XmlTee in project iaf by ibissource.
the class ConfigurationDigester method parseAndResolveEntitiesAndProperties.
/**
* Performs an Identity-transform, which resolves entities with content from files found on the ClassPath.
* Resolve all non-attribute properties
*/
public void parseAndResolveEntitiesAndProperties(ContentHandler digester, Configuration configuration, Resource resource, Properties appConstants) throws IOException, SAXException, TransformerConfigurationException {
ContentHandler handler;
XmlWriter loadedHiddenWriter = new XmlWriter();
handler = new PrettyPrintFilter(loadedHiddenWriter);
handler = new AttributePropertyResolver(handler, appConstants, getPropsToHide(appConstants));
handler = new XmlTee(digester, handler);
handler = getStub4TesttoolContentHandler(handler, appConstants);
handler = getConfigurationCanonicalizer(handler);
handler = new OnlyActiveFilter(handler, appConstants);
handler = new ElementPropertyResolver(handler, appConstants);
XmlWriter originalConfigWriter = new XmlWriter();
handler = new XmlTee(handler, originalConfigWriter);
XmlUtils.parseXml(resource, handler);
configuration.setOriginalConfiguration(originalConfigWriter.toString());
configuration.setLoadedConfiguration(loadedHiddenWriter.toString());
}
use of nl.nn.adapterframework.stream.xml.XmlTee in project iaf by ibissource.
the class IbisDebuggerAdvice method inspectXml.
@Override
public ContentHandler inspectXml(PipeLineSession session, String label, ContentHandler contentHandler) {
if (!isEnabled()) {
return contentHandler;
}
String correlationId = session == null ? null : session.getMessageId();
WriterPlaceHolder writerPlaceHolder = ibisDebugger.showValue(correlationId, label, new WriterPlaceHolder());
if (writerPlaceHolder != null && writerPlaceHolder.getWriter() != null) {
Writer writer = writerPlaceHolder.getWriter();
session.scheduleCloseOnSessionExit(writer, "debugger for inspectXml labeled [" + label + "]");
XmlWriter xmlWriter = new XmlWriter(StreamUtil.limitSize(writer, writerPlaceHolder.getSizeLimit()), true);
contentHandler = new XmlTee(contentHandler, new PrettyPrintFilter(xmlWriter));
}
return contentHandler;
}
Aggregations