/** * ============================================================================= * * ORCID (R) Open Source * http://orcid.org * * Copyright (c) 2012-2014 ORCID, Inc. * Licensed under an MIT-Style License (MIT) * http://orcid.org/open-source-license * * This copyright and license information (including a link to the full license) * shall be included in its entirety in all copies or substantial portion of * the software. * * ============================================================================= */ package org.orcid.pojo.ajaxForm; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.TreeSet; import org.orcid.jaxb.model.clientgroup.RedirectUriType; import org.orcid.persistence.jpa.entities.ClientDetailsEntity; import org.orcid.persistence.jpa.entities.ClientRedirectUriEntity; import org.orcid.persistence.jpa.entities.ClientSecretEntity; public class SSOCredentials implements ErrorsInterface, Serializable { private static final long serialVersionUID = 3L; private List<String> errors = new ArrayList<String>(); Text clientName; Text clientDescription; Text clientWebsite; Text clientOrcid; Text clientSecret; Set<RedirectUri> redirectUris; public static SSOCredentials toSSOCredentials(ClientDetailsEntity clientDetails) { SSOCredentials result = new SSOCredentials(); if(clientDetails != null) { result.setClientName(Text.valueOf(clientDetails.getClientName())); result.setClientDescription(Text.valueOf(clientDetails.getClientDescription())); result.setClientWebsite(Text.valueOf(clientDetails.getClientWebsite())); if(clientDetails.getClientSecrets() != null) { for(ClientSecretEntity clientSecret : clientDetails.getClientSecrets()){ if(clientSecret.isPrimary()) result.setClientSecret(Text.valueOf(clientSecret.getDecryptedClientSecret())); } } result.setClientOrcid(Text.valueOf(clientDetails.getClientId())); if(clientDetails.getClientRegisteredRedirectUris() != null && !clientDetails.getClientRegisteredRedirectUris().isEmpty()) { result.redirectUris = new TreeSet<RedirectUri>(); for(ClientRedirectUriEntity redirectUri : clientDetails.getClientRegisteredRedirectUris()) { if(RedirectUriType.SSO_AUTHENTICATION.value().equals(redirectUri.getRedirectUriType())) { RedirectUri rUri = new RedirectUri(); rUri.setValue(Text.valueOf(redirectUri.getRedirectUri())); result.redirectUris.add(rUri); } } } } return result; } public Text getClientName() { return clientName; } public void setClientName(Text clientName) { this.clientName = clientName; } public Text getClientDescription() { return clientDescription; } public void setClientDescription(Text clientDescription) { this.clientDescription = clientDescription; } public Text getClientWebsite() { return clientWebsite; } public void setClientWebsite(Text clientWebsite) { this.clientWebsite = clientWebsite; } public Text getClientSecret() { return clientSecret; } public void setClientSecret(Text clientSecret) { this.clientSecret = clientSecret; } public Set<RedirectUri> getRedirectUris() { return redirectUris; } public void setRedirectUris(Set<RedirectUri> redirectUris) { this.redirectUris = redirectUris; } public Text getClientOrcid() { return clientOrcid; } public void setClientOrcid(Text clientOrcid) { this.clientOrcid = clientOrcid; } public List<String> getErrors() { return errors; } public void setErrors(List<String> errors) { this.errors = errors; } }