/******************************************************************************* * Cloud Foundry * Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved. * * This product is licensed to you under the Apache License, Version 2.0 (the "License"). * You may not use this product except in compliance with the License. * * This product includes a number of subcomponents with * separate copyright notices and license terms. Your use of these * subcomponents is subject to the terms and conditions of the * subcomponent's license, as noted in the LICENSE file. *******************************************************************************/ package org.cloudfoundry.identity.uaa.login; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import org.codehaus.jackson.annotate.JsonCreator; import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonProperty; //TODO - make object serialize/deserialize properly with JSON public class PasscodeInformation { private String userId; private String username; private String passcode; private Map<String, Object> authorizationParameters; private String origin; public PasscodeInformation( String userId, String username, String passcode, String origin, Map<String, Object> authorizationParameters) { setUserId(userId); setUsername(username); setPasscode(passcode); setAuthorizationParameters(authorizationParameters); setOrigin(origin); } @JsonCreator public PasscodeInformation( @JsonProperty("userId") String userId, @JsonProperty("username") String username, @JsonProperty("passcode") String passcode, @JsonProperty("origin") String origin, @JsonProperty("samlAuthorities") ArrayList<SamlUserAuthority> authorities) { setUserId(userId); setUsername(username); setPasscode(passcode); authorizationParameters = new LinkedHashMap<String, Object>(); setSamlAuthorities(authorities); setOrigin(origin); } public PasscodeInformation(String username) { this.username = username; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @JsonProperty("samlAuthorities") public ArrayList<SamlUserAuthority> getSamlAuthorities() { ArrayList<SamlUserAuthority> list = new ArrayList<SamlUserAuthority>(); if (authorizationParameters != null && authorizationParameters.containsKey("authorities")) { Set<SamlUserAuthority> set = (Set<SamlUserAuthority>) authorizationParameters.get("authorities"); list.addAll(set); } return list; } public void setSamlAuthorities(ArrayList<SamlUserAuthority> authorities) { Set<SamlUserAuthority> set = new HashSet<SamlUserAuthority>(); set.addAll(authorities); authorizationParameters.put("authorities", set); } @JsonIgnore public Map<String, Object> getAuthorizationParameters() { return authorizationParameters; } public void setAuthorizationParameters(Map<String, Object> authorizationParameters) { this.authorizationParameters = authorizationParameters; } public String getPasscode() { return passcode; } public void setPasscode(String passcode) { this.passcode = passcode; } public String getOrigin() { return origin; } public void setOrigin(String origin) { this.origin = origin; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } }