import java.util.List;
import java.util.Map;
-public class SimpleArgeoUser implements ArgeoUser, Serializable {
+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<ArgeoUser> {
private static final long serialVersionUID = 1L;
private String username;
return userNatures;
}
+ @Deprecated
public void updateUserNatures(Map<String, UserNature> userNaturesData) {
- UserNature.updateUserNaturesWithCheck(userNatures, userNaturesData);
+ updateUserNaturesWithCheck(userNatures, userNaturesData);
+ }
+
+ @Deprecated
+ public static void updateUserNaturesWithCheck(
+ Map<String, UserNature> userNatures,
+ Map<String, UserNature> 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<String> getRoles() {
this.username = username;
}
+ @Deprecated
public void setUserNatures(Map<String, UserNature> userNatures) {
this.userNatures = userNatures;
}