2 * Copyright (c) 2014 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertTrue;
14 import java.util.ArrayList;
15 import java.util.List;
16 import java.util.Optional;
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionConvertorData;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInput;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInputBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.BandId;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterBandType;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DropBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemark;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemarkBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Experimenter;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.ExperimenterBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeaders;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeadersBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderKey;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.meter.band.header.MeterBandTypesBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ExperimenterIdMeterBand;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterModCommand;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.MeterBand;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCase;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
46 import org.opendaylight.yangtools.yang.common.Uint32;
47 import org.opendaylight.yangtools.yang.common.Uint8;
49 public class MeterConvertorTest {
50 private ConvertorManager convertorManager;
54 convertorManager = ConvertorManagerFactory.createDefaultManager();
58 public void testMeterModCommandConvertorwithAllParameters() {
59 final Uint32 burstSize = Uint32.valueOf(10L);
60 final Uint32 dropRate = Uint32.valueOf(20L);
63 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
65 MeterBandType bandFlag = new MeterBandType(true, false, false);
66 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
67 DropBuilder drop = new DropBuilder();
68 drop.setDropBurstSize(burstSize);
69 drop.setDropRate(dropRate);
70 Drop drp = drop.build();
71 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
72 meterBandHeaderBuilder.setBandType(drp);
73 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
74 meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.ZERO)));
76 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
79 final Uint32 dscpRemarkBurstSize = Uint32.valueOf(11L);
80 final Uint32 dscpRemarkRate = Uint32.valueOf(21L);
81 final Uint8 dscpPercLevel = Uint8.valueOf(1);
83 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
84 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
86 meterBandTypesB1.setFlags(bandFlag1);
87 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
88 dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize);
89 dscp.setDscpRemarkRate(dscpRemarkRate);
90 dscp.setPrecLevel(dscpPercLevel);
91 DscpRemark dscpRemark = dscp.build();
93 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
94 meterBandHeaderBuilder1.setBandType(dscpRemark);
95 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
96 meterBandHeaderBuilder1.withKey(new MeterBandHeaderKey(new BandId(Uint32.ONE)));
98 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
101 final Uint32 expBurstSize = Uint32.valueOf(12L);
102 final Uint32 expRate = Uint32.valueOf(22L);
103 final Uint32 expExperimenter = Uint32.valueOf(23L);
105 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
106 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
107 meterBandTypesB2.setFlags(bandFlag2);
109 ExperimenterBuilder exp = new ExperimenterBuilder();
110 exp.setExperimenterBurstSize(expBurstSize);
111 exp.setExperimenterRate(expRate);
112 exp.setExperimenter(expExperimenter);
113 Experimenter experimenter = exp.build();
115 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
116 meterBandHeaderBuilder2.setBandType(experimenter);
117 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
118 meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.TWO)));
119 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
121 List<MeterBandHeader> meterBandList = new ArrayList<>();
122 meterBandList.add(0, meterBH);
123 meterBandList.add(1, meterBH1);
124 meterBandList.add(2, meterBH2);
126 // Constructing List of Bands
127 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
128 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
130 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
132 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
134 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
136 // NodeKey key = new NodeKey(new NodeId("24"));
137 // InstanceIdentifier<Node> path =
138 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
142 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
143 MeterFlags flagV = new MeterFlags(true, true, true, true);
144 addMeterFromSAL.setFlags(flagV);
146 AddMeterInput meterInputCommand = addMeterFromSAL.build();
147 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
149 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
150 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
151 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
152 // BandInformation starts here:
154 List<Bands> bands = outMeterModInput.getBands();
155 for (Bands currentBand : bands) {
156 MeterBand meterBand = currentBand.getMeterBand();
157 if (meterBand instanceof MeterBandDropCase) {
158 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
159 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
160 assertEquals(burstSize, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
161 assertEquals(dropRate, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
164 if (meterBand instanceof MeterBandDscpRemarkCase) {
165 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
166 .MeterBandType.OFPMBTDSCPREMARK,
167 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
168 assertEquals(dscpRemarkBurstSize,
169 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
170 assertEquals(dscpRemarkRate,
171 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
172 assertEquals(dscpPercLevel,
173 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
176 if (meterBand instanceof MeterBandExperimenterCase) {
177 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
178 .MeterBandType.OFPMBTEXPERIMENTER,
179 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
180 assertEquals(expBurstSize,
181 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
182 assertEquals(expRate,
183 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
184 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
185 .augmentation(ExperimenterIdMeterBand.class);
186 assertEquals(expExperimenter, expBand.getExperimenter().getValue());
192 public void testMeterModCommandConvertorwithNoFlags() {
193 long burstSize = 10L;
196 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
198 MeterBandType bandFlag = new MeterBandType(true, false, false);
199 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
200 DropBuilder drop = new DropBuilder();
201 drop.setDropBurstSize(burstSize);
202 drop.setDropRate(dropRate);
203 Drop drp = drop.build();
205 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
206 meterBandHeaderBuilder.setBandType(drp);
207 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
208 meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.ZERO)));
210 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
213 final long dscpRemarkBurstSize = 11L;
214 final long dscpRemarkRate = 21L;
215 final short dscpPercLevel = 1;
217 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
218 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
220 meterBandTypesB1.setFlags(bandFlag1);
221 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
223 dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize);
224 dscp.setDscpRemarkRate(dscpRemarkRate);
225 dscp.setPrecLevel(dscpPercLevel);
226 DscpRemark dscpRemark = dscp.build();
228 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
229 meterBandHeaderBuilder1.setBandType(dscpRemark);
230 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
231 meterBandHeaderBuilder1.withKey(new MeterBandHeaderKey(new BandId(Uint32.ONE)));
233 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
236 final long expBurstSize = 12L;
237 final long expRate = 22L;
238 final long expExperimenter = 23L;
240 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
241 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
242 meterBandTypesB2.setFlags(bandFlag2);
244 ExperimenterBuilder exp = new ExperimenterBuilder();
246 exp.setExperimenterBurstSize(expBurstSize);
247 exp.setExperimenterRate(expRate);
248 exp.setExperimenter(expExperimenter);
249 Experimenter experimenter = exp.build();
251 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
252 meterBandHeaderBuilder2.setBandType(experimenter);
253 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
254 meterBandHeaderBuilder2.withKey(new MeterBandHeaderKey(new BandId(Uint32.TWO)));
255 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
257 List<MeterBandHeader> meterBandList = new ArrayList<>();
258 meterBandList.add(0, meterBH);
259 meterBandList.add(1, meterBH1);
260 meterBandList.add(2, meterBH2);
262 // Constructing List of Bands
263 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
264 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
266 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
268 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
270 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
272 // NodeKey key = new NodeKey(new NodeId("24"));
273 // InstanceIdentifier<Node> path =
274 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
278 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
281 AddMeterInput meterInputCommand = addMeterFromSAL.build();
282 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
284 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
285 assertFalse(outMeterModInput.getFlags().isOFPMFBURST());
286 assertTrue(outMeterModInput.getFlags().isOFPMFPKTPS());
287 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
288 // BandInformation starts here:
290 List<Bands> bands = outMeterModInput.getBands();
291 for (Bands currentBand : bands) {
292 MeterBand meterBand = currentBand.getMeterBand();
293 if (meterBand instanceof MeterBandDropCase) {
294 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
295 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
296 assertEquals(burstSize, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize().toJava());
297 assertEquals(dropRate, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate().toJava());
300 if (meterBand instanceof MeterBandDscpRemarkCase) {
301 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
302 .MeterBandType.OFPMBTDSCPREMARK,
303 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
304 assertEquals(dscpRemarkBurstSize,
305 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize().toJava());
306 assertEquals(dscpRemarkRate,
307 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate().toJava());
308 assertEquals(dscpPercLevel,
309 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel().toJava());
312 if (meterBand instanceof MeterBandExperimenterCase) {
313 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
314 .MeterBandType.OFPMBTEXPERIMENTER,
315 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
316 assertEquals(expBurstSize,
317 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize().toJava());
318 assertEquals(expRate,
319 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate().toJava());
320 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
321 .augmentation(ExperimenterIdMeterBand.class);
322 assertEquals(expExperimenter, expBand.getExperimenter().getValue().toJava());
328 public void testMeterModCommandConvertorBandDataisNULL() {
329 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
331 // NodeKey key = new NodeKey(new NodeId("24"));
332 // InstanceIdentifier<Node> path =
333 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
337 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
338 MeterFlags flagV = new MeterFlags(true, true, true, true);
339 addMeterFromSAL.setFlags(flagV);
341 AddMeterInput meterInputCommand = addMeterFromSAL.build();
342 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
344 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
345 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
346 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
350 public void testMeterModCommandConvertorNoValidBandData() {
353 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
354 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
356 MeterBandType bandFlag = new MeterBandType(true, false, false);
357 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
359 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
360 meterBandHeaderBuilder.withKey(new MeterBandHeaderKey(new BandId(Uint32.ZERO)));
362 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
365 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
366 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
368 meterBandTypesB1.setFlags(bandFlag1);
369 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
370 dscp.setDscpRemarkBurstSize(11L);
371 dscp.setDscpRemarkRate(21L);
372 dscp.setPrecLevel((short) 1);
373 DscpRemark dscpRemark = dscp.build();
375 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
376 meterBandHeaderBuilder1.setBandType(dscpRemark);
377 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
378 meterBandHeaderBuilder1.withKey(new MeterBandHeaderKey(new BandId(Uint32.ONE)));
380 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
384 ExperimenterBuilder exp = new ExperimenterBuilder();
385 exp.setExperimenterBurstSize(12L);
386 exp.setExperimenterRate(22L);
387 exp.setExperimenter(23L);
388 Experimenter experimenter = exp.build();
390 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
391 meterBandHeaderBuilder2.setBandType(experimenter);
393 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
394 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
395 meterBandHeaderBuilder2.withKey(new MeterBandHeaderKey(new BandId(Uint32.TWO)));
396 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
398 List<MeterBandHeader> meterBandList = new ArrayList<>();
399 meterBandList.add(0, meterBH);
400 meterBandList.add(1, meterBH1);
401 meterBandList.add(2, meterBH2);
403 // Constructing List of Bands
404 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
405 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
407 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
409 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
411 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
413 // NodeKey key = new NodeKey(new NodeId("24"));
414 // InstanceIdentifier<Node> path =
415 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
419 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
420 MeterFlags flagV = new MeterFlags(true, true, true, true);
421 addMeterFromSAL.setFlags(flagV);
423 AddMeterInput meterInputCommand = addMeterFromSAL.build();
424 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
426 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
427 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
428 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
429 // BandInformation starts here:
431 List<Bands> bands = outMeterModInput.getBands();
432 for (Bands currentBand : bands) {
433 MeterBand meterBand = currentBand.getMeterBand();
434 if (meterBand instanceof MeterBandDropCase) {
436 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
437 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
438 assertEquals(20, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
439 assertEquals(10, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
442 if (meterBand instanceof MeterBandDscpRemarkCase) {
443 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
444 .MeterBandType.OFPMBTDSCPREMARK,
445 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
447 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize().toJava());
449 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate().toJava());
450 assertEquals((short) 1,
451 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel().toJava());
454 if (meterBand instanceof MeterBandExperimenterCase) {
455 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
456 .MeterBandType.OFPMBTEXPERIMENTER,
457 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
459 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
461 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
462 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
463 .augmentation(ExperimenterIdMeterBand.class);
464 assertEquals(23, expBand.getExperimenter().getValue());
469 private MeterModInputBuilder convert(final Meter source, final VersionConvertorData data) {
470 Optional<MeterModInputBuilder> outMeterModInputOptional = convertorManager.convert(source, data);
471 return outMeterModInputOptional.orElse(MeterConvertor.defaultResult(data.getVersion()));