Split RSVP model out for reuse in bgp-linkstate 11/1911/2
authorRobert Varga <rovarga@cisco.com>
Tue, 15 Oct 2013 15:31:03 +0000 (17:31 +0200)
committerRobert Varga <rovarga@cisco.com>
Tue, 15 Oct 2013 15:48:49 +0000 (17:48 +0200)
Change-Id: I95261b961e419dd1a49651baf14c4ba6fcb75d9c
Signed-off-by: Robert Varga <rovarga@cisco.com>
16 files changed:
bgp/linkstate/pom.xml
bgp/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAttributeParser.java
bgp/linkstate/src/main/yang/bgp-linkstate.yang
integration-tests/src/test/java/org/opendaylight/protocol/integration/BgpLinkstateBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/BgpParserImplBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/BgpRibImplBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/BgpRibMockBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/BgpTesttoolBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/PcepApiBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/PcepImplBundleTest.java
integration-tests/src/test/java/org/opendaylight/protocol/integration/RsvpApiBundleTest.java [new file with mode: 0644]
pcep/api/pom.xml
pom.xml
rsvp/api/pom.xml [new file with mode: 0644]
rsvp/api/src/main/yang/rsvp.yang [moved from pcep/api/src/main/yang/rsvp.yang with 100% similarity]
rsvp/pom.xml [new file with mode: 0644]

index c15e411ee6b8003a95f87ffbb9d78c4b894867ee..7a64ee8aa93a0aaa47f842453823f4ea173f4f57 100644 (file)
                <dependency>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>concepts</artifactId>
+            <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>${project.groupId}</groupId>
+                       <artifactId>rsvp-api</artifactId>
             <version>${project.version}</version>
                </dependency>
                <dependency>
index 261f0cbc8688577a641b63e3ea6508f272d38344..23b1b81ec9536e749f25a50e6414bff822260358 100644 (file)
@@ -33,7 +33,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.link
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.PathAttributes1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.PathAttributes1Builder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.RouteTag;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.SharedRiskLinkGroup;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.TopologyIdentifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.link.state.UnreservedBandwidthBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev130918.prefix.state.IgpBitsBuilder;
@@ -50,6 +49,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nps.conc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nps.concepts.rev130930.IgpMetric;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nps.concepts.rev130930.Metric;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nps.concepts.rev130930.TeMetric;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.SrlgId;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -224,9 +224,9 @@ public class LinkstateAttributeParser implements AttributeParser {
                                        break;
                                case 1096:
                                        int i = 0;
-                                       final List<SharedRiskLinkGroup> sharedRiskLinkGroups = Lists.newArrayList();
+                                       final List<SrlgId> sharedRiskLinkGroups = Lists.newArrayList();
                                        while (i != value.length) {
-                                               sharedRiskLinkGroups.add(new SharedRiskLinkGroup(ByteArray.bytesToLong(ByteArray.subByte(value, i, 4))));
+                                               sharedRiskLinkGroups.add(new SrlgId(ByteArray.bytesToLong(ByteArray.subByte(value, i, 4))));
                                                i += 4;
                                        }
                                        builder.setSharedRiskLinkGroups(sharedRiskLinkGroups);
index 851bbcf99c625491c13f7c0c1190222da716fb92..131bf9013d1b755ecf48df62ecd75407a4b219e4 100644 (file)
@@ -11,6 +11,7 @@ module bgp-linkstate {
        import bgp-multiprotocol { prefix bgp-mp;}
        import bgp-types { prefix bgp-t;}
        import nps-concepts { prefix nps-c;}
+       import rsvp { prefix rsvp; revision-date 2013-08-20; }
 
        organization "Cisco Systems, Inc.";
        contact "Dana Kutenicsova <dkutenic@cisco.com>";
@@ -420,11 +421,6 @@ module bgp-linkstate {
                }
        }
 
-       typedef shared-risk-link-group {
-               reference "http://tools.ietf.org/html/draft-ietf-idr-ls-distribution-03#section-3.3.2.4";
-               type uint32;
-       }
-
        typedef administrative-group {
                type uint32;
        }
@@ -464,7 +460,7 @@ module bgp-linkstate {
                        type nps-c:metric;
                }
                leaf-list shared-risk-link-groups {
-                       type shared-risk-link-group;
+                       type rsvp:srlg-id;
                }
                leaf link-name {
                        type string;
index 30afc2e68d09958becc505fc8309e405385c7c31..97d46e3e7b3df3dfe84d8d55c52bae37dda35591 100644 (file)
@@ -14,7 +14,7 @@ import com.google.common.collect.Lists;
 public final class BgpLinkstateBundleTest extends AbstractBundleTest {
        @Override
        protected Collection<String> prerequisiteBundles() {
-               return Lists.newArrayList("bgp-concepts", "bgp-parser-api", "bgp-parser-spi", "concepts", "framework", "util");
+               return Lists.newArrayList("bgp-concepts", "bgp-parser-api", "bgp-parser-spi", "concepts", "framework", "rsvp-api", "util");
        }
 
        @Override
index 17019fa4241ecafd97cdbcad66473f143ffc3dc5..68ee7e2af97a7e7cf30c5993ca020670aa65f02a 100644 (file)
@@ -14,7 +14,7 @@ import com.google.common.collect.Lists;
 public final class BgpParserImplBundleTest extends AbstractBundleTest {
        @Override
        protected Collection<String> prerequisiteBundles() {
-               return Lists.newArrayList("bgp-concepts", "bgp-linkstate", "bgp-parser-api", "bgp-parser-spi", "bgp-util", "concepts", "framework", "util");
+               return Lists.newArrayList("bgp-concepts", "bgp-linkstate", "bgp-parser-api", "bgp-parser-spi", "bgp-util", "concepts", "framework", "rsvp-api", "util");
        }
 
        @Override
index b403e993508724134f1bfc52c67eea215e2ac12a..09357d163c063460914f1d500578f8248dee6f7f 100644 (file)
@@ -16,7 +16,7 @@ public final class BgpRibImplBundleTest extends AbstractBundleTest {
        protected Collection<String> prerequisiteBundles() {
                return Lists.newArrayList("concepts", "bgp-concepts", "bgp-linkstate", "bgp-parser-api",
                                "bgp-parser-impl", "bgp-parser-spi", "bgp-rib-api", "bgp-rib-spi",
-                               "bgp-util", "framework", "util");
+                               "bgp-util", "framework", "rsvp-api", "util");
        }
 
        @Override
index 92a3da7fbaea9d32190218d9b2968600d27f0521..bac6ec0a0fd2730c2e8cd90949be91023463ee57 100644 (file)
@@ -16,7 +16,7 @@ public final class BgpRibMockBundleTest extends AbstractBundleTest {
        protected Collection<String> prerequisiteBundles() {
                return Lists.newArrayList("concepts", "bgp-concepts", "bgp-linkstate", "bgp-parser-api",
                                "bgp-parser-impl", "bgp-parser-spi", "bgp-rib-api", "bgp-rib-impl",
-                               "bgp-rib-spi", "bgp-util", "framework", "util");
+                               "bgp-rib-spi", "bgp-util", "framework", "rsvp-api", "util");
        }
 
        @Override
index c89047bf5a675df5d39a6f0afff7e4a7f5be6136..d3bb83462d544b628c3716196f757bba7ac90b39 100644 (file)
@@ -17,7 +17,7 @@ public final class BgpTesttoolBundleTest extends AbstractBundleTest {
                return Lists.newArrayList("bgp-parser-api", "bgp-concepts", "bgp-linkstate",
                                "bgp-parser-impl", "bgp-parser-spi", "bgp-util", "concepts",
                                "framework", "bgp-rib-api", "bgp-rib-impl", "bgp-rib-spi",
-                               "util");
+                               "rsvp-api", "util");
        }
 
        @Override
index ea22929f28862ac4f18244cce18f6e1d6141ea66..64cda31b0374372cf33cbf4b4fff8558e23634e5 100644 (file)
@@ -14,7 +14,7 @@ import com.google.common.collect.Lists;
 public final class PcepApiBundleTest extends AbstractBundleTest {
        @Override
        protected Collection<String> prerequisiteBundles() {
-               return Lists.newArrayList("concepts", "framework", "util");
+               return Lists.newArrayList("concepts", "framework", "rsvp-api", "util");
        }
 
        @Override
index 205db15ebb2743784adf61810d0ced7751695f1f..2f128175fc2b3bc2c5f7f684c13cca9d05b9e714 100644 (file)
@@ -14,7 +14,7 @@ import com.google.common.collect.Lists;
 public final class PcepImplBundleTest extends AbstractBundleTest {
        @Override
        protected Collection<String> prerequisiteBundles() {
-               return Lists.newArrayList("concepts", "framework", "pcep-api", "util");
+               return Lists.newArrayList("concepts", "framework", "pcep-api", "rsvp-api", "util");
        }
 
        @Override
diff --git a/integration-tests/src/test/java/org/opendaylight/protocol/integration/RsvpApiBundleTest.java b/integration-tests/src/test/java/org/opendaylight/protocol/integration/RsvpApiBundleTest.java
new file mode 100644 (file)
index 0000000..97e80ca
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2013 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.protocol.integration;
+
+import java.util.Collection;
+
+import com.google.common.collect.Lists;
+
+public final class RsvpApiBundleTest extends AbstractBundleTest {
+       @Override
+       protected Collection<String> prerequisiteBundles() {
+               return Lists.newArrayList("concepts", "util");
+       }
+
+       @Override
+       protected Collection<String> requiredBundles() {
+               return Lists.newArrayList("rsvp-api");
+       }
+}
index b94358f00af268e176f42a62cc33b1fe9b527b3b..87cf4d6b59f37e4830579f2bcaa350b3672d7e57 100644 (file)
                <dependency>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>concepts</artifactId>
+            <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>${project.groupId}</groupId>
+                       <artifactId>rsvp-api</artifactId>
             <version>${project.version}</version>
                </dependency>
                <dependency>
                            org.opendaylight.protocol.pcep.subobject,
                            org.opendaylight.protocol.pcep.tlv,
                            org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.*,
-                           org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.*,
                            org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.*,
+                           org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.rev130819.*,
                        </Export-Package>
                        <Import-Package>
                            org.opendaylight.protocol.concepts,
diff --git a/pom.xml b/pom.xml
index 5f5bc8d266d051d02b0de0d5ccb68e3b199f0bb4..b2d14e7fcb3237b55f7110710c42fcdb3f50c57f 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,7 @@
                <module>integration-tests</module>
                <module>mockito-configuration</module>
                <module>pcep</module>
+               <module>rsvp</module>
                <module>util</module>
        </modules>
 
diff --git a/rsvp/api/pom.xml b/rsvp/api/pom.xml
new file mode 100644 (file)
index 0000000..fe612a6
--- /dev/null
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<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">
+
+       <parent>
+               <groupId>org.opendaylight.bgpcep</groupId>
+               <artifactId>rsvp-parent</artifactId>
+               <version>0.3.0-SNAPSHOT</version>
+       </parent>
+
+       <modelVersion>4.0.0</modelVersion>
+       <artifactId>rsvp-api</artifactId>
+       <description>RSVP API</description>
+       <packaging>bundle</packaging>
+       <name>${project.artifactId}</name>
+       <prerequisites>
+               <maven>3.0.4</maven>
+       </prerequisites>
+
+       <dependencies>
+               <dependency>
+                       <groupId>${project.groupId}</groupId>
+                       <artifactId>concepts</artifactId>
+            <version>${project.version}</version>
+               </dependency>
+
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-binding</artifactId>
+            <version>${yang.binding.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-common</artifactId>
+            <version>${yangtools.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.opendaylight.yangtools.model</groupId>
+            <artifactId>ietf-inet-types</artifactId>
+            <version>${ietf.types.version}</version>
+        </dependency>
+       </dependencies>
+
+       <build>
+               <plugins>
+            <plugin>
+                <groupId>org.opendaylight.yangtools</groupId>
+                <artifactId>yang-maven-plugin</artifactId>
+                <version>${yangtools.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate-sources</goal>
+                        </goals>
+                        <configuration>
+                            <yangFilesRootDir>src/main/yang</yangFilesRootDir>
+                            <codeGenerators>
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>
+                                        target/generated-sources/sal
+                                    </outputBaseDir>
+                                </generator>
+                            </codeGenerators>
+                            <inspectDependencies>true</inspectDependencies>
+                        </configuration>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.opendaylight.yangtools</groupId>
+                        <artifactId>maven-sal-api-gen-plugin</artifactId>
+                        <version>${yang.binding.version}</version>
+                        <type>jar</type>
+                    </dependency>
+                </dependencies>
+            </plugin>
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-bundle-plugin</artifactId>
+                               <version>${maven.bundle.version}</version>
+                               <extensions>true</extensions>
+                               <configuration>
+                                       <instructions>
+                                               <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
+                                               <Export-Package>
+                           org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.*,
+                                               </Export-Package>
+                                       </instructions>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
+
+       <distributionManagement>
+               <site>
+                       <id>${project.artifactId}</id>
+                       <name>RSVP-API Module site</name>
+                       <url>${basedir}/target/site/${project.artifactId}</url>
+               </site>
+       </distributionManagement>
+
+</project>
diff --git a/rsvp/pom.xml b/rsvp/pom.xml
new file mode 100644 (file)
index 0000000..377a13f
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: --><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">
+
+       <parent>
+               <groupId>org.opendaylight.bgpcep</groupId>
+               <artifactId>protocol-parent</artifactId>
+               <version>0.3.0-SNAPSHOT</version>
+       </parent>
+       <prerequisites>
+               <maven>3.0.4</maven>
+       </prerequisites>
+
+       <modelVersion>4.0.0</modelVersion>
+       <artifactId>rsvp-parent</artifactId>
+       <description>RSVP-related components</description>
+       <packaging>pom</packaging>
+       <name>${project.artifactId}</name>
+       
+       <modules>
+        <module>api</module>
+    </modules>
+</project>