From c9373d8f5809fe650c30832e9409282cb34688f8 Mon Sep 17 00:00:00 2001 From: Gary Wu Date: Sat, 8 Apr 2017 14:36:17 -0700 Subject: Refactor Status to be immutable Change Status class to be immutable. Add convenience method to convert from a LCMCommandStatus to a Status object. Change-Id: I9e47750d15b5ee0f5649b2fabf6387aa12ff9c9d Signed-off-by: Gary Wu --- .../appc/executor/objects/LCMCommandStatus.java | 5 +++++ .../org/openecomp/appc/executor/impl/CommandTask.java | 4 ---- .../openecomp/appc/executor/impl/LCMCommandTask.java | 9 +++------ .../appc/executor/impl/LCMReadonlyCommandTask.java | 6 ++---- .../appc/executor/TestCommandExecutionTask.java | 9 +++------ .../java/org/openecomp/appc/domainmodel/lcm/Status.java | 17 +++++++---------- .../appc/requesthandler/impl/RequestHandlerImpl.java | 14 +++++--------- .../openecomp/appc/requesthandler/TestConverter.java | 6 ++---- .../appc/requesthandler/TestRequestHandler.java | 9 ++++----- .../appc/requesthandler/TestRequestValidator.java | 3 +-- .../appc/workflow/impl/WorkFlowManagerImpl.java | 5 ++--- .../org/openecomp/appc/provider/AppcProviderLcm.java | 8 ++------ 12 files changed, 36 insertions(+), 59 deletions(-) diff --git a/appc-dispatcher/appc-command-executor/appc-command-executor-api/src/main/java/org/openecomp/appc/executor/objects/LCMCommandStatus.java b/appc-dispatcher/appc-command-executor/appc-command-executor-api/src/main/java/org/openecomp/appc/executor/objects/LCMCommandStatus.java index 4e3a40e75..14bd8152c 100644 --- a/appc-dispatcher/appc-command-executor/appc-command-executor-api/src/main/java/org/openecomp/appc/executor/objects/LCMCommandStatus.java +++ b/appc-dispatcher/appc-command-executor/appc-command-executor-api/src/main/java/org/openecomp/appc/executor/objects/LCMCommandStatus.java @@ -23,6 +23,7 @@ package org.openecomp.appc.executor.objects; import org.apache.commons.lang3.StringUtils; +import org.openecomp.appc.domainmodel.lcm.Status; import org.openecomp.appc.util.MessageFormatter; import java.util.Map; @@ -108,5 +109,9 @@ public enum LCMCommandStatus { ", responseMessage='" + responseMessage + '\'' + '}'; } + + public Status toStatus(Params params) { + return new Status(responseCode, getFormattedMessage(params)); + } } diff --git a/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/CommandTask.java b/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/CommandTask.java index 6418002c2..0037434ff 100644 --- a/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/CommandTask.java +++ b/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/CommandTask.java @@ -119,8 +119,4 @@ public abstract class CommandTask implements Runnable { this.onRequestCompletion(commandRequest,commandResponse); } - public static void fillStatus(Status status, LCMCommandStatus lcmCommandStatus, Params params) { - status.setCode(lcmCommandStatus.getResponseCode()); - status.setMessage(lcmCommandStatus.getFormattedMessage(params)); - } } diff --git a/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMCommandTask.java b/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMCommandTask.java index 6e64a546b..9f7c13513 100644 --- a/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMCommandTask.java +++ b/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMCommandTask.java @@ -147,22 +147,19 @@ public class LCMCommandTask extends CommandTask { isAAIUpdated= postVnfdata(vnfId, nextState,"onRequestExecutionStart",ctx); } catch (NoTransitionDefinedException e) { logger.error("Error getting Next State for AAI Update: " + e.getMessage(), e); - Status status = request.getCommandExecutorInput().getRuntimeContext().getResponseContext().getStatus(); Params params = new Params().addParam("actionName",e.event).addParam("currentState",e.currentState); - fillStatus(status, LCMCommandStatus.NO_TRANSITION_DEFINE_FAILURE, params); + request.getCommandExecutorInput().getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.NO_TRANSITION_DEFINE_FAILURE.toStatus(params)); isAAIUpdated = false; } catch (UnstableVNFException e) { logger.error(e.getMessage(), e); - Status status = request.getCommandExecutorInput().getRuntimeContext().getResponseContext().getStatus(); Params params = new Params().addParam("vnfId",vnfId); - fillStatus(status, LCMCommandStatus.UNSTABLE_VNF_FAILURE, params); + request.getCommandExecutorInput().getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.UNSTABLE_VNF_FAILURE.toStatus(params)); isAAIUpdated = false; }catch (Exception e) { logger.error("Error before Request Execution starts.", e); - Status status = request.getCommandExecutorInput().getRuntimeContext().getResponseContext().getStatus(); String errorMsg = StringUtils.isEmpty(e.getMessage()) ? e.toString() : e.getMessage(); Params params = new Params().addParam("errorMsg",errorMsg); - fillStatus(status, LCMCommandStatus.UNEXPECTED_FAILURE, params); + request.getCommandExecutorInput().getRuntimeContext().getResponseContext().setStatus(LCMCommandStatus.UNEXPECTED_FAILURE.toStatus(params)); isAAIUpdated = false; } diff --git a/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMReadonlyCommandTask.java b/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMReadonlyCommandTask.java index 137a2e4b5..201662a6c 100644 --- a/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMReadonlyCommandTask.java +++ b/appc-dispatcher/appc-command-executor/appc-command-executor-core/src/main/java/org/openecomp/appc/executor/impl/LCMReadonlyCommandTask.java @@ -67,15 +67,13 @@ public class LCMReadonlyCommandTask extends CommandTask(4)); responseContext.setCommonHeader(input.getRequestContext().getCommonHeader()); runtimeContext.setResponseContext(responseContext); - runtimeContext.getResponseContext().setStatus(new Status()); + runtimeContext.getResponseContext().setStatus(new Status(0, null)); vnfId = runtimeContext.getRequestContext().getActionIdentifiers().getVnfId(); @@ -402,8 +402,7 @@ public class RequestHandlerImpl implements RequestHandler { } private void fillStatus(RuntimeContext runtimeContext, LCMCommandStatus lcmCommandStatus, Params params) { - runtimeContext.getResponseContext().getStatus().setCode(lcmCommandStatus.getResponseCode()); - runtimeContext.getResponseContext().getStatus().setMessage(lcmCommandStatus.getFormattedMessage(params)); + runtimeContext.getResponseContext().setStatus(lcmCommandStatus.toStatus(params)); } /* @@ -414,7 +413,7 @@ public class RequestHandlerImpl implements RequestHandler { RuntimeContext other = new RuntimeContext(); other.setRequestContext(runtimeContext.getRequestContext()); other.setResponseContext(new ResponseContext()); - other.getResponseContext().setStatus(new Status()); + other.getResponseContext().setStatus(new Status(0, null)); other.getResponseContext().setCommonHeader(runtimeContext.getRequestContext().getCommonHeader()); other.setVnfContext(runtimeContext.getVnfContext()); other.setRpcName(runtimeContext.getRpcName()); @@ -569,10 +568,7 @@ public class RequestHandlerImpl implements RequestHandler { private static RequestHandlerOutput buildRequestHandlerOutput(LCMCommandStatus response, Params params) { RequestHandlerOutput output = new RequestHandlerOutput(); ResponseContext responseContext = new ResponseContext(); - org.openecomp.appc.domainmodel.lcm.Status status = new org.openecomp.appc.domainmodel.lcm.Status(); - status.setCode(response.getResponseCode()); - status.setMessage(response.getFormattedMessage(params)); - responseContext.setStatus(status); + responseContext.setStatus(response.toStatus(params)); output.setResponseContext(responseContext); return output; } diff --git a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestConverter.java b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestConverter.java index 46875a269..aaf17fba9 100644 --- a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestConverter.java +++ b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestConverter.java @@ -324,8 +324,7 @@ public class TestConverter { private ResponseContext buildAsyncResponse() { ResponseContext asyncResponse = createResponseContextWithSubObjects(); - asyncResponse.getStatus().setCode(LCMCommandStatus.SUCCESS.getResponseCode()); - asyncResponse.getStatus().setMessage(LCMCommandStatus.SUCCESS.getResponseMessage()); + asyncResponse.setStatus(LCMCommandStatus.SUCCESS.toStatus(null)); asyncResponse.getCommonHeader().setOriginatorId("oid"); asyncResponse.getCommonHeader().setApiVer("2.0.0"); asyncResponse.getCommonHeader().setRequestId("reqid"); @@ -339,9 +338,8 @@ public class TestConverter { ResponseContext responseContext = new ResponseContext(); CommonHeader commonHeader = new CommonHeader(); Flags flags = new Flags(); - Status status = new Status(); responseContext.setCommonHeader(commonHeader); - responseContext.setStatus(status); + responseContext.setStatus(new Status(0, null)); commonHeader.setFlags(flags); return responseContext; } diff --git a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestHandler.java b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestHandler.java index e4c1e92d3..e060775ce 100644 --- a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestHandler.java +++ b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestHandler.java @@ -302,12 +302,12 @@ public class TestRequestHandler { ResponseContext responseContext = new ResponseContext(); - responseContext.setStatus(new Status()); + responseContext.setStatus(new Status(0, null)); responseContext.setAdditionalContext(new HashMap(4)); responseContext.setCommonHeader(input1.getRequestContext().getCommonHeader()); runtimeContext.setResponseContext(responseContext); when(runtimeContext.getResponseContext()).thenReturn(responseContext); - responseContext.setStatus(new Status()); + responseContext.setStatus(new Status(0, null)); runtimeContext.setResponseContext(responseContext); PowerMockito.whenNew(RuntimeContext.class).withAnyArguments().thenReturn(runtimeContext); @@ -451,7 +451,7 @@ public class TestRequestHandler { output.getVnfContext().setId(vnfId); output.getResponseContext().getCommonHeader().setApiVer("2.0.0"); output.getResponseContext().getCommonHeader().setTimestamp(new Date()); - output.getResponseContext().getStatus().setCode(LCMCommandStatus.SUCCESS.getResponseCode()); + output.getResponseContext().setStatus(LCMCommandStatus.SUCCESS.toStatus(null)); output.setTimeStart(new Date()); output.getResponseContext().getCommonHeader().setOriginatorId(originatorId); output.getResponseContext().getCommonHeader().setRequestId(requestId); @@ -566,9 +566,8 @@ public class TestRequestHandler { ResponseContext responseContext = new ResponseContext(); CommonHeader commonHeader = new CommonHeader(); Flags flags = new Flags(); - Status status = new Status(); responseContext.setCommonHeader(commonHeader); - responseContext.setStatus(status); + responseContext.setStatus(new Status(0, null)); commonHeader.setFlags(flags); return responseContext; } diff --git a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestValidator.java b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestValidator.java index 344f20478..becd95d46 100644 --- a/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestValidator.java +++ b/appc-dispatcher/appc-request-handler/appc-request-handler-core/src/test/java/org/openecomp/appc/requesthandler/TestRequestValidator.java @@ -601,9 +601,8 @@ public class TestRequestValidator { ResponseContext responseContext = new ResponseContext(); CommonHeader commonHeader = new CommonHeader(); Flags flags = new Flags(); - Status status = new Status(); responseContext.setCommonHeader(commonHeader); - responseContext.setStatus(status); + responseContext.setStatus(new Status(0, null)); commonHeader.setFlags(flags); return responseContext; } diff --git a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/main/java/org/openecomp/appc/workflow/impl/WorkFlowManagerImpl.java b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/main/java/org/openecomp/appc/workflow/impl/WorkFlowManagerImpl.java index 6b197ef19..4ed575567 100644 --- a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/main/java/org/openecomp/appc/workflow/impl/WorkFlowManagerImpl.java +++ b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/main/java/org/openecomp/appc/workflow/impl/WorkFlowManagerImpl.java @@ -33,6 +33,7 @@ import org.openecomp.appc.configuration.Configuration; import org.openecomp.appc.configuration.ConfigurationFactory; import org.openecomp.appc.domainmodel.lcm.RequestContext; import org.openecomp.appc.domainmodel.lcm.ResponseContext; +import org.openecomp.appc.domainmodel.lcm.Status; import org.openecomp.appc.util.ObjectMapper; import org.openecomp.appc.workflow.WorkFlowManager; import org.openecomp.appc.workflow.objects.WorkflowExistsOutput; @@ -335,9 +336,7 @@ public class WorkFlowManagerImpl implements WorkFlowManager{ * @param responceContext response context which will be store status code and status message */ private void fillStatus(int code, String message, ResponseContext responceContext) { - responceContext.getStatus().setCode(code); - responceContext.getStatus().setMessage(message); + responceContext.setStatus(new Status(code, message)); } - } diff --git a/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java b/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java index 5fe174e55..6d186ab5f 100644 --- a/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java +++ b/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java @@ -462,14 +462,10 @@ public class AppcProviderLcm implements AutoCloseable, AppcProviderLcmService { requestHandlerOutput = new RequestHandlerOutput(); requestHandlerOutput.setResponseContext(responseContext); responseContext.setCommonHeader(request.getRequestContext().getCommonHeader()); - final org.openecomp.appc.domainmodel.lcm.Status status = new org.openecomp.appc.domainmodel.lcm.Status(); - - responseContext.setStatus(status); - String errorMessage = e.getMessage() != null ? e.getMessage() : e.toString(); Params params = new Params().addParam("errorMsg", errorMessage); - status.setCode(LCMCommandStatus.UNEXPECTED_ERROR.getResponseCode()); - status.setMessage(LCMCommandStatus.UNEXPECTED_ERROR.getFormattedMessage(params)); + responseContext.setStatus(LCMCommandStatus.UNEXPECTED_ERROR.toStatus(params)); + LoggingUtils.logErrorMessage( LoggingConstants.TargetNames.APPC_PROVIDER, reason, -- cgit 1.2.3-korg