From: Tony Tkacik Date: Fri, 5 Dec 2014 11:22:17 +0000 (+0000) Subject: Merge changes I07a18f32,I8a1a0129 X-Git-Tag: release/lithium~796 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=f0b50462712d28bc62736c90ea3c78c26d8edb1f;hp=0c95d90e91f5a6a07d744b97dcc226c70a22c366;p=controller.git Merge changes I07a18f32,I8a1a0129 * changes: Implement NetconfMessage.toString() Cleanup message logging in netconf handlers --- diff --git a/opendaylight/adsal/commons/integrationtest/pom.xml b/opendaylight/adsal/commons/integrationtest/pom.xml index 1701964bf1..e4d795d563 100644 --- a/opendaylight/adsal/commons/integrationtest/pom.xml +++ b/opendaylight/adsal/commons/integrationtest/pom.xml @@ -122,7 +122,6 @@ org.ops4j.pax.exam maven-paxexam-plugin - 1.2.4 generate-config diff --git a/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSessionNegotiatorFactory.java b/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSessionNegotiatorFactory.java index 7efb28b467..ac13729d88 100644 --- a/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSessionNegotiatorFactory.java +++ b/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSessionNegotiatorFactory.java @@ -10,10 +10,11 @@ package org.opendaylight.controller.netconf.client; import com.google.common.base.Optional; import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; +import com.google.common.collect.ImmutableSet; import io.netty.channel.Channel; import io.netty.util.Timer; import io.netty.util.concurrent.Promise; +import java.util.Set; import org.opendaylight.controller.netconf.api.NetconfClientSessionPreferences; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.api.NetconfMessage; @@ -32,28 +33,43 @@ import org.slf4j.LoggerFactory; public class NetconfClientSessionNegotiatorFactory implements SessionNegotiatorFactory { - public static final java.util.Set CLIENT_CAPABILITIES = Sets.newHashSet( + public static final Set CLIENT_CAPABILITIES = ImmutableSet.of( XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_BASE_1_0, XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_BASE_1_1, XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_CAPABILITY_EXI_1_0); + private static final Logger LOG = LoggerFactory.getLogger(NetconfClientSessionNegotiatorFactory.class); private static final String START_EXI_MESSAGE_ID = "default-start-exi"; + private static final EXIOptions DEFAULT_OPTIONS; private final Optional additionalHeader; private final long connectionTimeoutMillis; private final Timer timer; private final EXIOptions options; - private static final Logger LOG = LoggerFactory.getLogger(NetconfClientSessionNegotiatorFactory.class); - public NetconfClientSessionNegotiatorFactory(Timer timer, - Optional additionalHeader, - long connectionTimeoutMillis) { + static { + final EXIOptions opts = new EXIOptions(); + try { + opts.setPreserveDTD(true); + opts.setPreserveNS(true); + opts.setPreserveLexicalValues(true); + opts.setAlignmentType(AlignmentType.byteAligned); + } catch (EXIOptionsException e) { + throw new ExceptionInInitializerError(e); + } + + DEFAULT_OPTIONS = opts; + } + + public NetconfClientSessionNegotiatorFactory(final Timer timer, + final Optional additionalHeader, + final long connectionTimeoutMillis) { this(timer, additionalHeader, connectionTimeoutMillis, DEFAULT_OPTIONS); } - public NetconfClientSessionNegotiatorFactory(Timer timer, - Optional additionalHeader, - long connectionTimeoutMillis, EXIOptions exiOptions) { + public NetconfClientSessionNegotiatorFactory(final Timer timer, + final Optional additionalHeader, + final long connectionTimeoutMillis, final EXIOptions exiOptions) { this.timer = Preconditions.checkNotNull(timer); this.additionalHeader = additionalHeader; this.connectionTimeoutMillis = connectionTimeoutMillis; @@ -61,9 +77,9 @@ public class NetconfClientSessionNegotiatorFactory implements SessionNegotiatorF } @Override - public SessionNegotiator getSessionNegotiator(SessionListenerFactory sessionListenerFactory, - Channel channel, - Promise promise) { + public SessionNegotiator getSessionNegotiator(final SessionListenerFactory sessionListenerFactory, + final Channel channel, + final Promise promise) { NetconfMessage startExiMessage = NetconfStartExiMessage.create(options, START_EXI_MESSAGE_ID); NetconfHelloMessage helloMessage = null; @@ -78,17 +94,4 @@ public class NetconfClientSessionNegotiatorFactory implements SessionNegotiatorF return new NetconfClientSessionNegotiator(proposal, promise, channel, timer, sessionListenerFactory.getSessionListener(),connectionTimeoutMillis); } - - private static final EXIOptions DEFAULT_OPTIONS = new EXIOptions(); - static { - try { - DEFAULT_OPTIONS.setPreserveDTD(true); - DEFAULT_OPTIONS.setPreserveNS(true); - DEFAULT_OPTIONS.setPreserveLexicalValues(true); - DEFAULT_OPTIONS.setAlignmentType(AlignmentType.preCompress); - } catch (EXIOptionsException e) { - // Should not happen since DEFAULT_OPTIONS are still the same - throw new IllegalStateException("Unable to create EXI DEFAULT_OPTIONS"); - } - } } diff --git a/opendaylight/netconf/netconf-it/pom.xml b/opendaylight/netconf/netconf-it/pom.xml index b2c5c4c8f7..7218ac7872 100644 --- a/opendaylight/netconf/netconf-it/pom.xml +++ b/opendaylight/netconf/netconf-it/pom.xml @@ -145,21 +145,4 @@ test - - - - - org.ops4j.pax.exam - maven-paxexam-plugin - - - generate-config - - generate-depends-file - - - - - - diff --git a/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java b/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java index 45f02af789..e80e3f82b1 100644 --- a/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java +++ b/opendaylight/netconf/netconf-monitoring/src/main/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializer.java @@ -16,12 +16,20 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; public class JaxBSerializer { + private static final JAXBContext JAXB_CONTEXT; + + static { + try { + JAXB_CONTEXT = JAXBContext.newInstance(NetconfState.class); + } catch (JAXBException e) { + throw new ExceptionInInitializerError(e); + } + } public Element toXml(final NetconfState monitoringModel) { final DOMResult res; try { - final JAXBContext jaxbContext = JAXBContext.newInstance(NetconfState.class); - final Marshaller marshaller = jaxbContext.createMarshaller(); + final Marshaller marshaller = JAXB_CONTEXT.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);