diff options
author | FrancescoFioraEst <francesco.fiora@est.tech> | 2024-06-04 09:11:31 +0100 |
---|---|---|
committer | Francesco Fiora <francesco.fiora@est.tech> | 2024-06-06 08:30:37 +0000 |
commit | a48f784beca5e7aa189217c52cfa83452cf8fc47 (patch) | |
tree | f8b7befa293c8032c47355125c197acfbadccf9e /models/src/main/java/org/onap | |
parent | 6563ce72688dacd99c7badd0c9e94ad7fa22da23 (diff) |
Add support for unique replica id generation in the participants
Issue-ID: POLICY-5032
Change-Id: I9c36b87d1f03f03089d2c62308e0975e24f6e99a
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'models/src/main/java/org/onap')
2 files changed, 17 insertions, 6 deletions
diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantAckMessage.java b/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantAckMessage.java index fa3e3d08e..7ea3310be 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantAckMessage.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantAckMessage.java @@ -57,6 +57,8 @@ public class ParticipantAckMessage { */ private UUID participantId; + private UUID replicaId; + /** * Participant State, or {@code null} for messages from participants. */ @@ -82,7 +84,9 @@ public class ParticipantAckMessage { this.stateChangeResult = source.stateChangeResult; this.message = source.message; this.messageType = source.messageType; + this.compositionId = source.compositionId; this.participantId = source.participantId; + this.replicaId = source.replicaId; this.state = source.state; } @@ -90,15 +94,17 @@ public class ParticipantAckMessage { * Determines if this message applies to this participant type. * * @param participantId id of the participant to match against + * @param replicaId id of the participant to match against * @return {@code true} if this message applies to this participant, {@code false} otherwise */ - public boolean appliesTo(@NonNull final UUID participantId) { + public boolean appliesTo(@NonNull final UUID participantId, @NonNull final UUID replicaId) { // Broadcast message to all participants - if (this.participantId == null) { + if ((this.participantId == null) + || (participantId.equals(this.participantId) && this.replicaId == null)) { return true; } // Targeted message at this specific participant - return participantId.equals(this.participantId); + return replicaId.equals(this.replicaId); } } diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantMessage.java b/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantMessage.java index 304db8eb5..f8aea947b 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantMessage.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/messages/kafka/participant/ParticipantMessage.java @@ -51,6 +51,8 @@ public class ParticipantMessage { */ private UUID participantId; + private UUID replicaId; + /** * Automation Composition ID, or {@code null} for messages to participants. */ @@ -75,6 +77,7 @@ public class ParticipantMessage { public ParticipantMessage(final ParticipantMessage source) { this.messageType = source.messageType; this.participantId = source.participantId; + this.replicaId = source.replicaId; this.automationCompositionId = source.automationCompositionId; this.compositionId = source.compositionId; } @@ -83,15 +86,17 @@ public class ParticipantMessage { * Determines if this message applies to this participant type. * * @param participantId id of the participant to match against + * @param replicaId id of the participant to match against * @return {@code true} if this message applies to this participant, {@code false} otherwise */ - public boolean appliesTo(@NonNull final UUID participantId) { + public boolean appliesTo(@NonNull final UUID participantId, @NonNull final UUID replicaId) { // Broadcast message to all participants - if (this.participantId == null) { + if ((this.participantId == null) + || (participantId.equals(this.participantId) && this.replicaId == null)) { return true; } // Targeted message at this specific participant - return participantId.equals(this.participantId); + return replicaId.equals(this.replicaId); } } |