FlowCapableTransactionServiceImpl and SalEchoServiceImpl.java shifted to new OFJ...
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / callback / BaseCallback.java
index 437535a014933c0d5dac9a22a229a9ab9378ab58..4c9ba580d4c76e107eaee318461bae1823179aba 100644 (file)
@@ -45,25 +45,31 @@ public class BaseCallback<I, O> implements FutureCallback<RpcResult<I>> {
     @Override
     public void onSuccess(final RpcResult<I> fRpcResult) {
         if (!fRpcResult.isSuccessful()) {
-            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.FROM_SWITCH_PUBLISHED_FAILURE);
+            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_FAILURE);
 
             // remove current request from request cache in deviceContext
             deviceContext.unhookRequestCtx(getRequestContext().getXid());
 
             // handle requestContext failure
-            StringBuilder rpcErrors = new StringBuilder();
-            if (null != fRpcResult.getErrors() && fRpcResult.getErrors().size() > 0) {
-                for (RpcError error : fRpcResult.getErrors()) {
-                    rpcErrors.append(error.getMessage());
+            if (LOG.isTraceEnabled()) {
+                StringBuilder rpcErrors = new StringBuilder();
+                if (null != fRpcResult.getErrors() && fRpcResult.getErrors().size() > 0) {
+                    for (RpcError error : fRpcResult.getErrors()) {
+                        rpcErrors.append(error.getMessage());
+                            LOG.trace("Errors from rpc result.. ",error);
+                    }
                 }
+                LOG.trace("OF Java result for XID {} was not successful. Errors : {}", getRequestContext().getXid().getValue(), rpcErrors.toString());
+
             }
-            LOG.trace("OF Java result for XID {} was not successful. Errors : {}", getRequestContext().getXid().getValue(), rpcErrors.toString());
-            getRequestContext().getFuture().set(
+
+            getRequestContext().setResult(
                     RpcResultBuilder.<O>failed().withRpcErrors(fRpcResult.getErrors()).build());
             RequestContextUtil.closeRequstContext(getRequestContext());
         } else {
             // else: message was successfully sent - waiting for callback on requestContext.future to get invoked
             // or can be implemented specific processing via processSuccess() method
+            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_SUCCESS);
             processSuccess(fRpcResult);
         }
     }
@@ -74,14 +80,14 @@ public class BaseCallback<I, O> implements FutureCallback<RpcResult<I>> {
         deviceContext.unhookRequestCtx(getRequestContext().getXid());
 
         if (futureResultFromOfLib.isCancelled()) {
-            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.FROM_SWITCH_PUBLISHED_SUCCESS);
+            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_SUCCESS_NO_RESPONSE);
 
             LOG.trace("Asymmetric message - no response from OF Java expected for XID {}. Closing as successful.", getRequestContext().getXid().getValue());
-            getRequestContext().getFuture().set(RpcResultBuilder.<O>success().build());
+            getRequestContext().setResult(RpcResultBuilder.<O>success().build());
         } else {
-            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.FROM_SWITCH_PUBLISHED_FAILURE);
+            deviceContext.getMessageSpy().spyMessage(getRequestContext().getClass(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_ERROR);
             LOG.trace("Exception occured while processing OF Java response for XID {}.", getRequestContext().getXid().getValue(), throwable);
-            getRequestContext().getFuture().set(
+            getRequestContext().setResult(
                     RpcResultBuilder.<O>failed()
                             .withError(RpcError.ErrorType.APPLICATION, "OF JAVA operation failed.", throwable)
                             .build());