From cec961f46a1f0176f41eaa676a155c39e71bcacd Mon Sep 17 00:00:00 2001 From: moreris Date: Mon, 17 Dec 2018 18:46:49 +0100 Subject: [PATCH] refactoring --- .../controller/ConnectController.java | 45 ++++++----- .../controller/ReceiveAdapterController.java | 4 +- .../controller/SendController.java | 6 +- src/chatprogramm/model/Client.java | 70 +++++++++++----- src/chatprogramm/model/Server.java | 81 ++++++++++++------- src/chatprogramm/model/Transmitter.java | 29 ++++--- src/chatprogramm/view/ChatView.form | 6 +- src/chatprogramm/view/ChatView.java | 6 +- 8 files changed, 154 insertions(+), 93 deletions(-) diff --git a/src/chatprogramm/controller/ConnectController.java b/src/chatprogramm/controller/ConnectController.java index ca8e249..3ba7a77 100644 --- a/src/chatprogramm/controller/ConnectController.java +++ b/src/chatprogramm/controller/ConnectController.java @@ -18,10 +18,10 @@ public class ConnectController implements ActionListener private ChatView view; private static Logger logger = OhmLogger.getLogger(); - public ConnectController(Transmitter m, ChatView v) + public ConnectController(Transmitter model, ChatView view) { - this.model = m; - this.view = v; + this.model = model; + this.view = view; } public void registerEvents() @@ -34,9 +34,10 @@ public class ConnectController implements ActionListener @Override public void actionPerformed(ActionEvent ae) { - Object o = ae.getSource(); + Object object = ae.getSource(); - if (o == view.getBtConnect()) { + if (object == view.getBtConnect()) + { int port = -1; try { @@ -59,37 +60,43 @@ public class ConnectController implements ActionListener view.getRbServer().setEnabled(false); view.getTfIP().setEnabled(false); view.getTfPort().setEnabled(false); - } else { - view.getTfIP().setEnabled(view.getRbClient().isSelected()); - } + } } - private boolean validIP (String ip) { - try { - if ( ip == null || ip.isEmpty() ) { + private boolean validIP (String ip) + { + try + { + if (ip == null || ip.isEmpty()) + { return false; } - String[] parts = ip.split( "\\." ); - if ( parts.length != 4 ) { + String[] parts = ip.split("\\."); + if ( parts.length != 4 ) + { return false; } - for ( String s : parts ) { - int i = Integer.parseInt( s ); - if ( (i < 0) || (i > 255) ) { + for (String s : parts) + { + int i = Integer.parseInt(s); + if ((i < 0) || (i > 255)) + { return false; } } - if ( ip.endsWith(".") ) { + if (ip.endsWith(".")) + { return false; } return true; - } catch (NumberFormatException e) { + } + catch (NumberFormatException e) + { logger.severe(e.toString()); return false; } } - } diff --git a/src/chatprogramm/controller/ReceiveAdapterController.java b/src/chatprogramm/controller/ReceiveAdapterController.java index f6aae0a..4877954 100644 --- a/src/chatprogramm/controller/ReceiveAdapterController.java +++ b/src/chatprogramm/controller/ReceiveAdapterController.java @@ -20,9 +20,9 @@ public class ReceiveAdapterController implements Observer @Override public void update(Observable observable, Object object) { - String msg = (String)object; + String message = (String)object; - view.getTaCommunication().append(msg + "\n"); + view.getTaCommunication().append(message + "\n"); } } diff --git a/src/chatprogramm/controller/SendController.java b/src/chatprogramm/controller/SendController.java index 9d662c7..90fd1fd 100644 --- a/src/chatprogramm/controller/SendController.java +++ b/src/chatprogramm/controller/SendController.java @@ -14,10 +14,10 @@ public class SendController implements ActionListener private Transmitter model; private ChatView view; - public SendController(Transmitter m, ChatView v) + public SendController(Transmitter model, ChatView view) { - this.model = m; - this.view = v; + this.model = model; + this.view = view; } public void registerEvents() diff --git a/src/chatprogramm/model/Client.java b/src/chatprogramm/model/Client.java index 1fc31bd..536250a 100644 --- a/src/chatprogramm/model/Client.java +++ b/src/chatprogramm/model/Client.java @@ -43,7 +43,8 @@ public class Client extends Observable implements Runnable public void init() { - if (thd == null) { + if (thd == null) + { thd = new Thread(this); thd.start(); } @@ -51,10 +52,13 @@ public class Client extends Observable implements Runnable public void sendMessage(String msg) { - if (ready) { + if (ready) + { writer.println(msg); writer.flush(); - } else { + } + else + { logger.warning("Server not ready to send message. Connect first"); } } @@ -66,63 +70,85 @@ public class Client extends Observable implements Runnable while (true) { - if (socket == null) { - try { + if (socket == null) + { + try + { socket = new Socket(ip, port); logger.info("Connected to server"); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.getMessage()); socket = null; - try { + try + { Thread.sleep(1000); - } catch (InterruptedException ex) { + } + catch (InterruptedException ex) + { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } continue; } InputStream iStream; - try { + try + { iStream = socket.getInputStream(); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.getMessage()); return; } OutputStream oStream; - try { + try + { oStream = socket.getOutputStream(); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.getMessage()); return; } InputStreamReader isr; - try { + try + { isr = new InputStreamReader(iStream, "UTF-8"); - } catch (UnsupportedEncodingException e) { + } + catch (UnsupportedEncodingException e) + { logger.severe(e.getMessage()); return; } OutputStreamWriter osr; - try { + try + { osr = new OutputStreamWriter(oStream, "UTF-8"); - } catch (UnsupportedEncodingException e) { + } + catch (UnsupportedEncodingException e) + { logger.severe(e.getMessage()); return; } reader = new BufferedReader(isr); - writer = new PrintWriter(osr); - + writer = new PrintWriter(osr); ready = true; } - if (ready) { + if (ready) + { String msg; - try { - logger.info("Waiting for message"); + try + { + logger.info("Waiting"); msg = reader.readLine(); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.toString()); return; } diff --git a/src/chatprogramm/model/Server.java b/src/chatprogramm/model/Server.java index d028bc9..b0a5d71 100644 --- a/src/chatprogramm/model/Server.java +++ b/src/chatprogramm/model/Server.java @@ -30,9 +30,7 @@ public class Server extends Observable implements Runnable private BufferedReader reader; private PrintWriter writer; private volatile boolean ready; - private Thread thd; - private static final SimpleDateFormat sdf = new SimpleDateFormat("HH.mm.ss"); - + private Thread thd; public Server(int port) { @@ -56,79 +54,100 @@ public class Server extends Observable implements Runnable @Override public void run() { - logger.info("Running server..."); + logger.info("Server running"); while (true) { - if (server == null) { - try { + if (server == null) + { + try + { server = new ServerSocket(port); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.toString()); return; } - logger.info("Waiting for client to connect"); - try { + logger.info("Waiting for client"); + try + { client = server.accept(); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.toString()); return; } logger.info("Client connected"); InputStream iStream; - try { + try + { iStream = client.getInputStream(); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.toString()); return; } OutputStream oStream; - try { + try + { oStream = client.getOutputStream(); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.toString()); return; } InputStreamReader isr; - try { + try + { isr = new InputStreamReader(iStream, "UTF-8"); - } catch (UnsupportedEncodingException e) { + } + catch (UnsupportedEncodingException e) + { logger.severe(e.toString()); return; } OutputStreamWriter osr; - try { + try + { osr = new OutputStreamWriter(oStream, "UTF-8"); - } catch (UnsupportedEncodingException e) { + } + catch (UnsupportedEncodingException e) + { logger.severe(e.toString()); return; } reader = new BufferedReader(isr); - writer = new PrintWriter(osr); - - ready = true; - + writer = new PrintWriter(osr); + ready = true; } - if (ready) { - try { + if (ready) + { + try + { logger.info("Waiting for message"); String msg = reader.readLine(); - if (msg == null) { + if (msg == null) + { ready = false; continue; } this.setChanged(); this.notifyObservers(msg); - } catch (IOException e) { + } + catch (IOException e) + { logger.severe(e.toString()); ready = false; - continue; } } } @@ -136,11 +155,13 @@ public class Server extends Observable implements Runnable public void sendMessage(String msg) { - if (ready) { + if (ready) + { writer.println(msg); writer.flush(); - } else { - logger.warning("Server not ready to send message. Connect first"); + } else + { + logger.warning("Server not ready"); } } diff --git a/src/chatprogramm/model/Transmitter.java b/src/chatprogramm/model/Transmitter.java index 9c20854..7f15728 100644 --- a/src/chatprogramm/model/Transmitter.java +++ b/src/chatprogramm/model/Transmitter.java @@ -33,46 +33,53 @@ public class Transmitter extends Observable implements Observer public void connectToPeer(boolean mode, String ip, int port) { - if (initialized) { - logger.info("Chat already running"); + if (initialized) + { + logger.info("Chat's already running"); return; } this.mode = mode; - if (mode) { + if (mode) + { logger.info("Running as server"); srv = new Server(port); srv.addObserver(this); srv.init(); - } else { + } + else + { logger.info("Running as client"); cli = new Client(ip, port); cli.addObserver(this); cli.init(); - } - + } initialized = true; } public void sendMessage(String msg) { - if (!initialized) { + if (!initialized) + { logger.warning("Chat not initialized"); return; } - if (mode) { + if (mode) + { srv.sendMessage(msg); - } else { + } + else + { cli.sendMessage(msg); } } @Override - public void update(Observable o, Object o1) + public void update(Observable observable, Object object) { this.setChanged(); - this.notifyObservers(o1); + this.notifyObservers(object); } } diff --git a/src/chatprogramm/view/ChatView.form b/src/chatprogramm/view/ChatView.form index 74fb4fe..fa1ac70 100644 --- a/src/chatprogramm/view/ChatView.form +++ b/src/chatprogramm/view/ChatView.form @@ -38,7 +38,7 @@ - + @@ -63,7 +63,7 @@ - + @@ -114,7 +114,7 @@ - + diff --git a/src/chatprogramm/view/ChatView.java b/src/chatprogramm/view/ChatView.java index 422ac33..6a551e0 100644 --- a/src/chatprogramm/view/ChatView.java +++ b/src/chatprogramm/view/ChatView.java @@ -119,7 +119,7 @@ public class ChatView extends javax.swing.JFrame { btSend.setText("send"); - tfPort.setText("3210"); + tfPort.setText("45000"); tfPort.setToolTipText(""); lbPort.setText("Port:"); @@ -164,7 +164,7 @@ public class ChatView extends javax.swing.JFrame { .addComponent(lbIP) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(tfIP, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 34, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 247, Short.MAX_VALUE) .addComponent(btConnect)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addComponent(rbClient, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -183,7 +183,7 @@ public class ChatView extends javax.swing.JFrame { layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 134, Short.MAX_VALUE) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 243, Short.MAX_VALUE) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(tfMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)