sxp-mapper:sxp-mapper-impl
</type>
<name>sxp-mapper</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>
- <rpc-registry>
- <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-rpc-registry</type>
- <name>binding-rpc-broker</name>
- </rpc-registry>
- <domain-specific-registry>
- <type xmlns:gbp="urn:opendaylight:params:xml:ns:yang:controller:config:groupbasedpolicy">
- gbp:domain-specific-registry
- </type>
- <name>domain-specific-registry</name>
- </domain-specific-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.controller.config.yang.config.groupbasedpolicy.sxp_mapper;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.groupbasedpolicy.api.DomainSpecificRegistry;
+import org.opendaylight.groupbasedpolicy.sxp.mapper.impl.SxpMapperProviderImpl;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.base_endpoint.rev160427.BaseEndpointService;
+
+public class SxpMapperProviderInstance implements AutoCloseable {
+
+ private SxpMapperProviderImpl sxpMapperProviderImpl;
+
+ public SxpMapperProviderInstance(DataBroker dataBroker, BaseEndpointService endpointService,
+ DomainSpecificRegistry registry ) {
+ sxpMapperProviderImpl = new SxpMapperProviderImpl(dataBroker, endpointService, registry);
+ }
+
+ @Override
+ public void close() throws Exception {
+ sxpMapperProviderImpl.close();
+ }
+
+}
package org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_mapper;
-import org.opendaylight.groupbasedpolicy.sxp.mapper.impl.SxpMapperProviderImpl;
+import org.opendaylight.controller.sal.common.util.NoopAutoCloseable;
/**
* sxp-mapper impl module
@Override
public java.lang.AutoCloseable createInstance() {
- return new SxpMapperProviderImpl(getDataBrokerDependency(), getRpcRegistryDependency(),
- getDomainSpecificRegistryDependency());
+ return NoopAutoCloseable.INSTANCE;
}
}
package org.opendaylight.groupbasedpolicy.sxp.mapper.impl;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
import org.opendaylight.groupbasedpolicy.api.DomainSpecificRegistry;
import org.opendaylight.groupbasedpolicy.api.EndpointAugmentor;
import org.opendaylight.groupbasedpolicy.sxp.mapper.api.EPTemplateListener;
private final DomainSpecificRegistry domainSpecificRegistry;
private final EndpointAugmentor sxpEndpointAugmentor;
- public SxpMapperProviderImpl(final DataBroker dataBroker, final RpcProviderRegistry rpcRegistryDependency,
+ public SxpMapperProviderImpl(final DataBroker dataBroker, final BaseEndpointService endpointService,
final DomainSpecificRegistry domainSpecificRegistry) {
LOG.info("starting SxmMapper ..");
this.domainSpecificRegistry = domainSpecificRegistry;
- final BaseEndpointService endpointService = rpcRegistryDependency.getRpcService(BaseEndpointService.class);
sxpMapperReactor = new SxpMapperReactorImpl(endpointService, dataBroker);
final SimpleCachedDao<Sgt, EndpointPolicyTemplateBySgt> epPolicyTemplateCachedDao = new SimpleCachedDaoImpl<>();
--- /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="domainSpecificRegistry" interface="org.opendaylight.groupbasedpolicy.api.DomainSpecificRegistry"/>
+ <odl:rpc-service id="baseEndpointService" interface="org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.base_endpoint.rev160427.BaseEndpointService"/>
+
+ <bean id="sxpMapper" class="org.opendaylight.controller.config.yang.config.groupbasedpolicy.sxp_mapper.SxpMapperProviderInstance"
+ destroy-method="close">
+ <argument ref="dataBroker"/>
+ <argument ref="baseEndpointService"/>
+ <argument ref="domainSpecificRegistry"/>
+ </bean>
+</blueprint>
\ No newline at end of file
augment "/config:modules/config:module/config:configuration" {
case sxp-mapper-impl {
when "/config:modules/config:module/config:type = 'sxp-mapper-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;
- }
- }
- }
- //RPC Registry
- container rpc-registry {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity mdsal:binding-rpc-registry;
- }
- }
- }
- //Domain specific registry
- container domain-specific-registry {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity gbpcfg:domain-specific-registry;
- }
- }
- }
}
}
}