* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor: usha.m.s@ericsson.com
*/
package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;
import java.util.ArrayList;
import java.util.List;
-
+import java.util.Optional;
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.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;
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.meter.band.header.MeterBandTypesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdMeterBand;
+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;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.MeterBand;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
public class MeterConvertorTest {
-
-
-
@Test
public void testMeterModCommandConvertorwithAllParameters() {
-
long BURST_SIZE = 10L;
long DROP_RATE = 20L;
// / DROP Band
DscpRemarkBuilder dscp = new DscpRemarkBuilder();
dscp.setDscpRemarkBurstSize(DSCP_REMARK_BURST_SIZE);
dscp.setDscpRemarkRate(DSCP_REMARK_RATE);
- dscp.setPercLevel(DSCP_PERC_LEVEL);
+ dscp.setPrecLevel(DSCP_PERC_LEVEL);
DscpRemark dscpRemark = dscp.build();
meterBandHeaderBuilder1.setBandType(dscpRemark);
meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
- // added to the
- // meter command.
+ // added to the
+ // meter command.
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
// InstanceIdentifier<Node> path =
// InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
- // key).toInstance();
+ // key).build();
addMeterFromSAL
.setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
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());
}
}
+
@Test
public void testMeterModCommandConvertorwithNoFlags() {
-
long BURST_SIZE = 10L;
long DROP_RATE = 20L;
// / DROP Band
dscp.setDscpRemarkBurstSize(DSCP_REMARK_BURST_SIZE);
dscp.setDscpRemarkRate(DSCP_REMARK_RATE);
- dscp.setPercLevel(DSCP_PERC_LEVEL);
+ dscp.setPrecLevel(DSCP_PERC_LEVEL);
DscpRemark dscpRemark = dscp.build();
meterBandHeaderBuilder1.setBandType(dscpRemark);
meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
- // added to the
- // meter command.
+ // added to the
+ // meter command.
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
// InstanceIdentifier<Node> path =
// InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
- // key).toInstance();
+ // key).build();
addMeterFromSAL
.setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
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());
}
}
+
@Test
public void testMeterModCommandConvertorBandDataisNULL() {
-
-
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
// InstanceIdentifier<Node> path =
// InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
- // key).toInstance();
+ // key).build();
addMeterFromSAL
.setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
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());
- }
+ }
@Test
public void testMeterModCommandConvertorNoValidBandData() {
DscpRemarkBuilder dscp = new DscpRemarkBuilder();
dscp.setDscpRemarkBurstSize(11L);
dscp.setDscpRemarkRate(21L);
- dscp.setPercLevel((short) 1);
+ dscp.setPrecLevel((short) 1);
DscpRemark dscpRemark = dscp.build();
meterBandHeaderBuilder1.setBandType(dscpRemark);
meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
- // added to the
- // meter command.
+ // added to the
+ // meter command.
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
// InstanceIdentifier<Node> path =
// InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
- // key).toInstance();
+ // key).build();
addMeterFromSAL
.setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
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());
}
-}
+ private MeterModInputBuilder convert(Meter source, VersionConvertorData data) {
+ Optional<MeterModInputBuilder> outMeterModInputOptional = ConvertorManager.getInstance().convert(source, data);
+ return outMeterModInputOptional.orElse(MeterConvertor.defaultResult(data.getVersion()));
+ }
+}
\ No newline at end of file