Add missing license headers
[openflowplugin.git] / applications / statistics-manager / src / test / java / test / mock / util / OpendaylightMeterStatisticsServiceMock.java
1 /*
2  * Copyright (c) 2014, 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package test.mock.util;
9
10 import java.math.BigInteger;
11 import java.util.ArrayList;
12 import java.util.List;
13 import java.util.concurrent.Future;
14
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsInput;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutput;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutputBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsInput;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutput;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutputBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesInput;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutput;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutputBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsInput;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutput;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutputBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterConfigStatsUpdatedBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterFeaturesUpdatedBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterStatisticsUpdatedBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsService;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStats;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStatsBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStats;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStatsBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStatsKey;
39 import org.opendaylight.yangtools.yang.common.RpcResult;
40 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
41
42 import com.google.common.util.concurrent.Futures;
43
44 public class OpendaylightMeterStatisticsServiceMock implements OpendaylightMeterStatisticsService {
45     NotificationProviderServiceHelper notifService;
46
47     public OpendaylightMeterStatisticsServiceMock(NotificationProviderServiceHelper notifService) {
48         this.notifService = notifService;
49     }
50
51     @Override
52     public Future<RpcResult<GetAllMeterConfigStatisticsOutput>> getAllMeterConfigStatistics(GetAllMeterConfigStatisticsInput input) {
53         GetAllMeterConfigStatisticsOutputBuilder builder = new GetAllMeterConfigStatisticsOutputBuilder();
54         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
55         builder.setTransactionId(transId);
56         List<MeterConfigStats> meterConfigStats = new ArrayList<>();
57         MeterConfigStatsBuilder mcsBuilder = new MeterConfigStatsBuilder();
58         mcsBuilder.setMeterId(StatisticsManagerTest.getMeter().getMeterId());
59         mcsBuilder.setMeterName(StatisticsManagerTest.getMeter().getMeterName());
60         mcsBuilder.setContainerName(StatisticsManagerTest.getMeter().getContainerName());
61         meterConfigStats.add(mcsBuilder.build());
62         builder.setMeterConfigStats(meterConfigStats);
63         MeterConfigStatsUpdatedBuilder mscuBuilder = new MeterConfigStatsUpdatedBuilder();
64         mscuBuilder.setTransactionId(transId);
65         mscuBuilder.setMoreReplies(false);
66         mscuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
67         mscuBuilder.setMeterConfigStats(meterConfigStats);
68         notifService.pushDelayedNotification(mscuBuilder.build(), 100);
69         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
70     }
71
72     @Override
73     public Future<RpcResult<GetAllMeterStatisticsOutput>> getAllMeterStatistics(GetAllMeterStatisticsInput input) {
74         GetAllMeterStatisticsOutputBuilder builder = new GetAllMeterStatisticsOutputBuilder();
75         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
76         builder.setTransactionId(transId);
77         MeterStatsBuilder msBuilder = new MeterStatsBuilder();
78         msBuilder.setByteInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
79         msBuilder.setPacketInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
80         msBuilder.setKey(new MeterStatsKey(StatisticsManagerTest.getMeter().getMeterId()));
81         List<MeterStats> meterStats = new ArrayList<>();
82         meterStats.add(msBuilder.build());
83         MeterStatisticsUpdatedBuilder msuBuilder = new MeterStatisticsUpdatedBuilder();
84         msuBuilder.setTransactionId(transId);
85         msuBuilder.setMoreReplies(false);
86         msuBuilder.setMeterStats(meterStats);
87         msuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
88         notifService.pushDelayedNotification(msuBuilder.build(), 100);
89         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
90     }
91
92     @Override
93     public Future<RpcResult<GetMeterFeaturesOutput>> getMeterFeatures(GetMeterFeaturesInput input) {
94         GetMeterFeaturesOutputBuilder builder = new GetMeterFeaturesOutputBuilder();
95         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
96         builder.setTransactionId(transId);
97         MeterFeaturesUpdatedBuilder mfuBuilder = new MeterFeaturesUpdatedBuilder();
98         mfuBuilder.setTransactionId(transId);
99         mfuBuilder.setMoreReplies(false);
100         mfuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
101         mfuBuilder.setMaxMeter(StatisticsManagerTest.COUNTER_32_TEST_VALUE);
102         notifService.pushDelayedNotification(mfuBuilder.build(), 100);
103         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
104     }
105
106     @Override
107     public Future<RpcResult<GetMeterStatisticsOutput>> getMeterStatistics(GetMeterStatisticsInput input) {
108         GetMeterStatisticsOutputBuilder builder = new GetMeterStatisticsOutputBuilder();
109         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
110         builder.setTransactionId(transId);
111         MeterStatsBuilder msBuilder = new MeterStatsBuilder();
112         msBuilder.setKey(new MeterStatsKey(input.getMeterId()));
113         msBuilder.setByteInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
114         msBuilder.setPacketInCount(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
115         List<MeterStats> meterStats = new ArrayList<>();
116         meterStats.add(msBuilder.build());
117         MeterStatisticsUpdatedBuilder msuBuilder = new MeterStatisticsUpdatedBuilder();
118         msuBuilder.setTransactionId(transId);
119         msuBuilder.setMoreReplies(false);
120         msuBuilder.setMeterStats(meterStats);
121         msuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
122         notifService.pushDelayedNotification(msuBuilder.build(), 100);
123         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
124     }
125 }