SAMLv2Base.java revision 4a2f0f0be43dfd4c1b490cbf3cc48b6ba6084b1c
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
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 *
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 * opensso/legal/CDDLv1.0.txt
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at opensso/legal/CDDLv1.0.txt.
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 *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: SAMLv2Base.java,v 1.8 2008/06/25 05:49:37 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.console.federation;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.iplanet.jato.model.ModelControlException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.iplanet.jato.view.event.DisplayEvent;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.console.base.model.AMModel;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.console.federation.model.EntityModel;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.console.federation.model.SAMLv2ModelImpl;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.ArrayList;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Collections;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.HashSet;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Iterator;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Set;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport javax.servlet.http.HttpServletRequest;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic abstract class SAMLv2Base extends EntityPropertiesBase {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String PROPERTIES = "propertyAttributes";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static List AUTH_CONTEXT_REF_NAMES = new ArrayList();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final int AUTH_CONTEXT_REF_COUNT= 25;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String InternetProtocol =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String InternetProtocolPassword =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String Kerberos =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String MobileOneFactorUnregistered =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String MobileTwoFactorUnregistered =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String MobileOneFactorContract =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String MobileTwoFactorContract =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String Password =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:Password";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String PasswordProtectedTransport =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String PreviousSession =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String X509 =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:X509";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String PGP =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:PGP";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String SPKI =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String XMLDSig =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String Smartcard =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String SmartcardPKI =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String SoftwarePKI =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String Telephony =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String NomadTelephony =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String PersonalTelephony =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalTelephony";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String AuthenticatedTelephony =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String SecureRemotePassword =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword";
public static final String TLSClient =
"urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient";
public static final String TimeSyncToken =
"urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken";
public static final String unspecified =
"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified";
static {
AUTH_CONTEXT_REF_NAMES.add(InternetProtocol);
AUTH_CONTEXT_REF_NAMES.add(InternetProtocolPassword);
AUTH_CONTEXT_REF_NAMES.add(Kerberos);
AUTH_CONTEXT_REF_NAMES.add(MobileOneFactorUnregistered);
AUTH_CONTEXT_REF_NAMES.add(MobileTwoFactorUnregistered);
AUTH_CONTEXT_REF_NAMES.add(MobileOneFactorContract);
AUTH_CONTEXT_REF_NAMES.add(MobileTwoFactorContract);
AUTH_CONTEXT_REF_NAMES.add(Password);
AUTH_CONTEXT_REF_NAMES.add(PasswordProtectedTransport);
AUTH_CONTEXT_REF_NAMES.add(PreviousSession);
AUTH_CONTEXT_REF_NAMES.add(X509);
AUTH_CONTEXT_REF_NAMES.add(PGP);
AUTH_CONTEXT_REF_NAMES.add(SPKI);
AUTH_CONTEXT_REF_NAMES.add(XMLDSig);
AUTH_CONTEXT_REF_NAMES.add(Smartcard);
AUTH_CONTEXT_REF_NAMES.add(SmartcardPKI);
AUTH_CONTEXT_REF_NAMES.add(SoftwarePKI);
AUTH_CONTEXT_REF_NAMES.add(Telephony);
AUTH_CONTEXT_REF_NAMES.add(NomadTelephony);
AUTH_CONTEXT_REF_NAMES.add(PersonalTelephony);
AUTH_CONTEXT_REF_NAMES.add(AuthenticatedTelephony);
AUTH_CONTEXT_REF_NAMES.add(SecureRemotePassword);
AUTH_CONTEXT_REF_NAMES.add(TLSClient);
AUTH_CONTEXT_REF_NAMES.add(TimeSyncToken);
AUTH_CONTEXT_REF_NAMES.add(unspecified);
}
public SAMLv2Base(String name) {
super(name);
}
public void beginDisplay(DisplayEvent event)
throws ModelControlException {
super.beginDisplay(event);
}
protected String getProfileName() {
return EntityModel.SAMLV2;
}
protected AMModel getModelInternal() {
HttpServletRequest req = getRequestContext().getRequest();
return new SAMLv2ModelImpl(req, getPageSessionAttributes());
}
protected abstract void createPropertyModel();
/**
* Converts the List to Set.
*
* @param list the list to be converted.
* @return the corresponding Set.
*/
protected Set convertListToSet(List list) {
Set s = new HashSet();
s.addAll(list);
return s;
}
/**
* Return empty set if value is null
*
* @param set the set to be checked for null.
* @return the EMPTY_SET if value is null.
*/
protected Set returnEmptySetIfValueIsNull(Set set) {
return (set != null) ? set : Collections.EMPTY_SET;
}
}