summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
19dda47)
https://git.opendaylight.org/gerrit/#/c/74209/ broke the DOMRpcRouter
for UTs that use the empty constructor. The mdsal DOMRpcRouter no longer
implements DOMRpcProviderService directly so the SchemaContext was not
getting set via onGlobalContextUpdated.
Change-Id: Ic9381742f43b05264724eb80eef41201a1285c2a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
private final org.opendaylight.mdsal.dom.api.DOMRpcService delegateRpcService;
private final org.opendaylight.mdsal.dom.api.DOMRpcProviderService delegateRpcProviderService;
private final org.opendaylight.mdsal.dom.api.DOMRpcService delegateRpcService;
private final org.opendaylight.mdsal.dom.api.DOMRpcProviderService delegateRpcProviderService;
+ // Note - this is only used for backward compatibility for UTs that use the empty constructor which creates
+ // a local mdsal DOMRpcRouter that needs to be updated with the SchemaContext. In production, the mdsal API
+ // services are passed via the constructor and are set up externally with the SchemaContext.
+ private final SchemaContextListener delegateSchemaContextListener;
+
@VisibleForTesting
public DOMRpcRouter() {
org.opendaylight.mdsal.dom.broker.DOMRpcRouter delegate = new org.opendaylight.mdsal.dom.broker.DOMRpcRouter();
this.delegateRpcService = delegate.getRpcService();
this.delegateRpcProviderService = delegate.getRpcProviderService();
@VisibleForTesting
public DOMRpcRouter() {
org.opendaylight.mdsal.dom.broker.DOMRpcRouter delegate = new org.opendaylight.mdsal.dom.broker.DOMRpcRouter();
this.delegateRpcService = delegate.getRpcService();
this.delegateRpcProviderService = delegate.getRpcProviderService();
+ this.delegateSchemaContextListener = delegate;
}
public DOMRpcRouter(final org.opendaylight.mdsal.dom.api.DOMRpcService delegateRpcService,
final org.opendaylight.mdsal.dom.api.DOMRpcProviderService delegateRpcProviderService) {
this.delegateRpcService = delegateRpcService;
this.delegateRpcProviderService = delegateRpcProviderService;
}
public DOMRpcRouter(final org.opendaylight.mdsal.dom.api.DOMRpcService delegateRpcService,
final org.opendaylight.mdsal.dom.api.DOMRpcProviderService delegateRpcProviderService) {
this.delegateRpcService = delegateRpcService;
this.delegateRpcProviderService = delegateRpcProviderService;
+ this.delegateSchemaContextListener = null;
@Override
@VisibleForTesting
public void onGlobalContextUpdated(final SchemaContext context) {
@Override
@VisibleForTesting
public void onGlobalContextUpdated(final SchemaContext context) {
- if (delegateRpcService instanceof SchemaContextListener) {
- ((SchemaContextListener)delegateRpcService).onGlobalContextUpdated(context);
+ if (delegateSchemaContextListener != null) {
+ delegateSchemaContextListener.onGlobalContextUpdated(context);