import org.onap.so.bpmn.common.BuildingBlockExecution;
import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulator;
import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
private Set<String> vFModuleAction =
new HashSet<String>(Arrays.asList("VfModuleConfigAssign", "VfModuleConfigDeploy"));
+ private Set<String> pnfActions =
+ new HashSet<>(Arrays.asList("config-assign", "config-deploy", "PnfConfigAssign", "PnfConfigDeploy"));
+
@Override
public boolean shouldRunFor(String currentBBName, boolean isFirst, BuildingBlockExecution execution) {
boolean skipVfModule = vfc.isSkipPostInstConf();
currentSequenceSkipCheck(execution, skipVfModule);
}
- }
+ } else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("PNF")
+ && containsIgnoreCaseAction(currentBB, pnfActions)) {
+ PnfResourceCustomization pnfResourceCustomization =
+ catalogDbClient.getPnfResourceCustomizationByModelCustomizationUUID(customizationUUID);
+ if (null != pnfResourceCustomization) {
+ boolean skipConfigPNF = pnfResourceCustomization.isSkipPostInstConf();
+ currentSequenceSkipCheck(execution, skipConfigPNF);
+ }
+ }
}
private boolean containsIgnoreCaseAction(ExecuteBuildingBlock currentBB, Set<String> actions) {
import org.onap.so.bpmn.common.DelegateExecutionImpl;
import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
private static final String VNF_SCOPE = "VNF";
private static final String VF_SCOPE = "VFModule";
+ private static final String PNF_SCOPE = "pnf";
private static final String TEST_MODELUUID = "123456789";
private static final String VNF_TEST_ACTION = "VnfConfigAssign";
private static final String VFModule_TEST_ACTION = "VfModuleConfigAssign";
+ private static final String PNFModule_TEST_ACTION = "config-assign";
private static final String MODELCUSTOMIZATIONUUID = "123456789";
private static final String BBNAME = "ControllerExecutionBB";
private static final boolean ISFIRST = true;
private BuildingBlockExecution buildingBlockExecution = new DelegateExecutionImpl(new DelegateExecutionFake());
private VnfResourceCustomization vnfCust = new VnfResourceCustomization();
private VfModuleCustomization vfCust = new VfModuleCustomization();
+ private PnfResourceCustomization pnfResourceCustomization = new PnfResourceCustomization();
private BuildingBlock buildingBlock = new BuildingBlock();
@InjectMocks
}
+ @Test
+ public void testProcessForPNFToSkipCDSBB() {
+ // given
+ setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
+ pnfResourceCustomization = getPnfResourceCustomization(true);
+
+ when(catalogDbClient
+ .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
+ .thenReturn(pnfResourceCustomization);
+
+ // when
+ skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
+
+ // then
+ actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
+ assertEquals(1, actual);
+
+ }
+
+ @Test
+ public void testProcessForPNFNotToSkipCDSBB() {
+ // given
+ setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
+ pnfResourceCustomization = getPnfResourceCustomization(false);
+
+ when(catalogDbClient
+ .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
+ .thenReturn(pnfResourceCustomization);
+
+ // when
+ skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
+
+ // then
+ actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
+ assertEquals(0, actual);
+
+ }
+
/**
* setting scope action in buildingBlock and BB current sequence in BuildingBlockExecution
*
return vfModuleCustomizations;
}
+ private PnfResourceCustomization getPnfResourceCustomization(boolean setSkippost) {
+ PnfResourceCustomization pnfResourceCustomization = new PnfResourceCustomization();
+ pnfResourceCustomization.setModelCustomizationUUID(MODELCUSTOMIZATIONUUID);
+ pnfResourceCustomization.setSkipPostInstConf(setSkippost);
+ return pnfResourceCustomization;
+ }
+
}
private String blueprintVersion;
@Column(name = "SKIP_POST_INSTANTIATION_CONFIGURATION")
- private Boolean skipPostInstConf;
+ private boolean skipPostInstConf;
@Column(name = "CONTROLLER_ACTOR")
private String controllerActor;
this.blueprintVersion = blueprintVersion;
}
- public Boolean isSkipPostInstConf() {
+ public boolean isSkipPostInstConf() {
return skipPostInstConf;
}
- public void setSkipPostInstConf(Boolean skipPostInstConf) {
+ public void setSkipPostInstConf(boolean skipPostInstConf) {
this.skipPostInstConf = skipPostInstConf;
}
}
private void test(String pojoPackage) {
- Validator validator = ValidatorBuilder.create().with(new GetterMustExistRule()).with(new NoPrimitivesRule())
- .with(new NoNestedClassRule()).with(new NoStaticExceptFinalRule())
- .with(new SerializableMustHaveSerialVersionUIDRule()).with(new HasToStringRule())
- .with(new EqualsAndHashCodeTester()).with(new NoPublicFieldsExceptStaticFinalRule())
+ Validator validator = ValidatorBuilder.create().with(new GetterMustExistRule()).with(new NoNestedClassRule())
+ .with(new NoStaticExceptFinalRule()).with(new SerializableMustHaveSerialVersionUIDRule())
+ .with(new HasToStringRule()).with(new EqualsAndHashCodeTester())
+ .with(new NoPublicFieldsExceptStaticFinalRule())
.with(new CustomSetterMustExistRule()
.exclude(allOf(hasAnnotationPropertyWithValue(Column.class, "updatable", equalTo(false)),
hasAnnotation(GeneratedValue.class)), hasAnnotation(Temporal.class)))