Partly working security: registration form, authorisaztion, simple authentication
[proteocache.git] / engine / compbio / proteocache / users / User.java
diff --git a/engine/compbio/proteocache/users/User.java b/engine/compbio/proteocache/users/User.java
new file mode 100644 (file)
index 0000000..5e300d6
--- /dev/null
@@ -0,0 +1,120 @@
+package compbio.proteocache.users;\r
+\r
+import java.io.Serializable;\r
+import java.util.Date;\r
+\r
+import org.springframework.format.annotation.DateTimeFormat;\r
+\r
+import static org.apache.commons.lang.builder.EqualsBuilder.*;\r
+import static org.apache.commons.lang.builder.HashCodeBuilder.*;\r
+import static org.apache.commons.lang.builder.ToStringBuilder.*;\r
+\r
+public class User implements Serializable {\r
+\r
+       /**\r
+        * \r
+        */\r
+       private static final long serialVersionUID = 1L;\r
+\r
+       private Long id = -1L;\r
+       private String email;\r
+       private String password;\r
+       private String fullName;\r
+       private boolean updateByEmail;\r
+       private String position;\r
+       private String organisation;\r
+\r
+       @DateTimeFormat(pattern = "hh:mma MMM d, YYYY")\r
+       private Date registrationDate;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public void setEmail(String email) {\r
+               this.email = email;\r
+       }\r
+\r
+       public String getEmail() {\r
+               return email;\r
+       }\r
+\r
+       public String getPassword() {\r
+               return this.password;\r
+       }\r
+\r
+       public void setPassword(String password) {\r
+               this.password = password;\r
+       }\r
+\r
+       public void setFullName(String fullName) {\r
+               this.fullName = fullName;\r
+       }\r
+\r
+       public String getFullName() {\r
+               return fullName;\r
+       }\r
+\r
+       public String getPosition() {\r
+               return position;\r
+       }\r
+\r
+       public void setPosition(String position) {\r
+               this.position = position;\r
+       }\r
+\r
+       public void setOrganisation(String organisation) {\r
+               this.organisation = organisation;\r
+       }\r
+\r
+       private String checkNoUTFsymbols(String s) {\r
+               if (null != s) {\r
+                       if (3 < s.length())\r
+                               if (s.substring(0, 2).matches("^&#")) {\r
+                                       return "Unknown organization";\r
+                               }\r
+               }\r
+               return s;\r
+       }\r
+\r
+       public String getOrganisation() {\r
+               return checkNoUTFsymbols(organisation);\r
+       }\r
+\r
+       public void setUpdateByEmail(boolean updateByEmail) {\r
+               this.updateByEmail = updateByEmail;\r
+       }\r
+\r
+       public boolean isUpdateByEmail() {\r
+               return updateByEmail;\r
+       }\r
+\r
+       public Date getRegistrationDate() {\r
+               return this.registrationDate;\r
+       }\r
+\r
+       public void setRegistrationDate(Date registrationDate) {\r
+               this.registrationDate = registrationDate;\r
+       }\r
+\r
+       // plumbing\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               return reflectionEquals(this, obj);\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               return reflectionHashCode(this);\r
+       }\r
+\r
+       @Override\r
+       public String toString() {\r
+               return reflectionToString(this);\r
+       }\r
+\r
+}\r