/* * Copyright (C) 2010 Mathieu Baudier * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.argeo.security; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.argeo.ArgeoException; /** * Read-write implementation of an Argeo user. Typically initialized with a * generic instance (read-only9 in order to modify a user. */ @Deprecated public class SimpleArgeoUser implements ArgeoUser, Serializable, Comparable { private static final long serialVersionUID = 1L; private String username; private String password; private Map userNatures = new HashMap(); private List roles = new ArrayList(); public SimpleArgeoUser() { } public SimpleArgeoUser(ArgeoUser argeoUser) { username = argeoUser.getUsername(); password = argeoUser.getPassword(); userNatures = new HashMap( argeoUser.getUserNatures()); roles = new ArrayList(argeoUser.getRoles()); } public Map getUserNatures() { return userNatures; } @Deprecated public void updateUserNatures(Map userNaturesData) { updateUserNaturesWithCheck(userNatures, userNaturesData); } @Deprecated public static void updateUserNaturesWithCheck( Map userNatures, Map userNaturesData) { // checks consistency if (userNatures.size() != userNaturesData.size()) throw new ArgeoException( "It is forbidden to add or remove user natures via this method"); for (String type : userNatures.keySet()) { if (!userNaturesData.containsKey(type)) throw new ArgeoException( "Could not find a user nature of type " + type); } for (String key : userNatures.keySet()) { userNatures.put(key, userNaturesData.get(key)); } } @Override public boolean equals(Object obj) { if (!(obj instanceof ArgeoUser)) return false; return ((ArgeoUser) obj).getUsername().equals(username); } public int compareTo(ArgeoUser o) { return username.compareTo(o.getUsername()); } @Override public int hashCode() { return username.hashCode(); } @Override public String toString() { return username; } public List getRoles() { return roles; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Deprecated public void setUserNatures(Map userNatures) { this.userNatures = userNatures; } public void setRoles(List roles) { this.roles = roles; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }