Added meta-inf to stateful02. 55/4655/5
authorDana Kutenicsova <dkutenic@cisco.com>
Thu, 23 Jan 2014 15:45:19 +0000 (16:45 +0100)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 24 Jan 2014 04:55:45 +0000 (04:55 +0000)
Change-Id: I32894efdc61650619555c9dcec67dc9b9c18dded
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
pcep/ietf-stateful02/src/main/resources/META-INF/services/org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator [new file with mode: 0644]
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPEROSubobjectParserTest.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPRROSubobjectParserTest.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPValidatorTest.java

diff --git a/pcep/ietf-stateful02/src/main/resources/META-INF/services/org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator b/pcep/ietf-stateful02/src/main/resources/META-INF/services/org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator
new file mode 100644 (file)
index 0000000..431e633
--- /dev/null
@@ -0,0 +1,2 @@
+org.opendaylight.protocol.pcep.ietf.stateful02.StatefulActivator
+org.opendaylight.protocol.pcep.crabbe.initiated00.InitiatedActivator
index fa9fb16cf520cb5bdd5e2ec79940092ee080d905..b73468ba354e8dc15be1b1881cc49748aa795aa2 100644 (file)
@@ -12,6 +12,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.util.List;
 
+import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.protocol.concepts.Ipv6Util;
 import org.opendaylight.protocol.pcep.impl.subobject.EROAsNumberSubobjectParser;
@@ -23,7 +24,7 @@ import org.opendaylight.protocol.pcep.impl.subobject.EROPathKey128SubobjectParse
 import org.opendaylight.protocol.pcep.impl.subobject.EROPathKey32SubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.EROUnnumberedInterfaceSubobjectParser;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
@@ -66,6 +67,16 @@ public class PCEPEROSubobjectParserTest {
                        (byte) 0xFF };
        private static final byte[] exrsBytes = { (byte) 0xa1, (byte) 0x06, (byte) 0xa0, (byte) 0x04, (byte) 0x00, (byte) 0x64 };
 
+       private SimplePCEPExtensionProviderContext ctx;
+       private Activator act;
+
+       @Before
+       public void setUp() {
+               this.ctx = new SimplePCEPExtensionProviderContext();
+               this.act = new Activator();
+               this.act.start(this.ctx);
+       }
+
        @Test
        public void testEROIp4PrefixSubobject() throws PCEPDeserializerException {
                final EROIpv4PrefixSubobjectParser parser = new EROIpv4PrefixSubobjectParser();
@@ -141,7 +152,8 @@ public class PCEPEROSubobjectParserTest {
 
        @Test
        public void testEROLabelSubobject() throws Exception {
-               final EROLabelSubobjectParser parser = new EROLabelSubobjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getLabelHandlerRegistry());
+               final EROLabelSubobjectParser parser = new EROLabelSubobjectParser(this.ctx.getLabelHandlerRegistry());
+
                final SubobjectBuilder subs = new SubobjectBuilder();
                subs.setLoose(true);
                subs.setSubobjectType(new LabelCaseBuilder().setLabel(
@@ -155,7 +167,7 @@ public class PCEPEROSubobjectParserTest {
 
        @Test
        public void testEROEXRSSubobject() throws Exception {
-               final EROExplicitExclusionRouteSubobjectParser parser = new EROExplicitExclusionRouteSubobjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getXROSubobjectHandlerRegistry());
+               final EROExplicitExclusionRouteSubobjectParser parser = new EROExplicitExclusionRouteSubobjectParser(this.ctx.getXROSubobjectHandlerRegistry());
                final SubobjectBuilder subs = new SubobjectBuilder();
                subs.setLoose(true);
                final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.explicit.route.subobjects.subobject.type.exrs._case.exrs.Exrs> list = Lists.newArrayList();
index d648c5ce785c3efa41cb39d393731ed7a43a3839..bdc595a8916eeec1227a2dc092fdf21f927b5f26 100644 (file)
@@ -42,7 +42,7 @@ import org.opendaylight.protocol.pcep.impl.object.PCEPSvecObjectParser;
 import org.opendaylight.protocol.pcep.spi.ObjectHeaderImpl;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
 import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
@@ -104,9 +104,15 @@ public class PCEPObjectParserTest {
 
        private TlvHandlerRegistry tlvRegistry;
 
+       private SimplePCEPExtensionProviderContext ctx;
+       private Activator act;
+
        @Before
-       public void setUp() throws Exception {
-               this.tlvRegistry = ServiceLoaderPCEPExtensionProviderContext.create().getTlvHandlerRegistry();
+       public void setUp() {
+               this.ctx = new SimplePCEPExtensionProviderContext();
+               this.act = new Activator();
+               this.act.start(this.ctx);
+               this.tlvRegistry = this.ctx.getTlvHandlerRegistry();
        }
 
        @Test
@@ -159,7 +165,7 @@ public class PCEPObjectParserTest {
 
        @Test
        public void testERObject() throws Exception {
-               final PCEPExplicitRouteObjectParser parser = new PCEPExplicitRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getEROSubobjectHandlerRegistry());
+               final PCEPExplicitRouteObjectParser parser = new PCEPExplicitRouteObjectParser(this.ctx.getEROSubobjectHandlerRegistry());
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPExplicitRouteObject1PackOfSubobjects.bin");
 
                final EroBuilder builder = new EroBuilder();
@@ -185,7 +191,7 @@ public class PCEPObjectParserTest {
 
        @Test
        public void testIRObject() throws Exception {
-               final PCEPIncludeRouteObjectParser parser = new PCEPIncludeRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getEROSubobjectHandlerRegistry());
+               final PCEPIncludeRouteObjectParser parser = new PCEPIncludeRouteObjectParser(this.ctx.getEROSubobjectHandlerRegistry());
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPIncludeRouteObject1PackOfSubobjects.bin");
                final byte[] ip6PrefixBytes = { (byte) 0x12, (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
                                (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 };
@@ -213,7 +219,7 @@ public class PCEPObjectParserTest {
 
        @Test
        public void testRRObject() throws Exception {
-               final PCEPReportedRouteObjectParser parser = new PCEPReportedRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getRROSubobjectHandlerRegistry());
+               final PCEPReportedRouteObjectParser parser = new PCEPReportedRouteObjectParser(this.ctx.getRROSubobjectHandlerRegistry());
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPReportedRouteObject1PackOfSubobjects.bin");
                final byte[] ip6PrefixBytes = { (byte) 0x12, (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
                                (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 };
@@ -543,7 +549,7 @@ public class PCEPObjectParserTest {
 
        @Test
        public void testExcludeRouteObject() throws Exception {
-               final PCEPExcludeRouteObjectParser parser = new PCEPExcludeRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getXROSubobjectHandlerRegistry());
+               final PCEPExcludeRouteObjectParser parser = new PCEPExcludeRouteObjectParser(this.ctx.getXROSubobjectHandlerRegistry());
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPExcludeRouteObject.1.bin");
 
                final XroBuilder builder = new XroBuilder();
@@ -565,7 +571,7 @@ public class PCEPObjectParserTest {
 
        @Test
        public void testPathKeyObject() throws Exception {
-               final PCEPPathKeyObjectParser parser = new PCEPPathKeyObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getEROSubobjectHandlerRegistry());
+               final PCEPPathKeyObjectParser parser = new PCEPPathKeyObjectParser(this.ctx.getEROSubobjectHandlerRegistry());
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPPathKeyObject.bin");
 
                final PathKeyBuilder builder = new PathKeyBuilder();
index 1ed5cd83d3b84ed960904ca5533d7cfe544544af..d99eaedb5d08e0dff62853713a6af7dc0395af26 100644 (file)
@@ -19,7 +19,7 @@ import org.opendaylight.protocol.pcep.impl.subobject.RROPathKey128SubobjectParse
 import org.opendaylight.protocol.pcep.impl.subobject.RROPathKey32SubobjectParser;
 import org.opendaylight.protocol.pcep.impl.subobject.RROUnnumberedInterfaceSubobjectParser;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
@@ -120,14 +120,18 @@ public class PCEPRROSubobjectParserTest {
 
        @Test
        public void testRROLabelSubobject() throws Exception {
-               final RROLabelSubobjectParser parser = new RROLabelSubobjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getLabelHandlerRegistry());
-               final SubobjectBuilder subs = new SubobjectBuilder();
-               subs.setSubobjectType(new LabelCaseBuilder().setLabel(
-                               new LabelBuilder().setUniDirectional(true).setGlobal(true).setLabelType(
-                                               new GeneralizedLabelCaseBuilder().setGeneralizedLabel(
-                                                               new GeneralizedLabelBuilder().setGeneralizedLabel(
-                                                                               new byte[] { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF }).build()).build()).build()).build());
-               assertEquals(subs.build(), parser.parseSubobject(ByteArray.cutBytes(labelBytes, 2)));
-               assertArrayEquals(labelBytes, parser.serializeSubobject(subs.build()));
+               final SimplePCEPExtensionProviderContext ctx = new SimplePCEPExtensionProviderContext();
+               try (Activator a = new Activator()) {
+                       a.start(ctx);
+                       final RROLabelSubobjectParser parser = new RROLabelSubobjectParser(ctx.getLabelHandlerRegistry());
+                       final SubobjectBuilder subs = new SubobjectBuilder();
+                       subs.setSubobjectType(new LabelCaseBuilder().setLabel(
+                                       new LabelBuilder().setUniDirectional(true).setGlobal(true).setLabelType(
+                                                       new GeneralizedLabelCaseBuilder().setGeneralizedLabel(
+                                                                       new GeneralizedLabelBuilder().setGeneralizedLabel(
+                                                                                       new byte[] { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF }).build()).build()).build()).build());
+                       assertEquals(subs.build(), parser.parseSubobject(ByteArray.cutBytes(labelBytes, 2)));
+                       assertArrayEquals(labelBytes, parser.serializeSubobject(subs.build()));
+               }
        }
 }
index 42237bbb27dabc51688f7324068be51c0a89d63e..eced8ebc8af8924b218ae1c9ce57e4918ebbc619 100644 (file)
@@ -18,9 +18,11 @@ import java.util.List;
 
 import org.junit.Before;
 import org.junit.Test;
+import org.opendaylight.protocol.pcep.ietf.initiated00.CrabbeInitiatedActivator;
 import org.opendaylight.protocol.pcep.ietf.initiated00.PcinitiateMessageParser;
 import org.opendaylight.protocol.pcep.ietf.stateful07.PCEPReportMessageParser;
 import org.opendaylight.protocol.pcep.ietf.stateful07.PCEPUpdateRequestMessageParser;
+import org.opendaylight.protocol.pcep.ietf.stateful07.StatefulActivator;
 import org.opendaylight.protocol.pcep.impl.message.PCEPCloseMessageParser;
 import org.opendaylight.protocol.pcep.impl.message.PCEPErrorMessageParser;
 import org.opendaylight.protocol.pcep.impl.message.PCEPKeepAliveMessageParser;
@@ -30,7 +32,7 @@ import org.opendaylight.protocol.pcep.impl.message.PCEPReplyMessageParser;
 import org.opendaylight.protocol.pcep.impl.message.PCEPRequestMessageParser;
 import org.opendaylight.protocol.pcep.spi.ObjectHandlerRegistry;
 import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ieee754.rev130819.Float32;
@@ -166,9 +168,15 @@ public class PCEPValidatorTest {
        private AsNumberCase eroASSubobject;
        private UnnumberedCase rroUnnumberedSub;
 
+       private SimplePCEPExtensionProviderContext ctx;
+       private Activator act;
+
        @Before
        public void setUp() throws Exception {
-               this.objectRegistry = ServiceLoaderPCEPExtensionProviderContext.create().getObjectHandlerRegistry();
+               this.ctx = new SimplePCEPExtensionProviderContext();
+               this.act = new Activator();
+               this.act.start(this.ctx);
+               this.objectRegistry = this.ctx.getObjectHandlerRegistry();
                final RpBuilder rpBuilder = new RpBuilder();
                rpBuilder.setProcessingRule(true);
                rpBuilder.setIgnore(false);
@@ -312,27 +320,30 @@ public class PCEPValidatorTest {
 
        @Test
        public void testOpenMsg() throws IOException, PCEPDeserializerException {
-               final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPOpenMessage1.bin");
-               final PCEPOpenMessageParser parser = new PCEPOpenMessageParser(this.objectRegistry);
-               final OpenMessageBuilder builder = new OpenMessageBuilder();
-
-               final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder b = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder();
-               b.setProcessingRule(false);
-               b.setIgnore(false);
-               b.setVersion(new ProtocolVersion((short) 1));
-               b.setKeepalive((short) 30);
-               b.setDeadTimer((short) 120);
-               b.setSessionId((short) 1);
-               final Stateful tlv1 = new StatefulBuilder().setLspUpdateCapability(Boolean.TRUE).build();
-               b.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.open.TlvsBuilder().addAugmentation(
-                               Tlvs2.class, new Tlvs2Builder().setStateful(tlv1).build()).build());
-               builder.setOpen(b.build());
-
-               assertEquals(new OpenBuilder().setOpenMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               final ByteBuf buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new OpenBuilder().setOpenMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
+               try (StatefulActivator a = new StatefulActivator()) {
+                       a.start(this.ctx);
+                       final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPOpenMessage1.bin");
+                       final PCEPOpenMessageParser parser = new PCEPOpenMessageParser(this.ctx.getObjectHandlerRegistry());
+                       final OpenMessageBuilder builder = new OpenMessageBuilder();
+
+                       final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder b = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder();
+                       b.setProcessingRule(false);
+                       b.setIgnore(false);
+                       b.setVersion(new ProtocolVersion((short) 1));
+                       b.setKeepalive((short) 30);
+                       b.setDeadTimer((short) 120);
+                       b.setSessionId((short) 1);
+                       final Stateful tlv1 = new StatefulBuilder().setLspUpdateCapability(Boolean.TRUE).build();
+                       b.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.open.TlvsBuilder().addAugmentation(
+                                       Tlvs2.class, new Tlvs2Builder().setStateful(tlv1).build()).build());
+                       builder.setOpen(b.build());
+
+                       assertEquals(new OpenBuilder().setOpenMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       final ByteBuf buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new OpenBuilder().setOpenMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+               }
        }
 
        @Test
@@ -485,134 +496,143 @@ public class PCEPValidatorTest {
 
        @Test
        public void testUpdMsg() throws IOException, PCEPDeserializerException {
-               byte[] result = ByteArray.fileToBytes("src/test/resources/PCUpd.2.bin");
-
-               final PCEPUpdateRequestMessageParser parser = new PCEPUpdateRequestMessageParser(this.objectRegistry);
-
-               final PcupdMessageBuilder builder = new PcupdMessageBuilder();
-
-               final List<Updates> updates = Lists.newArrayList();
-               final PathBuilder pBuilder = new PathBuilder();
-               pBuilder.setEro(this.ero);
-               pBuilder.setLspa(this.lspa);
-               updates.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
-               builder.setUpdates(updates);
-
-               assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               ByteBuf buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
-
-               result = ByteArray.fileToBytes("src/test/resources/PCUpd.5.bin");
-
-               final List<Updates> updates1 = Lists.newArrayList();
-               final PathBuilder pBuilder1 = new PathBuilder();
-               pBuilder1.setEro(this.ero);
-               pBuilder1.setLspa(this.lspa);
-               updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
-               updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build());
-               builder.setUpdates(updates1);
-
-               assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
+               try (CrabbeInitiatedActivator a = new CrabbeInitiatedActivator()) {
+                       a.start(this.ctx);
+                       byte[] result = ByteArray.fileToBytes("src/test/resources/PCUpd.2.bin");
+
+                       final PCEPUpdateRequestMessageParser parser = new PCEPUpdateRequestMessageParser(this.ctx.getObjectHandlerRegistry());
+
+                       final PcupdMessageBuilder builder = new PcupdMessageBuilder();
+
+                       final List<Updates> updates = Lists.newArrayList();
+                       final PathBuilder pBuilder = new PathBuilder();
+                       pBuilder.setEro(this.ero);
+                       pBuilder.setLspa(this.lspa);
+                       updates.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
+                       builder.setUpdates(updates);
+
+                       assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       ByteBuf buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+
+                       result = ByteArray.fileToBytes("src/test/resources/PCUpd.5.bin");
+
+                       final List<Updates> updates1 = Lists.newArrayList();
+                       final PathBuilder pBuilder1 = new PathBuilder();
+                       pBuilder1.setEro(this.ero);
+                       pBuilder1.setLspa(this.lspa);
+                       updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
+                       updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build());
+                       builder.setUpdates(updates1);
+
+                       assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+               }
        }
 
        @Test
        public void testRptMsg() throws IOException, PCEPDeserializerException {
-               byte[] result = ByteArray.fileToBytes("src/test/resources/PCRpt.1.bin");
-
-               final PCEPReportMessageParser parser = new PCEPReportMessageParser(this.objectRegistry);
-
-               final PcrptMessageBuilder builder = new PcrptMessageBuilder();
-
-               final List<Reports> reports = Lists.newArrayList();
-               reports.add(new ReportsBuilder().setLsp(this.lsp).build());
-               builder.setReports(reports);
-
-               assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               ByteBuf buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
-
-               result = ByteArray.fileToBytes("src/test/resources/PCRpt.2.bin");
-
-               final List<Reports> reports1 = Lists.newArrayList();
-               reports1.add(new ReportsBuilder().setLsp(this.lsp).setPath(
-                               new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder().setEro(
-                                               this.ero).setLspa(this.lspa).build()).build());
-               builder.setReports(reports1);
-
-               assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
-
-               result = ByteArray.fileToBytes("src/test/resources/PCRpt.3.bin");
-
-               final List<Reports> reports2 = Lists.newArrayList();
-               final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder();
-               pBuilder.setEro(this.ero);
-               pBuilder.setLspa(this.lspa);
-               pBuilder.setMetrics(Lists.newArrayList(this.metrics, this.metrics));
-               pBuilder.setRro(this.rro);
-               reports2.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
-               builder.setReports(reports2);
-
-               assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
-
-               result = ByteArray.fileToBytes("src/test/resources/PCRpt.5.bin");
-
-               final List<Reports> reports3 = Lists.newArrayList();
-               final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder1 = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder();
-               pBuilder1.setEro(this.ero);
-               pBuilder1.setLspa(this.lspa);
-               pBuilder1.setMetrics(Lists.newArrayList(this.metrics, this.metrics));
-               pBuilder1.setRro(this.rro);
-               reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
-               reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build());
-               builder.setReports(reports3);
-
-               assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
+               try (CrabbeInitiatedActivator a = new CrabbeInitiatedActivator()) {
+                       a.start(this.ctx);
+                       byte[] result = ByteArray.fileToBytes("src/test/resources/PCRpt.1.bin");
+
+                       final PCEPReportMessageParser parser = new PCEPReportMessageParser(this.ctx.getObjectHandlerRegistry());
+
+                       final PcrptMessageBuilder builder = new PcrptMessageBuilder();
+
+                       final List<Reports> reports = Lists.newArrayList();
+                       reports.add(new ReportsBuilder().setLsp(this.lsp).build());
+                       builder.setReports(reports);
+
+                       assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       ByteBuf buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+
+                       result = ByteArray.fileToBytes("src/test/resources/PCRpt.2.bin");
+
+                       final List<Reports> reports1 = Lists.newArrayList();
+                       reports1.add(new ReportsBuilder().setLsp(this.lsp).setPath(
+                                       new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder().setEro(
+                                                       this.ero).setLspa(this.lspa).build()).build());
+                       builder.setReports(reports1);
+
+                       assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+
+                       result = ByteArray.fileToBytes("src/test/resources/PCRpt.3.bin");
+
+                       final List<Reports> reports2 = Lists.newArrayList();
+                       final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder();
+                       pBuilder.setEro(this.ero);
+                       pBuilder.setLspa(this.lspa);
+                       pBuilder.setMetrics(Lists.newArrayList(this.metrics, this.metrics));
+                       pBuilder.setRro(this.rro);
+                       reports2.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
+                       builder.setReports(reports2);
+
+                       assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+
+                       result = ByteArray.fileToBytes("src/test/resources/PCRpt.5.bin");
+
+                       final List<Reports> reports3 = Lists.newArrayList();
+                       final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder1 = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder();
+                       pBuilder1.setEro(this.ero);
+                       pBuilder1.setLspa(this.lspa);
+                       pBuilder1.setMetrics(Lists.newArrayList(this.metrics, this.metrics));
+                       pBuilder1.setRro(this.rro);
+                       reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build());
+                       reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build());
+                       builder.setReports(reports3);
+
+                       assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+               }
        }
 
        @Test
        public void testPcinitMsg() throws IOException, PCEPDeserializerException {
-               final byte[] result = ByteArray.fileToBytes("src/test/resources/Pcinit.bin");
-
-               final PcinitiateMessageParser parser = new PcinitiateMessageParser(this.objectRegistry);
-
-               final PcinitiateMessageBuilder builder = new PcinitiateMessageBuilder();
-               final RequestsBuilder rBuilder = new RequestsBuilder();
-
-               final List<Requests> reqs = Lists.newArrayList();
-               rBuilder.setSrp(this.srp);
-               rBuilder.setLsp(this.lsp);
-               rBuilder.setEro(this.ero);
-               rBuilder.setLspa(this.lspa);
-               rBuilder.setMetrics(Lists.newArrayList(this.metrics));
-               rBuilder.setIro(this.iro);
-               reqs.add(rBuilder.build());
-               builder.setRequests(reqs);
-
-               assertEquals(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               final ByteBuf buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
+               try (CrabbeInitiatedActivator a = new CrabbeInitiatedActivator()) {
+                       a.start(this.ctx);
+                       final byte[] result = ByteArray.fileToBytes("src/test/resources/Pcinit.bin");
+
+                       final PcinitiateMessageParser parser = new PcinitiateMessageParser(this.ctx.getObjectHandlerRegistry());
+
+                       final PcinitiateMessageBuilder builder = new PcinitiateMessageBuilder();
+                       final RequestsBuilder rBuilder = new RequestsBuilder();
+
+                       final List<Requests> reqs = Lists.newArrayList();
+                       rBuilder.setSrp(this.srp);
+                       rBuilder.setLsp(this.lsp);
+                       rBuilder.setEro(this.ero);
+                       rBuilder.setLspa(this.lspa);
+                       rBuilder.setMetrics(Lists.newArrayList(this.metrics));
+                       rBuilder.setIro(this.iro);
+                       reqs.add(rBuilder.build());
+                       builder.setRequests(reqs);
+
+                       assertEquals(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       final ByteBuf buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+               }
        }
 
        @Test
@@ -660,41 +680,45 @@ public class PCEPValidatorTest {
 
        @Test
        public void testErrorMsg() throws IOException, PCEPDeserializerException {
-               byte[] result = ByteArray.fileToBytes("src/test/resources/PCErr.3.bin");
+               try (StatefulActivator a = new StatefulActivator()) {
+                       a.start(this.ctx);
+                       byte[] result = ByteArray.fileToBytes("src/test/resources/PCErr.3.bin");
 
-               final ErrorObject error1 = new ErrorObjectBuilder().setIgnore(false).setProcessingRule(false).setType((short) 3).setValue((short) 1).build();
+                       final ErrorObject error1 = new ErrorObjectBuilder().setIgnore(false).setProcessingRule(false).setType((short) 3).setValue(
+                                       (short) 1).build();
 
-               final PCEPErrorMessageParser parser = new PCEPErrorMessageParser(this.objectRegistry);
+                       final PCEPErrorMessageParser parser = new PCEPErrorMessageParser(this.ctx.getObjectHandlerRegistry());
 
-               List<Errors> innerErr = Lists.newArrayList();
-               innerErr.add(new ErrorsBuilder().setErrorObject(error1).build());
+                       List<Errors> innerErr = Lists.newArrayList();
+                       innerErr.add(new ErrorsBuilder().setErrorObject(error1).build());
 
-               final PcerrMessageBuilder builder = new PcerrMessageBuilder();
-               builder.setErrors(innerErr);
-               builder.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen(this.open).build()).build());
+                       final PcerrMessageBuilder builder = new PcerrMessageBuilder();
+                       builder.setErrors(innerErr);
+                       builder.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen(this.open).build()).build());
 
-               assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               ByteBuf buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
+                       assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       ByteBuf buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
 
-               result = ByteArray.fileToBytes("src/test/resources/PCErr.5.bin");
+                       result = ByteArray.fileToBytes("src/test/resources/PCErr.5.bin");
 
-               final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.pcerr.message.error.type.request._case.request.Rps> rps = Lists.newArrayList();
-               rps.add(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.pcerr.message.error.type.request._case.request.RpsBuilder().setRp(
-                               this.rpFalse).build());
+                       final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.pcerr.message.error.type.request._case.request.Rps> rps = Lists.newArrayList();
+                       rps.add(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.pcerr.message.error.type.request._case.request.RpsBuilder().setRp(
+                                       this.rpFalse).build());
 
-               innerErr = Lists.newArrayList();
-               innerErr.add(new ErrorsBuilder().setErrorObject(error1).build());
+                       innerErr = Lists.newArrayList();
+                       innerErr.add(new ErrorsBuilder().setErrorObject(error1).build());
 
-               builder.setErrors(innerErr);
-               builder.setErrorType(new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(rps).build()).build());
+                       builder.setErrors(innerErr);
+                       builder.setErrorType(new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(rps).build()).build());
 
-               assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(),
-                               parser.parseMessage(result, Collections.<Message> emptyList()));
-               buf = Unpooled.buffer(result.length);
-               parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf);
-               assertArrayEquals(result, buf.array());
+                       assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(),
+                                       parser.parseMessage(result, Collections.<Message> emptyList()));
+                       buf = Unpooled.buffer(result.length);
+                       parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf);
+                       assertArrayEquals(result, buf.array());
+               }
        }
 }