package org.atricore.idbus.idojos.virtualidentitystore.rule; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.atricore.idbus.idojos.virtualidentitystore.CredentialMappingRule; import org.atricore.idbus.idojos.virtualidentitystore.BaseCredentialMappingRule; import org.atricore.idbus.kernel.main.authn.Credential; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; /** * @author <a href="mailto:gbrigand@josso.org">Gianluca Brigandi</a> * @version $Id: MergeCredentials.java 1644 2010-07-27 19:31:39Z sgonzalez $ * @org.apache.xbean.XBean element="merge-credentials" * <p/> * Create a set of virtual credentials by leaving out duplicate from source credentials. */ public class MergeCredentials extends BaseCredentialMappingRule implements CredentialMappingRule { private static final Log logger = LogFactory.getLog(MergeCredentials.class); public Collection<Credential> join(Collection<Credential> selectedCredentials) { HashSet<Credential> jointCredentialSet = new HashSet<Credential>(); logger.debug("Joining credentials " + selectedCredentials + " with duplicate removal"); for (Iterator<Credential> selectedCredentialsIterator = selectedCredentials.iterator(); selectedCredentialsIterator.hasNext();) { Credential selectedCredential = selectedCredentialsIterator.next(); jointCredentialSet.add(selectedCredential); } return jointCredentialSet; } }