a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: CircleOfTrustDescriptor.java,v 1.5 2008/06/25 05:46:38 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.validation.ValidationException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.validation.URLValidator;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The <code>COTDescriptor</code> class is the representation
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the circle of trust configuration.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String circleOfTrustDescription = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // map holding protocol to set of trusted providers
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Private Constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * This constructor populates object from the attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Map received from the data store.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param name The name of circle of trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param realm The realm the circle of trust resides.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param attrMap The map which contains attributes of the circle
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if values in the map are invalid.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster CircleOfTrustDescriptor(String name, String realm, Map attrMap)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setCircleOfTrustDescription(COTUtils.getFirstEntry(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setSAML2WriterServiceURL(COTUtils.getFirstEntry(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrMap,COTConstants.COT_SAML2_WRITER_SERVICE));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setSAML2ReaderServiceURL(COTUtils.getFirstEntry(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrMap,COTConstants.COT_SAML2_READER_SERVICE));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setIDFFWriterServiceURL(COTUtils.getFirstEntry(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrMap,COTConstants.COT_IDFF_WRITER_SERVICE));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setIDFFReaderServiceURL(COTUtils.getFirstEntry(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrMap,COTConstants.COT_IDFF_READER_SERVICE));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrMap.get(COTConstants.COT_TRUSTED_PROVIDERS));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Creates new <code>COTDescriptor</code> instance.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustName name for the circleOfTrust
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param realm The realm the circle of trust resides.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustStatus status of the CircleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>circleOfTrustName</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * or <code>circleOfTrustStatus</code> is invalid.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public CircleOfTrustDescriptor(String circleOfTrustName, String realm,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String circleOfTrustStatus) throws COTException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Creates new <code>COTDescriptor</code> instance.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustName name for the circleOfTrust
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param realm The realm this circle of trust resides.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustStatus status of the CircleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustDescription description for the circleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustIDFFReaderURL the reader url of the CircleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustIDFFWriterURL the writer url of the circleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustSAML2ReaderURL the reader url of the CircleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustSAML2WriterURL the writer url of the circleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustProvider the trusted providers of the CircleOfTrust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if any input parameter is invalid.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public CircleOfTrustDescriptor(String circleOfTrustName,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setCircleOfTrustDescription(circleOfTrustDescription);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setIDFFReaderServiceURL(circleOfTrustIDFFReaderURL);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setIDFFWriterServiceURL(circleOfTrustIDFFWriterURL);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setSAML2ReaderServiceURL(circleOfTrustSAML2ReaderURL);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setSAML2WriterServiceURL(circleOfTrustSAML2WriterURL);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Validates and set the circle of trust name.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void setCircleOfTrustName(String name) throws COTException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (name == null || name.trim().length() <= 0 ) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Validates and set the circle of trust type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void setCircleOfTrustType(String type) throws COTException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((type != null) && !COTUtils.isValidProtocolType(type)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidProtooclType",data);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster COTUtils.debug.message("Circle of Trust type is : " + type);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns name of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return name of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns name of the realm the Circle of Trust resides.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return realm name.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns status of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return status of the Circle of Trust. It can be
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "active" or "inactive"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns description of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return description of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns reader service URL of the Circle of Trust for ID-FF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Reader service URL for ID-FF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster circleOfTrustType.equalsIgnoreCase(COTConstants.IDFF)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // handle legacy case
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns reader service URL of the Circle of Trust for SAMLv2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Reader service URL for SAMLv2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster circleOfTrustType.equalsIgnoreCase(COTConstants.SAML2)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // handle legacy case
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns Writer Service URL of the Circle of Trust for ID-FF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the Writer service URL for ID-FF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster circleOfTrustType.equalsIgnoreCase(COTConstants.IDFF)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // handle legacy case
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns Writer Service URL of the Circle of Trust for SAMLv2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the Writer service URL for SAMLv2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster circleOfTrustType.equalsIgnoreCase(COTConstants.SAML2)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // handle legacy case
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets description of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustDescription Description of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setCircleOfTrustDescription(String circleOfTrustDescription) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.circleOfTrustDescription = circleOfTrustDescription;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets reader service URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param readerServiceURL reader service URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>readerServiceURL</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is not an URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void setReaderServiceURL(String readerServiceURL)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URLValidator validator = URLValidator.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidReaderUrl",null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets reader service URL for ID-FF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param readerServiceURL reader service URL for ID-FF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>readerServiceURL</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is not an URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setIDFFReaderServiceURL(String readerServiceURL)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URLValidator validator = URLValidator.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidReaderUrl",null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets reader service URL for SMALv2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param readerServiceURL reader service URL of SAMLv2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>readerServiceURL</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is not an URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setSAML2ReaderServiceURL(String readerServiceURL)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URLValidator validator = URLValidator.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidReaderUrl",null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets writer service URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param writerServiceURL writer service URL of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>writerServiceURL</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is not an URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void setWriterServiceURL(String writerServiceURL)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URLValidator validator = URLValidator.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidWriterUrl",null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets writer service URL for IDFF protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param writerServiceURL writer service URL of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>writerServiceURL</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is not an URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setIDFFWriterServiceURL(String writerServiceURL)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URLValidator validator = URLValidator.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidWriterUrl",null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets writer service URL for SAML2 protocol.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param writerServiceURL writer service URL of the Circle of Trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>writerServiceURL</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is not an URL.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setSAML2WriterServiceURL(String writerServiceURL)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URLValidator validator = URLValidator.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidWriterUrl",null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets status of a circle of trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustStatus the circle of trust status. The valid value
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * for status is "active" or "inactive".
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws COTException if <code>circleOfTrustStatus</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * is blank or it is not "active" or "inactive"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setCircleOfTrustStatus(String circleOfTrustStatus)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (circleOfTrustStatus.equalsIgnoreCase(COTConstants.ACTIVE ) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster circleOfTrustStatus.equalsIgnoreCase(COTConstants.INACTIVE))) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.circleOfTrustStatus = circleOfTrustStatus;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidCotStatus", null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets trusted providers of a circle of trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param circleOfTrustProvider A set of trusted providers
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setTrustedProviders(Set circleOfTrustProvider) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster trustedProviderMap = Collections.unmodifiableMap(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster trustedProviders = Collections.unmodifiableSet(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster COTUtils.trustedProviderProtocolMapToSet(trustedProviderMap));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns a set of trusted providers in the circle of trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return a set of trusted providers in the circle of trust, or null
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * if there is no trusted providers in the circle of trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns a set of trusted providers in the circle of trust for a specific
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param protocol name of the federation protocol
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return a set of trusted providers in the circle of trust, or null if
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * such entity does not exist.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Set getTrustedProviders(String protocol) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((trustedProviderMap == null) || (protocol == null)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Set tmp = (Set) trustedProviderMap.get(protocol);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // handle legacy case
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster || circleOfTrustType.equalsIgnoreCase(protocol)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Adds entity identifier to trusted providers set within the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * circle of trust.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param entityID the entity id of a provider .
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param protocol name of protocol for the entity.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return true if the set did not already contain the entityID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public boolean add(String entityID, String protocol) throws COTException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("invalidProtocolType", null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster || !((Set) trustedProviderMap.get(protocol)).contains(entityID)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster boolean result = ret.add(entityID + COTConstants.DELIMITER
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new COTException("entityExistsInCot", null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Removes member from the trusted provider set within this circle
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param entityID The entity id of a provider.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param protocol name of protocol for the entity.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return true if the set contained the entityID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public boolean remove(String entityID, String protocol) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return false;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster !((Set) trustedProviderMap.get(protocol)).contains(entityID)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return false;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster boolean result = ret.remove(entityID + COTConstants.DELIMITER
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // handle legacy case
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns attributes of this object into a map.