BUG-2982 : moved path-attributes container to grouping
[bgpcep.git] / bgp / linkstate / src / main / java / org / opendaylight / protocol / bgp / linkstate / BGPActivator.java
index 1b9697f9f501dc4bf6e7fc379ee3f892b1045856..6eedb8cf9d0640eaf453affdc9a5849d1c3871bd 100644 (file)
@@ -9,13 +9,14 @@ package org.opendaylight.protocol.bgp.linkstate;
 
 import java.util.ArrayList;
 import java.util.List;
-
+import org.opendaylight.protocol.bgp.linkstate.attribute.LinkstateAttributeParser;
+import org.opendaylight.protocol.bgp.linkstate.nlri.LinkstateNlriParser;
 import org.opendaylight.protocol.bgp.parser.spi.AbstractBGPExtensionProviderActivator;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.LinkstateAddressFamily;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.LinkstateSubsequentAddressFamily;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.PathAttributes1;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.update.PathAttributes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.Attributes1;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.LinkstateAddressFamily;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.LinkstateSubsequentAddressFamily;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.path.attributes.Attributes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.MplsLabeledVpnSubsequentAddressFamily;
 
 /**
@@ -27,6 +28,18 @@ public final class BGPActivator extends AbstractBGPExtensionProviderActivator {
 
     private static final int LINKSTATE_SAFI = 71;
 
+    private final boolean ianaLinkstateAttributeType;
+
+    public BGPActivator() {
+        super();
+        this.ianaLinkstateAttributeType = true;
+    }
+
+    public BGPActivator(final boolean ianaLinkstateAttributeType) {
+        super();
+        this.ianaLinkstateAttributeType = ianaLinkstateAttributeType;
+    }
+
     @Override
     protected List<AutoCloseable> startImpl(final BGPExtensionProviderContext context) {
         final List<AutoCloseable> regs = new ArrayList<>();
@@ -38,10 +51,11 @@ public final class BGPActivator extends AbstractBGPExtensionProviderActivator {
                 new LinkstateNlriParser(false)));
         regs.add(context.registerNlriParser(LinkstateAddressFamily.class, MplsLabeledVpnSubsequentAddressFamily.class,
                 new LinkstateNlriParser(true)));
-        regs.add(context.registerNlriSerializer(PathAttributes.class, new LinkstateNlriParser(false)));
+        regs.add(context.registerNlriSerializer(Attributes.class, new LinkstateNlriParser(false)));
 
-        regs.add(context.registerAttributeSerializer(PathAttributes1.class, new LinkstateAttributeParser()));
-        regs.add(context.registerAttributeParser(LinkstateAttributeParser.TYPE, new LinkstateAttributeParser()));
+        regs.add(context.registerAttributeSerializer(Attributes1.class, new LinkstateAttributeParser(this.ianaLinkstateAttributeType)));
+        final LinkstateAttributeParser linkstateAttributeParser = new LinkstateAttributeParser(this.ianaLinkstateAttributeType);
+        regs.add(context.registerAttributeParser(linkstateAttributeParser.getType(), linkstateAttributeParser));
 
         return regs;
     }