summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2018-10-10 18:16:14 +0200
committersebdet <sebastien.determe@intl.att.com>2018-10-11 10:27:03 +0200
commitb7d7e6e7be399ba7acce89b552e1684aa99548d6 (patch)
tree2ed59f5c2c51c288f3e3fe06ec782d49c10b7879 /src/main/java
parente3489d939cd18a4cfa2394ab64ffdb972ddd6a86 (diff)
Fix UI behavior
Fix UI not seeing that the backedn has failed the request + add support to display the errorMessage from backend Issue-ID: CLAMP-228 Change-Id: I6fc58f6d6888a4e140cdf70f403bbcfa07e40ac0 Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/onap/clamp/clds/model/CldsModel.java10
-rw-r--r--src/main/java/org/onap/clamp/clds/service/CldsService.java27
2 files changed, 26 insertions, 11 deletions
diff --git a/src/main/java/org/onap/clamp/clds/model/CldsModel.java b/src/main/java/org/onap/clamp/clds/model/CldsModel.java
index d7228cfcf..47bfedc71 100644
--- a/src/main/java/org/onap/clamp/clds/model/CldsModel.java
+++ b/src/main/java/org/onap/clamp/clds/model/CldsModel.java
@@ -67,6 +67,8 @@ public class CldsModel {
private String status;
private List<String> permittedActionCd;
private List<CldsModelInstance> cldsModelInstanceList;
+ // This is a transient value used to return the failure message to UI
+ private String errorMessageForUi;
/**
* The service type Id received from DCAE by querying it
*/
@@ -520,4 +522,12 @@ public class CldsModel {
public List<String> getPermittedActionCd() {
return permittedActionCd;
}
+
+ public String getErrorMessageForUi() {
+ return errorMessageForUi;
+ }
+
+ public void setErrorMessageForUi(String errorMessageForUi) {
+ this.errorMessageForUi = errorMessageForUi;
+ }
}
diff --git a/src/main/java/org/onap/clamp/clds/service/CldsService.java b/src/main/java/org/onap/clamp/clds/service/CldsService.java
index 8d497cbcc..2342e89c0 100644
--- a/src/main/java/org/onap/clamp/clds/service/CldsService.java
+++ b/src/main/java/org/onap/clamp/clds/service/CldsService.java
@@ -345,7 +345,7 @@ public class CldsService extends SecureServiceBase {
util.entering(request, "CldsService: Process model action");
Date startTime = new Date();
CldsModel retrievedModel = null;
- Boolean errorCase = false;
+ String errorMessage = "";
try {
String actionCd = action.toUpperCase();
SecureServicePermission permisionManage = SecureServicePermission.create(cldsPermissionTypeClManage,
@@ -387,8 +387,8 @@ public class CldsService extends SecureServiceBase {
isTest, userId, isInsertTestEvent, model.getEvent().getActionCd());
logger.info("Starting Camel flow on request, result is: ", result);
} catch (SdcCommunicationException | PolicyClientException | BadRequestException e) {
- errorCase = true;
logger.error("Exception occured during invoking Camel process", e);
+ errorMessage=e.getMessage();
}
if (actionCd.equalsIgnoreCase(CldsEvent.ACTION_DELETE)) {
util.exiting(HttpStatus.OK.toString(), "Successful", Level.INFO,
@@ -397,7 +397,7 @@ public class CldsService extends SecureServiceBase {
} else {
retrievedModel = CldsModel.retrieve(cldsDao, modelName, false);
}
- if (!isTest && !errorCase
+ if (!isTest && errorMessage.isEmpty()
&& (actionCd.equalsIgnoreCase(CldsEvent.ACTION_SUBMIT)
|| actionCd.equalsIgnoreCase(CldsEvent.ACTION_RESUBMIT)
|| actionCd.equalsIgnoreCase(CldsEvent.ACTION_SUBMITDCAE))) {
@@ -423,10 +423,13 @@ public class CldsService extends SecureServiceBase {
auditLogger.info("Process model action completed");
} catch (Exception e) {
- errorCase = true;
logger.error("Exception occured during putModelAndProcessAction", e);
+ errorMessage=e.getMessage();
}
- if (errorCase) {
+ if (!errorMessage.isEmpty()) {
+ if (retrievedModel != null) {
+ retrievedModel.setErrorMessageForUi(errorMessage);
+ }
util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), "putModelAndProcessAction failed", Level.INFO,
ONAPLogConstants.ResponseStatus.ERROR);
return new ResponseEntity<>(retrievedModel, HttpStatus.INTERNAL_SERVER_ERROR);
@@ -725,7 +728,7 @@ public class CldsService extends SecureServiceBase {
public ResponseEntity<CldsModel> deployModel(String modelName, CldsModel model) {
util.entering(request, "CldsService: Deploy model");
Date startTime = new Date();
- Boolean errorCase = false;
+ String errorMessage="";
try {
fillInCldsModel(model);
String bpmnJson = cldsBpmnTransformer.doXslTransformToString(model.getBpmnText());
@@ -772,10 +775,11 @@ public class CldsService extends SecureServiceBase {
LoggingUtils.setTimeContext(startTime, new Date());
auditLogger.info("Deploy model completed");
} catch (Exception e) {
- errorCase = true;
+ errorMessage=e.getMessage();
logger.error("Exception occured during deployModel", e);
}
- if (errorCase) {
+ if (!errorMessage.isEmpty()) {
+ model.setErrorMessageForUi(errorMessage);
util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), "DeployModel failed", Level.INFO,
ONAPLogConstants.ResponseStatus.ERROR);
return new ResponseEntity<>(model, HttpStatus.INTERNAL_SERVER_ERROR);
@@ -787,7 +791,7 @@ public class CldsService extends SecureServiceBase {
public ResponseEntity<CldsModel> unDeployModel(String modelName, CldsModel model) {
util.entering(request, "CldsService: Undeploy model");
Date startTime = new Date();
- Boolean errorCase = false;
+ String errorMessage = "";
try {
SecureServicePermission permisionManage = SecureServicePermission.create(cldsPermissionTypeClManage,
cldsPermissionInstance, CldsEvent.ACTION_UNDEPLOY);
@@ -821,10 +825,11 @@ public class CldsService extends SecureServiceBase {
LoggingUtils.setTimeContext(startTime, new Date());
auditLogger.info("Undeploy model completed");
} catch (Exception e) {
- errorCase = true;
+ errorMessage = e.getMessage();
logger.error("Exception occured during unDeployModel", e);
}
- if (errorCase) {
+ if (!errorMessage.isEmpty()) {
+ model.setErrorMessageForUi(errorMessage);
util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), "UndeployModel failed", Level.INFO,
ONAPLogConstants.ResponseStatus.ERROR);
return new ResponseEntity<>(model, HttpStatus.INTERNAL_SERVER_ERROR);