diff --git a/.classpath b/.classpath
index 002ad57..2a83b68 100644
--- a/.classpath
+++ b/.classpath
@@ -34,5 +34,6 @@
+
diff --git a/.project b/.project
index 45a395e..f87ca5c 100644
--- a/.project
+++ b/.project
@@ -15,9 +15,15 @@
+
+ org.hibernate.eclipse.console.hibernateBuilder
+
+
+
org.eclipse.jdt.core.javanature
org.eclipse.m2e.core.maven2Nature
+ org.hibernate.eclipse.console.hibernateNature
diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs
index 7103be7..20da6a0 100644
--- a/.settings/org.eclipse.jdt.ui.prefs
+++ b/.settings/org.eclipse.jdt.ui.prefs
@@ -1,2 +1,3 @@
eclipse.preferences.version=1
-org.eclipse.jdt.ui.text.custom_code_templates=
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n * @since Envoy Server Standalone v0.1-alpha\n *//**\n * @param ${param} the ${bare_field_name} to set\n * @since Envoy Server Standalone v0.1-alpha\n *//**\n * ${tags}\n * @since Envoy Server Standalone v0.1-alpha\n *//**\n * Project\: <strong>${project_name}</strong><br>\n * File\: <strong>${file_name}</strong><br>\n * Created\: <strong>${date}</strong><br>\n * \n * @author Leon Hofmeister\n * @since Envoy Server Standalone v0.1-alpha\n *//**\n * ${tags}\n * @since Envoy Server Standalone v0.1-alpha\n *//**\n * @author ${user}\n *\n * ${tags}\n * @since Envoy Server Standalone v0.1-alpha\n *//**\n * ${tags}\n * ${see_to_target}\n * @since Envoy Server Standalone v0.1-alpha\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}\n// ${todo} Auto-generated constructor stub\n${body_statement}\nreturn ${field};${field} \= ${param};
diff --git a/.settings/org.hibernate.eclipse.console.prefs b/.settings/org.hibernate.eclipse.console.prefs
new file mode 100644
index 0000000..a6ccf3c
--- /dev/null
+++ b/.settings/org.hibernate.eclipse.console.prefs
@@ -0,0 +1,3 @@
+default.configuration=envoy-server-standalone
+eclipse.preferences.version=1
+hibernate3.enabled=true
diff --git a/src/main/java/envoy/server/data/Message.java b/src/main/java/envoy/server/data/Message.java
index be11608..7582762 100644
--- a/src/main/java/envoy/server/data/Message.java
+++ b/src/main/java/envoy/server/data/Message.java
@@ -10,10 +10,15 @@ import javax.persistence.TemporalType;
import envoy.data.MessageBuilder;
/**
+ * This class serves as a way to let Hibernate communicate with the server
+ * without bringing the dependency of JPA/Hibernate into the client.
+ * It will be referenced as "database message" to clarify between the different
+ * message objects.
+ *
* Project: envoy-server-standalone
* File: Message.java
* Created: 02.01.2020
- *
+ *
* @author Kai S. K. Engelbart
* @since Envoy Server Standalone v0.1-alpha
*/
@@ -33,49 +38,147 @@ public class Message {
private String text;
private byte[] attachment;
+ /**
+ * The constructor for a database object
+ *
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public Message() {}
// TODO: everything except ID
- public Message(envoy.data.Message message) { id = message.getId(); }
+ /**
+ * @param message the {@link envoy.data.Message} to convert into a database
+ * {@link Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
+ public Message(envoy.data.Message message) {
+ id = message.getId();
+ status = message.getStatus();
+ text = message.getText();
+ }
+ /**
+ * @return a database {@link Message} converted into an
+ * {@link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public envoy.data.Message toCommonMessage() {
// TODO: Attachment, dates
return new MessageBuilder(sender.getId(), recipient.getId()).setText(text).setDate(creationDate).setStatus(status).build();
}
+ /**
+ * @return the id of a {link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public long getId() { return id; }
+ /**
+ * @param id the id to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see Message#getId()
+ */
public void setId(long id) { this.id = id; }
+ /**
+ * @return the sender of a {link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public User getSender() { return sender; }
+ /**
+ * @param sender the sender to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see Message#getSender()
+ */
public void setSender(User sender) { this.sender = sender; }
+ /**
+ * @return the recipient of a {link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public User getRecipient() { return recipient; }
+ /**
+ * @param recipient the recipient to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see Message#getRecipient()
+ */
public void setRecipient(User recipient) { this.recipient = recipient; }
+ /**
+ * @return the date at which a {link envoy.data.Message} has been created
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public Date getCreationDate() { return creationDate; }
+ /**
+ * @param creationDate the creation date to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see Message#getCreationDate()
+ */
public void setCreationDate(Date creationDate) { this.creationDate = creationDate; }
+ /**
+ * @return the date at which a {link envoy.data.Message} has been received by
+ * the server
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public Date getReceivedDate() { return receivedDate; }
+ /**
+ * @param receivedDate the received date to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see Message#getReceivedDate()
+ */
public void setReceivedDate(Date receivedDate) { this.receivedDate = receivedDate; }
+ /**
+ * @return the date at which a {link envoy.data.Message} has been read
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public Date getReadDate() { return readDate; }
+ /**
+ * @param readDate the read date to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see Message#getReadDate()
+ */
public void setReadDate(Date readDate) { this.readDate = readDate; }
+ /**
+ * @return the status of a {link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public envoy.data.Message.MessageStatus getStatus() { return status; }
+ /**
+ * @param status the new status of a {link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public void setStatus(envoy.data.Message.MessageStatus status) { this.status = status; }
+ /**
+ * @return the text content of a {link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public String getText() { return text; }
+ /**
+ * @param text the new text content of a {@link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public void setText(String text) { this.text = text; }
+ /**
+ * @return the attachment of a {@link envoy.data.Message}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public byte[] getAttachment() { return attachment; }
+ /**
+ * @param attachment the new attachment
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public void setAttachment(byte[] attachment) { this.attachment = attachment; }
}
diff --git a/src/main/java/envoy/server/data/User.java b/src/main/java/envoy/server/data/User.java
index 28dbc0f..4090a25 100644
--- a/src/main/java/envoy/server/data/User.java
+++ b/src/main/java/envoy/server/data/User.java
@@ -11,10 +11,15 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
+ * This class serves as a way to let Hibernate communicate with the server
+ * without bringing the dependency of JPA/Hibernate into the client.
+ * It will be referenced as "database user" to clarify between the different
+ * user objects.
+ *
* Project: envoy-server-standalone
* File: User.java
* Created: 02.01.2020
- *
+ *
* @author Kai S. K. Engelbart
* @since Envoy Server Standalone v0.1-alpha
*/
@@ -31,27 +36,81 @@ public class User {
private envoy.data.User.UserStatus status;
private List contacts;
+ /**
+ * @return the id of a {link envoy.data.User}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public long getId() { return id; }
+ /**
+ * @param id the id to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see User#getId
+ */
public void setId(long id) { this.id = id; }
+ /**
+ * @return the name of a {link envoy.data.User}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public String getName() { return name; }
+ /**
+ * @param name the username to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see User#getName()
+ */
public void setName(String name) { this.name = name; }
+ /**
+ * @return the passwordHash of a {link envoy.data.User}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public byte[] getPasswordHash() { return passwordHash; }
+ /**
+ * @param passwordHash the password hash to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see User#getPasswordHash()
+ */
public void setPasswordHash(byte[] passwordHash) { this.passwordHash = passwordHash; }
+ /**
+ * @return the last date an {link envoy.data.User} has been online
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public Date getLastSeen() { return lastSeen; }
+ /**
+ * @param lastSeen the latest date at which has been seen to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see User#getLastSeen()
+ */
public void setLastSeen(Date lastSeen) { this.lastSeen = lastSeen; }
+ /**
+ * @return the status of a {link envoy.data.User}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public envoy.data.User.UserStatus getStatus() { return status; }
+ /**
+ * @param status the status to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see User#getStatus()
+ */
public void setStatus(envoy.data.User.UserStatus status) { this.status = status; }
+ /**
+ * @return the contacts of a {link envoy.data.User}
+ * @since Envoy Server Standalone v0.1-alpha
+ */
public List getContacts() { return contacts; }
+ /**
+ * @param contacts the contacts to set
+ * @since Envoy Server Standalone v0.1-alpha
+ * @see User#getContacts()
+ */
public void setContacts(List contacts) { this.contacts = contacts; }
}
diff --git a/src/main/java/envoy/server/database/PersistenceManager.java b/src/main/java/envoy/server/database/PersistenceManager.java
new file mode 100644
index 0000000..0f36d04
--- /dev/null
+++ b/src/main/java/envoy/server/database/PersistenceManager.java
@@ -0,0 +1,21 @@
+package envoy.server.database;
+
+
+/**
+ * Project: envoy-server-standalone
+ * File: PersistenceManager.java
+ * Created: 3 Jan 2020
+ *
+ * @author Leon Hofmeister
+ * @since Envoy Server Standalone v0.1-alpha
+ */
+public class PersistenceManager {
+
+ /**
+ *
+ * @since Envoy Server Standalone v0.1-alpha
+ */
+ public PersistenceManager() { // TODO Auto-generated constructor stub
+ }
+
+}