iosxe:ios-xe-provider-impl
</type>
<name>ios-xe-provider-impl</name>
-
- <data-broker>
- <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
- <name>binding-data-broker</name>
- </data-broker>
-
- <broker>
- <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-broker-osgi-registry</type>
- <name>binding-osgi-broker</name>
- </broker>
-
- <policy-validator-registry>
- <type xmlns:gbp="urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy">gbp:policy-validator-registry</type>
- <name>policy-validator-registry</name>
- </policy-validator-registry>
</module>
</modules>
</data>
--- /dev/null
+/*
+ * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.config;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
+import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.IosXeRendererProviderImpl;
+
+public class IosXeProviderInstance implements AutoCloseable{
+
+ private IosXeRendererProviderImpl renderer;
+
+ public IosXeProviderInstance(DataBroker dataBroker, BindingAwareBroker broker) {
+ renderer = new IosXeRendererProviderImpl(dataBroker, broker);
+ }
+
+ @Override
+ public void close() throws Exception {
+ renderer.close();
+ }
+
+}
package org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.config;
-import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.IosXeRendererProviderImpl;
+import org.opendaylight.controller.sal.common.util.NoopAutoCloseable;
public class IosXeProviderModule extends org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.config.AbstractIosXeProviderModule {
public IosXeProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
@Override
public java.lang.AutoCloseable createInstance() {
- return new IosXeRendererProviderImpl(getDataBrokerDependency(), getBrokerDependency());
+ return NoopAutoCloseable.INSTANCE;
}
}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+ odl:use-default-for-reference-types="true">
+
+ <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"/>
+ <reference id="broker" interface="org.opendaylight.controller.sal.binding.api.BindingAwareBroker"/>
+
+ <bean id="iosXeRenderer" class="org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.config.IosXeProviderInstance"
+ destroy-method="close">
+ <argument ref="dataBroker"/>
+ <argument ref="broker"/>
+ </bean>
+</blueprint>
\ No newline at end of file
augment "/config:modules/config:module/config:configuration" {
case ios-xe-provider-impl {
when "/config:modules/config:module/config:type = 'ios-xe-provider-impl'";
-
- // Wires in the data-broker service
- container data-broker {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity mdsal:binding-async-data-broker;
- }
- }
- }
- // binding aware broker
- container broker {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity mdsal:binding-broker-osgi-registry;
- }
- }
- }
- // PolicyProviderRegistry service
- container policy-validator-registry {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity gbpcfg:policy-validator-registry;
- }
- }
- }
}
}
}