X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=bgp%2Fextensions%2Froute-target%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fbgp%2Froute%2Ftargetcontrain%2Fimpl%2Factivators%2FBGPActivator.java;fp=bgp%2Fextensions%2Froute-target%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fbgp%2Froute%2Ftargetcontrain%2Fimpl%2Factivators%2FBGPActivator.java;h=75291b40232c35029c1521a1586d6331aa9bc17c;hb=1f7a77d3fd00386a9d022d2571fe1000555ee76e;hp=dd5ee4cb3929d09fcd10fa150eb4ddec3d1d3d89;hpb=d0de29b8dd26162febe1fe7697ea96be0ea8cebb;p=bgpcep.git diff --git a/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/activators/BGPActivator.java b/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/activators/BGPActivator.java index dd5ee4cb39..75291b4023 100644 --- a/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/activators/BGPActivator.java +++ b/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/activators/BGPActivator.java @@ -10,6 +10,8 @@ package org.opendaylight.protocol.bgp.route.targetcontrain.impl.activators; import com.google.common.annotations.VisibleForTesting; import java.util.ArrayList; import java.util.List; +import javax.inject.Inject; +import javax.inject.Singleton; import org.kohsuke.MetaInfServices; import org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv4NextHopParserSerializer; import org.opendaylight.protocol.bgp.parser.spi.AbstractBGPExtensionProviderActivator; @@ -22,35 +24,39 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.type import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.next.hop.c.next.hop.Ipv4NextHopCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.next.hop.c.next.hop.Ipv6NextHopCase; import org.opendaylight.yangtools.concepts.Registration; +import org.osgi.service.component.annotations.Component; /** * Registers NLRI, Attributes, Extended communities Handlers. * * @author Claudio D. Gasparini */ +@Singleton +@Component(immediate = true, service = BGPExtensionProviderActivator.class, + property = "type=org.opendaylight.protocol.bgp.route.targetcontrain.impl.activators.BGPActivator") @MetaInfServices(value = BGPExtensionProviderActivator.class) public final class BGPActivator extends AbstractBGPExtensionProviderActivator { @VisibleForTesting static final int RT_SAFI = 132; - private static void registerNlri(final BGPExtensionProviderContext context, final List regs) { - final RouteTargetConstrainNlriHandler routeTargetNlriHandler = new RouteTargetConstrainNlriHandler(); - final Ipv4NextHopParserSerializer ipv4NextHopParser = new Ipv4NextHopParserSerializer(); - regs.add(context.registerNlriParser(Ipv4AddressFamily.class, RouteTargetConstrainSubsequentAddressFamily.class, - routeTargetNlriHandler, ipv4NextHopParser, Ipv4NextHopCase.class, Ipv6NextHopCase.class)); - regs.add(context.registerNlriSerializer(RouteTargetConstrainRoutes.class, routeTargetNlriHandler)); - } - - private static void registerAfiSafi(final BGPExtensionProviderContext context, final List regs) { - regs.add(context.registerSubsequentAddressFamily(RouteTargetConstrainSubsequentAddressFamily.class, RT_SAFI)); + @Inject + public BGPActivator() { + // Exposed for DI } @Override protected List startImpl(final BGPExtensionProviderContext context) { final List regs = new ArrayList<>(); NlriActivator.registerNlriParsers(regs); - registerAfiSafi(context, regs); - registerNlri(context, regs); + + regs.add(context.registerSubsequentAddressFamily(RouteTargetConstrainSubsequentAddressFamily.class, RT_SAFI)); + + final RouteTargetConstrainNlriHandler routeTargetNlriHandler = new RouteTargetConstrainNlriHandler(); + final Ipv4NextHopParserSerializer ipv4NextHopParser = new Ipv4NextHopParserSerializer(); + regs.add(context.registerNlriParser(Ipv4AddressFamily.class, RouteTargetConstrainSubsequentAddressFamily.class, + routeTargetNlriHandler, ipv4NextHopParser, Ipv4NextHopCase.class, Ipv6NextHopCase.class)); + regs.add(context.registerNlriSerializer(RouteTargetConstrainRoutes.class, routeTargetNlriHandler)); + return regs; } }