diff options
Diffstat (limited to 'eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java')
-rw-r--r-- | eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java | 232 |
1 files changed, 232 insertions, 0 deletions
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java new file mode 100644 index 00000000..71a2c849 --- /dev/null +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/data/SloInformationImpl.java @@ -0,0 +1,232 @@ +/* + * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a + * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European + * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in + * compliance with the Licence. You may obtain a copy of the Licence at: + * https://joinup.ec.europa.eu/news/understanding-eupl-v12 + * + * Unless required by applicable law or agreed to in writing, software distributed under the Licence + * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the Licence for the specific language governing permissions and limitations under + * the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text file for details on the + * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative + * works that you distribute must include a readable copy of the "NOTICE" text file. +*/ + +package at.gv.egiz.eaaf.core.impl.data; + +import java.io.Serializable; + +import at.gv.egiz.eaaf.core.api.idp.slo.SloInformationInterface; + +/** + * Single Log-Out container DAO. + * + * @author tlenz + * + */ +public class SloInformationImpl implements SloInformationInterface, Serializable { + + private static final long serialVersionUID = 295577931870512387L; + private String sessionIndex = null; + private String nameID = null; + private String protocolType = null; + private String nameIdFormat = null; + private String binding = null; + private String serviceUrl = null; + private String authUrl = null; + private String spEntityID = null; + + /** + * Create a SLO container. + * + * @param authUrl IDP EntityId + * @param spEntityId SP EntityId + * @param sessionId SessionId on protocol-level + * @param nameId User's nameId + * @param nameIdFormat NameId format + * @param protocolType Type of the Auth. protocol + */ + public SloInformationImpl(final String authUrl, final String spEntityId, final String sessionId, + final String nameId, final String nameIdFormat, final String protocolType) { + this(authUrl, spEntityId, sessionId, nameId, nameIdFormat, protocolType, null, + null); + + } + + /** + * Create a SLO container. + * + * @param authUrl IDP EntityId + * @param spEntityId SP EntityId + * @param sessionId SessionId on protocol-level + * @param nameId User's nameId + * @param nameIdFormat NameId format + * @param protocolType Type of the Auth. protocol + * @param sloBinding SLO protocol binding + * @param sloLocationUrl SLO end-point on SP + */ + public SloInformationImpl(final String authUrl, final String spEntityId, final String sessionId, + final String nameId, final String nameIdFormat, final String protocolType, + final String sloBinding, final String sloLocationUrl) { + this.sessionIndex = sessionId; + this.nameID = nameId; + this.nameIdFormat = nameIdFormat; + this.protocolType = protocolType; + this.spEntityID = spEntityId; + + if (authUrl.endsWith("/")) { + this.authUrl = authUrl.substring(0, authUrl.length() - 1); + } else { + this.authUrl = authUrl; + } + + this.binding = sloBinding; + this.serviceUrl = sloLocationUrl; + + } + + /** + * Get empty SLOContainer DAO. + */ + public SloInformationImpl() { + + } + + /** + * Get Service-Provider Id. + * + * @return the spEntityID + */ + @Override + public String getSpEntityID() { + return spEntityID; + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.data.SLOInformationInterface#getSessionIndex() + */ + @Override + public String getSessionIndex() { + return sessionIndex; + + } + + /* + * (non-Javadoc) + * + * @see + * at.gv.egovernment.moa.id.data.SLOInformationInterface#getUserNameIdentifier() + */ + @Override + public String getUserNameIdentifier() { + return nameID; + + } + + /** + * Get SessionId. + * + * @param sessionIndex the sessionIndex to set + */ + @Override + public void setSessionIndex(final String sessionIndex) { + this.sessionIndex = sessionIndex; + } + + /** + * Get User's NameId. + * + * @param nameID the nameID to set + */ + @Override + public void setUserNameIdentifier(final String nameID) { + this.nameID = nameID; + } + + /** + * Get authentication protocol identifier. + * + * @param protocolType the protocolType to set + */ + public void setProtocolType(final String protocolType) { + this.protocolType = protocolType; + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.data.SLOInformationInterface#getProtocolType() + */ + @Override + public String getProtocolType() { + return protocolType; + } + + /* + * (non-Javadoc) + * + * @see + * at.gv.egovernment.moa.id.data.SLOInformationInterface#getUserNameIDFormat() + */ + @Override + public String getUserNameIdFormat() { + return this.nameIdFormat; + } + + /** + * Get Format of the NameId. + * + * @param nameIdFormat the nameIDFormat to set + */ + @Override + public void setNameIdFormat(final String nameIdFormat) { + this.nameIdFormat = nameIdFormat; + } + + /** + * Get SLO protocol binding. + * + * @return the binding + */ + @Override + public String getBinding() { + return binding; + } + + /** + * Get SLO service URL. + * + * @return the serviceURL + */ + @Override + public String getServiceUrl() { + return serviceUrl; + } + + /** + * Get the IDP EntityId. + * + * @return the authURL from requested IDP without ending / + */ + @Override + public String getAuthUrl() { + return authUrl; + } + + /** + * Set the SP EntityId. + * + * @param spEntityID the spEntityID to set + */ + public void setSpEntityID(final String spEntityID) { + this.spEntityID = spEntityID; + } + +} |