From ba7f975435f870cb0edf2c96f29d7167ab0790ed Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Thu, 24 May 2012 21:24:39 +0200 Subject: [PATCH] added field to user for active state --- .../src/main/java/sonia/scm/user/User.java | 33 +++++++++++++++++-- .../scm/user/orientdb/UserConverter.java | 7 ++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/user/User.java b/scm-core/src/main/java/sonia/scm/user/User.java index 6954b1a4ba..abef0d9829 100644 --- a/scm-core/src/main/java/sonia/scm/user/User.java +++ b/scm-core/src/main/java/sonia/scm/user/User.java @@ -216,6 +216,7 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject && Objects.equal(mail, other.mail) && Objects.equal(type, other.type) && Objects.equal(admin, other.admin) + && Objects.equal(active, other.active) && Objects.equal(password, other.password) && Objects.equal(creationDate, other.creationDate) && Objects.equal(lastModified, other.lastModified) @@ -232,7 +233,7 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject public int hashCode() { return Objects.hashCode(name, displayName, mail, type, admin, password, - creationDate, lastModified, properties); + active, creationDate, lastModified, properties); } /** @@ -256,6 +257,7 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject .add("password", pwd) .add("admin", admin) .add("type", type) + .add("active", active) .add("creationDate", creationDate) .add("lastModified", lastModified) .add("properties", properties) @@ -357,6 +359,18 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject return type; } + /** + * Returns false if the user is deactivated. + * + * + * @return false if the user is deactivated + * @since 1.16 + */ + public boolean isActive() + { + return active; + } + /** * Method description * @@ -384,6 +398,18 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject //~--- set methods ---------------------------------------------------------- + /** + * Activate or deactive this user. + * + * + * @param active false to deactivate the user. + * @since 1.6 + */ + public void setActive(boolean active) + { + this.active = active; + } + /** * Method description * @@ -476,7 +502,10 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject //~--- fields --------------------------------------------------------------- /** Field description */ - private boolean admin; + private boolean active = true; + + /** Field description */ + private boolean admin = false; /** Field description */ private Long creationDate; diff --git a/scm-dao-orientdb/src/main/java/sonia/scm/user/orientdb/UserConverter.java b/scm-dao-orientdb/src/main/java/sonia/scm/user/orientdb/UserConverter.java index 976abccba1..7aabd57101 100644 --- a/scm-dao-orientdb/src/main/java/sonia/scm/user/orientdb/UserConverter.java +++ b/scm-dao-orientdb/src/main/java/sonia/scm/user/orientdb/UserConverter.java @@ -30,6 +30,7 @@ */ + package sonia.scm.user.orientdb; //~--- non-JDK imports -------------------------------------------------------- @@ -59,6 +60,9 @@ public class UserConverter extends AbstractConverter implements Converter /** Field description */ public static final String DOCUMENT_CLASS = "User"; + /** Field description */ + public static final String FIELD_ACTIVE = "active"; + /** Field description */ public static final String FIELD_ADMIN = "admin"; @@ -115,6 +119,7 @@ public class UserConverter extends AbstractConverter implements Converter appendField(doc, FIELD_MAIL, user.getMail()); appendField(doc, FIELD_PASSWORD, user.getPassword()); appendField(doc, FIELD_ADMIN, user.isAdmin()); + appendField(doc, FIELD_ACTIVE, user.isActive()); appendField(doc, FIELD_CREATIONDATE, user.getCreationDate(), OType.LONG); appendPropertiesField(doc, user); @@ -140,6 +145,7 @@ public class UserConverter extends AbstractConverter implements Converter user.setPassword(getStringField(doc, FIELD_PASSWORD)); user.setType(getStringField(doc, FIELD_TYPE)); user.setAdmin(getBooleanField(doc, FIELD_ADMIN)); + user.setAdmin(getBooleanField(doc, FIELD_ACTIVE)); user.setLastModified(getLongField(doc, FIELD_LASTMODIFIED)); user.setCreationDate(getLongField(doc, FIELD_CREATIONDATE)); @@ -176,6 +182,7 @@ public class UserConverter extends AbstractConverter implements Converter oclass.createProperty(FIELD_CREATIONDATE, OType.LONG); oclass.createProperty(FIELD_DISPLAYNAME, OType.STRING); oclass.createProperty(FIELD_MAIL, OType.STRING); + oclass.createProperty(FIELD_ACTIVE, OType.STRING); oclass.createProperty(FIELD_PASSWORD, OType.STRING); oclass.createProperty(FIELD_PROPERTIES, OType.EMBEDDEDMAP);