X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=rapp-manager-application%2Fsrc%2Fmain%2Fjava%2Fcom%2Foransc%2Frappmanager%2Fservice%2FRappService.java;h=d704480d46c5c056c34d971e404e05b754170885;hb=2924cf00dc877eb6d6e7239b590e9e7e584dd0b2;hp=23ab2d8d67522394622290d57923a2dd2fdc4f84;hpb=7e301b523d66508f8493f6873e36f0d60e8caaf4;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/rapp-manager-application/src/main/java/com/oransc/rappmanager/service/RappService.java b/rapp-manager-application/src/main/java/com/oransc/rappmanager/service/RappService.java index 23ab2d8..d704480 100755 --- a/rapp-manager-application/src/main/java/com/oransc/rappmanager/service/RappService.java +++ b/rapp-manager-application/src/main/java/com/oransc/rappmanager/service/RappService.java @@ -23,6 +23,7 @@ import com.oransc.rappmanager.acm.service.AcmDeployer; import com.oransc.rappmanager.models.RappDeployer; import com.oransc.rappmanager.models.cache.RappCacheService; import com.oransc.rappmanager.models.exception.RappHandlerException; +import com.oransc.rappmanager.models.exception.RappValidationException; import com.oransc.rappmanager.models.rapp.Rapp; import com.oransc.rappmanager.models.rapp.RappEvent; import com.oransc.rappmanager.models.rapp.RappState; @@ -51,14 +52,19 @@ public class RappService { if (rapp.getState().equals(RappState.COMMISSIONED)) { rapp.setState(RappState.PRIMING); rapp.setReason(null); - //Configuring the deployment artifact needs to be done before starting the priming with other components - //If there are additional conditions needs to be checked before priming, This needs handled as part of pre-priming stage. - if (deploymentArtifactsService.configureDeploymentArtifacts(rapp) && rappDeployers.parallelStream() - .allMatch( - rappDeployer -> rappDeployer.primeRapp( - rapp))) { - rapp.setState(RappState.PRIMED); - return ResponseEntity.ok().build(); + try { + //Configuring the deployment artifact needs to be done before starting the priming with other components + //If there are additional conditions needs to be checked before priming, This needs handled as part of pre-priming stage. + if (deploymentArtifactsService.configureDeploymentArtifacts(rapp) && rappDeployers.parallelStream() + .allMatch( + rappDeployer -> rappDeployer.primeRapp( + rapp))) { + rapp.setState(RappState.PRIMED); + return ResponseEntity.ok().build(); + } + } catch (RappValidationException e) { + rapp.setState(RappState.COMMISSIONED); + throw e; } rapp.setState(RappState.COMMISSIONED); throw new RappHandlerException(HttpStatus.BAD_GATEWAY, rapp.getReason());