Add missing license headers
[openflowplugin.git] / applications / statistics-manager / src / test / java / test / mock / util / OpendaylightQueueStatisticsServiceMock.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 import java.util.concurrent.atomic.AtomicLong;
15
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsInput;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsOutput;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsOutputBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromGivenPortInput;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromGivenPortOutput;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromGivenPortOutputBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetQueueStatisticsFromGivenPortInput;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetQueueStatisticsFromGivenPortOutput;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetQueueStatisticsFromGivenPortOutputBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.OpendaylightQueueStatisticsService;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.QueueStatisticsUpdateBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMap;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMapBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMapKey;
33 import org.opendaylight.yangtools.yang.common.RpcResult;
34 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
35
36 import com.google.common.util.concurrent.Futures;
37
38 public class OpendaylightQueueStatisticsServiceMock implements OpendaylightQueueStatisticsService {
39     NotificationProviderServiceHelper notifService;
40     AtomicLong transNum = new AtomicLong();
41
42     public OpendaylightQueueStatisticsServiceMock(NotificationProviderServiceHelper notifService) {
43         this.notifService = notifService;
44     }
45
46     @Override
47     public Future<RpcResult<GetAllQueuesStatisticsFromAllPortsOutput>> getAllQueuesStatisticsFromAllPorts(GetAllQueuesStatisticsFromAllPortsInput input) {
48         GetAllQueuesStatisticsFromAllPortsOutputBuilder builder = new GetAllQueuesStatisticsFromAllPortsOutputBuilder();
49         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
50         builder.setTransactionId(transId);
51         QueueStatisticsUpdateBuilder qsuBuilder = new QueueStatisticsUpdateBuilder();
52         QueueIdAndStatisticsMapBuilder qiasmBuilder = new QueueIdAndStatisticsMapBuilder();
53         List<QueueIdAndStatisticsMap> queueIdAndStatisticsMaps = new ArrayList<>();
54         qsuBuilder.setMoreReplies(false);
55         qsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
56         qsuBuilder.setTransactionId(transId);
57         qiasmBuilder.setTransmittedBytes(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
58         qiasmBuilder.setKey(new QueueIdAndStatisticsMapKey(StatisticsManagerTest.getNodeConnectorId(), StatisticsManagerTest.getQueue().getQueueId()));
59         queueIdAndStatisticsMaps.add(qiasmBuilder.build());
60         qsuBuilder.setQueueIdAndStatisticsMap(queueIdAndStatisticsMaps);
61         notifService.pushDelayedNotification(qsuBuilder.build(), 100);
62         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
63     }
64
65     @Override
66     public Future<RpcResult<GetAllQueuesStatisticsFromGivenPortOutput>> getAllQueuesStatisticsFromGivenPort(GetAllQueuesStatisticsFromGivenPortInput input) {
67         GetAllQueuesStatisticsFromGivenPortOutputBuilder builder = new GetAllQueuesStatisticsFromGivenPortOutputBuilder();
68         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
69         builder.setTransactionId(transId);
70         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
71     }
72
73     @Override
74     public Future<RpcResult<GetQueueStatisticsFromGivenPortOutput>> getQueueStatisticsFromGivenPort(GetQueueStatisticsFromGivenPortInput input) {
75         GetQueueStatisticsFromGivenPortOutputBuilder builder = new GetQueueStatisticsFromGivenPortOutputBuilder();
76         TransactionId transId = new TransactionId(BigInteger.valueOf(TestUtils.getNewTransactionId()));
77         builder.setTransactionId(transId);
78         QueueIdAndStatisticsMapBuilder qiasmBuilder = new QueueIdAndStatisticsMapBuilder();
79         List<QueueIdAndStatisticsMap> queueIdAndStatisticsMaps = new ArrayList<>();
80         qiasmBuilder.setKey(new QueueIdAndStatisticsMapKey(input.getNodeConnectorId(), input.getQueueId()));
81         qiasmBuilder.setTransmittedBytes(StatisticsManagerTest.COUNTER_64_TEST_VALUE);
82         queueIdAndStatisticsMaps.add(qiasmBuilder.build());
83         QueueStatisticsUpdateBuilder qsuBuilder = new QueueStatisticsUpdateBuilder();
84         qsuBuilder.setMoreReplies(false);
85         qsuBuilder.setTransactionId(transId);
86         qsuBuilder.setId(input.getNode().getValue().firstKeyOf(Node.class, NodeKey.class).getId());
87         qsuBuilder.setQueueIdAndStatisticsMap(queueIdAndStatisticsMaps);
88         notifService.pushDelayedNotification(qsuBuilder.build(), 100);
89         return Futures.immediateFuture(RpcResultBuilder.success(builder.build()).build());
90     }
91 }