package org.mobicents.slee.xdm.server.subscription; import java.io.Serializable; import java.util.Iterator; import java.util.Set; import org.mobicents.slee.sipevent.server.subscription.pojo.SubscriptionKey; import org.openxdm.xcap.common.uri.DocumentSelector; public class Subscriptions implements Serializable { /** * */ private static final long serialVersionUID = 1L; private SubscriptionKey key; private Set<String> appUsages; private Set<DocumentSelector> documentSelectors; public Subscriptions(SubscriptionKey key, Set<String> appUsages, Set<DocumentSelector> documentSelectors) { this.key = key; this.appUsages = appUsages; this.documentSelectors = documentSelectors; filter(); } /* * removes resources that are contained in other resources */ private void filter() { for (Iterator<DocumentSelector> i=documentSelectors.iterator();i.hasNext();) { DocumentSelector ds = (DocumentSelector) i.next(); if(appUsages.contains(ds.getAUID())) { // we don't need this resource i.remove(); } } } public SubscriptionKey getKey() { return key; } public Set<String> getAppUsages() { return appUsages; } public Set<DocumentSelector> getDocumentSelectors() { return documentSelectors; } }