Remove hand-written ServiceLoader services
[bgpcep.git] / bgp / extensions / labeled-unicast / src / main / java / org / opendaylight / protocol / bgp / labeled / unicast / BGPActivator.java
index 869eb98a623dc0652cb9b56b3645bd7f6e60a519..f3ae65b80dfea03e7dd01ce16edff30e199ba732 100644 (file)
@@ -7,11 +7,12 @@
  */
 package org.opendaylight.protocol.bgp.labeled.unicast;
 
-import java.util.ArrayList;
 import java.util.List;
+import org.kohsuke.MetaInfServices;
 import org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv4NextHopParserSerializer;
 import org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv6NextHopParserSerializer;
 import org.opendaylight.protocol.bgp.parser.spi.AbstractBGPExtensionProviderActivator;
+import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.labeled.unicast.rev180329.LabeledUnicastSubsequentAddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.labeled.unicast.rev180329.labeled.unicast.routes.LabeledUnicastRoutes;
@@ -23,34 +24,26 @@ 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.Ipv6NextHopCase;
 import org.opendaylight.yangtools.concepts.Registration;
 
+@MetaInfServices(value = BGPExtensionProviderActivator.class)
 public final class BGPActivator extends AbstractBGPExtensionProviderActivator {
-
     private static final int LABELED_UNICAST_SAFI = 4;
 
     @Override
     protected List<Registration> startImpl(final BGPExtensionProviderContext context) {
-        final List<Registration> regs = new ArrayList<>(8);
         final LUNlriParser luNlriParser = new LUNlriParser();
-
-        regs.add(context.registerSubsequentAddressFamily(LabeledUnicastSubsequentAddressFamily.class,
-            LABELED_UNICAST_SAFI));
-
-        final Ipv4NextHopParserSerializer ipv4NextHopParser = new Ipv4NextHopParserSerializer();
-        final Ipv6NextHopParserSerializer ipv6NextHopParser = new Ipv6NextHopParserSerializer();
-        regs.add(context.registerNlriParser(Ipv4AddressFamily.class, LabeledUnicastSubsequentAddressFamily.class,
-                luNlriParser, ipv4NextHopParser, Ipv4NextHopCase.class));
-        regs.add(context.registerNlriParser(Ipv6AddressFamily.class, LabeledUnicastSubsequentAddressFamily.class,
-                luNlriParser, ipv6NextHopParser, Ipv6NextHopCase.class));
-
-        regs.add(context.registerNlriSerializer(LabeledUnicastRoutes.class, luNlriParser));
-
         final LabelIndexTlvParser labelHandler = new LabelIndexTlvParser();
         final OriginatorSrgbTlvParser originatorHandler = new OriginatorSrgbTlvParser();
-        regs.add(context.registerBgpPrefixSidTlvParser(labelHandler.getType(), labelHandler));
-        regs.add(context.registerBgpPrefixSidTlvParser(originatorHandler.getType(), originatorHandler));
-        regs.add(context.registerBgpPrefixSidTlvSerializer(LuLabelIndexTlv.class, labelHandler));
-        regs.add(context.registerBgpPrefixSidTlvSerializer(LuOriginatorSrgbTlv.class, originatorHandler));
 
-        return regs;
+        return List.of(
+            context.registerSubsequentAddressFamily(LabeledUnicastSubsequentAddressFamily.class, LABELED_UNICAST_SAFI),
+            context.registerNlriParser(Ipv4AddressFamily.class, LabeledUnicastSubsequentAddressFamily.class,
+                luNlriParser, new Ipv4NextHopParserSerializer(), Ipv4NextHopCase.class),
+            context.registerNlriParser(Ipv6AddressFamily.class, LabeledUnicastSubsequentAddressFamily.class,
+                luNlriParser, new Ipv6NextHopParserSerializer(), Ipv6NextHopCase.class),
+            context.registerNlriSerializer(LabeledUnicastRoutes.class, luNlriParser),
+            context.registerBgpPrefixSidTlvParser(labelHandler.getType(), labelHandler),
+            context.registerBgpPrefixSidTlvParser(originatorHandler.getType(), originatorHandler),
+            context.registerBgpPrefixSidTlvSerializer(LuLabelIndexTlv.class, labelHandler),
+            context.registerBgpPrefixSidTlvSerializer(LuOriginatorSrgbTlv.class, originatorHandler));
     }
 }