Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Remove netconf from commons/opendaylight pom
[controller.git]
/
opendaylight
/
netconf
/
netconf-netty-util
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
netconf
/
nettyutil
/
handler
/
NetconfMessageToXMLEncoder.java
diff --git
a/opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/handler/NetconfMessageToXMLEncoder.java
b/opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/handler/NetconfMessageToXMLEncoder.java
index d109e2df4a9a1f7501f6e96a308514b41061617c..cf6dbb63b6364e1852070cf8255d54b576c4c02d 100644
(file)
--- a/
opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/handler/NetconfMessageToXMLEncoder.java
+++ b/
opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/handler/NetconfMessageToXMLEncoder.java
@@
-13,14
+13,10
@@
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufOutputStream;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;
import io.netty.buffer.ByteBufOutputStream;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;
-import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.opendaylight.controller.netconf.api.NetconfMessage;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.opendaylight.controller.netconf.api.NetconfMessage;
@@
-30,7
+26,6
@@
import org.w3c.dom.Comment;
public class NetconfMessageToXMLEncoder extends MessageToByteEncoder<NetconfMessage> {
private static final Logger LOG = LoggerFactory.getLogger(NetconfMessageToXMLEncoder.class);
public class NetconfMessageToXMLEncoder extends MessageToByteEncoder<NetconfMessage> {
private static final Logger LOG = LoggerFactory.getLogger(NetconfMessageToXMLEncoder.class);
- private static final TransformerFactory FACTORY = TransformerFactory.newInstance();
private final Optional<String> clientId;
private final Optional<String> clientId;
@@
-38,13
+33,13
@@
public class NetconfMessageToXMLEncoder extends MessageToByteEncoder<NetconfMess
this(Optional.<String>absent());
}
this(Optional.<String>absent());
}
- public NetconfMessageToXMLEncoder(Optional<String> clientId) {
+ public NetconfMessageToXMLEncoder(
final
Optional<String> clientId) {
this.clientId = clientId;
}
@Override
@VisibleForTesting
this.clientId = clientId;
}
@Override
@VisibleForTesting
- public void encode(
ChannelHandlerContext ctx, NetconfMessage msg,
ByteBuf out) throws IOException, TransformerException {
+ public void encode(
final ChannelHandlerContext ctx, final NetconfMessage msg, final
ByteBuf out) throws IOException, TransformerException {
LOG.trace("Sent to encode : {}", msg);
if (clientId.isPresent()) {
LOG.trace("Sent to encode : {}", msg);
if (clientId.isPresent()) {
@@
-53,14
+48,13
@@
public class NetconfMessageToXMLEncoder extends MessageToByteEncoder<NetconfMess
}
try (OutputStream os = new ByteBufOutputStream(out)) {
}
try (OutputStream os = new ByteBufOutputStream(out)) {
- Transformer transformer = FACTORY.newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-
// Wrap OutputStreamWriter with BufferedWriter as suggested in javadoc for OutputStreamWriter
// Wrap OutputStreamWriter with BufferedWriter as suggested in javadoc for OutputStreamWriter
- StreamResult result = new StreamResult(new BufferedWriter(new OutputStreamWriter(os)));
+
+ // Using custom BufferedWriter that does not provide newLine method as performance improvement
+ // see javadoc for org.opendaylight.controller.netconf.nettyutil.handler.BufferedWriter
+ StreamResult result = new StreamResult(new org.opendaylight.controller.netconf.nettyutil.handler.BufferedWriter(new OutputStreamWriter(os)));
DOMSource source = new DOMSource(msg.getDocument());
DOMSource source = new DOMSource(msg.getDocument());
-
transformer
.transform(source, result);
+
ThreadLocalTransformers.getPrettyTransformer()
.transform(source, result);
}
}
}
}
}
}