X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fopenflow%2Fmd%2Fcore%2Fsal%2Fconvertor%2FMeterConvertorTest.java;h=f35904150be9abe85f98332e7ac3291aa250cf59;hb=05f8db12159673d0e0a95642fe86e62c14b7dc7b;hp=6edaf42c04ef8a73db67ce6031763c751cf7620c;hpb=2f0bb7b74a58dde036e69677e5dba089863d82cf;p=openflowplugin.git diff --git a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/MeterConvertorTest.java b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/MeterConvertorTest.java index 6edaf42c04..f35904150b 100644 --- a/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/MeterConvertorTest.java +++ b/openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/MeterConvertorTest.java @@ -1,4 +1,4 @@ -/** +/* * Copyright (c) 2014 Ericsson India Global Services Pvt Ltd. and others. All rights reserved. * * This program and the accompanying materials are made available under the @@ -13,10 +13,14 @@ import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.List; - +import java.util.Optional; +import org.junit.Before; import org.junit.Test; +import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionConvertorData; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInputBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.BandId; +import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterBandType; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop; @@ -29,6 +33,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeadersBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.meter.band.header.MeterBandTypesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ExperimenterIdMeterBand; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterModCommand; @@ -38,71 +43,82 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands; +import org.opendaylight.yangtools.yang.common.Uint32; +import org.opendaylight.yangtools.yang.common.Uint8; public class MeterConvertorTest { + private ConvertorManager convertorManager; - + @Before + public void setUp() { + convertorManager = ConvertorManagerFactory.createDefaultManager(); + } @Test public void testMeterModCommandConvertorwithAllParameters() { + final Uint32 burstSize = Uint32.valueOf(10L); + final Uint32 dropRate = Uint32.valueOf(20L); - long BURST_SIZE = 10L; - long DROP_RATE = 20L; // / DROP Band - MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder(); MeterBandType bandFlag = new MeterBandType(true, false, false); meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop DropBuilder drop = new DropBuilder(); - drop.setDropBurstSize(BURST_SIZE); - drop.setDropRate(DROP_RATE); + drop.setDropBurstSize(burstSize); + drop.setDropRate(dropRate); Drop drp = drop.build(); + MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder(); meterBandHeaderBuilder.setBandType(drp); meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build()); + meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.ZERO))); - MeterBandHeader meterBH = meterBandHeaderBuilder.build(); + final MeterBandHeader meterBH = meterBandHeaderBuilder.build(); // DSCP Mark - long DSCP_REMARK_BURST_SIZE = 11L; - long DSCP_REMARK_RATE = 21L; - short DSCP_PERC_LEVEL = 1; + final Uint32 dscpRemarkBurstSize = Uint32.valueOf(11L); + final Uint32 dscpRemarkRate = Uint32.valueOf(21L); + final Uint8 dscpPercLevel = Uint8.valueOf(1); - MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder(); MeterBandType bandFlag1 = new MeterBandType(false, true, false); meterBandTypesB1.setFlags(bandFlag1); DscpRemarkBuilder dscp = new DscpRemarkBuilder(); - dscp.setDscpRemarkBurstSize(DSCP_REMARK_BURST_SIZE); - dscp.setDscpRemarkRate(DSCP_REMARK_RATE); - dscp.setPrecLevel(DSCP_PERC_LEVEL); + dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize); + dscp.setDscpRemarkRate(dscpRemarkRate); + dscp.setPrecLevel(dscpPercLevel); DscpRemark dscpRemark = dscp.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder(); meterBandHeaderBuilder1.setBandType(dscpRemark); meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build()); + meterBandHeaderBuilder1.withKey(new MeterBandHeaderKey(new BandId(Uint32.ONE))); - MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build(); + final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build(); // Experimental - long EXP_BURST_SIZE = 12L; - long EXP_RATE = 22L; - long EXP_EXPERIMENTER = 23L; + final Uint32 expBurstSize = Uint32.valueOf(12L); + final Uint32 expRate = Uint32.valueOf(22L); + final Uint32 expExperimenter = Uint32.valueOf(23L); - MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder(); MeterBandType bandFlag2 = new MeterBandType(false, false, true); meterBandTypesB2.setFlags(bandFlag2); ExperimenterBuilder exp = new ExperimenterBuilder(); - exp.setExperimenterBurstSize(EXP_BURST_SIZE); - exp.setExperimenterRate(EXP_RATE); - exp.setExperimenter(EXP_EXPERIMENTER); + exp.setExperimenterBurstSize(expBurstSize); + exp.setExperimenterRate(expRate); + exp.setExperimenter(expExperimenter); Experimenter experimenter = exp.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder(); meterBandHeaderBuilder2.setBandType(experimenter); meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build()); + meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.TWO))); MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build(); - List meterBandList = new ArrayList(); + List meterBandList = new ArrayList<>(); meterBandList.add(0, meterBH); meterBandList.add(1, meterBH1); meterBandList.add(2, meterBH2); @@ -116,9 +132,6 @@ public class MeterConvertorTest { AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder(); addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands - // added to the - // meter command. - Long temp = 10L; // NodeKey key = new NodeKey(new NodeId("24")); // InstanceIdentifier path = @@ -131,111 +144,117 @@ public class MeterConvertorTest { addMeterFromSAL.setFlags(flagV); AddMeterInput meterInputCommand = addMeterFromSAL.build(); - MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4); + MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4)); assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand()); assertTrue(outMeterModInput.getFlags().isOFPMFBURST()); - assertEquals(temp, outMeterModInput.getMeterId().getValue()); + assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue()); // BandInformation starts here: List bands = outMeterModInput.getBands(); for (Bands currentBand : bands) { MeterBand meterBand = currentBand.getMeterBand(); if (meterBand instanceof MeterBandDropCase) { - - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDROP, - ((MeterBandDropCase) meterBand).getMeterBandDrop().getType()); - assertEquals(BURST_SIZE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize()); - assertEquals(DROP_RATE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType()); + assertEquals(burstSize, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize()); + assertEquals(dropRate, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate()); } if (meterBand instanceof MeterBandDscpRemarkCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDSCPREMARK, - ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType()); - assertEquals(DSCP_REMARK_BURST_SIZE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize()); - assertEquals(DSCP_REMARK_RATE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate()); - assertEquals(DSCP_PERC_LEVEL, (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTDSCPREMARK, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType()); + assertEquals(dscpRemarkBurstSize, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize()); + assertEquals(dscpRemarkRate, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate()); + assertEquals(dscpPercLevel, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel()); } if (meterBand instanceof MeterBandExperimenterCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTEXPERIMENTER, - ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType()); - assertEquals(EXP_BURST_SIZE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize()); - assertEquals(EXP_RATE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTEXPERIMENTER, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType()); + assertEquals(expBurstSize, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize()); + assertEquals(expRate, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate()); ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter() - .getAugmentation(ExperimenterIdMeterBand.class); - assertEquals(EXP_EXPERIMENTER, (long) expBand.getExperimenter().getValue()); - + .augmentation(ExperimenterIdMeterBand.class); + assertEquals(expExperimenter, expBand.getExperimenter().getValue()); } - } - } + @Test public void testMeterModCommandConvertorwithNoFlags() { - - long BURST_SIZE = 10L; - long DROP_RATE = 20L; + long burstSize = 10L; + long dropRate = 20L; // / DROP Band - MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder(); MeterBandType bandFlag = new MeterBandType(true, false, false); meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop DropBuilder drop = new DropBuilder(); - drop.setDropBurstSize(BURST_SIZE); - drop.setDropRate(DROP_RATE); + drop.setDropBurstSize(burstSize); + drop.setDropRate(dropRate); Drop drp = drop.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder(); meterBandHeaderBuilder.setBandType(drp); meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build()); + meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.ZERO))); - MeterBandHeader meterBH = meterBandHeaderBuilder.build(); + final MeterBandHeader meterBH = meterBandHeaderBuilder.build(); // DSCP Mark - long DSCP_REMARK_BURST_SIZE = 11L; - long DSCP_REMARK_RATE = 21L; - short DSCP_PERC_LEVEL = 1; + final long dscpRemarkBurstSize = 11L; + final long dscpRemarkRate = 21L; + final short dscpPercLevel = 1; - MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder(); MeterBandType bandFlag1 = new MeterBandType(false, true, false); meterBandTypesB1.setFlags(bandFlag1); DscpRemarkBuilder dscp = new DscpRemarkBuilder(); - dscp.setDscpRemarkBurstSize(DSCP_REMARK_BURST_SIZE); - dscp.setDscpRemarkRate(DSCP_REMARK_RATE); - dscp.setPrecLevel(DSCP_PERC_LEVEL); + dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize); + dscp.setDscpRemarkRate(dscpRemarkRate); + dscp.setPrecLevel(dscpPercLevel); DscpRemark dscpRemark = dscp.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder(); meterBandHeaderBuilder1.setBandType(dscpRemark); meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build()); + meterBandHeaderBuilder1.withKey(new MeterBandHeaderKey(new BandId(Uint32.ONE))); - MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build(); + final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build(); // Experimental - long EXP_BURST_SIZE = 12L; - long EXP_RATE = 22L; - long EXP_EXPERIMENTER = 23L; + final long expBurstSize = 12L; + final long expRate = 22L; + final long expExperimenter = 23L; - MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder(); MeterBandType bandFlag2 = new MeterBandType(false, false, true); meterBandTypesB2.setFlags(bandFlag2); ExperimenterBuilder exp = new ExperimenterBuilder(); - exp.setExperimenterBurstSize(EXP_BURST_SIZE); - exp.setExperimenterRate(EXP_RATE); - exp.setExperimenter(EXP_EXPERIMENTER); + exp.setExperimenterBurstSize(expBurstSize); + exp.setExperimenterRate(expRate); + exp.setExperimenter(expExperimenter); Experimenter experimenter = exp.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder(); meterBandHeaderBuilder2.setBandType(experimenter); meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build()); + meterBandHeaderBuilder2.withKey(new MeterBandHeaderKey(new BandId(Uint32.TWO))); MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build(); - List meterBandList = new ArrayList(); + List meterBandList = new ArrayList<>(); meterBandList.add(0, meterBH); meterBandList.add(1, meterBH1); meterBandList.add(2, meterBH2); @@ -249,9 +268,6 @@ public class MeterConvertorTest { AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder(); addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands - // added to the - // meter command. - Long temp = 10L; // NodeKey key = new NodeKey(new NodeId("24")); // InstanceIdentifier path = @@ -263,58 +279,55 @@ public class MeterConvertorTest { AddMeterInput meterInputCommand = addMeterFromSAL.build(); - MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4); + MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4)); assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand()); assertFalse(outMeterModInput.getFlags().isOFPMFBURST()); assertTrue(outMeterModInput.getFlags().isOFPMFPKTPS()); - assertEquals(temp, outMeterModInput.getMeterId().getValue()); + assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue()); // BandInformation starts here: List bands = outMeterModInput.getBands(); for (Bands currentBand : bands) { MeterBand meterBand = currentBand.getMeterBand(); if (meterBand instanceof MeterBandDropCase) { - - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDROP, - ((MeterBandDropCase) meterBand).getMeterBandDrop().getType()); - assertEquals(BURST_SIZE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize()); - assertEquals(DROP_RATE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType()); + assertEquals(burstSize, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize().toJava()); + assertEquals(dropRate, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate().toJava()); } if (meterBand instanceof MeterBandDscpRemarkCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDSCPREMARK, - ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType()); - assertEquals(DSCP_REMARK_BURST_SIZE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize()); - assertEquals(DSCP_REMARK_RATE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate()); - assertEquals(DSCP_PERC_LEVEL, (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTDSCPREMARK, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType()); + assertEquals(dscpRemarkBurstSize, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize().toJava()); + assertEquals(dscpRemarkRate, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate().toJava()); + assertEquals(dscpPercLevel, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel().toJava()); } if (meterBand instanceof MeterBandExperimenterCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTEXPERIMENTER, - ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType()); - assertEquals(EXP_BURST_SIZE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize()); - assertEquals(EXP_RATE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTEXPERIMENTER, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType()); + assertEquals(expBurstSize, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize().toJava()); + assertEquals(expRate, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate().toJava()); ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter() - .getAugmentation(ExperimenterIdMeterBand.class); - assertEquals(EXP_EXPERIMENTER, (long) expBand.getExperimenter().getValue()); - + .augmentation(ExperimenterIdMeterBand.class); + assertEquals(expExperimenter, expBand.getExperimenter().getValue().toJava()); } - } - } + @Test public void testMeterModCommandConvertorBandDataisNULL() { - - AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder(); - Long temp = 10L; - // NodeKey key = new NodeKey(new NodeId("24")); // InstanceIdentifier path = // InstanceIdentifier.builder().node(Nodes.class).node(Node.class, @@ -326,12 +339,12 @@ public class MeterConvertorTest { addMeterFromSAL.setFlags(flagV); AddMeterInput meterInputCommand = addMeterFromSAL.build(); - MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4); + MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4)); assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand()); assertTrue(outMeterModInput.getFlags().isOFPMFBURST()); - assertEquals(temp, outMeterModInput.getMeterId().getValue()); - } + assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue()); + } @Test public void testMeterModCommandConvertorNoValidBandData() { @@ -344,11 +357,11 @@ public class MeterConvertorTest { meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build()); + meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.ZERO))); - MeterBandHeader meterBH = meterBandHeaderBuilder.build(); + final MeterBandHeader meterBH = meterBandHeaderBuilder.build(); // DSCP Mark - MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder(); MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder(); MeterBandType bandFlag1 = new MeterBandType(false, true, false); @@ -358,27 +371,31 @@ public class MeterConvertorTest { dscp.setDscpRemarkRate(21L); dscp.setPrecLevel((short) 1); DscpRemark dscpRemark = dscp.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder(); meterBandHeaderBuilder1.setBandType(dscpRemark); meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build()); + meterBandHeaderBuilder1.withKey(new MeterBandHeaderKey(new BandId(Uint32.ONE))); - MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build(); + final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build(); // Experimental - MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder(); - MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder(); - - ExperimenterBuilder exp = new ExperimenterBuilder(); exp.setExperimenterBurstSize(12L); exp.setExperimenterRate(22L); exp.setExperimenter(23L); Experimenter experimenter = exp.build(); + + MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder(); meterBandHeaderBuilder2.setBandType(experimenter); + + MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder(); meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build()); + meterBandHeaderBuilder2.withKey(new MeterBandHeaderKey(new BandId(Uint32.TWO))); MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build(); - List meterBandList = new ArrayList(); + List meterBandList = new ArrayList<>(); meterBandList.add(0, meterBH); meterBandList.add(1, meterBH1); meterBandList.add(2, meterBH2); @@ -392,9 +409,6 @@ public class MeterConvertorTest { AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder(); addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands - // added to the - // meter command. - Long temp = 10L; // NodeKey key = new NodeKey(new NodeId("24")); // InstanceIdentifier path = @@ -407,11 +421,11 @@ public class MeterConvertorTest { addMeterFromSAL.setFlags(flagV); AddMeterInput meterInputCommand = addMeterFromSAL.build(); - MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4); + MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4)); assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand()); assertTrue(outMeterModInput.getFlags().isOFPMFBURST()); - assertEquals(temp, outMeterModInput.getMeterId().getValue()); + assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue()); // BandInformation starts here: List bands = outMeterModInput.getBands(); @@ -419,36 +433,41 @@ public class MeterConvertorTest { MeterBand meterBand = currentBand.getMeterBand(); if (meterBand instanceof MeterBandDropCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDROP, - ((MeterBandDropCase) meterBand).getMeterBandDrop().getType()); - assertEquals((long) 20, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize()); - assertEquals((long) 10, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate()); + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType()); + assertEquals(20, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize()); + assertEquals(10, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate()); } if (meterBand instanceof MeterBandDscpRemarkCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDSCPREMARK, + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTDSCPREMARK, ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType()); - assertEquals((long) 11, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize()); - assertEquals((long) 21, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate()); - assertEquals((short) 1, (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel()); + assertEquals(11, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize().toJava()); + assertEquals(21, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate().toJava()); + assertEquals((short) 1, + ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel().toJava()); } if (meterBand instanceof MeterBandExperimenterCase) { - assertEquals( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTEXPERIMENTER, + assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731 + .MeterBandType.OFPMBTEXPERIMENTER, ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType()); - assertEquals((long) 12, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize()); - assertEquals((long) 22, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate()); + assertEquals(12, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize()); + assertEquals(22, + ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate()); ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter() - .getAugmentation(ExperimenterIdMeterBand.class); - assertEquals((long) 23, (long) expBand.getExperimenter().getValue()); - + .augmentation(ExperimenterIdMeterBand.class); + assertEquals(23, expBand.getExperimenter().getValue()); } - } - } + private MeterModInputBuilder convert(final Meter source, final VersionConvertorData data) { + Optional outMeterModInputOptional = convertorManager.convert(source, data); + return outMeterModInputOptional.orElse(MeterConvertor.defaultResult(data.getVersion())); + } }