Merge "BUG 1623 - Clustering : Parsing Error thrown on startup"
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / restconf / impl / StatisticsRestconfServiceWrapper.java
1 /*
2  * Copyright (c) 2014 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 org.opendaylight.controller.sal.restconf.impl;
9
10 import java.math.BigInteger;
11 import java.util.concurrent.atomic.AtomicLong;
12 import javax.ws.rs.core.Response;
13 import javax.ws.rs.core.UriInfo;
14 import org.opendaylight.controller.sal.rest.api.RestconfService;
15 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
16 import org.opendaylight.yangtools.yang.data.api.Node;
17
18 public class StatisticsRestconfServiceWrapper implements RestconfService {
19
20     AtomicLong operationalGet = new AtomicLong();
21     AtomicLong configGet = new AtomicLong();
22     AtomicLong rpc = new AtomicLong();
23     AtomicLong configPost = new AtomicLong();
24     AtomicLong configPut = new AtomicLong();
25     AtomicLong configDelete = new AtomicLong();
26
27     private static final StatisticsRestconfServiceWrapper INSTANCE = new StatisticsRestconfServiceWrapper(RestconfImpl.getInstance());
28
29     final RestconfService delegate;
30
31     private StatisticsRestconfServiceWrapper(RestconfService delegate) {
32         this.delegate = delegate;
33     }
34
35     public static StatisticsRestconfServiceWrapper getInstance() {
36         return INSTANCE;
37     }
38
39     @Override
40     public Object getRoot() {
41         return delegate.getRoot();
42     }
43
44     @Override
45     public StructuredData getModules(UriInfo uriInfo) {
46         return delegate.getModules(uriInfo);
47     }
48
49     @Override
50     public StructuredData getModules(String identifier, UriInfo uriInfo) {
51         return delegate.getModules(identifier, uriInfo);
52     }
53
54     @Override
55     public StructuredData getModule(String identifier, UriInfo uriInfo) {
56         return delegate.getModule(identifier, uriInfo);
57     }
58
59     @Override
60     public StructuredData getOperations(UriInfo uriInfo) {
61         return delegate.getOperations(uriInfo);
62     }
63
64     @Override
65     public StructuredData getOperations(String identifier, UriInfo uriInfo) {
66         return delegate.getOperations(identifier, uriInfo);
67     }
68
69     @Override
70     public StructuredData invokeRpc(String identifier, CompositeNode payload, UriInfo uriInfo) {
71         rpc.incrementAndGet();
72         return delegate.invokeRpc(identifier, payload, uriInfo);
73     }
74
75     @Override
76     public StructuredData invokeRpc(String identifier, String noPayload, UriInfo uriInfo) {
77         rpc.incrementAndGet();
78         return delegate.invokeRpc(identifier, noPayload, uriInfo);
79     }
80
81     @Override
82     public NormalizedNodeContext readConfigurationData(String identifier, UriInfo uriInfo) {
83         configGet.incrementAndGet();
84         return delegate.readConfigurationData(identifier, uriInfo);
85     }
86
87     @Override
88     public NormalizedNodeContext readOperationalData(String identifier, UriInfo uriInfo) {
89         operationalGet.incrementAndGet();
90         return delegate.readOperationalData(identifier, uriInfo);
91     }
92
93     @Override
94     public Response updateConfigurationData(String identifier, Node<?> payload) {
95         configPut.incrementAndGet();
96         return delegate.updateConfigurationData(identifier, payload);
97     }
98
99     @Override
100     public Response createConfigurationData(String identifier, Node<?> payload) {
101         configPost.incrementAndGet();
102         return delegate.createConfigurationData(identifier, payload);
103     }
104
105     @Override
106     public Response createConfigurationData(Node<?> payload) {
107         configPost.incrementAndGet();
108         return delegate.createConfigurationData(payload);
109     }
110
111     @Override
112     public Response deleteConfigurationData(String identifier) {
113         return delegate.deleteConfigurationData(identifier);
114     }
115
116     @Override
117     public Response subscribeToStream(String identifier, UriInfo uriInfo) {
118         return delegate.subscribeToStream(identifier, uriInfo);
119     }
120
121     @Override
122     public StructuredData getAvailableStreams(UriInfo uriInfo) {
123         return delegate.getAvailableStreams(uriInfo);
124     }
125
126     public BigInteger getConfigDelete() {
127         return BigInteger.valueOf(configDelete.get());
128     }
129
130     public BigInteger getConfigGet() {
131         return BigInteger.valueOf(configGet.get());
132     }
133
134     public BigInteger getConfigPost() {
135         return BigInteger.valueOf(configPost.get());
136     }
137
138     public BigInteger getConfigPut() {
139         return BigInteger.valueOf(configPut.get());
140     }
141
142     public BigInteger getOperationalGet() {
143         return BigInteger.valueOf(operationalGet.get());
144     }
145
146     public BigInteger getRpc() {
147         return BigInteger.valueOf(rpc.get());
148     }
149
150 }