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.Meter;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterBandType;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DropBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemark;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemarkBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Experimenter;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.ExperimenterBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeaders;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeadersBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.meter.band.header.MeterBandTypesBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ExperimenterIdMeterBand;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterModCommand;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.MeterBand;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCase;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
44 import org.opendaylight.yangtools.yang.common.Uint32;
45 import org.opendaylight.yangtools.yang.common.Uint8;
47 public class MeterConvertorTest {
48 private ConvertorManager convertorManager;
52 convertorManager = ConvertorManagerFactory.createDefaultManager();
56 public void testMeterModCommandConvertorwithAllParameters() {
57 final Uint32 burstSize = Uint32.valueOf(10L);
58 final Uint32 dropRate = Uint32.valueOf(20L);
61 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
63 MeterBandType bandFlag = new MeterBandType(true, false, false);
64 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
65 DropBuilder drop = new DropBuilder();
66 drop.setDropBurstSize(burstSize);
67 drop.setDropRate(dropRate);
68 Drop drp = drop.build();
69 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
70 meterBandHeaderBuilder.setBandType(drp);
71 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
73 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
76 final Uint32 dscpRemarkBurstSize = Uint32.valueOf(11L);
77 final Uint32 dscpRemarkRate = Uint32.valueOf(21L);
78 final Uint8 dscpPercLevel = Uint8.valueOf(1);
80 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
81 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
83 meterBandTypesB1.setFlags(bandFlag1);
84 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
85 dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize);
86 dscp.setDscpRemarkRate(dscpRemarkRate);
87 dscp.setPrecLevel(dscpPercLevel);
88 DscpRemark dscpRemark = dscp.build();
90 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
91 meterBandHeaderBuilder1.setBandType(dscpRemark);
92 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
94 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
97 final Uint32 expBurstSize = Uint32.valueOf(12L);
98 final Uint32 expRate = Uint32.valueOf(22L);
99 final Uint32 expExperimenter = Uint32.valueOf(23L);
101 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
102 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
103 meterBandTypesB2.setFlags(bandFlag2);
105 ExperimenterBuilder exp = new ExperimenterBuilder();
106 exp.setExperimenterBurstSize(expBurstSize);
107 exp.setExperimenterRate(expRate);
108 exp.setExperimenter(expExperimenter);
109 Experimenter experimenter = exp.build();
111 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
112 meterBandHeaderBuilder2.setBandType(experimenter);
113 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
114 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
116 List<MeterBandHeader> meterBandList = new ArrayList<>();
117 meterBandList.add(0, meterBH);
118 meterBandList.add(1, meterBH1);
119 meterBandList.add(2, meterBH2);
121 // Constructing List of Bands
122 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
123 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
125 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
127 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
129 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
131 // NodeKey key = new NodeKey(new NodeId("24"));
132 // InstanceIdentifier<Node> path =
133 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
137 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
138 MeterFlags flagV = new MeterFlags(true, true, true, true);
139 addMeterFromSAL.setFlags(flagV);
141 AddMeterInput meterInputCommand = addMeterFromSAL.build();
142 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
144 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
145 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
146 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
147 // BandInformation starts here:
149 List<Bands> bands = outMeterModInput.getBands();
150 for (Bands currentBand : bands) {
151 MeterBand meterBand = currentBand.getMeterBand();
152 if (meterBand instanceof MeterBandDropCase) {
153 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
154 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
155 assertEquals(burstSize, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
156 assertEquals(dropRate, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
159 if (meterBand instanceof MeterBandDscpRemarkCase) {
160 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
161 .MeterBandType.OFPMBTDSCPREMARK,
162 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
163 assertEquals(dscpRemarkBurstSize,
164 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
165 assertEquals(dscpRemarkRate,
166 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
167 assertEquals(dscpPercLevel,
168 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
171 if (meterBand instanceof MeterBandExperimenterCase) {
172 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
173 .MeterBandType.OFPMBTEXPERIMENTER,
174 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
175 assertEquals(expBurstSize,
176 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
177 assertEquals(expRate,
178 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
179 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
180 .augmentation(ExperimenterIdMeterBand.class);
181 assertEquals(expExperimenter, expBand.getExperimenter().getValue());
187 public void testMeterModCommandConvertorwithNoFlags() {
188 long burstSize = 10L;
191 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
193 MeterBandType bandFlag = new MeterBandType(true, false, false);
194 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
195 DropBuilder drop = new DropBuilder();
196 drop.setDropBurstSize(burstSize);
197 drop.setDropRate(dropRate);
198 Drop drp = drop.build();
200 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
201 meterBandHeaderBuilder.setBandType(drp);
202 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
204 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
207 final long dscpRemarkBurstSize = 11L;
208 final long dscpRemarkRate = 21L;
209 final short dscpPercLevel = 1;
211 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
212 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
214 meterBandTypesB1.setFlags(bandFlag1);
215 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
217 dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize);
218 dscp.setDscpRemarkRate(dscpRemarkRate);
219 dscp.setPrecLevel(dscpPercLevel);
220 DscpRemark dscpRemark = dscp.build();
222 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
223 meterBandHeaderBuilder1.setBandType(dscpRemark);
224 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
226 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
229 final long expBurstSize = 12L;
230 final long expRate = 22L;
231 final long expExperimenter = 23L;
233 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
234 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
235 meterBandTypesB2.setFlags(bandFlag2);
237 ExperimenterBuilder exp = new ExperimenterBuilder();
239 exp.setExperimenterBurstSize(expBurstSize);
240 exp.setExperimenterRate(expRate);
241 exp.setExperimenter(expExperimenter);
242 Experimenter experimenter = exp.build();
244 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
245 meterBandHeaderBuilder2.setBandType(experimenter);
246 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
247 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
249 List<MeterBandHeader> meterBandList = new ArrayList<>();
250 meterBandList.add(0, meterBH);
251 meterBandList.add(1, meterBH1);
252 meterBandList.add(2, meterBH2);
254 // Constructing List of Bands
255 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
256 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
258 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
260 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
262 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
264 // NodeKey key = new NodeKey(new NodeId("24"));
265 // InstanceIdentifier<Node> path =
266 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
270 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
273 AddMeterInput meterInputCommand = addMeterFromSAL.build();
274 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
276 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
277 assertFalse(outMeterModInput.getFlags().isOFPMFBURST());
278 assertTrue(outMeterModInput.getFlags().isOFPMFPKTPS());
279 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
280 // BandInformation starts here:
282 List<Bands> bands = outMeterModInput.getBands();
283 for (Bands currentBand : bands) {
284 MeterBand meterBand = currentBand.getMeterBand();
285 if (meterBand instanceof MeterBandDropCase) {
286 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
287 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
288 assertEquals(burstSize, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize().toJava());
289 assertEquals(dropRate, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate().toJava());
292 if (meterBand instanceof MeterBandDscpRemarkCase) {
293 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
294 .MeterBandType.OFPMBTDSCPREMARK,
295 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
296 assertEquals(dscpRemarkBurstSize,
297 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize().toJava());
298 assertEquals(dscpRemarkRate,
299 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate().toJava());
300 assertEquals(dscpPercLevel,
301 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel().toJava());
304 if (meterBand instanceof MeterBandExperimenterCase) {
305 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
306 .MeterBandType.OFPMBTEXPERIMENTER,
307 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
308 assertEquals(expBurstSize,
309 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize().toJava());
310 assertEquals(expRate,
311 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate().toJava());
312 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
313 .augmentation(ExperimenterIdMeterBand.class);
314 assertEquals(expExperimenter, expBand.getExperimenter().getValue().toJava());
320 public void testMeterModCommandConvertorBandDataisNULL() {
321 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
323 // NodeKey key = new NodeKey(new NodeId("24"));
324 // InstanceIdentifier<Node> path =
325 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
329 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
330 MeterFlags flagV = new MeterFlags(true, true, true, true);
331 addMeterFromSAL.setFlags(flagV);
333 AddMeterInput meterInputCommand = addMeterFromSAL.build();
334 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
336 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
337 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
338 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
342 public void testMeterModCommandConvertorNoValidBandData() {
345 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
346 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
348 MeterBandType bandFlag = new MeterBandType(true, false, false);
349 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
351 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
353 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
356 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
357 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
359 meterBandTypesB1.setFlags(bandFlag1);
360 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
361 dscp.setDscpRemarkBurstSize(11L);
362 dscp.setDscpRemarkRate(21L);
363 dscp.setPrecLevel((short) 1);
364 DscpRemark dscpRemark = dscp.build();
366 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
367 meterBandHeaderBuilder1.setBandType(dscpRemark);
368 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
370 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
374 ExperimenterBuilder exp = new ExperimenterBuilder();
375 exp.setExperimenterBurstSize(12L);
376 exp.setExperimenterRate(22L);
377 exp.setExperimenter(23L);
378 Experimenter experimenter = exp.build();
380 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
381 meterBandHeaderBuilder2.setBandType(experimenter);
383 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
384 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
385 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
387 List<MeterBandHeader> meterBandList = new ArrayList<>();
388 meterBandList.add(0, meterBH);
389 meterBandList.add(1, meterBH1);
390 meterBandList.add(2, meterBH2);
392 // Constructing List of Bands
393 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
394 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
396 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
398 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
400 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
402 // NodeKey key = new NodeKey(new NodeId("24"));
403 // InstanceIdentifier<Node> path =
404 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
408 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
409 MeterFlags flagV = new MeterFlags(true, true, true, true);
410 addMeterFromSAL.setFlags(flagV);
412 AddMeterInput meterInputCommand = addMeterFromSAL.build();
413 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
415 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
416 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
417 assertEquals(Uint32.valueOf(10L), outMeterModInput.getMeterId().getValue());
418 // BandInformation starts here:
420 List<Bands> bands = outMeterModInput.getBands();
421 for (Bands currentBand : bands) {
422 MeterBand meterBand = currentBand.getMeterBand();
423 if (meterBand instanceof MeterBandDropCase) {
425 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
426 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
427 assertEquals(20, ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
428 assertEquals(10, ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
431 if (meterBand instanceof MeterBandDscpRemarkCase) {
432 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
433 .MeterBandType.OFPMBTDSCPREMARK,
434 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
436 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize().toJava());
438 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate().toJava());
439 assertEquals((short) 1,
440 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel().toJava());
443 if (meterBand instanceof MeterBandExperimenterCase) {
444 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
445 .MeterBandType.OFPMBTEXPERIMENTER,
446 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
448 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
450 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
451 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
452 .augmentation(ExperimenterIdMeterBand.class);
453 assertEquals(23, expBand.getExperimenter().getValue());
458 private MeterModInputBuilder convert(final Meter source, final VersionConvertorData data) {
459 Optional<MeterModInputBuilder> outMeterModInputOptional = convertorManager.convert(source, data);
460 return outMeterModInputOptional.orElse(MeterConvertor.defaultResult(data.getVersion()));