Skip to content
Snippets Groups Projects
ReceiveThread.java 1.36 KiB
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;
    private final Model client;

    public ReceiveThread(Socket socket, Model client) {
        this.client = client;

        try {
            InputStream input = socket.getInputStream();
            reader = new BufferedReader(new InputStreamReader(input));
        } catch (IOException error) {
            System.out.println("Error getting input stream: " + error.getMessage());
            error.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));
                }

            } catch (IOException error) {
                System.out.println("Error reading from server: " + error.getMessage());
                error.printStackTrace();
                break;
            }

        }
    }
}