iovisor:iovisor-provider-impl
</type>
<name>iovisor-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>
-
- <ep-renderer-augmentation-registry>
- <type xmlns:gbp="urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy">gbp:ep-renderer-augmentation-registry</type>
- <name>ep-renderer-augmentation-registry</name>
- </ep-renderer-augmentation-registry>
-
- <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 System. 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.controller.config.yang.config.iovisor_provider.impl;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.groupbasedpolicy.api.EpRendererAugmentationRegistry;
+import org.opendaylight.groupbasedpolicy.api.PolicyValidatorRegistry;
+import org.opendaylight.groupbasedpolicy.renderer.iovisor.IovisorRenderer;
+
+public class IovisorProviderInstance implements AutoCloseable{
+
+ private IovisorRenderer renderer;
+
+ public IovisorProviderInstance (DataBroker dataBroker, EpRendererAugmentationRegistry epRegistry,
+ PolicyValidatorRegistry policyValidator) {
+ renderer = new IovisorRenderer(dataBroker, epRegistry, policyValidator);
+ }
+
+ @Override
+ public void close() throws Exception {
+ renderer.close();
+ }
+
+}
package org.opendaylight.controller.config.yang.config.iovisor_provider.impl;
-import org.opendaylight.groupbasedpolicy.renderer.iovisor.IovisorRenderer;
+import org.opendaylight.controller.sal.common.util.NoopAutoCloseable;
public class IovisorProviderModule
extends org.opendaylight.controller.config.yang.config.iovisor_provider.impl.AbstractIovisorProviderModule {
@Override
public java.lang.AutoCloseable createInstance() {
- return new IovisorRenderer(getDataBrokerDependency(), getEpRendererAugmentationRegistryDependency(),
- getPolicyValidatorRegistryDependency());
+ 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="epRegistry" interface="org.opendaylight.groupbasedpolicy.api.EpRendererAugmentationRegistry"/>
+ <reference id="policyValidator" interface="org.opendaylight.groupbasedpolicy.api.PolicyValidatorRegistry"/>
+
+ <bean id="iovisor" class="org.opendaylight.controller.config.yang.config.iovisor_provider.impl.IovisorProviderInstance"
+ destroy-method="close">
+ <argument ref="dataBroker"/>
+ <argument ref="epRegistry"/>
+ <argument ref="policyValidator"/>
+ </bean>
+</blueprint>
\ No newline at end of file
augment "/config:modules/config:module/config:configuration" {
case iovisor-provider-impl {
when "/config:modules/config:module/config:type = 'iovisor-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;
- }
- }
- }
- // EpRendererAugmentationRegistry service
- container ep-renderer-augmentation-registry {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity gbpcfg:ep-renderer-augmentation-registry;
- }
- }
- }
- // PolicyProviderRegistry service
- container policy-validator-registry {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity gbpcfg:policy-validator-registry;
- }
- }
- }
}
}
}