X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=rapp-manager-application%2Fsrc%2Fmain%2Fjava%2Fcom%2Foransc%2Frappmanager%2Frest%2FRappInstanceController.java;h=ee48f8498698ae2d7b9eb9154e25038432defe1b;hb=7e301b523d66508f8493f6873e36f0d60e8caaf4;hp=20bfc6afd8f77b1490c989228ed98e1d174551f9;hpb=d01a7931b29554786a41c7212ba00fdc810a80a7;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/rapp-manager-application/src/main/java/com/oransc/rappmanager/rest/RappInstanceController.java b/rapp-manager-application/src/main/java/com/oransc/rappmanager/rest/RappInstanceController.java index 20bfc6a..ee48f84 100755 --- a/rapp-manager-application/src/main/java/com/oransc/rappmanager/rest/RappInstanceController.java +++ b/rapp-manager-application/src/main/java/com/oransc/rappmanager/rest/RappInstanceController.java @@ -24,7 +24,6 @@ import com.oransc.rappmanager.models.rapp.Rapp; import com.oransc.rappmanager.models.rappinstance.DeployOrder; import com.oransc.rappmanager.models.rappinstance.RappInstance; import com.oransc.rappmanager.models.rappinstance.RappInstanceDeployOrder; -import com.oransc.rappmanager.models.rappinstance.RappInstanceState; import com.oransc.rappmanager.models.statemachine.RappInstanceStateMachine; import com.oransc.rappmanager.service.RappService; import java.util.Map; @@ -51,6 +50,7 @@ public class RappInstanceController { private final RappCacheService rappCacheService; private final RappInstanceStateMachine rappInstanceStateMachine; private final RappService rappService; + private static final String RAPP_INSTANCE_NOT_FOUND = "rApp instance %s not found."; @GetMapping public ResponseEntity> getAllRappInstances(@PathVariable("rapp_id") String rappId) { @@ -79,7 +79,7 @@ public class RappInstanceController { rappInstance.setState(rappInstanceStateMachine.getRappInstanceState(rappInstanceId)); return rappInstance; }).map(ResponseEntity::ok).orElseThrow(() -> new RappHandlerException(HttpStatus.NOT_FOUND, - "No instance found for rApp '" + rappId + "'.")); + String.format(RAPP_INSTANCE_NOT_FOUND, rappInstanceId))); } @PutMapping("{rapp_instance_id}") @@ -95,25 +95,17 @@ public class RappInstanceController { .map(primeOrder -> rappService.deployRappInstance(rappPair.getLeft(), rappPair.getRight())) .orElseGet(() -> rappService.undeployRappInstance(rappPair.getLeft(), rappPair.getRight()))) .orElseThrow(() -> new RappHandlerException(HttpStatus.NOT_FOUND, - "rApp instance '" + rappInstanceId + "' not found.")); + String.format(RAPP_INSTANCE_NOT_FOUND, rappId))); //@formatter:on } @DeleteMapping("{rapp_instance_id}") - public ResponseEntity deleteRappInstance(@PathVariable("rapp_id") String rappId, + public ResponseEntity deleteRappInstance(@PathVariable("rapp_id") String rappId, @PathVariable("rapp_instance_id") UUID rappInstanceId) { - return rappCacheService.getRapp(rappId).map(rapp -> Pair.of(rapp, rapp.getRappInstances())) - .filter(rappPair -> rappPair.getRight().containsKey(rappInstanceId) && rappPair.getRight() - .get(rappInstanceId) - .getState() - .equals(RappInstanceState.UNDEPLOYED)) - .map(rappPair -> { - rappInstanceStateMachine.deleteRappInstance( - rappPair.getLeft().getRappInstances().get(rappInstanceId)); - rappPair.getLeft().getRappInstances().remove(rappInstanceId); - return ResponseEntity.noContent().build(); - }).orElseThrow(() -> new RappHandlerException(HttpStatus.NOT_FOUND, - "rApp instance '" + rappInstanceId + "' not found.")); + return rappCacheService.getRapp(rappId).filter(rApp -> rApp.getRappInstances().containsKey(rappInstanceId)) + .map(rApp -> rappService.deleteRappInstance(rApp, rappInstanceId)).orElseThrow( + () -> new RappHandlerException(HttpStatus.NOT_FOUND, + String.format(RAPP_INSTANCE_NOT_FOUND, rappId))); } }