/v3.2/nimbits-model/src/com/nimbits/client/model/user/UserModel.java

http://nimbits-server.googlecode.com/ · Java · 272 lines · 184 code · 63 blank · 25 comment · 6 complexity · 9d16bc9c6bdfcce019850f7c8d3c510e MD5 · raw file

  1. /*
  2. * Copyright (c) 2010 Tonic Solutions LLC.
  3. *
  4. * http://www.nimbits.com
  5. *
  6. *
  7. * Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
  8. *
  9. * http://www.gnu.org/licenses/gpl.html
  10. *
  11. * 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.
  12. */
  13. package com.nimbits.client.model.user;
  14. import com.nimbits.client.model.common.CommonFactoryLocator;
  15. import com.nimbits.client.model.email.EmailAddress;
  16. import java.io.Serializable;
  17. import java.util.ArrayList;
  18. import java.util.Date;
  19. import java.util.LinkedList;
  20. import java.util.List;
  21. //import com.google.appengine.api.users.User;
  22. public class UserModel implements Serializable, User {
  23. private long id;
  24. private Date dateCreated;
  25. private Date lastLoggedIn;
  26. private List<Long> connections;
  27. private String emailAddress;
  28. private String facebookToken;
  29. private String host;
  30. private String secret;
  31. private String twitterToken;
  32. private String twitterTokenSecret;
  33. private String userSource;
  34. private String uuid;
  35. private boolean restricted;
  36. private boolean sendEmail;
  37. private long facebookID;
  38. /**
  39. *
  40. */
  41. private static final long serialVersionUID = 1L;
  42. public UserModel() {
  43. }
  44. public UserModel(final long id) {
  45. this.id = id;
  46. }
  47. public UserModel(final User u) {
  48. this.id = u.getId();
  49. this.dateCreated = u.getDateCreated();
  50. this.lastLoggedIn = u.getLastLoggedIn();
  51. this.sendEmail = u.getSendEmail();
  52. this.host = u.getHost();
  53. this.uuid = u.getUuid();
  54. this.secret = u.getSecret();
  55. //Resolves Type 'org.datanucleus.sco.backed.ArrayList' was not included in the set of types which can be serialized by this SerializationPolicy
  56. final List<Long> l = new ArrayList<Long>();
  57. for (final long x : u.getConnections()) {
  58. l.add(x);
  59. }
  60. this.connections = l;
  61. this.restricted = u.isRestricted();
  62. this.emailAddress = u.getEmail().getValue();
  63. this.facebookToken = u.getFacebookToken();
  64. this.userSource = u.getUserSource();
  65. this.twitterToken = u.getTwitterToken();
  66. this.twitterTokenSecret = u.getTwitterTokenSecret();
  67. this.facebookID = u.getFacebookID();
  68. }
  69. // public UserModel(final EmailAddress email, final String uuid) {
  70. // this.dateCreated = new Date();
  71. // this.email = email.getValue();
  72. // this.sendEmail = true;
  73. // this.uuid = uuid;
  74. //
  75. // }
  76. @Override
  77. public void setEmail(final EmailAddress email) {
  78. this.emailAddress = email.getValue();
  79. // case
  80. }
  81. @Override
  82. public List<Long> getConnections() {
  83. if (connections == null) {
  84. connections = new LinkedList<Long>();
  85. }
  86. return connections;
  87. }
  88. @Override
  89. public boolean getSendEmail() {
  90. return sendEmail;
  91. }
  92. @Override
  93. public void setSendEmail(final boolean sendEmail) {
  94. this.sendEmail = sendEmail;
  95. }
  96. @Override
  97. public long getId() {
  98. return id;
  99. }
  100. @Override
  101. public void setId(final long id) {
  102. this.id = id;
  103. }
  104. @Override
  105. public Date getDateCreated() {
  106. return new Date(this.dateCreated.getTime());
  107. }
  108. @Override
  109. public Date getLastLoggedIn() {
  110. return this.lastLoggedIn;
  111. }
  112. @Override
  113. public void setLastLoggedIn(Date lastLoggedIn) {
  114. this.lastLoggedIn = new Date(lastLoggedIn.getTime());
  115. }
  116. @Override
  117. public void setDateCreated(final Date dateCreated) {
  118. this.dateCreated = new Date(dateCreated.getTime());
  119. }
  120. @Override
  121. public String getUserSource() {
  122. return userSource;
  123. }
  124. @Override
  125. public void setUserSource(final String userSource) {
  126. this.userSource = userSource;
  127. }
  128. @Override
  129. public String getTwitterTokenSecret() {
  130. return twitterTokenSecret;
  131. }
  132. @Override
  133. public void setTwitterTokenSecret(final String twitterTokenSecret) {
  134. this.twitterTokenSecret = twitterTokenSecret;
  135. }
  136. @Override
  137. public String getTwitterToken() {
  138. return twitterToken;
  139. }
  140. @Override
  141. public void setTwitterToken(final String twitterToken) {
  142. this.twitterToken = twitterToken;
  143. }
  144. @Override
  145. public String getFacebookToken() {
  146. return facebookToken;
  147. }
  148. @Override
  149. public void setFacebookToken(final String facebookToken) {
  150. this.facebookToken = facebookToken;
  151. }
  152. @Override
  153. public long getFacebookID() {
  154. return facebookID;
  155. }
  156. @Override
  157. public void setFacebookID(long facebookID) {
  158. this.facebookID = facebookID;
  159. }
  160. @Override
  161. public String getUuid() {
  162. return uuid;
  163. }
  164. @Override
  165. public void setUuid(final String uuid) {
  166. this.uuid = uuid;
  167. }
  168. @Override
  169. public String getHost() {
  170. return host;
  171. }
  172. @Override
  173. public void setHost(final String host) {
  174. this.host = host;
  175. }
  176. @Override
  177. public String getSecret() {
  178. return secret;
  179. }
  180. @Override
  181. public void setSecret(final String secret) {
  182. this.secret = secret;
  183. }
  184. @Override
  185. public boolean isRestricted() {
  186. return restricted;
  187. }
  188. @Override
  189. public void setRestricted(final boolean restricted) {
  190. this.restricted = restricted;
  191. }
  192. @Override
  193. public EmailAddress getEmail() {
  194. return CommonFactoryLocator.getInstance().createEmailAddress(emailAddress);
  195. }
  196. @Override
  197. public void addConnection(final long id) {
  198. if (connections == null) {
  199. connections = new ArrayList<Long>();
  200. }
  201. if (!connections.contains(id)) {
  202. connections.add(id);
  203. }
  204. }
  205. @Override
  206. public void removeConnection(final long id) {
  207. connections.remove(id);
  208. }
  209. }