Skip to content
Snippets Groups Projects
ReceiveThread.java 1.57 KiB
Newer Older
  • Learn to ignore specific revisions
  • package com.example.schedulerapp;
    
    import java.io.*;
    import java.net.*;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    
    public class ReceiveThread extends Thread {
    
        private BufferedReader reader;
    
    eyan_'s avatar
    eyan_ committed
        private final Model client;
    
    eyan_'s avatar
    eyan_ committed
        public ReceiveThread(Socket socket, Model client) {
    
    
            try {
                InputStream input = socket.getInputStream();
                reader = new BufferedReader(new InputStreamReader(input));
    
            } catch (IOException exception) {
                System.out.println("Error getting input stream: " + exception.getMessage());
                exception.printStackTrace();
    
            }
        }
    
        public void run() {
            while(true) {
                try {
    
                    //System.out.println("ReceiveThread.Run.Hello"); why does this run twice.
    
                    String response = reader.readLine();
    
                    String[] args = response.split("/");
                    switch (args[0]) {
    
                        case "allEmployees" -> this.client.employees = new ArrayList<>(Arrays.asList(args));
    
                        case "allShifts" -> this.client.shifts = new ArrayList<>(Arrays.asList(args));
    
                        case "addEmployee" -> this.client.employees.add(args[1]);
                        case "removeEmployee" -> this.client.employees.removeIf(employee -> employee.startsWith(args[1]));
    
                } catch (IOException exception) {
                    System.out.println("Error reading from server: " + exception.getMessage());
                    exception.printStackTrace();