Added field name in accounts

Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/84c66403
Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/84c66403
Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/84c66403

Branch: refs/heads/swellrt
Commit: 84c664032af14550e7550e1dbc57ac731ce41d9a
Parents: c1ad8e7
Author: Pablo Ojanguren <pablo...@gmail.com>
Authored: Wed Sep 7 21:58:55 2016 +0200
Committer: Pablo Ojanguren <pablo...@gmail.com>
Committed: Wed Sep 7 21:58:55 2016 +0200

----------------------------------------------------------------------
 .../server/box/servlet/AccountService.java      | 41 ++++++++++----------
 .../box/server/account/HumanAccountData.java    | 18 +++++++++
 .../server/account/HumanAccountDataImpl.java    | 15 ++++++-
 .../persistence/mongodb/MongoDbStore.java       | 12 +++++-
 4 files changed, 63 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/84c66403/wave/src/main/java/org/swellrt/server/box/servlet/AccountService.java
----------------------------------------------------------------------
diff --git 
a/wave/src/main/java/org/swellrt/server/box/servlet/AccountService.java 
b/wave/src/main/java/org/swellrt/server/box/servlet/AccountService.java
index 1a642b6..82139ce 100644
--- a/wave/src/main/java/org/swellrt/server/box/servlet/AccountService.java
+++ b/wave/src/main/java/org/swellrt/server/box/servlet/AccountService.java
@@ -1,9 +1,16 @@
 package org.swellrt.server.box.servlet;
 
-import com.google.gson.JsonParseException;
-import com.google.inject.Inject;
-import com.google.inject.name.Named;
-import com.typesafe.config.Config;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.net.URLDecoder;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.validator.EmailValidator;
@@ -21,17 +28,9 @@ import 
org.waveprotocol.wave.model.wave.InvalidParticipantAddress;
 import org.waveprotocol.wave.model.wave.ParticipantId;
 import org.waveprotocol.wave.util.logging.Log;
 
-import java.io.IOException;
-import java.io.StringWriter;
-import java.net.URLDecoder;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import com.google.gson.JsonParseException;
+import com.google.inject.Inject;
+import com.typesafe.config.Config;
 
 /**
  * Service for creating and editing accounts.
@@ -43,7 +42,7 @@ import javax.servlet.http.HttpServletResponse;
  * POST /account { id : <ParticipantId>, password : <String>, ... }
  *
  *
- * Edit accound profile (empty values are deleted)
+ * Edit accoun profile (empty values are deleted)
  *
  * POST /account/{ParticipantId.name} { ... }
  *
@@ -63,7 +62,7 @@ public class AccountService extends BaseService {
   public static class AccountServiceData extends ServiceData {
 
     public String id;
-    public String name; // For future use
+    public String name;
     public String password;
     public String email;
     public String avatarData;
@@ -302,6 +301,8 @@ public class AccountService extends BaseService {
           account.setAvatarFileId(avatarFileId);
         }
       }
+       
+      if (userData.isParsedField("name")) account.setName(userData.name);
 
       accountStore.putAccount(account);
 
@@ -580,9 +581,9 @@ public class AccountService extends BaseService {
     String avatarUrl = getAvatarUrl(urlBuilder, account);
     data.avatarUrl = avatarUrl == null ? "" : avatarUrl;
     data.locale = account.getLocale() == null ? "" : account.getLocale();
+    data.name = account.getName() == null ? "" : account.getName();
 
     return data;
-
   }
 
   protected static AccountServiceData toPublicServiceData(UrlBuilder 
urlBuilder,
@@ -594,9 +595,9 @@ public class AccountService extends BaseService {
     String avatarUrl = getAvatarUrl(urlBuilder, account);
     data.avatarUrl = avatarUrl == null ? "" : avatarUrl;
     data.locale = account.getLocale() == null ? "" : account.getLocale();
-
+    data.name = account.getName() == null ? "" : account.getName();
+    
     return data;
-
   }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/84c66403/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountData.java
----------------------------------------------------------------------
diff --git 
a/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountData.java 
b/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountData.java
index df56049..fc96f81 100644
--- 
a/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountData.java
+++ 
b/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountData.java
@@ -29,6 +29,7 @@ import 
org.waveprotocol.box.server.authentication.PasswordDigest;
  * @author ljvder...@google.com (Lennard de Rijk)
  * @author jose...@gmail.com (Joseph Gentle)
  * @author akapla...@gmail.com (Andrew Kaplanov)
+ * @author pablo...@gmail.com (Pablo Ojanguren)
  */
 public interface HumanAccountData extends AccountData {
   /**
@@ -125,6 +126,23 @@ public interface HumanAccountData extends AccountData {
    */
   String getAvatarMimeType();
 
+  /**
+   * 
+   * @return
+   */
   String getAvatarFileId();
+  
+  /**
+   * Get the participant name
+   * @return
+   */
+  String getName();
+  
+  /**
+   * Set the participant name
+   * @return
+   */
+  void setName(String name);
+
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/84c66403/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountDataImpl.java
----------------------------------------------------------------------
diff --git 
a/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountDataImpl.java
 
b/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountDataImpl.java
index 46d6ae5..9a8221f 100644
--- 
a/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountDataImpl.java
+++ 
b/wave/src/main/java/org/waveprotocol/box/server/account/HumanAccountDataImpl.java
@@ -32,6 +32,7 @@ import org.waveprotocol.wave.model.wave.ParticipantId;
  * @author akapla...@gmail.com (Andrew kaplanov)
  * @author pablo...@gmail.com (Pablo Ojanguren)
  */
+@SuppressWarnings("deprecation")
 public final class HumanAccountDataImpl implements HumanAccountData {
   private final ParticipantId id;
   private PasswordDigest passwordDigest;
@@ -39,6 +40,7 @@ public final class HumanAccountDataImpl implements 
HumanAccountData {
   private String email;
   private SecretToken recoveryToken;
   private String avatarFileId;
+  private String name;
 
   /**
    * Creates an {@link HumanAccountData} for the given username, with no
@@ -75,10 +77,11 @@ public final class HumanAccountDataImpl implements 
HumanAccountData {
   }
 
   public HumanAccountDataImpl(ParticipantId id, PasswordDigest passwordDigest, 
String email,
-      SecretToken token, String locale, String avatarFileId) {
+      SecretToken token, String locale, String avatarFileId, String name) {
     this(id, passwordDigest, email, token);
     this.locale = locale;
     this.avatarFileId = avatarFileId;
+    this.name = name;
   }
 
   @Override
@@ -211,5 +214,15 @@ public final class HumanAccountDataImpl implements 
HumanAccountData {
     return parts != null && parts.length >= 1 ? parts[0] : null;
   }
 
+  @Override
+  public String getName() {    
+    return name;
+  }
+
+  @Override
+  public void setName(String name) {
+   this.name = name;
+  }
+
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/84c66403/wave/src/main/java/org/waveprotocol/box/server/persistence/mongodb/MongoDbStore.java
----------------------------------------------------------------------
diff --git 
a/wave/src/main/java/org/waveprotocol/box/server/persistence/mongodb/MongoDbStore.java
 
b/wave/src/main/java/org/waveprotocol/box/server/persistence/mongodb/MongoDbStore.java
index 79c3ad5..efd5201 100644
--- 
a/wave/src/main/java/org/waveprotocol/box/server/persistence/mongodb/MongoDbStore.java
+++ 
b/wave/src/main/java/org/waveprotocol/box/server/persistence/mongodb/MongoDbStore.java
@@ -114,6 +114,7 @@ public final class MongoDbStore implements SignerInfoStore, 
AttachmentStore, Acc
 
   private static final String ACCOUNT_AVATAR_FILE = "avatarFile";
   private static final String ACCOUNT_LOCALE = "locale";
+  private static final String NAME_FIELD = "name";
 
   private final DB database;
   private final GridFS attachmentGrid;
@@ -359,6 +360,11 @@ public final class MongoDbStore implements 
SignerInfoStore, AttachmentStore, Acc
       object.put(ACCOUNT_AVATAR_FILE, account.getAvatarFileId());
     }
 
+    if (account.getName() != null) {
+      object.put(NAME_FIELD, account.getName());
+    }
+
+    
     return object;
   }
 
@@ -368,6 +374,7 @@ public final class MongoDbStore implements SignerInfoStore, 
AttachmentStore, Acc
     SecretToken token = null;
     String locale = null;
     String avatarFileName = null;
+    String name = null;
 
     DBObject digestObj = (DBObject) object.get(HUMAN_PASSWORD_FIELD);
     if (digestObj != null) {
@@ -382,8 +389,9 @@ public final class MongoDbStore implements SignerInfoStore, 
AttachmentStore, Acc
 
     locale = (String) object.get(ACCOUNT_LOCALE);
     avatarFileName = (String) object.get(ACCOUNT_AVATAR_FILE);
-
-    return new HumanAccountDataImpl(id, passwordDigest, email, token, locale, 
avatarFileName);
+    name = (String) object.get(NAME_FIELD);
+    
+    return new HumanAccountDataImpl(id, passwordDigest, email, token, locale, 
avatarFileName, name);
   }
 
   // ****** RobotAccountData serialization

Reply via email to