<artifactId>bgp-bmp-mock</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-bmp-parser-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bgp-openconfig-api</artifactId>
<groupId>${project.groupId}</groupId>
<artifactId>bgp-bmp-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-bmp-parser-impl</artifactId>
+ </dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-broker-impl</artifactId>
<artifactId>sal-dom-broker-config</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-bmp-parser-impl</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
package org.opendaylight.controller.config.yang.bmp.impl;
-import org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl;
-import org.opendaylight.protocol.bmp.impl.session.DefaultBmpSessionFactory;
+import com.google.common.reflect.AbstractInvocationHandler;
+import com.google.common.reflect.Reflection;
+import java.lang.reflect.Method;
+import org.opendaylight.controller.config.api.osgi.WaitingServiceTracker;
+import org.opendaylight.protocol.bmp.api.BmpDispatcher;
+import org.osgi.framework.BundleContext;
+
+/**
+ * @deprecated Replaced by blueprint wiring but remains for backwards compatibility until downstream users
+ * of the provided config system service are converted to blueprint.
+ */
+@Deprecated
+public class BmpDispatcherImplModule extends AbstractBmpDispatcherImplModule {
+ private BundleContext bundleContext;
-public class BmpDispatcherImplModule extends org.opendaylight.controller.config.yang.bmp.impl.AbstractBmpDispatcherImplModule {
public BmpDispatcherImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
super(identifier, dependencyResolver);
}
}
@Override
- public java.lang.AutoCloseable createInstance() {
- return new BmpDispatcherImpl(getBossGroupDependency(), getWorkerGroupDependency(),
- getBmpExtensionsDependency().getBmpMessageRegistry(), new DefaultBmpSessionFactory());
+ public AutoCloseable createInstance() {
+ // The BmpDispatcher instance is created and advertised as an OSGi service via blueprint
+ // so obtain it here (waiting if necessary).
+ final WaitingServiceTracker<BmpDispatcher> tracker =
+ WaitingServiceTracker.create(BmpDispatcher.class, bundleContext);
+ final BmpDispatcher service = tracker.waitForService(WaitingServiceTracker.FIVE_MINUTES);
+
+ // Create a proxy to override close to close the ServiceTracker. The actual BmpDispatcher
+ // instance will be closed via blueprint.
+ return Reflection.newProxy(BmpDispatcher.class, new AbstractInvocationHandler() {
+ @Override
+ protected Object handleInvocation(Object proxy, Method method, Object[] args) throws Throwable {
+ if (method.getName().equals("close")) {
+ tracker.close();
+ return null;
+ } else {
+ return method.invoke(service, args);
+ }
+ }
+ });
}
+ void setBundleContext(BundleContext bundleContext) {
+ this.bundleContext = bundleContext;
+ }
}
package org.opendaylight.controller.config.yang.bmp.impl;
-public class BmpDispatcherImplModuleFactory extends org.opendaylight.controller.config.yang.bmp.impl.AbstractBmpDispatcherImplModuleFactory {
+import org.opendaylight.controller.config.api.DependencyResolver;
+import org.osgi.framework.BundleContext;
+
+/**
+ * @deprecated Replaced by blueprint wiring but remains for backwards compatibility until downstream users
+ * of the provided config system service are converted to blueprint.
+ */
+@Deprecated
+public class BmpDispatcherImplModuleFactory extends AbstractBmpDispatcherImplModuleFactory {
+ @Override
+ public BmpDispatcherImplModule instantiateModule(String instanceName, DependencyResolver dependencyResolver,
+ BmpDispatcherImplModule oldModule, AutoCloseable oldInstance, BundleContext bundleContext) {
+ BmpDispatcherImplModule module = super.instantiateModule(instanceName, dependencyResolver, oldModule,
+ oldInstance, bundleContext);
+ module.setBundleContext(bundleContext);
+ return module;
+ }
+
+ @Override
+ public BmpDispatcherImplModule instantiateModule(String instanceName, DependencyResolver dependencyResolver,
+ BundleContext bundleContext) {
+ BmpDispatcherImplModule module = super.instantiateModule(instanceName, dependencyResolver, bundleContext);
+ module.setBundleContext(bundleContext);
+ return module;
+ }
}
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0">
- <reference id="BGPExtensionConsumerContext" interface="org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext"/>
+ <reference id="bmpExtensionContext" interface="org.opendaylight.protocol.bmp.spi.registry.BmpExtensionConsumerContext"/>
+ <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
+ <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
- <bean id="bmpActivator" class="org.opendaylight.protocol.bmp.impl.BmpActivator">
- <argument ref="BGPExtensionConsumerContext"/>
+ <bean id="bmpSessionFactory" class="org.opendaylight.protocol.bmp.impl.session.DefaultBmpSessionFactory"/>
+
+ <bean id="bmpDispatcher" class="org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl">
+ <argument ref="globalBossGroup"/>
+ <argument ref="globalWorkerGroup"/>
+ <argument>
+ <bean factory-ref="bmpExtensionContext" factory-method="getBmpMessageRegistry"/>
+ </argument>
+ <argument ref="bmpSessionFactory"/>
</bean>
- <service ref="bmpActivator" interface="org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderActivator"
- odl:type="org.opendaylight.protocol.bmp.impl.BmpActivator"/>
+ <service ref="bmpDispatcher" interface="org.opendaylight.protocol.bmp.api.BmpDispatcher">
+ <!-- The following service properties specify the config system module and instance that correspond to
+ this OSGi service which enables the config system module to be restarted when this blueprint
+ container is restarted. -->
+ <service-properties>
+ <entry key="config-module-namespace" value="urn:opendaylight:params:xml:ns:yang:controller:bmp:impl"/>
+ <entry key="config-module-name" value="bmp-dispatcher-impl"/>
+ <entry key="config-instance-name" value="global-bmp-dispatcher"/>
+ </service-properties>
+ </service>
</blueprint>
\ No newline at end of file
prefix "bmp-impl";
import config { prefix config; revision-date 2013-04-05; }
- import odl-bmp-spi-cfg { prefix spi; revision-date 2015-05-13; }
import odl-bgp-rib-spi-cfg { prefix ribspi; revision-date 2013-11-15; }
import netty { prefix netty; revision-date 2013-11-19; }
import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
base "config:service-type";
config:java-class "org.opendaylight.protocol.bmp.api.BmpDispatcher";
+ config:disable-osgi-service-registration;
}
identity bmp-dispatcher-impl {
augment "/config:modules/config:module/config:configuration" {
case bmp-dispatcher-impl {
when "/config:modules/config:module/config:type = 'bmp-dispatcher-impl'";
-
- container bmp-extensions {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity spi:consumer-extensions;
- }
- }
- }
-
- container boss-group {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity netty:netty-threadgroup;
- }
- }
- }
-
- container worker-group {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity netty:netty-threadgroup;
- }
- }
- }
}
}
+++ /dev/null
-/*
- * Copyright (c) 2015 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.bmp.impl;
-
-import static org.mockito.Mockito.mock;
-import io.netty.channel.EventLoopGroup;
-import io.netty.util.Timer;
-import io.netty.util.concurrent.EventExecutor;
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.ObjectName;
-import org.junit.Before;
-import org.junit.Test;
-import org.opendaylight.controller.config.api.jmx.CommitStatus;
-import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver;
-import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
-import org.opendaylight.controller.config.yang.bmp.spi.SimpleBmpExtensionProviderContextModuleFactory;
-import org.opendaylight.controller.config.yang.bmp.spi.SimpleBmpExtensionProviderContextModuleMXBean;
-import org.opendaylight.controller.config.yang.netty.eventexecutor.GlobalEventExecutorModuleFactory;
-import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
-import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleMXBean;
-
-public class BmpDispatcherImplModuleTest extends AbstractBmpModuleTest {
- private static final String INSTANCE_NAME = "bmp-message-fct";
- private static final String FACTORY_NAME = BmpDispatcherImplModuleFactory.NAME;
-
- private static final String BMP_EXTENSION_INSTANCE_NAME = "bmp-extension-impl";
- private static final String BOSS_TG_INSTANCE_NAME = "boss-threadgroup-impl";
- private static final String WORKER_TG_INSTANCE_NAME = "worker-threadgroup-impl";
-
- @Override
- @Before
- public void setUp() throws Exception {
- super.setUp();
- super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext,
- new BmpDispatcherImplModuleFactory(),
- new NettyThreadgroupModuleFactory(),
- new GlobalEventExecutorModuleFactory(),
- new SimpleBmpExtensionProviderContextModuleFactory()));
-
- setupMockService(EventLoopGroup.class, mock(EventLoopGroup.class));
- setupMockService(Timer.class, mock(Timer.class));
- setupMockService(EventExecutor.class, mock(EventExecutor.class));
- }
-
- @Test
- public void testCreateBean() throws Exception {
- final CommitStatus status = createInstance();
- assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 4, 0, 0);
- }
-
- @Test
- public void testReusingOldInstance() throws Exception {
- createInstance();
- final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
- assertBeanCount(1, FACTORY_NAME);
- final CommitStatus status = transaction.commit();
- assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 4);
- }
-
- private CommitStatus createInstance() throws Exception {
- final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
- createInstance(transaction);
- return transaction.commit();
- }
-
- public static ObjectName createInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
- final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
- final BmpDispatcherImplModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, BmpDispatcherImplModuleMXBean.class);
- mxBean.setBossGroup(createThreadgroupInstance(transaction, BOSS_TG_INSTANCE_NAME, 10));
- mxBean.setWorkerGroup(createThreadgroupInstance(transaction, WORKER_TG_INSTANCE_NAME, 10));
- mxBean.setBmpExtensions(createBmpExtensionsInstance(transaction));
- return nameCreated;
- }
-
- private static ObjectName createThreadgroupInstance(final ConfigTransactionJMXClient transaction, final String instanceName,
- final Integer threadCount) throws InstanceAlreadyExistsException {
- final ObjectName nameCreated = transaction.createModule(NettyThreadgroupModuleFactory.NAME, instanceName);
- final NettyThreadgroupModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, NettyThreadgroupModuleMXBean.class);
- mxBean.setThreadCount(threadCount);
- return nameCreated;
- }
-
- private static ObjectName createBmpExtensionsInstance(final ConfigTransactionJMXClient transaction)
- throws InstanceAlreadyExistsException {
- final ObjectName nameCreated = transaction.createModule(SimpleBmpExtensionProviderContextModuleFactory.NAME, BMP_EXTENSION_INSTANCE_NAME);
- transaction.newMXBeanProxy(nameCreated, SimpleBmpExtensionProviderContextModuleMXBean.class);
- return nameCreated;
- }
-}
import com.google.common.io.ByteSource;
import com.google.common.io.Resources;
import com.google.common.util.concurrent.CheckedFuture;
-import io.netty.channel.EventLoopGroup;
-import io.netty.util.concurrent.EventExecutor;
+import io.netty.channel.nio.NioEventLoopGroup;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
import org.opendaylight.controller.config.yang.bgp.rib.spi.RIBExtensionsImplModuleFactory;
import org.opendaylight.controller.config.yang.bgp.rib.spi.RIBExtensionsImplModuleMXBean;
-import org.opendaylight.controller.config.yang.bmp.spi.SimpleBmpExtensionProviderContextModuleFactory;
import org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModuleFactory;
import org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModuleMXBean;
import org.opendaylight.controller.config.yang.md.sal.dom.impl.DomInmemoryDataBrokerModuleFactory;
import org.opendaylight.controller.config.yang.md.sal.dom.impl.DomInmemoryDataBrokerModuleMXBean;
import org.opendaylight.controller.config.yang.md.sal.dom.impl.SchemaServiceImplSingletonModuleFactory;
import org.opendaylight.controller.config.yang.md.sal.dom.impl.SchemaServiceImplSingletonModuleMXBean;
-import org.opendaylight.controller.config.yang.netty.eventexecutor.AutoCloseableEventExecutor;
-import org.opendaylight.controller.config.yang.netty.eventexecutor.GlobalEventExecutorModuleFactory;
-import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
-import org.opendaylight.controller.config.yang.netty.threadgroup.NioEventLoopGroupCloseable;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.controller.sal.core.api.model.SchemaService;
import org.opendaylight.controller.sal.core.api.model.YangTextSourceProvider;
+import org.opendaylight.protocol.bmp.api.BmpDispatcher;
+import org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl;
+import org.opendaylight.protocol.bmp.impl.session.DefaultBmpSessionFactory;
+import org.opendaylight.protocol.bmp.spi.registry.SimpleBmpMessageRegistry;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.sal.binding.generator.api.ClassLoadingStrategy;
new RuntimeMappingModuleFactory(),
new DomInmemoryDataBrokerModuleFactory(),
new BmpDispatcherImplModuleFactory(),
- new NettyThreadgroupModuleFactory(),
- new SimpleBmpExtensionProviderContextModuleFactory(),
- new GlobalEventExecutorModuleFactory(),
new SchemaServiceImplSingletonModuleFactory()));
final ServiceReference<?> emptyServiceReference = mock(ServiceReference.class, "Empty");
BindingToNormalizedNodeCodecFactory.getOrCreateInstance(
GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(), mockedSchemaService);
- setupMockService(EventLoopGroup.class, NioEventLoopGroupCloseable.newInstance(0));
- setupMockService(EventExecutor.class, AutoCloseableEventExecutor.CloseableEventExecutorMixin.globalEventExecutor());
+ BmpDispatcher bmpDispatcher = new BmpDispatcherImpl(new NioEventLoopGroup(), new NioEventLoopGroup(),
+ new SimpleBmpMessageRegistry(), new DefaultBmpSessionFactory());
+ setupMockService(BmpDispatcher.class, bmpDispatcher);
}
private static SchemaContext parseYangStreams(final Collection<ByteSource> streams) {
public void testCreateBean() throws Exception {
final CommitStatus status = createInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 9, 0, 0);
+ assertStatus(status, 6, 0, 0);
}
@Test
assertBeanCount(1, FACTORY_NAME);
final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 9);
+ assertStatus(status, 0, 0, 6);
}
private CommitStatus createInstance() throws Exception {
}
private static ObjectName createDispatcher(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
- return BmpDispatcherImplModuleTest.createInstance(transaction);
+ final ObjectName nameCreated = transaction.createModule(BmpDispatcherImplModuleFactory.NAME, "bmp-message-fct");
+ transaction.newMXBeanProxy(nameCreated, BmpDispatcherImplModuleMXBean.class);
+ return nameCreated;
}
}
import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderContext;
import org.opendaylight.protocol.bgp.rib.spi.SimpleRIBExtensionProviderContext;
import org.opendaylight.protocol.bmp.api.BmpDispatcher;
-import org.opendaylight.protocol.bmp.impl.BmpActivator;
import org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl;
import org.opendaylight.protocol.bmp.impl.BmpHandlerFactory;
import org.opendaylight.protocol.bmp.impl.session.DefaultBmpSessionFactory;
import org.opendaylight.protocol.bmp.impl.spi.BmpMonitoringStation;
-import org.opendaylight.protocol.bmp.impl.test.TestUtil;
+import org.opendaylight.protocol.bmp.parser.BmpActivator;
+import org.opendaylight.protocol.bmp.parser.message.TestUtil;
import org.opendaylight.protocol.bmp.spi.registry.BmpMessageRegistry;
import org.opendaylight.protocol.bmp.spi.registry.SimpleBmpExtensionProviderContext;
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.bmp.api.BmpSession;
import org.opendaylight.protocol.bmp.api.BmpSessionFactory;
import org.opendaylight.protocol.bmp.api.BmpSessionListenerFactory;
-import org.opendaylight.protocol.bmp.impl.BmpActivator;
import org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl;
+import org.opendaylight.protocol.bmp.parser.BmpActivator;
import org.opendaylight.protocol.bmp.spi.registry.BmpMessageRegistry;
import org.opendaylight.protocol.bmp.spi.registry.SimpleBmpExtensionProviderContext;
import org.opendaylight.protocol.concepts.KeyMapping;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.protocol.bmp.api.BmpSession;
-import org.opendaylight.protocol.bmp.impl.test.TestUtil;
+import org.opendaylight.protocol.bmp.parser.message.TestUtil;
import org.opendaylight.protocol.bmp.spi.parser.BmpDeserializationException;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev150512.InitiationMessage;
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-bmp-impl</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.bgpcep</groupId>
+ <artifactId>bgp-bmp-parser-impl</artifactId>
+ </dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-parser-api</artifactId>
import org.opendaylight.protocol.bmp.api.BmpSession;
import org.opendaylight.protocol.bmp.api.BmpSessionFactory;
import org.opendaylight.protocol.bmp.api.BmpSessionListenerFactory;
-import org.opendaylight.protocol.bmp.impl.BmpActivator;
+import org.opendaylight.protocol.bmp.parser.BmpActivator;
import org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderActivator;
import org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderContext;
import org.opendaylight.protocol.bmp.spi.registry.SimpleBmpExtensionProviderContext;
import org.opendaylight.protocol.bmp.api.BmpSession;
import org.opendaylight.protocol.bmp.api.BmpSessionListener;
import org.opendaylight.protocol.bmp.api.BmpSessionListenerFactory;
-import org.opendaylight.protocol.bmp.impl.BmpActivator;
+import org.opendaylight.protocol.bmp.parser.BmpActivator;
import org.opendaylight.protocol.bmp.impl.BmpDispatcherImpl;
import org.opendaylight.protocol.bmp.impl.session.DefaultBmpSessionFactory;
import org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderActivator;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/bgpcep.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/bgpcep.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/BGP_LS_PCEP:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+
+ <parent>
+ <groupId>org.opendaylight.bgpcep</groupId>
+ <artifactId>bgp-parent</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>bgp-bmp-parser-impl</artifactId>
+ <packaging>bundle</packaging>
+ <name>${project.artifactId}</name>
+ <prerequisites>
+ <maven>3.0.4</maven>
+ </prerequisites>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-bmp-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-bmp-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>ietf-yang-types-20130715</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>ietf-inet-types-2013-07-15</artifactId>
+ </dependency>
+
+ <!-- test dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-parser-impl</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
+ </instructions>
+ </configuration>
+ </plugin>
+ <!-- test jar -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ <phase>package</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!--
+ Maven Site Configuration
+
+ The following configuration is necessary for maven-site-plugin to
+ correctly identify the correct deployment path for OpenDaylight Maven
+ sites.
+ -->
+ <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
+
+ <distributionManagement>
+ <site>
+ <id>opendaylight-site</id>
+ <url>${nexus.site.url}/${project.artifactId}/</url>
+ </site>
+ </distributionManagement>
+</project>
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl;
+package org.opendaylight.protocol.bmp.parser;
import java.util.ArrayList;
import java.util.List;
import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
import org.opendaylight.protocol.bgp.parser.spi.SubsequentAddressFamilyRegistry;
-import org.opendaylight.protocol.bmp.impl.message.InitiationHandler;
-import org.opendaylight.protocol.bmp.impl.message.PeerDownHandler;
-import org.opendaylight.protocol.bmp.impl.message.PeerUpHandler;
-import org.opendaylight.protocol.bmp.impl.message.RouteMirroringMessageHandler;
-import org.opendaylight.protocol.bmp.impl.message.RouteMonitoringMessageHandler;
-import org.opendaylight.protocol.bmp.impl.message.StatisticsReportHandler;
-import org.opendaylight.protocol.bmp.impl.message.TerminationHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.DescriptionTlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.MirrorInformationTlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.NameTlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.ReasonTlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType000TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType001TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType002TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType003TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType004TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType005TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType006TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType007TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType008TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType009TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType010TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType011TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType012TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StatType013TlvHandler;
-import org.opendaylight.protocol.bmp.impl.tlv.StringTlvHandler;
+import org.opendaylight.protocol.bmp.parser.message.InitiationHandler;
+import org.opendaylight.protocol.bmp.parser.message.PeerDownHandler;
+import org.opendaylight.protocol.bmp.parser.message.PeerUpHandler;
+import org.opendaylight.protocol.bmp.parser.message.RouteMirroringMessageHandler;
+import org.opendaylight.protocol.bmp.parser.message.RouteMonitoringMessageHandler;
+import org.opendaylight.protocol.bmp.parser.message.StatisticsReportHandler;
+import org.opendaylight.protocol.bmp.parser.message.TerminationHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.DescriptionTlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.MirrorInformationTlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.NameTlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.ReasonTlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType000TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType001TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType002TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType003TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType004TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType005TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType006TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType007TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType008TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType009TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType010TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType011TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType012TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StatType013TlvHandler;
+import org.opendaylight.protocol.bmp.parser.tlv.StringTlvHandler;
import org.opendaylight.protocol.bmp.spi.registry.AbstractBmpExtensionProviderActivator;
import org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderContext;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev150512.InitiationMessage;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
-
-import static org.opendaylight.protocol.bmp.impl.message.PeerDownHandler.Reason.REASON_FOUR;
-import static org.opendaylight.protocol.bmp.impl.message.PeerDownHandler.Reason.REASON_ONE;
-import static org.opendaylight.protocol.bmp.impl.message.PeerDownHandler.Reason.REASON_THREE;
-import static org.opendaylight.protocol.bmp.impl.message.PeerDownHandler.Reason.REASON_TWO;
+package org.opendaylight.protocol.bmp.parser.message;
+import static org.opendaylight.protocol.bmp.parser.message.PeerDownHandler.Reason.REASON_FOUR;
+import static org.opendaylight.protocol.bmp.parser.message.PeerDownHandler.Reason.REASON_ONE;
+import static org.opendaylight.protocol.bmp.parser.message.PeerDownHandler.Reason.REASON_THREE;
+import static org.opendaylight.protocol.bmp.parser.message.PeerDownHandler.Reason.REASON_TWO;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import com.google.common.base.Preconditions;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.opendaylight.protocol.util.ByteBufWriteUtil.INT_BYTES_LENGTH;
import static org.opendaylight.protocol.util.ByteBufWriteUtil.writeUnsignedInt;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.tlv;
+package org.opendaylight.protocol.bmp.parser.tlv;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
# 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
-org.opendaylight.protocol.bmp.impl.BmpActivator
+org.opendaylight.protocol.bmp.parser.BmpActivator
--- /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">
+
+ <reference id="BGPExtensionConsumerContext" interface="org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext"/>
+
+ <bean id="bmpActivator" class="org.opendaylight.protocol.bmp.parser.BmpActivator">
+ <argument ref="BGPExtensionConsumerContext"/>
+ </bean>
+
+ <service ref="bmpActivator" interface="org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderActivator"
+ odl:type="org.opendaylight.protocol.bmp.parser.BmpActivator"/>
+</blueprint>
\ No newline at end of file
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import org.junit.After;
import org.junit.Before;
import org.opendaylight.protocol.bgp.parser.impl.BGPActivator;
import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderContext;
-import org.opendaylight.protocol.bmp.impl.BmpActivator;
+import org.opendaylight.protocol.bmp.parser.BmpActivator;
import org.opendaylight.protocol.bmp.spi.registry.BmpMessageRegistry;
import org.opendaylight.protocol.bmp.spi.registry.SimpleBmpExtensionProviderContext;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createInitMsg;
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createInitMsg;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
* 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.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createPeerDownFSM;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createPeerDownNotification;
-
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createPeerDownFSM;
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createPeerDownNotification;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
* 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.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createPeerUpNotification;
-
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createPeerUpNotification;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createRouteMonitMsg;
-
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createRouteMonitMsg;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
* 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.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createStatsReportMsg;
-
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createStatsReportMsg;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
* 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.protocol.bmp.impl.message;
+package org.opendaylight.protocol.bmp.parser.message;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.opendaylight.protocol.bmp.impl.test.TestUtil.createTerminationMsg;
+import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createTerminationMsg;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.protocol.bmp.impl.test;
+package org.opendaylight.protocol.bmp.parser.message;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
<build>
<plugins>
- <plugin>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yang-maven-plugin</artifactId>
- </plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
+++ /dev/null
-/*
- * Copyright (c) 2015 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.bmp.spi;
-
-import com.google.common.reflect.AbstractInvocationHandler;
-import com.google.common.reflect.Reflection;
-import java.lang.reflect.Method;
-import org.opendaylight.controller.config.api.osgi.WaitingServiceTracker;
-import org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderContext;
-import org.osgi.framework.BundleContext;
-
-/**
- * @deprecated Replaced by blueprint wiring
- */
-@Deprecated
-public class SimpleBmpExtensionProviderContextModule extends org.opendaylight.controller.config.yang.bmp.spi.AbstractSimpleBmpExtensionProviderContextModule {
- private BundleContext bundleContext;
-
- public SimpleBmpExtensionProviderContextModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public SimpleBmpExtensionProviderContextModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.bmp.spi.SimpleBmpExtensionProviderContextModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public AutoCloseable createInstance() {
- final WaitingServiceTracker<BmpExtensionProviderContext> tracker =
- WaitingServiceTracker.create(BmpExtensionProviderContext.class, bundleContext);
- final BmpExtensionProviderContext service = tracker.waitForService(WaitingServiceTracker.FIVE_MINUTES);
-
- return Reflection.newProxy(AutoCloseableBmpExtensionProviderContext.class, new AbstractInvocationHandler() {
- @Override
- protected Object handleInvocation(Object proxy, Method method, Object[] args) throws Throwable {
- if (method.getName().equals("close")) {
- tracker.close();
- return null;
- } else {
- return method.invoke(service, args);
- }
- }
- });
- }
-
- void setBundleContext(BundleContext bundleContext) {
- this.bundleContext = bundleContext;
- }
-
- private static interface AutoCloseableBmpExtensionProviderContext extends BmpExtensionProviderContext, AutoCloseable {
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 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.bmp.spi;
-
-import org.opendaylight.controller.config.api.DependencyResolver;
-import org.osgi.framework.BundleContext;
-
-/**
- * @deprecated Replaced by blueprint wiring
- */
-@Deprecated
-public class SimpleBmpExtensionProviderContextModuleFactory extends AbstractSimpleBmpExtensionProviderContextModuleFactory {
- @Override
- public SimpleBmpExtensionProviderContextModule instantiateModule(String instanceName, DependencyResolver dependencyResolver,
- SimpleBmpExtensionProviderContextModule oldModule, AutoCloseable oldInstance, BundleContext bundleContext) {
- SimpleBmpExtensionProviderContextModule module = super.instantiateModule(instanceName, dependencyResolver, oldModule,
- oldInstance, bundleContext);
- module.setBundleContext(bundleContext);
- return module;
- }
-
- @Override
- public SimpleBmpExtensionProviderContextModule instantiateModule(String instanceName, DependencyResolver dependencyResolver,
- BundleContext bundleContext) {
- SimpleBmpExtensionProviderContextModule module = super.instantiateModule(instanceName, dependencyResolver, bundleContext);
- module.setBundleContext(bundleContext);
- return module;
- }
-}
+++ /dev/null
-// vi: set smarttab et sw=4 tabstop=4:
-module odl-bmp-spi-cfg {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:controller:bmp:spi";
- prefix "bmp-spi";
-
- import config { prefix config; revision-date 2013-04-05; }
-
- organization "Cisco Systems, Inc.";
-
- contact "Milos Fabian <milfabia@cisco.com>";
-
- description
- "This module contains the base YANG definitions for
- BMP SPI module.
-
- Copyright (c)2015 Cisco Systems, Inc. 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";
-
- revision "2015-05-13" {
- description
- "Initial revision";
- }
-
- identity consumer-extensions {
- description
- "Service representing a BMP parser extension registry. Extension
- consumers have this service injected.";
-
- base "config:service-type";
- config:java-class "org.opendaylight.protocol.bmp.spi.registry.BmpExtensionConsumerContext";
- }
-
- identity extensions {
- description
- "Service representing a BMP parser extension registry. Extension
- providers have this service injected for registration.";
-
- base "consumer-extensions";
- config:java-class "org.opendaylight.protocol.bmp.spi.registry.BmpExtensionProviderContext";
- }
-
- identity bmp-extensions-impl {
- base config:module-type;
- config:provided-service extensions;
- config:java-name-prefix SimpleBmpExtensionProviderContext;
- }
-
- augment "/config:modules/config:module/config:configuration" {
- case bmp-extensions-impl {
- when "/config:modules/config:module/config:type = 'bmp-extensions-impl'";
- }
- }
-}
\ No newline at end of file
-->
<snapshot>
<required-capabilities>
- <capability>urn:opendaylight:params:xml:ns:yang:controller:bmp:spi?module=odl-bmp-spi-cfg&revision=2015-05-13</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:bmp:impl?module=odl-bmp-impl-cfg&revision=2015-05-18</capability>
- <capability>urn:opendaylight:params:xml:ns:yang:controller:netty?module=netty&revision=2013-11-19</capability>
</required-capabilities>
<configuration>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <module>
- <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bmp:spi">prefix:bmp-extensions-impl</type>
- <name>global-bmp-extensions</name>
- </module>
<module>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bmp:impl">prefix:bmp-dispatcher-impl</type>
<name>global-bmp-dispatcher</name>
- <bmp-extensions>
- <type xmlns:bmp-spi="urn:opendaylight:params:xml:ns:yang:controller:bmp:spi">bmp-spi:extensions</type>
- <name>global-bmp-extensions</name>
- </bmp-extensions>
- <boss-group>
- <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
- <name>global-boss-group</name>
- </boss-group>
- <worker-group>
- <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
- <name>global-worker-group</name>
- </worker-group>
</module>
</modules>
<services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
- <service>
- <type xmlns:bmp-spi="urn:opendaylight:params:xml:ns:yang:controller:bmp:spi">bmp-spi:extensions</type>
- <instance>
- <name>global-bmp-extensions</name>
- <provider>/modules/module[type='bmp-extensions-impl'][name='global-bmp-extensions']</provider>
- </instance>
- </service>
<service>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bmp:impl">prefix:bmp-dispatcher</type>
<instance>
<module>bmp-spi</module>
<module>bmp-impl</module>
<module>bmp-mock</module>
+ <module>bmp-parser-impl</module>
<module>controller-config</module>
<module>openconfig-api</module>
<module>openconfig-spi</module>
<groupId>${project.groupId}</groupId>
<artifactId>bgp-bmp-impl</artifactId>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>bgp-bmp-parser-impl</artifactId>
+ </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>data-change-counter-controller-config</artifactId>
<feature version='${project.version}'>odl-bgpcep-bgp-labeled-unicast</feature>
<bundle>mvn:org.opendaylight.bgpcep/bgp-bmp-api/{{VERSION}}</bundle>
<bundle>mvn:org.opendaylight.bgpcep/bgp-bmp-spi/{{VERSION}}</bundle>
+ <bundle>mvn:org.opendaylight.bgpcep/bgp-bmp-parser-impl/{{VERSION}}</bundle>
<bundle>mvn:org.opendaylight.bgpcep/bgp-bmp-impl/{{VERSION}}</bundle>
<configfile finalname="etc/opendaylight/karaf/31-bgp.xml">mvn:org.opendaylight.bgpcep/bgp-controller-config/{{VERSION}}/xml/config</configfile>
<configfile finalname="etc/opendaylight/karaf/32-bmp.xml">mvn:org.opendaylight.bgpcep/bgp-controller-config/{{VERSION}}/xml/bmp-config</configfile>