summaryrefslogtreecommitdiffstats
path: root/netconf/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/StatisticsRestconfServiceWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'netconf/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/StatisticsRestconfServiceWrapper.java')
-rw-r--r--netconf/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/StatisticsRestconfServiceWrapper.java301
1 files changed, 301 insertions, 0 deletions
diff --git a/netconf/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/StatisticsRestconfServiceWrapper.java b/netconf/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/StatisticsRestconfServiceWrapper.java
new file mode 100644
index 0000000..afe4be0
--- /dev/null
+++ b/netconf/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/StatisticsRestconfServiceWrapper.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.netconf.sal.restconf.impl;
+
+import java.math.BigInteger;
+import java.util.concurrent.atomic.AtomicLong;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.core.UriInfo;
+import org.opendaylight.netconf.sal.rest.api.RestconfService;
+import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext;
+import org.opendaylight.restconf.common.patch.PatchContext;
+import org.opendaylight.restconf.common.patch.PatchStatusContext;
+
+@Singleton
+public final class StatisticsRestconfServiceWrapper implements RestconfService {
+
+ AtomicLong operationalGet = new AtomicLong();
+ AtomicLong configGet = new AtomicLong();
+ AtomicLong rpc = new AtomicLong();
+ AtomicLong configPost = new AtomicLong();
+ AtomicLong configPut = new AtomicLong();
+ AtomicLong configDelete = new AtomicLong();
+ AtomicLong successGetConfig = new AtomicLong();
+ AtomicLong successGetOperational = new AtomicLong();
+ AtomicLong successPost = new AtomicLong();
+ AtomicLong successPut = new AtomicLong();
+ AtomicLong successDelete = new AtomicLong();
+ AtomicLong failureGetConfig = new AtomicLong();
+ AtomicLong failureGetOperational = new AtomicLong();
+ AtomicLong failurePost = new AtomicLong();
+ AtomicLong failurePut = new AtomicLong();
+ AtomicLong failureDelete = new AtomicLong();
+
+ private final RestconfService delegate;
+
+ @Inject
+ public StatisticsRestconfServiceWrapper(final RestconfImpl delegate) {
+ this.delegate = delegate;
+ }
+
+ /**
+ * Factory method.
+ *
+ * @deprecated Just use {@link #StatisticsRestconfServiceWrapper(RestconfImpl)} constructor instead.
+ */
+ @Deprecated
+ public static StatisticsRestconfServiceWrapper newInstance(RestconfImpl delegate) {
+ return new StatisticsRestconfServiceWrapper(delegate);
+ }
+
+ @Override
+ public Object getRoot() {
+ return this.delegate.getRoot();
+ }
+
+ @Override
+ public NormalizedNodeContext getModules(final UriInfo uriInfo) {
+ return this.delegate.getModules(uriInfo);
+ }
+
+ @Override
+ public NormalizedNodeContext getModules(final String identifier, final UriInfo uriInfo) {
+ return this.delegate.getModules(identifier, uriInfo);
+ }
+
+ @Override
+ public NormalizedNodeContext getModule(final String identifier, final UriInfo uriInfo) {
+ return this.delegate.getModule(identifier, uriInfo);
+ }
+
+ @Override
+ public String getOperationsJSON() {
+ return this.delegate.getOperationsJSON();
+ }
+
+ @Override
+ public String getOperationsXML() {
+ return this.delegate.getOperationsXML();
+ }
+
+ @Override
+ public NormalizedNodeContext getOperations(final String identifier, final UriInfo uriInfo) {
+ return this.delegate.getOperations(identifier, uriInfo);
+ }
+
+ @Override
+ public NormalizedNodeContext invokeRpc(final String identifier, final NormalizedNodeContext payload,
+ final UriInfo uriInfo) {
+ this.rpc.incrementAndGet();
+ return this.delegate.invokeRpc(identifier, payload, uriInfo);
+ }
+
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ @Override
+ public NormalizedNodeContext readConfigurationData(final String identifier, final UriInfo uriInfo) {
+ this.configGet.incrementAndGet();
+ NormalizedNodeContext normalizedNodeContext = null;
+ try {
+ normalizedNodeContext = this.delegate.readConfigurationData(identifier, uriInfo);
+ if (normalizedNodeContext.getData() != null) {
+ this.successGetConfig.incrementAndGet();
+ } else {
+ this.failureGetConfig.incrementAndGet();
+ }
+ } catch (final Exception e) {
+ this.failureGetConfig.incrementAndGet();
+ throw e;
+ }
+ return normalizedNodeContext;
+ }
+
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ @Override
+ public NormalizedNodeContext readOperationalData(final String identifier, final UriInfo uriInfo) {
+ this.operationalGet.incrementAndGet();
+ NormalizedNodeContext normalizedNodeContext = null;
+ try {
+ normalizedNodeContext = this.delegate.readOperationalData(identifier, uriInfo);
+ if (normalizedNodeContext.getData() != null) {
+ this.successGetOperational.incrementAndGet();
+ } else {
+ this.failureGetOperational.incrementAndGet();
+ }
+ } catch (final Exception e) {
+ this.failureGetOperational.incrementAndGet();
+ throw e;
+ }
+ return normalizedNodeContext;
+ }
+
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ @Override
+ public Response updateConfigurationData(final String identifier, final NormalizedNodeContext payload,
+ final UriInfo uriInfo) {
+ this.configPut.incrementAndGet();
+ Response response = null;
+ try {
+ response = this.delegate.updateConfigurationData(identifier, payload, uriInfo);
+ if (response.getStatus() == Status.OK.getStatusCode()) {
+ this.successPut.incrementAndGet();
+ } else {
+ this.failurePut.incrementAndGet();
+ }
+ } catch (final Exception e) {
+ this.failurePut.incrementAndGet();
+ throw e;
+ }
+ return response;
+ }
+
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ @Override
+ public Response createConfigurationData(final String identifier, final NormalizedNodeContext payload,
+ final UriInfo uriInfo) {
+ this.configPost.incrementAndGet();
+ Response response = null;
+ try {
+ response = this.delegate.createConfigurationData(identifier, payload, uriInfo);
+ if (response.getStatus() == Status.OK.getStatusCode()) {
+ this.successPost.incrementAndGet();
+ } else {
+ this.failurePost.incrementAndGet();
+ }
+ } catch (final Exception e) {
+ this.failurePost.incrementAndGet();
+ throw e;
+ }
+ return response;
+ }
+
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ @Override
+ public Response createConfigurationData(final NormalizedNodeContext payload, final UriInfo uriInfo) {
+ this.configPost.incrementAndGet();
+ Response response = null;
+ try {
+ response = this.delegate.createConfigurationData(payload, uriInfo);
+ if (response.getStatus() == Status.OK.getStatusCode()) {
+ this.successPost.incrementAndGet();
+ } else {
+ this.failurePost.incrementAndGet();
+ }
+ } catch (final Exception e) {
+ this.failurePost.incrementAndGet();
+ throw e;
+ }
+ return response;
+ }
+
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ @Override
+ public Response deleteConfigurationData(final String identifier) {
+ this.configDelete.incrementAndGet();
+ Response response = null;
+ try {
+ response = this.delegate.deleteConfigurationData(identifier);
+ if (response.getStatus() == Status.OK.getStatusCode()) {
+ this.successDelete.incrementAndGet();
+ } else {
+ this.failureDelete.incrementAndGet();
+ }
+ } catch (final Exception e) {
+ this.failureDelete.incrementAndGet();
+ throw e;
+ }
+ return response;
+ }
+
+ @Override
+ public NormalizedNodeContext subscribeToStream(final String identifier, final UriInfo uriInfo) {
+ return this.delegate.subscribeToStream(identifier, uriInfo);
+ }
+
+ @Override
+ public NormalizedNodeContext getAvailableStreams(final UriInfo uriInfo) {
+ return this.delegate.getAvailableStreams(uriInfo);
+ }
+
+ @Override
+ public PatchStatusContext patchConfigurationData(final String identifier, final PatchContext payload,
+ final UriInfo uriInfo) {
+ return this.delegate.patchConfigurationData(identifier, payload, uriInfo);
+ }
+
+ @Override
+ public PatchStatusContext patchConfigurationData(final PatchContext payload, final UriInfo uriInfo) {
+ return this.delegate.patchConfigurationData(payload, uriInfo);
+ }
+
+ public BigInteger getConfigDelete() {
+ return BigInteger.valueOf(this.configDelete.get());
+ }
+
+ public BigInteger getConfigGet() {
+ return BigInteger.valueOf(this.configGet.get());
+ }
+
+ public BigInteger getConfigPost() {
+ return BigInteger.valueOf(this.configPost.get());
+ }
+
+ public BigInteger getConfigPut() {
+ return BigInteger.valueOf(this.configPut.get());
+ }
+
+ public BigInteger getOperationalGet() {
+ return BigInteger.valueOf(this.operationalGet.get());
+ }
+
+ public BigInteger getRpc() {
+ return BigInteger.valueOf(this.rpc.get());
+ }
+
+ public BigInteger getSuccessGetConfig() {
+ return BigInteger.valueOf(this.successGetConfig.get());
+ }
+
+ public BigInteger getSuccessGetOperational() {
+ return BigInteger.valueOf(this.successGetOperational.get());
+ }
+
+ public BigInteger getSuccessPost() {
+ return BigInteger.valueOf(this.successPost.get());
+ }
+
+ public BigInteger getSuccessPut() {
+ return BigInteger.valueOf(this.successPut.get());
+ }
+
+ public BigInteger getSuccessDelete() {
+ return BigInteger.valueOf(this.successDelete.get());
+ }
+
+ public BigInteger getFailureGetConfig() {
+ return BigInteger.valueOf(this.failureGetConfig.get());
+ }
+
+ public BigInteger getFailureGetOperational() {
+ return BigInteger.valueOf(this.failureGetOperational.get());
+ }
+
+ public BigInteger getFailurePost() {
+ return BigInteger.valueOf(this.failurePost.get());
+ }
+
+ public BigInteger getFailurePut() {
+ return BigInteger.valueOf(this.failurePut.get());
+ }
+
+ public BigInteger getFailureDelete() {
+ return BigInteger.valueOf(this.failureDelete.get());
+ }
+}