Fix build faliures due to OFPlugin checktyle fixes
[netvirt.git] / statistics / impl / src / main / java / org / opendaylight / netvirt / statistics / NodeConnectorStatisticsSupplier.java
1 /*
2  * Copyright (c) 2016 Hewlett Packard Enterprise, Co. 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 org.opendaylight.netvirt.statistics;
9
10 import java.util.concurrent.ExecutionException;
11 import java.util.concurrent.Future;
12 import java.util.function.Supplier;
13
14 import org.opendaylight.infrautils.counters.api.OccurenceCounter;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetNodeConnectorStatisticsInput;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetNodeConnectorStatisticsOutput;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.OpendaylightDirectStatisticsService;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
19 import org.opendaylight.yangtools.yang.common.RpcResult;
20
21 public class NodeConnectorStatisticsSupplier implements Supplier<NodeConnectorStatisticsSupplierOutput> {
22
23     private final OpendaylightDirectStatisticsService odlDirectStatsService;
24     private GetNodeConnectorStatisticsInput gncsi;
25     private NodeConnectorId nodeConnectorId;
26
27     public NodeConnectorStatisticsSupplier(OpendaylightDirectStatisticsService odlDirectStatsService,
28             GetNodeConnectorStatisticsInput gncsi, NodeConnectorId nodeConnectorId) {
29         this.odlDirectStatsService = odlDirectStatsService;
30         this.gncsi = gncsi;
31         this.nodeConnectorId = nodeConnectorId;
32     }
33
34     @Override
35     public NodeConnectorStatisticsSupplierOutput get() {
36         Future<RpcResult<GetNodeConnectorStatisticsOutput>> rpcResultFuture =
37                 odlDirectStatsService.getNodeConnectorStatistics(gncsi);
38         RpcResult<GetNodeConnectorStatisticsOutput> rpcResult = null;
39         try {
40             rpcResult = rpcResultFuture.get();
41         } catch (InterruptedException | ExecutionException e) {
42             RpcSupplierCounters.failed_getting_node_connector_counters.inc();
43             return null;
44         }
45         return new NodeConnectorStatisticsSupplierOutput(rpcResult, nodeConnectorId);
46     }
47
48     enum RpcSupplierCounters {
49         failed_getting_node_connector_counters, //
50         ;
51         private OccurenceCounter counter;
52
53         RpcSupplierCounters() {
54             counter = new OccurenceCounter(getClass().getEnclosingClass().getSimpleName(), name(), "");
55         }
56
57         public void inc() {
58             counter.inc();
59         }
60     }
61
62 }