1 package org.openecomp.sdc.destinationprovider.impl;
3 import org.apache.commons.lang3.ArrayUtils;
4 import org.openecomp.sdc.destinationprovider.DestinationProvider;
5 import org.openecomp.sdc.notification.services.SubscriptionService;
7 import java.util.ArrayList;
8 import java.util.Arrays;
9 import java.util.Collections;
10 import java.util.List;
14 * @since July 09, 2017
16 public class MulticastDestination implements DestinationProvider {
18 private String entityId;
19 private SubscriptionService subscriptionService;
20 private String[] excludedSubscribers;
22 public MulticastDestination(String entityId, SubscriptionService subscriptionService,
23 String... excludedSubscribers) {
24 this.entityId = entityId;
25 this.excludedSubscribers = excludedSubscribers;
26 this.subscriptionService = subscriptionService;
29 public List<String> getSubscribers() {
30 ArrayList<String> subscribers = new ArrayList<>(subscriptionService.getSubscribers(entityId));
31 if (ArrayUtils.isNotEmpty(excludedSubscribers)) {
32 subscribers.removeAll(Arrays.asList(excludedSubscribers));
34 return Collections.unmodifiableList(subscribers);
37 public String getEntityId() {
41 public void setEntityId(String entityId) {
42 this.entityId = entityId;