diff options
author | FrancescoFioraEst <francesco.fiora@est.tech> | 2021-11-10 14:11:51 +0000 |
---|---|---|
committer | FrancescoFioraEst <francesco.fiora@est.tech> | 2021-11-19 09:54:38 +0000 |
commit | 0574c7df7944828a7e8a03c1eacf93605c43b154 (patch) | |
tree | 3f33ce0c0784361198ff83f2738a7f84f85a7032 /runtime-controlloop/src/main/java | |
parent | b421ff09244107ab6172f72076466c6be8616c5b (diff) |
Add support transaction in ParticipantProvider
Issue-ID: POLICY-3800
Change-Id: I938c2731a30013b5f8e11a23a86d117300c95bff
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'runtime-controlloop/src/main/java')
4 files changed, 30 insertions, 37 deletions
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<Participant> participantList = participantProvider.getParticipants(null, null); + List<Participant> participantList = participantProvider.getParticipants(); if (!participantList.isEmpty()) { supervisionHandler.handleSendCommissionMessage(serviceTemplate.getName(), serviceTemplate.getVersion()); } @@ -137,7 +137,7 @@ public class CommissioningProvider { } synchronized (lockit) { - List<Participant> participantList = participantProvider.getParticipants(null, null); + List<Participant> 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<ToscaServiceTemplate> filteredServiceTemplateList = filterToscaNodeTemplateInstance( - serviceTemplateList); + List<ToscaServiceTemplate> 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<Participant> 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); } } |