From 0574c7df7944828a7e8a03c1eacf93605c43b154 Mon Sep 17 00:00:00 2001 From: FrancescoFioraEst Date: Wed, 10 Nov 2021 14:11:51 +0000 Subject: Add support transaction in ParticipantProvider Issue-ID: POLICY-3800 Change-Id: I938c2731a30013b5f8e11a23a86d117300c95bff Signed-off-by: FrancescoFioraEst --- .../commissioning/CommissioningProvider.java | 13 +++--- .../ControlLoopInstantiationProvider.java | 2 +- .../runtime/supervision/SupervisionHandler.java | 47 ++++++++++------------ .../runtime/supervision/SupervisionScanner.java | 5 +-- 4 files changed, 30 insertions(+), 37 deletions(-) (limited to 'runtime-controlloop/src/main/java') diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProvider.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProvider.java index d055ba266..eac1ac305 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProvider.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProvider.java @@ -104,7 +104,7 @@ public class CommissioningProvider { synchronized (lockit) { serviceTemplateProvider.createServiceTemplate(serviceTemplate); - List participantList = participantProvider.getParticipants(null, null); + List participantList = participantProvider.getParticipants(); if (!participantList.isEmpty()) { supervisionHandler.handleSendCommissionMessage(serviceTemplate.getName(), serviceTemplate.getVersion()); } @@ -137,7 +137,7 @@ public class CommissioningProvider { } synchronized (lockit) { - List participantList = participantProvider.getParticipants(null, null); + List participantList = participantProvider.getParticipants(); if (!participantList.isEmpty()) { supervisionHandler.handleSendDeCommissionMessage(); } @@ -145,8 +145,7 @@ public class CommissioningProvider { } var response = new CommissioningResponse(); - response.setAffectedControlLoopDefinitions( - Collections.singletonList(new ToscaConceptIdentifier(name, version))); + response.setAffectedControlLoopDefinitions(List.of(new ToscaConceptIdentifier(name, version))); return response; } @@ -262,13 +261,11 @@ public class CommissioningProvider { * @return the tosca service template * @throws PfModelException on errors getting tosca service template */ - public String getToscaServiceTemplateReduced(String name, String version) - throws PfModelException { + public String getToscaServiceTemplateReduced(String name, String version) throws PfModelException { var serviceTemplateList = serviceTemplateProvider.getServiceTemplateList(name, version); - List filteredServiceTemplateList = filterToscaNodeTemplateInstance( - serviceTemplateList); + List filteredServiceTemplateList = filterToscaNodeTemplateInstance(serviceTemplateList); if (filteredServiceTemplateList.isEmpty()) { throw new PfModelException(Status.BAD_REQUEST, "Invalid Service Template"); diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProvider.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProvider.java index 98ceacc3a..40d9b249d 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProvider.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProvider.java @@ -350,7 +350,7 @@ public class ControlLoopInstantiationProvider { } synchronized (lockit) { - var participants = participantProvider.getParticipants(null, null); + var participants = participantProvider.getParticipants(); if (participants.isEmpty()) { throw new ControlLoopException(Status.BAD_REQUEST, "No participants registered"); } diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java index f011d9392..7f0b85588 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java @@ -174,16 +174,15 @@ public class SupervisionHandler { public void handleParticipantMessage(ParticipantDeregister participantDeregisterMessage) { LOGGER.debug("Participant Deregister received {}", participantDeregisterMessage); try { - var participantList = - participantProvider.getParticipants(participantDeregisterMessage.getParticipantId().getName(), + var participantOpt = + participantProvider.findParticipant(participantDeregisterMessage.getParticipantId().getName(), participantDeregisterMessage.getParticipantId().getVersion()); - if (participantList != null) { - for (Participant participant : participantList) { - participant.setParticipantState(ParticipantState.TERMINATED); - participant.setHealthStatus(ParticipantHealthStatus.OFF_LINE); - } - participantProvider.updateParticipants(participantList); + if (participantOpt.isPresent()) { + var participant = participantOpt.get(); + participant.setParticipantState(ParticipantState.TERMINATED); + participant.setHealthStatus(ParticipantHealthStatus.OFF_LINE); + participantProvider.saveParticipant(participant); } } catch (PfModelException pfme) { LOGGER.warn("Model exception occured with participant id {}", @@ -202,15 +201,14 @@ public class SupervisionHandler { public void handleParticipantMessage(ParticipantUpdateAck participantUpdateAckMessage) { LOGGER.debug("Participant Update Ack received {}", participantUpdateAckMessage); try { - var participantList = - participantProvider.getParticipants(participantUpdateAckMessage.getParticipantId().getName(), + var participantOpt = + participantProvider.findParticipant(participantUpdateAckMessage.getParticipantId().getName(), participantUpdateAckMessage.getParticipantId().getVersion()); - if (participantList != null) { - for (Participant participant : participantList) { - participant.setParticipantState(participantUpdateAckMessage.getState()); - } - participantProvider.updateParticipants(participantList); + if (participantOpt.isPresent()) { + var participant = participantOpt.get(); + participant.setParticipantState(participantUpdateAckMessage.getState()); + participantProvider.saveParticipant(participant); } else { LOGGER.warn("Participant not found in database {}", participantUpdateAckMessage.getParticipantId()); } @@ -439,10 +437,10 @@ public class SupervisionHandler { if (participantMessage.getParticipantId() == null) { exceptionOccured(Response.Status.NOT_FOUND, "Participant ID on PARTICIPANT_STATUS message is null"); } - List participantList = participantProvider.getParticipants( - participantMessage.getParticipantId().getName(), participantMessage.getParticipantId().getVersion()); + var participantOpt = participantProvider.findParticipant(participantMessage.getParticipantId().getName(), + participantMessage.getParticipantId().getVersion()); - if (CollectionUtils.isEmpty(participantList)) { + if (participantOpt.isEmpty()) { var participant = new Participant(); participant.setName(participantMessage.getParticipantId().getName()); participant.setVersion(participantMessage.getParticipantId().getVersion()); @@ -451,14 +449,13 @@ public class SupervisionHandler { participant.setParticipantState(participantState); participant.setHealthStatus(healthStatus); - participantList.add(participant); - participantProvider.createParticipants(participantList); + participantProvider.saveParticipant(participant); } else { - for (Participant participant : participantList) { - participant.setParticipantState(participantState); - participant.setHealthStatus(healthStatus); - } - participantProvider.updateParticipants(participantList); + var participant = participantOpt.get(); + participant.setParticipantState(participantState); + participant.setHealthStatus(healthStatus); + + participantProvider.saveParticipant(participant); } } diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java index 900a117bd..5ebacdac7 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java @@ -23,7 +23,6 @@ package org.onap.policy.clamp.controlloop.runtime.supervision; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.apache.commons.lang3.tuple.Pair; import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop; @@ -121,7 +120,7 @@ public class SupervisionScanner { if (counterCheck) { try { - for (Participant participant : participantProvider.getParticipants(null, null)) { + for (var participant : participantProvider.getParticipants()) { scanParticipantStatus(participant); } } catch (PfModelException pfme) { @@ -188,7 +187,7 @@ public class SupervisionScanner { participantStatusCounter.setFault(id); participant.setHealthStatus(ParticipantHealthStatus.OFF_LINE); } - participantProvider.updateParticipants(List.of(participant)); + participantProvider.saveParticipant(participant); } } -- cgit 1.2.3-korg