diff --git a/client/src/main/java/ch/zhaw/pm2/multichat/client/ChatWindowController.java b/client/src/main/java/ch/zhaw/pm2/multichat/client/ChatWindowController.java index 06e6189..f46425d 100644 --- a/client/src/main/java/ch/zhaw/pm2/multichat/client/ChatWindowController.java +++ b/client/src/main/java/ch/zhaw/pm2/multichat/client/ChatWindowController.java @@ -251,7 +251,7 @@ public class ChatWindowController { } /** - * //TODO missing + * Starts several new Listener for Connection Handler changes by using several observable properties. */ public void startConnectionHandlerListener() { @@ -285,7 +285,7 @@ public class ChatWindowController { } /** - * //TODO + * Starts a new Listener for messages by using the observable Boolean. */ private void messageListener() { messages.getChangedProperty().addListener(new ChangeListener() { diff --git a/client/src/main/java/ch/zhaw/pm2/multichat/client/Message.java b/client/src/main/java/ch/zhaw/pm2/multichat/client/Message.java index 036e486..1745623 100644 --- a/client/src/main/java/ch/zhaw/pm2/multichat/client/Message.java +++ b/client/src/main/java/ch/zhaw/pm2/multichat/client/Message.java @@ -12,7 +12,7 @@ public class Message { /** * Constructor of Message. Needs all Information about a Message to save them. * - * @param type Message (if it's a message typed by a user), Error or Information (if it is generated automatically, in this case sender and reciever will be null) + * @param type Message (if it's a message typed by a user), Error or Information (if it is generated automatically, in this case sender and receiver will be null) * @param sender The User who has sent the message. * @param receiver The User who should receive the message. * @param text The Text of the message. diff --git a/protocol/src/main/java/ch/zhaw/pm2/multichat/protocol/ConnectionHandler.java b/protocol/src/main/java/ch/zhaw/pm2/multichat/protocol/ConnectionHandler.java index a51fadc..6762b0c 100644 --- a/protocol/src/main/java/ch/zhaw/pm2/multichat/protocol/ConnectionHandler.java +++ b/protocol/src/main/java/ch/zhaw/pm2/multichat/protocol/ConnectionHandler.java @@ -29,7 +29,6 @@ public abstract class ConnectionHandler { } /** - * * @return {@link ConnectionHandler#DATA_TYPE_CONNECT} */ public static String getDataTypeConnect() { @@ -37,7 +36,6 @@ public abstract class ConnectionHandler { } /** - * * @return {@link ConnectionHandler#DATA_TYPE_CONFIRM} */ public static String getDataTypeConfirm() { @@ -45,7 +43,6 @@ public abstract class ConnectionHandler { } /** - * * @return {@link ConnectionHandler#DATA_TYPE_DISCONNECT} */ public static String getDataTypeDisconnect() { @@ -53,7 +50,6 @@ public abstract class ConnectionHandler { } /** - * * @return {@link ConnectionHandler#DATA_TYPE_MESSAGE */ public static String getDataTypeMessage() { @@ -61,7 +57,6 @@ public abstract class ConnectionHandler { } /** - * * @return {@link ConnectionHandler#DATA_TYPE_ERROR} */ public static String getDataTypeError() { @@ -69,7 +64,6 @@ public abstract class ConnectionHandler { } /** - * * @return {@link NetworkHandler.NetworkConnection} */ public NetworkHandler.NetworkConnection getConnection() { @@ -78,6 +72,7 @@ public abstract class ConnectionHandler { /** * This method sets the NetworkConnection used for the server <-> client connection + * * @param connection NetworkConnection used for the server <-> client connection */ protected void setConnection(NetworkHandler.NetworkConnection connection) { @@ -85,26 +80,24 @@ public abstract class ConnectionHandler { } /** - * This method reads the data when a ConnectionHandler recieves it. It tries to read out the sender, reciever, type and payload. + * This method reads the data when a ConnectionHandler receives it. It tries to read out the sender, receiver, type and payload. * If the data does not contain the expected number of lines, it throws a {@link ChatProtocolException} - * @param scanner to read data - * @param sender of the data - * @param reciever for the data - * @param type of data - * @param payload the data sent + * + * @param scanner to read data + * @param sender of the data + * @param receiver for the data + * @param type of data + * @param payload the data sent * @throws ChatProtocolException if the data does not contain the expected number of lines */ - protected void processData(Scanner scanner, StringBuilder sender, StringBuilder reciever, StringBuilder type, StringBuilder payload) throws ChatProtocolException { + protected void processData(Scanner scanner, StringBuilder sender, StringBuilder receiver, StringBuilder type, StringBuilder payload) throws ChatProtocolException { // parse data content if (scanner.hasNextLine()) { sender.append(scanner.nextLine()); + } else if (scanner.hasNextLine()) { + receiver.append(scanner.nextLine()); } else { - throw new ChatProtocolException("No Sender found"); - } - if (scanner.hasNextLine()) { - reciever.append(scanner.nextLine()); - } else { - throw new ChatProtocolException("No Reciever found"); + throw new ChatProtocolException("No Receiver found"); } if (scanner.hasNextLine()) { type.append(scanner.nextLine()); @@ -118,19 +111,20 @@ public abstract class ConnectionHandler { /** * This method gets called to send data via the socket defined in the {@link NetworkHandler.NetworkConnection} - * @param sender of the data + * + * @param sender of the data * @param receiver of the data - * @param type of the data - * @param payload of the data + * @param type of the data + * @param payload of the data */ protected void sendData(String sender, String receiver, String type, String payload) { if (connection.isAvailable()) { new StringBuilder(); String data = new StringBuilder() - .append(sender+"\n") - .append(receiver+"\n") - .append(type+"\n") - .append(payload+"\n") + .append(sender + "\n") + .append(receiver + "\n") + .append(type + "\n") + .append(payload + "\n") .toString(); try { connection.send(data); @@ -138,7 +132,7 @@ public abstract class ConnectionHandler { System.err.println("Connection closed: " + e.getMessage()); } catch (EOFException e) { System.out.println("Connection terminated by remote"); - } catch(IOException e) { + } catch (IOException e) { System.err.println("Communication error: " + e.getMessage()); } } diff --git a/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java b/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java index f712540..982c6bf 100644 --- a/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java +++ b/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java @@ -25,6 +25,19 @@ public class Server { // Connection registry private final Map connections = new HashMap<>(); + /** + * The Constructor to create a new instance. + * + * @param serverPort to listen for incoming connections. + * @throws IOException thrown if an I/O error occurs when opening the socket. + */ + public Server(int serverPort) throws IOException { + // Open server connection + System.out.println("Create server connection"); + networkServer = NetworkHandler.createServer(serverPort); + System.out.println("Listening on " + networkServer.getHostAddress() + ":" + networkServer.getHostPort()); + } + /** * @param args */ @@ -66,19 +79,6 @@ public class Server { } } - /** - * The Constructor to create a new instance. - * - * @param serverPort to listen for incoming connections. - * @throws IOException thrown if an I/O error occurs when opening the socket. - */ - public Server(int serverPort) throws IOException { - // Open server connection - System.out.println("Create server connection"); - networkServer = NetworkHandler.createServer(serverPort); - System.out.println("Listening on " + networkServer.getHostAddress() + ":" + networkServer.getHostPort()); - } - /** * With this methode the instance waits for incoming connections. If a client tries to connect to the server. * The connection will be registered in the connection registry if successful. diff --git a/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java b/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java index 13c460d..45820bb 100644 --- a/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java +++ b/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java @@ -33,8 +33,8 @@ import java.util.concurrent.locks.ReentrantLock; * 1. Removing the connection from the {@link ServerConnectionHandler#connectionRegistry} * 2. Terminates the socket by calling {@link NetworkHandler.NetworkConnection#close()} *

- * Processes Messages send from a client by: - * 1. Evaluating the reciever by differentiating between broadcast or unicast. + * Process Messages send from a client by: + * 1. Evaluating the receiver by differentiating between broadcast or unicast. * 2. Sending the message accordingly. *

* To use this class, start a new instance and start it in a thread. @@ -89,7 +89,7 @@ public class ServerConnectionHandler extends ConnectionHandler implements Runnab return this.userName; } - /** + /** //TODO needed method? * @return state of the connection. Possible states are see {@link ch.zhaw.pm2.multichat.protocol.ConnectionHandler.State} */ public State getState() { @@ -97,7 +97,7 @@ public class ServerConnectionHandler extends ConnectionHandler implements Runnab } /** - * This methods runs in a while-loop as long as the socket between server and client is available + * These methods runs in a while-loop as long as the socket between server and client is available * and the connection State is not ERROR. */ private void startReceiving() {