X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Futil%2Fmessages%2FNetconfMessageFactory.java;h=6f86cc37f92bcb6ba93c352e6475e72935df2730;hp=526708ab580238e34ba26a1c70a1d89289571ca6;hb=08495e8ad9c7c7b410f4c8976df5643336d5dd7f;hpb=ad65bbdb5841a166f37b6cbaa6d5c457c5c77f27 diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageFactory.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageFactory.java index 526708ab58..6f86cc37f9 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageFactory.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageFactory.java @@ -20,7 +20,6 @@ import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.opendaylight.protocol.framework.DeserializerException; import org.opendaylight.protocol.framework.DocumentedException; import org.opendaylight.protocol.framework.ProtocolMessageFactory; -import org.opendaylight.protocol.util.ByteArray; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Comment; @@ -29,7 +28,7 @@ import org.xml.sax.SAXException; import com.google.common.base.Charsets; import com.google.common.base.Optional; -import com.google.common.collect.Lists; +import com.google.common.collect.ImmutableList; /** * NetconfMessageFactory for (de)serializing DOM documents. @@ -37,6 +36,10 @@ import com.google.common.collect.Lists; public final class NetconfMessageFactory implements ProtocolMessageFactory { private static final Logger logger = LoggerFactory.getLogger(NetconfMessageFactory.class); + private static final List POSSIBLE_STARTS = ImmutableList.of( + "[".getBytes(Charsets.UTF_8), "\r\n[".getBytes(Charsets.UTF_8), "\n[".getBytes(Charsets.UTF_8)); + private static final List POSSIBLE_ENDS = ImmutableList.of( + "]\n".getBytes(Charsets.UTF_8), "]\r\n".getBytes(Charsets.UTF_8)); private final Optional clientId; @@ -73,9 +76,34 @@ public final class NetconfMessageFactory implements ProtocolMessageFactory possibleStarts = Lists.newArrayList("[", "\r\n[", "\n["); - for (String possibleStart : possibleStarts) { + for (byte[] possibleStart : POSSIBLE_STARTS) { int i = 0; - for (byte b : possibleStart.getBytes(Charsets.UTF_8)) { - if(bytes[i]!=b) + for (byte b : possibleStart) { + if(bytes[i] != b) break; return true;