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