Merge branch 'develop' into f/local_db

This commit is contained in:
Kai S. K. Engelbart 2019-10-30 06:26:50 +01:00 committed by GitHub
commit 09ae179728
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 128 additions and 74 deletions

View File

@ -14,11 +14,32 @@ public class Chat implements Serializable {
private User recipient; private User recipient;
private DefaultListModel<Message> model = new DefaultListModel<>(); private DefaultListModel<Message> model = new DefaultListModel<>();
/**
* Provides the list of messages that the recipient receives.<br>
* Saves the Messages in the corresponding chat at that Point.
*
* @param recipient the user who receives the messages
* @since Envoy v0.1-alpha
*/
public Chat(User recipient) { this.recipient = recipient; } public Chat(User recipient) { this.recipient = recipient; }
/**
* @return the recipient of a message
* @since Envoy v0.1-alpha
*/
public User getRecipient() { return recipient; } public User getRecipient() { return recipient; }
/**
* Adds the received message at the current Point in the current chat
*
* @param message the message to add in said chat
* @since Envoy v0.1-alpha
*/
public void appendMessage(Message message) { model.addElement(message); } public void appendMessage(Message message) { model.addElement(message); }
/**
* @return all messages in the current chat
* @since Envoy v0.1-alpha
*/
public DefaultListModel<Message> getModel() { return model; } public DefaultListModel<Message> getModel() { return model; }
} }

View File

@ -1,71 +1,97 @@
package envoy.client; package envoy.client;
import java.io.File; import java.io.File;
import java.util.Properties; import java.util.Properties;
/** /**
* Project: <strong>envoy-client</strong><br> * Project: <strong>envoy-client</strong><br>
* File: <strong>Config.java</strong><br> * File: <strong>Config.java</strong><br>
* Created: <strong>12 Oct 2019</strong><br> * Created: <strong>12 Oct 2019</strong><br>
* *
* @author Kai S. K. Engelbart * @author Kai S. K. Engelbart
* @since Envoy 0.1 * @since Envoy v0.1-alpha
*/ */
public class Config { public class Config {
private String server; private String server;
private int port; private int port;
private File localDB; private File localDB;
/** /**
* Defaults to the {@code client.properties} file for information. * Defaults to the {@code client.properties} file for information.
* *
* @param properties a {@link Properties} object containing information about * @param properties a {@link Properties} object containing information about
* the server and port, as well as the path to the local * the server and port, as well as the path to the local
* database * database
* @since Envoy v0.1-alpha * @since Envoy v0.1-alpha
*/ */
public void load(Properties properties) { public void load(Properties properties) {
if (properties.containsKey("server")) server = properties.getProperty("server"); if (properties.containsKey("server")) server = properties.getProperty("server");
if (properties.containsKey("port")) port = Integer.parseInt(properties.getProperty("port")); if (properties.containsKey("port")) port = Integer.parseInt(properties.getProperty("port"));
localDB = new File(properties.getProperty("localDB", ".\\localDB")); localDB = new File(properties.getProperty("localDB", ".\\localDB"));
} }
/** /**
* Sets the server, port and localDB path via command line properties --server / * Sets the server, port and localDB path via command line properties --server /
* -s, --port / -p and --localDB / -db. * -s, --port / -p and --localDB / -db.
* *
* @param args the command line arguments to parse * @param args the command line arguments to parse
* @since Envoy v0.1-alpha * @since Envoy v0.1-alpha
*/ */
public void load(String[] args) { public void load(String[] args) {
for (int i = 0; i < args.length; i++) for (int i = 0; i < args.length; i++)
switch (args[i]) { switch (args[i]) {
case "--server": case "--server":
case "-s": case "-s":
server = args[++i]; server = args[++i];
break; break;
case "--port": case "--port":
case "-p": case "-p":
port = Integer.parseInt(args[++i]); port = Integer.parseInt(args[++i]);
break; break;
case "--localDB": case "--localDB":
case "-db": case "-db":
localDB = new File(args[++i]); localDB = new File(args[++i]);
} }
} }
public boolean isInitialized() { return server != null && !server.isEmpty() && port > 0 && port < 65566 && localDB != null; } /**
* @return {@code true} if server, port andd localDB directory are known.
public String getServer() { return server; } * @since Envoy v0.1-alpha
*/
public void setServer(String server) { this.server = server; } public boolean isInitialized() { return server != null && !server.isEmpty() && port > 0 && port < 65566 && localDB != null; }
public int getPort() { return port; } /**
* @return the URL of our website
public void setPort(int port) { this.port = port; } * @since Envoy v0.1-alpha
*/
public File getLocalDB() { return localDB; } public String getServer() { return server; }
public void setLocalDB(File localDB) { this.localDB = localDB; } /**
} * Changes the default URL.
* Exclusively meant for developing reasons. (localhost)
*
* @param server the URL where wish to host Envoy
* @since Envoy v0.1-alpha
*/
public void setServer(String server) { this.server = server; }
/**
* @return the port at which Envoy is located in the Server
* @since Envoy v0.1-alpha
*/
public int getPort() { return port; }
/**
* Changes the default port.
* Exclusively meant for developing reasons. (localhost)
*
* @param port the port where we wish to connect to {@code Envoy}.
* @since Envoy v0.1-alpha
*/
public void setPort(int port) { this.port = port; }
public File getLocalDB() { return localDB; }
public void setLocalDB(File localDB) { this.localDB = localDB; }
}

View File

@ -10,11 +10,15 @@ import javax.swing.ListCellRenderer;
import envoy.schema.Message; import envoy.schema.Message;
/** /**
* Defines how a message is displayed.<br>
* <br>
*
* Project: <strong>envoy-client</strong><br> * Project: <strong>envoy-client</strong><br>
* File: <strong>UserListRenderer.java</strong><br> * File: <strong>UserListRenderer.java</strong><br>
* Created: <strong>19 Oct 2019</strong><br> * Created: <strong>19 Oct 2019</strong><br>
* *
* @author Kai S. K. Engelbart * @author Kai S. K. Engelbart
* @since Envoy v0.1-alpha
*/ */
public class MessageListRenderer extends JLabel implements ListCellRenderer<Message> { public class MessageListRenderer extends JLabel implements ListCellRenderer<Message> {
@ -44,4 +48,4 @@ public class MessageListRenderer extends JLabel implements ListCellRenderer<Mess
text)); text));
return this; return this;
} }
} }

View File

@ -20,7 +20,7 @@ import envoy.exception.EnvoyException;
* *
* @author Leon Hofmeister * @author Leon Hofmeister
* @author Maximilian K&auml;fer * @author Maximilian K&auml;fer
* @since Envoy 0.1 * @since Envoy v0.1-alpha
*/ */
public class Startup { public class Startup {

View File

@ -9,11 +9,14 @@ import javax.swing.ListCellRenderer;
import envoy.schema.User; import envoy.schema.User;
/** /**
* Defines how the {@code UserList} is displayed.
*
* Project: <strong>envoy-client</strong><br> * Project: <strong>envoy-client</strong><br>
* File: <strong>UserListRenderer.java</strong><br> * File: <strong>UserListRenderer.java</strong><br>
* Created: <strong>12 Oct 2019</strong><br> * Created: <strong>12 Oct 2019</strong><br>
* *
* @author Kai S. K. Engelbart * @author Kai S. K. Engelbart
* @since Envoy v0.1-alpha
*/ */
public class UserListRenderer extends JLabel implements ListCellRenderer<User> { public class UserListRenderer extends JLabel implements ListCellRenderer<User> {
@ -38,4 +41,4 @@ public class UserListRenderer extends JLabel implements ListCellRenderer<User> {
return this; return this;
} }
} }