From: Tony Tkacik Date: Mon, 7 Apr 2014 10:31:55 +0000 (+0200) Subject: Bug 509: Fixed order of invoking Schema listeners. X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~261^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=9c865a09dee294d1ef8ea25613e5cbd077304a05;ds=sidebyside Bug 509: Fixed order of invoking Schema listeners. Explicitly registered SchemaServiceListeners are invoked before listeners picked-up by whiteboard pattern, which by default are not aware of the service. Change-Id: Id41b89a1ba2ccb5323d5ab5ad8a95d2048776679 Signed-off-by: Tony Tkacik --- diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java index a60a30d256..dab8fd5cd1 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java @@ -135,6 +135,13 @@ public class GlobalBundleScanningSchemaServiceImpl implements // private void updateContext(final SchemaContext snapshot) { Object[] services = listenerTracker.getServices(); + for (ListenerRegistration listener : listeners) { + try { + listener.getInstance().onGlobalContextUpdated(snapshot); + } catch (Exception e) { + logger.error("Exception occured during invoking listener", e); + } + } if (services != null) { for (Object rawListener : services) { SchemaServiceListener listener = (SchemaServiceListener) rawListener; @@ -145,13 +152,6 @@ public class GlobalBundleScanningSchemaServiceImpl implements // } } } - for (ListenerRegistration listener : listeners) { - try { - listener.getInstance().onGlobalContextUpdated(snapshot); - } catch (Exception e) { - logger.error("Exception occured during invoking listener", e); - } - } } private class BundleScanner implements BundleTrackerCustomizer>> {