From: Ed Warnicke Date: Mon, 18 Aug 2014 15:20:04 +0000 (+0000) Subject: Merge "BUG-1541 Netconf device simulating testtool" X-Git-Tag: release/helium~274 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=b1f1f6b78db70178fe96f03d6acf1da096829932;hp=0b970c7a638654a815b67da82ae6163c36da9302 Merge "BUG-1541 Netconf device simulating testtool" --- diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/AbstractBrokerAwareActivator.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/AbstractBrokerAwareActivator.java index b62e4529f3..bd78c584ee 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/AbstractBrokerAwareActivator.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/AbstractBrokerAwareActivator.java @@ -39,14 +39,20 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator { @Override public void modifiedService(ServiceReference reference, BindingAwareBroker service) { - // TODO Auto-generated method stub - + removedService(reference, service); + addingService(reference); } @Override public void removedService(ServiceReference reference, BindingAwareBroker service) { - // TODO Auto-generated method stub + broker = context.getService(reference); + mdActivationPool.execute(new Runnable() { + @Override + public void run() { + onBrokerRemoved(broker, context); + } + }); } }; @@ -117,6 +123,6 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator { protected abstract void onBrokerAvailable(BindingAwareBroker broker, BundleContext context); protected void onBrokerRemoved(BindingAwareBroker broker, BundleContext context) { - + stopImpl(context); } } diff --git a/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java b/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java index 388c78eaaf..5832e29a13 100644 --- a/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java +++ b/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java @@ -76,9 +76,17 @@ public final class ToasterProviderModule extends dataChangeListenerRegistration.close(); rpcRegistration.close(); runtimeReg.close(); - opendaylightToaster.close(); + closeQuietly(opendaylightToaster); log.info("Toaster provider (instance {}) torn down.", this); } + + private void closeQuietly(final AutoCloseable resource) { + try { + resource.close(); + } catch (final Exception e) { + log.debug("Ignoring exception while closing {}", resource, e); + } + } } AutoCloseable ret = new AutoCloseableToaster(); diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java index 4c4ff2fc58..6604834fe4 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/SendErrorExceptionUtil.java @@ -59,12 +59,12 @@ public final class SendErrorExceptionUtil { final NetconfDocumentedException sendErrorException) { try { final Element incommingRpc = incommingDocument.getDocumentElement(); - Preconditions.checkState(incommingRpc.getTagName().equals(XmlNetconfConstants.RPC_KEY), "Missing " - + XmlNetconfConstants.RPC_KEY + " " + "element"); + Preconditions.checkState(incommingRpc.getTagName().equals(XmlNetconfConstants.RPC_KEY), "Missing %s element", + XmlNetconfConstants.RPC_KEY); final Element rpcReply = errorDocument.getDocumentElement(); - Preconditions.checkState(rpcReply.getTagName().equals(XmlNetconfConstants.RPC_REPLY_KEY), "Missing " - + XmlNetconfConstants.RPC_REPLY_KEY + " element"); + Preconditions.checkState(rpcReply.getTagName().equals(XmlNetconfConstants.RPC_REPLY_KEY), "Missing %s element", + XmlNetconfConstants.RPC_REPLY_KEY); final NamedNodeMap incomingAttributes = incommingRpc.getAttributes(); for (int i = 0; i < incomingAttributes.getLength(); i++) { @@ -97,7 +97,7 @@ public final class SendErrorExceptionUtil { @Override public void operationComplete(final ChannelFuture channelFuture) throws Exception { - Preconditions.checkState(channelFuture.isSuccess(), "Unable to send exception {}", sendErrorException, + Preconditions.checkState(channelFuture.isSuccess(), "Unable to send exception %s", sendErrorException, channelFuture.cause()); } }