package org.apereo.cas.support.saml.mdui;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
/**
* This is {@link ChainingMetadataResolverAdapter}.
*
* @author Misagh Moayyed
* @since 5.0.0
*/
public class ChainingMetadataResolverAdapter implements MetadataResolverAdapter {
private final Set<MetadataResolverAdapter> adapters;
public ChainingMetadataResolverAdapter(final List<MetadataResolverAdapter> adapters) {
this.adapters = new HashSet<>(adapters);
}
@Override
public EntityDescriptor getEntityDescriptorForEntityId(final String entityId) {
return adapters.stream().map(adapter -> adapter.getEntityDescriptorForEntityId(entityId)).filter(Objects::nonNull).findFirst().orElse(null);
}
}