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;
}
}
}
}