1 package test.mock.util;
3 import com.google.common.util.concurrent.Futures;
4 import java.math.BigInteger;
5 import java.util.ArrayList;
7 import java.util.concurrent.Future;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionId;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsInput;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutput;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutputBuilder;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsInput;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutput;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutputBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesInput;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutput;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutputBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsInput;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutput;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutputBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterConfigStatsUpdatedBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterFeaturesUpdatedBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterStatisticsUpdatedBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsService;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStats;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStatsBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStats;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStatsBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStatsKey;
32 import org.opendaylight.yangtools.yang.common.RpcResult;
33 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
35 public class OpendaylightMeterStatisticsServiceMock implements OpendaylightMeterStatisticsService {
36 NotificationProviderServiceHelper notifService;
38 public OpendaylightMeterStatisticsServiceMock(NotificationProviderServiceHelper notifService) {
39 this.notifService = notifService;
43 public Future<RpcResult<GetAllMeterConfigStatisticsOutput>> getAllMeterConfigStatistics(GetAllMeterConfigStatisticsInput input) {
44 GetAllMeterConfigStatisticsOutputBuilder builder = new GetAllMeterConfigStatisticsOutputBuilder();
45 TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
46 builder.setTransactionId(transId);
47 List<MeterConfigStats> meterConfigStats = new ArrayList<>();
48 MeterConfigStatsBuilder mcsBuilder = new MeterConfigStatsBuilder();
49 mcsBuilder.setMeterId(StatisticsManagerTest.getMeter().getMeterId());
50 mcsBuilder.setMeterName(StatisticsManagerTest.getMeter().getMeterName());
51 mcsBuilder.setContainerName(StatisticsManagerTest.getMeter().getContainerName());
52 meterConfigStats.add(mcsBuilder.build());
53 builder.setMeterConfigStats(meterConfigStats);
54 MeterConfigStatsUpdatedBuilder mscuBuilder = new MeterConfigStatsUpdatedBuilder();
55 mscuBuilder.setTransactionId(transId);
56 mscuBuilder.setMoreReplies(false);
57 mscuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
58 mscuBuilder.setMeterConfigStats(meterConfigStats);
59 notifService.pushDelayedNotification(mscuBuilder.build(), 100);
60 return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
64 public Future<RpcResult<GetAllMeterStatisticsOutput>> getAllMeterStatistics(GetAllMeterStatisticsInput input) {
65 GetAllMeterStatisticsOutputBuilder builder = new GetAllMeterStatisticsOutputBuilder();
66 TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
67 builder.setTransactionId(transId);
68 MeterStatsBuilder msBuilder = new MeterStatsBuilder();
69 msBuilder.setByteInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
70 msBuilder.setPacketInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
71 msBuilder.setKey(new MeterStatsKey(StatisticsManagerTest.getMeter().getMeterId()));
72 List<MeterStats> meterStats = new ArrayList<>();
73 meterStats.add(msBuilder.build());
74 MeterStatisticsUpdatedBuilder msuBuilder = new MeterStatisticsUpdatedBuilder();
75 msuBuilder.setTransactionId(transId);
76 msuBuilder.setMoreReplies(false);
77 msuBuilder.setMeterStats(meterStats);
78 msuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
79 notifService.pushDelayedNotification(msuBuilder.build(), 100);
80 return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
84 public Future<RpcResult<GetMeterFeaturesOutput>> getMeterFeatures(GetMeterFeaturesInput input) {
85 GetMeterFeaturesOutputBuilder builder = new GetMeterFeaturesOutputBuilder();
86 TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
87 builder.setTransactionId(transId);
88 MeterFeaturesUpdatedBuilder mfuBuilder = new MeterFeaturesUpdatedBuilder();
89 mfuBuilder.setTransactionId(transId);
90 mfuBuilder.setMoreReplies(false);
91 mfuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
92 mfuBuilder.setMaxMeter(StatisticsManagerTest.COUNTER_32_TEST_VALUE);
93 notifService.pushDelayedNotification(mfuBuilder.build(), 100);
94 return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
98 public Future<RpcResult<GetMeterStatisticsOutput>> getMeterStatistics(GetMeterStatisticsInput input) {
99 GetMeterStatisticsOutputBuilder builder = new GetMeterStatisticsOutputBuilder();
100 TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
101 builder.setTransactionId(transId);
102 MeterStatsBuilder msBuilder = new MeterStatsBuilder();
103 msBuilder.setKey(new MeterStatsKey(input.getMeterId()));
104 msBuilder.setByteInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
105 msBuilder.setPacketInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
106 List<MeterStats> meterStats = new ArrayList<>();
107 meterStats.add(msBuilder.build());
108 MeterStatisticsUpdatedBuilder msuBuilder = new MeterStatisticsUpdatedBuilder();
109 msuBuilder.setTransactionId(transId);
110 msuBuilder.setMoreReplies(false);
111 msuBuilder.setMeterStats(meterStats);
112 msuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
113 notifService.pushDelayedNotification(msuBuilder.build(), 100);
114 return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());