X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=bpmn%2Fso-bpmn-tasks%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fso%2Fbpmn%2Finfrastructure%2Faai%2Ftasks%2FAAIFlagTasks.java;fp=bpmn%2Fso-bpmn-tasks%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fso%2Fbpmn%2Finfrastructure%2Faai%2Ftasks%2FAAIFlagTasks.java;h=10bb72084444cf2494087143621eb3602c36473a;hb=f46e824fe4730738cc422e87facc5c80ffa44b10;hp=997d20036f96bd8fb9d488fe875d7e5add028165;hpb=43224c4dc5ff3bf67979f480d8628f300497da07;p=so.git diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIFlagTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIFlagTasks.java index 997d20036f..10bb720844 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIFlagTasks.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIFlagTasks.java @@ -24,9 +24,11 @@ package org.onap.so.bpmn.infrastructure.aai.tasks; import org.onap.so.bpmn.common.BuildingBlockExecution; import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; +import org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf; import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB; import org.onap.so.client.exception.ExceptionBuilder; +import org.onap.so.client.orchestration.AAIPnfResources; import org.onap.so.client.orchestration.AAIVnfResources; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,6 +42,9 @@ public class AAIFlagTasks { @Autowired private AAIVnfResources aaiVnfResources; + + @Autowired + private AAIPnfResources aaiPnfResources; @Autowired private ExceptionBuilder exceptionUtil; @Autowired @@ -74,6 +79,39 @@ public class AAIFlagTasks { } } + public void checkPnfInMaintFlag(BuildingBlockExecution execution) { + boolean inMaint = false; + try { + Pnf pnf = extractPojosForBB.extractByKey(execution, ResourceKey.PNF); + String pnfName = pnf.getPnfName(); + inMaint = aaiPnfResources.checkInMaintFlag(pnfName); + } catch (Exception ex) { + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex); + } + if (inMaint) { + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "PNF is already in maintenance in A&AI"); + } + } + + public void modifyPnfInMaintFlag(BuildingBlockExecution execution, boolean inMaint) { + try { + Pnf pnf = extractPojosForBB.extractByKey(execution, ResourceKey.PNF); + logger.info("In modifyPnfInMaintFlag pnfname: {}", pnf.getPnfName()); + Pnf copiedPnf = pnf.shallowCopyId(); + copiedPnf.setPnfName(pnf.getPnfName()); + + copiedPnf.setInMaint(inMaint); + pnf.setInMaint(inMaint); + logger.info("In modifyPnfInMaintFlag if block pnfInMaint: {}, copiedPnfInMaint: {}", pnf.isInMaint(), + copiedPnf.isInMaint()); + aaiPnfResources.updateObjectPnf(copiedPnf); + + } catch (Exception ex) { + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex); + } + } + + public void checkVnfClosedLoopDisabledFlag(BuildingBlockExecution execution) { boolean isClosedLoopDisabled = false; try {