diff options
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); } } |