94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam/*
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * The contents of this file are subject to the terms of the Common Development and
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * Distribution License (the License). You may not use this file except in compliance with the
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * License.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam *
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * specific language governing permission and limitations under the License.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam *
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * When distributing Covered Software, include this CDDL Header Notice in each file and include
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * Header, with the fields enclosed by brackets [] replaced by your own identifying
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * information: "Portions copyright [year] [name of copyright owner]".
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam *
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * Copyright 2016 ForgeRock AS.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam */
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandampackage com.sun.identity.saml2.common;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam/**
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * This class is an extension point for proxying saml2 firstlevel and secondlevel status code related exceptions.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam */
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandampublic class InvalidStatusCodeSaml2Exception extends SAML2Exception {
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam private String firstlevelStatuscode;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam private String secondlevelStatuscode;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam /**
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * Constructs a new <code>InvalidStatusCodeSaml2Exception</code> without a nested <code>Throwable</code>.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * @param firstlevelStatuscode SAML2 firstlevel status code can be one of the below
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * urn:oasis:names:tc:SAML:2.0:status:Success, urn:oasis:names:tc:SAML:2.0:status:Requester,
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * urn:oasis:names:tc:SAML:2.0:status:Responder and urn:oasis:names:tc:SAML:2.0:status:VersionMismatch
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * @param secondlevelStatuscode System entities are free to define more specific status codes by defining
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * appropriate URI references.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam *
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam */
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam public InvalidStatusCodeSaml2Exception(String firstlevelStatuscode, String secondlevelStatuscode){
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam super(SAML2Utils.BUNDLE_NAME, "invalidStatusCodeInResponse", null);
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam this.firstlevelStatuscode = firstlevelStatuscode;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam this.secondlevelStatuscode = secondlevelStatuscode;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam }
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam /**
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * Returns first level status code.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam *
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * @return firstlevelStatuscode.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam */
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam public String getFirstlevelStatuscode() {
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam return firstlevelStatuscode;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam }
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam /**
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * Returns second level status code.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam *
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam * @return secondlevelStatuscode.
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam */
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam public String getSecondlevelStatuscode() {
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam return secondlevelStatuscode;
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam }
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam}
94c4282963f7db4f8703c196fecb5826a6c9b729Kamal Sivanandam