X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=rapp-manager-sme%2Fsrc%2Fmain%2Fjava%2Fcom%2Foransc%2Frappmanager%2Fsme%2Fservice%2FSmeDeployer.java;h=cab3ef8a5741026e53d581e60b5d2212536e68b7;hb=c8d173152d53450283b8a0f77f4644d315e57a91;hp=2050b51252bb954008f89088cb724a072aa1872f;hpb=f14562f10f7dd6ed770f2d1232add6b24eb85b91;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java b/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java index 2050b51..cab3ef8 100755 --- a/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java +++ b/rapp-manager-sme/src/main/java/com/oransc/rappmanager/sme/service/SmeDeployer.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START====================================================================== * Copyright (C) 2023 Nordix Foundation. All rights reserved. + * Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. * =============================================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -89,8 +90,9 @@ public class SmeDeployer implements RappDeployer { public boolean deployRappInstance(Rapp rapp, RappInstance rappInstance) { logger.debug("Deploying SME functions for RappInstance {}", rappInstance.getRappInstanceId()); if (rappInstance.isSMEEnabled()) { - if (createProviderDomain(rapp, rappInstance) && createPublishApi(rapp, rappInstance) && createInvoker(rapp, - rappInstance)) { + if ((rappInstance.getSme().getProviderFunction() == null || createProviderDomain(rapp, rappInstance)) && ( + rappInstance.getSme().getServiceApis() == null || createPublishApi(rapp, rappInstance)) && ( + rappInstance.getSme().getInvokers() == null || createInvoker(rapp, rappInstance))) { rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEDEPLOYED); return true; } @@ -106,10 +108,13 @@ public class SmeDeployer implements RappDeployer { logger.debug("Undeploying SME functions for Rapp {}", rapp.getName()); if (rappInstance.isSMEEnabled()) { try { - rappInstance.getSme().getInvokerIds().forEach(this::deleteInvoker); - rappInstance.getSme().getServiceApiIds() - .forEach(s -> deletePublishApi(s, rappInstance.getSme().getApfId())); - rappInstance.getSme().getProviderFunctionIds().forEach(this::deleteProviderFunc); + Optional.ofNullable(rappInstance.getSme().getInvokerIds()) + .ifPresent(invokerList -> invokerList.forEach(this::deleteInvoker)); + Optional.ofNullable(rappInstance.getSme().getServiceApiIds()).ifPresent( + serviceApiList -> serviceApiList.forEach( + s -> deletePublishApi(s, rappInstance.getSme().getApfId()))); + Optional.ofNullable(rappInstance.getSme().getProviderFunctionIds()) + .ifPresent(providerList -> providerList.forEach(this::deleteProviderFunc)); rappInstanceStateMachine.sendRappInstanceEvent(rappInstance, RappEvent.SMEUNDEPLOYED); return true; } catch (Exception e) {