Bug 2383: Fixed minor issues and missing javadocs in RibSupportContext. 55/17355/4
authorTony Tkacik <ttkacik@cisco.com>
Mon, 30 Mar 2015 15:12:54 +0000 (17:12 +0200)
committerRobert Varga <rovarga@cisco.com>
Mon, 30 Mar 2015 18:08:52 +0000 (20:08 +0200)
Spaces and similar.

Change-Id: I0f580ce7407398a3dbcf4b9db3e6023b85d9e9c9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextRegistryImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContextRegistry.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionProviderContext.java

index 349a00f39972a99b55589703c427d4e473e71f4d..a4615e91a715f7faee35a781088a512427c732d7 100644 (file)
@@ -184,7 +184,7 @@ public final class RIBImpl extends DefaultRibReference implements AutoCloseable,
         this.dataBroker = dps;
         this.domDataBroker = Preconditions.checkNotNull(domDataBroker);
         this.extensions = Preconditions.checkNotNull(extensions);
-        this.ribContextRegistry = RIBSupportContextRegistryImpl.create(extensions,codecFactory, classStrategy);
+        this.ribContextRegistry = RIBSupportContextRegistryImpl.create(extensions, codecFactory, classStrategy);
         this.yangRibId = YangInstanceIdentifier.builder().node(BgpRib.QNAME).node(Rib.QNAME).nodeWithKey(Rib.QNAME, RIB_ID_QNAME, ribId.getValue()).build();
 
         LOG.debug("Instantiating RIB table {} at {}", ribId, getInstanceIdentifier());
index 565bb48de12ef0b57aaf7997b494cbe02b1709bd..340a1b21d6aed5aed042dc2068f9370d2ed71fef 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadi
 import org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-public class RIBSupportContextRegistryImpl implements RIBSupportContextRegistry {
+class RIBSupportContextRegistryImpl implements RIBSupportContextRegistry {
 
     private final LoadingCache<RIBSupport, RIBSupportContextImpl> contexts = CacheBuilder.newBuilder()
             .build(new CacheLoader<RIBSupport, RIBSupportContextImpl>(){
index 722f555e34fdd36b9cc0fe024f90f79c25283554..a23c7bf72f02e9eca444cbedbd8a3602967653ad 100644 (file)
@@ -46,10 +46,10 @@ final class TableContext {
     }
 
     void writeRoutes(final DOMDataWriteTransaction tx, final MpReachNlri nlri, final PathAttributes attributes) {
-        this.tableSupport.writeRoutes(tx,tableId,nlri,attributes);
+        this.tableSupport.writeRoutes(tx, tableId, nlri, attributes);
     }
 
     void removeRoutes(final DOMDataWriteTransaction tx, final MpUnreachNlri nlri) {
-        this.tableSupport.deleteRoutes(tx, this.tableId,nlri);
+        this.tableSupport.deleteRoutes(tx, this.tableId, nlri);
     }
 }
index 8009a1a499da6d9d0a05b2dfae74365649f33742..e55cdaa49dde3ecae4cf7464d7808f6e5d7bedd3 100644 (file)
@@ -68,6 +68,13 @@ public interface RIB {
      */
     RIBExtensionConsumerContext getRibExtensions();
 
+    /**
+     * Return the RIB extensions available to the RIB instance
+     * with additional RIB specific context such as
+     * translation between DOM and Binding.
+     *
+     * @return RIB extensions handle.
+     */
     RIBSupportContextRegistry getRibSupportContext();
 
     /**
index 4b954b55c9f56e90b7129c6e7cccc7c24e01c418..f6053872b1751e8e7aec1aa470b20d459d697104 100644 (file)
@@ -14,11 +14,50 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpUnreachNlri;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 
+/**
+ *
+ * {@link RIBSupport} wrapper which provides additional functionality
+ * such as logic to update / remove routes using Binding DTOs
+ * for BGP messages.
+ *
+ */
 public abstract class RIBSupportContext {
 
+    /**
+     *
+     * Clears specified Rib table using supplied transaction.
+     *
+     * @param tx Transaction to to be used
+     * @param tableId Instance Identifier of table to be cleared.
+     */
     public abstract void clearTable(DOMDataWriteTransaction tx, YangInstanceIdentifier tableId);
+
+    /**
+     * Removes supplied routes from RIB table using supplied transaction.
+     *
+     * @param tx Transaction to be used
+     * @param tableId Instance Identifier of table to be updated
+     * @param nlri UnreachNlri which contains routes to be removed.
+     */
     public abstract void deleteRoutes(DOMDataWriteTransaction tx, YangInstanceIdentifier tableId, MpUnreachNlri nlri);
+
+    /**
+     *
+     * Writes supplied routes and attributes to RIB table using supplied transaction.
+     *
+     *
+     * @param tx Transaction to be used
+     * @param tableId Instance Identifier of table to be updated
+     * @param nlri ReachNlri which contains routes to be written.
+     * @param attributes Attributes which should be written.
+     */
     public abstract void writeRoutes(DOMDataWriteTransaction tx, YangInstanceIdentifier tableId, MpReachNlri nlri,
             PathAttributes attributes);
+
+    /**
+     * Returns backing RIB support.
+     *
+     * @return
+     */
     public abstract RIBSupport getRibSupport();
 }
index 57bb4b58b983e1e055545fdd2565ae0678b7d88d..b79017bd13ea30baf8880e448df9452f797e43e7 100644 (file)
@@ -7,12 +7,17 @@
  */
 package org.opendaylight.protocol.bgp.rib.impl.spi;
 
+import javax.annotation.Nullable;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey;
 
-
-
 public interface RIBSupportContextRegistry {
 
-    public abstract RIBSupportContext getRIBSupportContext(TablesKey key);
+    /**
+     * Acquire a RIB Support Context for a AFI/SAFI combination.
+     * @param key AFI/SAFI key
+     * @return RIBSupport instance, or null if the AFI/SAFI is
+     *         not implemented.
+    */
+    public abstract @Nullable RIBSupportContext getRIBSupportContext(TablesKey key);
 
 }
index dc10acdfb67a9e24a3d830b59d3ef58dda0cef26..babf4f4389f435361428de5cc944bd9bf0e63337 100644 (file)
@@ -63,7 +63,7 @@ public class SimpleRIBExtensionProviderContext implements RIBExtensionProviderCo
             final Class<? extends SubsequentAddressFamily> safi, final T support) {
         final TablesKey key = new TablesKey(afi, safi);
         final RIBSupport prev = this.supports.putIfAbsent(key, support);
-        addClassLoadingSupport(afi,safi,support);
+        addClassLoadingSupport(afi, safi, support);
         Preconditions.checkArgument(prev == null, "AFI %s SAFI %s is already registered with %s", afi, safi, prev);
 
         return new AbstractRIBSupportRegistration<T>(support) {
@@ -75,19 +75,20 @@ public class SimpleRIBExtensionProviderContext implements RIBExtensionProviderCo
     }
 
     private void addClassLoadingSupport(Class<?> afi, Class<?> safi, RIBSupport s) {
-        Set<YangModuleInfo> moduleInfos = getModuleInfos(afi,safi,s.routesListClass(),s.routesContainerClass(),s.routesCaseClass());
+        final Set<YangModuleInfo> moduleInfos =
+                getModuleInfos(afi, safi, s.routesListClass(), s.routesContainerClass(), s.routesCaseClass());
         if(!moduleInfos.isEmpty()) {
             classLoadingStrategy.addModuleInfos(moduleInfos);
         }
     }
 
     private static Set<YangModuleInfo> getModuleInfos(Class<?>... clazzes) {
-        Set<YangModuleInfo> moduleInfos = new HashSet<>();
+        final Set<YangModuleInfo> moduleInfos = new HashSet<>();
         for(Class<?> clz : clazzes) {
             try {
                 moduleInfos.add(BindingReflections.getModuleInfo(clz));
             } catch (Exception e) {
-                LOG.debug("Could not find module info for class {}",clz);
+                LOG.debug("Could not find module info for class {}", clz, e);
             }
         }
         return moduleInfos;