<groupId>org.opendaylight.infrautils</groupId>
<artifactId>diagstatus-api</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.aries.blueprint</groupId>
- <artifactId>blueprint-maven-plugin-annotation</artifactId>
- <optional>true</optional>
- </dependency>
<dependency>
<groupId>${project.groupId}.openflowjava</groupId>
<artifactId>openflow-protocol-spi</artifactId>
<build>
<plugins>
- <plugin>
- <groupId>org.apache.aries.blueprint</groupId>
- <artifactId>blueprint-maven-plugin</artifactId>
- <configuration>
- <scanPaths>
- <scanPath>org.opendaylight.openflowplugin.impl</scanPath>
- </scanPaths>
- </configuration>
- </plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
import javax.management.MalformedObjectNameException;
import javax.management.NotCompliantMBeanException;
import javax.management.ObjectName;
-import org.apache.aries.blueprint.annotation.service.Reference;
-import org.apache.aries.blueprint.annotation.service.Service;
import org.opendaylight.infrautils.diagstatus.ServiceState;
import org.opendaylight.infrautils.ready.SystemReadyListener;
import org.opendaylight.infrautils.ready.SystemReadyMonitor;
import org.slf4j.LoggerFactory;
@Singleton
-@Service(classes = { OpenFlowPluginProvider.class, OpenFlowPluginExtensionRegistratorProvider.class,
- FlowGroupInfoHistories.class })
public class OpenFlowPluginProviderImpl implements
OpenFlowPluginProvider,
OpenFlowPluginExtensionRegistratorProvider,
public OpenFlowPluginProviderImpl(final ConfigurationService configurationService,
final SwitchConnectionProviderList switchConnectionProviders,
final PingPongDataBroker pingPongDataBroker,
- final @Reference RpcProviderService rpcProviderRegistry,
- final @Reference NotificationPublishService notificationPublishService,
- final @Reference ClusterSingletonServiceProvider singletonServiceProvider,
- final @Reference EntityOwnershipService entityOwnershipService,
+ final RpcProviderService rpcProviderRegistry,
+ final NotificationPublishService notificationPublishService,
+ final ClusterSingletonServiceProvider singletonServiceProvider,
+ final EntityOwnershipService entityOwnershipService,
final MastershipChangeServiceManager mastershipChangeServiceManager,
- final @Reference OpenflowDiagStatusProvider openflowDiagStatusProvider,
- final @Reference SystemReadyMonitor systemReadyMonitor) {
+ final OpenflowDiagStatusProvider openflowDiagStatusProvider,
+ final SystemReadyMonitor systemReadyMonitor) {
this.switchConnectionProviders = switchConnectionProviders;
this.dataBroker = pingPongDataBroker;
this.rpcProviderRegistry = rpcProviderRegistry;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.inject.Singleton;
-import org.apache.aries.blueprint.annotation.service.Service;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
import org.opendaylight.openflowplugin.api.openflow.lifecycle.MasterChecker;
import org.slf4j.LoggerFactory;
@Singleton
-@Service(classes = MastershipChangeServiceManager.class)
public final class MastershipChangeServiceManagerImpl implements MastershipChangeServiceManager {
private static final Logger LOG = LoggerFactory.getLogger(MastershipChangeServiceManagerImpl.class);
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Singleton;
-import org.apache.aries.blueprint.annotation.service.Service;
import org.opendaylight.openflowplugin.api.openflow.FlowGroupCacheManager;
import org.opendaylight.openflowplugin.api.openflow.ReconciliationState;
@Singleton
-@Service(classes = FlowGroupCacheManager.class)
public class FlowGroupCacheManagerImpl implements FlowGroupCacheManager {
private final Map<String, ReconciliationState> reconciliationStates = new ConcurrentHashMap<>();
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+ <bean id="flowGroupCacheManagerImpl" class="org.opendaylight.openflowplugin.impl.services.cache.FlowGroupCacheManagerImpl"/>
+ <bean id="mastershipChangeServiceManagerImpl" class="org.opendaylight.openflowplugin.impl.mastership.MastershipChangeServiceManagerImpl"/>
+ <bean id="openFlowPluginProviderImpl" class="org.opendaylight.openflowplugin.impl.OpenFlowPluginProviderImpl" init-method="initialize" destroy-method="close">
+ <argument ref="configurationService"/>
+ <argument ref="switchConnectionProviderList"/>
+ <argument ref="pingPongDataBroker"/>
+ <argument ref="rpcProviderService"/>
+ <argument ref="notificationPublishService"/>
+ <argument ref="clusterSingletonServiceProvider"/>
+ <argument ref="entityOwnershipService"/>
+ <argument ref="mastershipChangeServiceManagerImpl"/>
+ <argument ref="openflowDiagStatusProvider"/>
+ <argument ref="systemReadyMonitor"/>
+ </bean>
+ <reference id="systemReadyMonitor" interface="org.opendaylight.infrautils.ready.SystemReadyMonitor"/>
+ <reference id="notificationPublishService" interface="org.opendaylight.mdsal.binding.api.NotificationPublishService"/>
+ <reference id="rpcProviderService" interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
+ <reference id="entityOwnershipService" interface="org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService"/>
+ <reference id="clusterSingletonServiceProvider" interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
+ <reference id="openflowDiagStatusProvider" interface="org.opendaylight.openflowjava.protocol.api.connection.OpenflowDiagStatusProvider"/>
+ <service ref="flowGroupCacheManagerImpl" interface="org.opendaylight.openflowplugin.api.openflow.FlowGroupCacheManager"/>
+ <service ref="mastershipChangeServiceManagerImpl" interface="org.opendaylight.openflowplugin.api.openflow.mastership.MastershipChangeServiceManager"/>
+ <service ref="openFlowPluginProviderImpl">
+ <interfaces>
+ <value>org.opendaylight.openflowplugin.api.openflow.OpenFlowPluginProvider</value>
+ <value>org.opendaylight.openflowplugin.extension.api.OpenFlowPluginExtensionRegistratorProvider</value>
+ <value>org.opendaylight.openflowplugin.api.openflow.FlowGroupInfoHistories</value>
+ </interfaces>
+ </service>
+</blueprint>