From: Tony Tkacik Date: Mon, 30 Mar 2015 15:12:54 +0000 (+0200) Subject: Bug 2383: Fixed minor issues and missing javadocs in RibSupportContext. X-Git-Tag: release/lithium~140 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;ds=inline;h=refs%2Fchanges%2F55%2F17355%2F4;p=bgpcep.git Bug 2383: Fixed minor issues and missing javadocs in RibSupportContext. Spaces and similar. Change-Id: I0f580ce7407398a3dbcf4b9db3e6023b85d9e9c9 Signed-off-by: Tony Tkacik Signed-off-by: Robert Varga --- diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java index 349a00f399..a4615e91a7 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java @@ -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()); diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextRegistryImpl.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextRegistryImpl.java index 565bb48de1..340a1b21d6 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextRegistryImpl.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextRegistryImpl.java @@ -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 contexts = CacheBuilder.newBuilder() .build(new CacheLoader(){ diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java index 722f555e34..a23c7bf72f 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java @@ -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); } } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java index 8009a1a499..e55cdaa49d 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java @@ -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(); /** diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java index 4b954b55c9..f6053872b1 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java @@ -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(); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContextRegistry.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContextRegistry.java index 57bb4b58b9..b79017bd13 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContextRegistry.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContextRegistry.java @@ -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); } diff --git a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionProviderContext.java b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionProviderContext.java index dc10acdfb6..babf4f4389 100644 --- a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionProviderContext.java +++ b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionProviderContext.java @@ -63,7 +63,7 @@ public class SimpleRIBExtensionProviderContext implements RIBExtensionProviderCo final Class 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(support) { @@ -75,19 +75,20 @@ public class SimpleRIBExtensionProviderContext implements RIBExtensionProviderCo } private void addClassLoadingSupport(Class afi, Class safi, RIBSupport s) { - Set moduleInfos = getModuleInfos(afi,safi,s.routesListClass(),s.routesContainerClass(),s.routesCaseClass()); + final Set moduleInfos = + getModuleInfos(afi, safi, s.routesListClass(), s.routesContainerClass(), s.routesCaseClass()); if(!moduleInfos.isEmpty()) { classLoadingStrategy.addModuleInfos(moduleInfos); } } private static Set getModuleInfos(Class... clazzes) { - Set moduleInfos = new HashSet<>(); + final Set 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;