diff --git a/year4/semester2/CT414/assignments/assignment1/code/src/client/ApplicationClient.java b/year4/semester2/CT414/assignments/assignment1/code/src/client/ApplicationClient.java index 9f60a632..8f9db642 100644 --- a/year4/semester2/CT414/assignments/assignment1/code/src/client/ApplicationClient.java +++ b/year4/semester2/CT414/assignments/assignment1/code/src/client/ApplicationClient.java @@ -21,10 +21,10 @@ public class ApplicationClient { System.out.println("ApplicationHandler found in registry"); // login - System.out.println("Enter your username\n> "); + System.out.printf("Enter your username\n> "); String username = scanner.nextLine(); - System.out.println("Enter your password\n> "); + System.out.printf("Enter your password\n> "); String password = scanner.nextLine(); long sessionID = handler.login(username, password); @@ -43,7 +43,7 @@ public class ApplicationClient { // answer questiosn for (int i = 0; i < form.getTotalQuestions(); i++) { System.out.println("Q" + i + ": " + form.getQuestion(i)); - System.out.println("A> "); + System.out.printf("A> "); form.answerQuestion(i, scanner.nextLine()); } System.out.println("Form filled successfully."); diff --git a/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationFormV1.java b/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationFormV1.java index 4c4f1803..cc0bc9cc 100644 --- a/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationFormV1.java +++ b/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationFormV1.java @@ -1,10 +1,12 @@ package implementations; import interfaces.*; + +import java.io.Serializable; import java.util.*; import java.rmi.*; -public class ApplicationFormV1 implements ApplicationForm { +public class ApplicationFormV1 implements ApplicationForm, Serializable { private String formInfo = "University of Galway Application Form - Version 1"; private String[] questions = new String[5]; private String[] answers = new String[5]; diff --git a/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationHandlerImpl.java b/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationHandlerImpl.java index 43d7e365..0a2bcba8 100644 --- a/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationHandlerImpl.java +++ b/year4/semester2/CT414/assignments/assignment1/code/src/implementations/ApplicationHandlerImpl.java @@ -38,7 +38,7 @@ public class ApplicationHandlerImpl implements ApplicationHandler { @Override public void submitApplicationForm(long sessionID, ApplicationForm applicationForm) throws RemoteException, InvalidSessionIDException { if (sessions.contains(sessionID)) { - String filename = applicationForm.getName().replace("\\s", "_") + ".txt"; + String filename = applicationForm.getName().replaceAll("\\s", "_") + ".txt"; try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { System.out.println("Saving application form to file: " + filename); diff --git a/year4/semester2/CT414/assignments/assignment1/code/src/run.sh b/year4/semester2/CT414/assignments/assignment1/code/src/run.sh index 837cdd1b..287abd46 100755 --- a/year4/semester2/CT414/assignments/assignment1/code/src/run.sh +++ b/year4/semester2/CT414/assignments/assignment1/code/src/run.sh @@ -1,14 +1,17 @@ -#!/bin/sh +#!/bin/bash src_path="/home/andrew/edu/year4/semester2/CT414/assignments/assignment1/code/src" # compile code -javac -d . server/*.java client/*.java interfaces/*.java implementations/*.java  +javac -d . server/*.java client/*.java interfaces/*.java implementations/*.java -# start rmi registry -rmiregistry -J-Djava.rmi.server.codebase=file:$src_path & -trap "kill $! 2>/dev/null" EXIT +# start rmi registry (in a new terminal) +$TERM -e rmiregistry -J-Djava.rmi.server.codebase=file:$src_path & +sleep 1 -# start server -java -cp $src_path -Djava.rmi.server.codebase=file:$src_path/ server.ApplicationServer & -trap "kill $! 2>/dev/null" EXIT +# start server (in a new terminal) +$TERM -e java -cp $src_path -Djava.rmi.server.codebase=file:$src_path/ server.ApplicationServer & +sleep 1 + +# start client (in a new terminal) +$TERM -e java -cp $src_path -Djava.rmi.server.codebase=file:$src_path/ client.ApplicationClient diff --git a/year4/semester2/CT414/assignments/assignment1/code/src/server/ApplicationServer.java b/year4/semester2/CT414/assignments/assignment1/code/src/server/ApplicationServer.java index a7cceddd..9ef597c7 100644 --- a/year4/semester2/CT414/assignments/assignment1/code/src/server/ApplicationServer.java +++ b/year4/semester2/CT414/assignments/assignment1/code/src/server/ApplicationServer.java @@ -1,6 +1,7 @@ package server; import implementations.ApplicationHandlerImpl; +import interfaces.ApplicationHandler; import java.rmi.Naming; import java.rmi.registry.LocateRegistry; @@ -14,10 +15,10 @@ public class ApplicationServer { Registry registry = LocateRegistry.getRegistry(); // create applicationhandlerstub and bind it - ApplicationHandlerImpl applicationHandler = new ApplicationHandlerImpl(); + ApplicationHandler applicationHandler = new ApplicationHandlerImpl(); System.out.println("Instance of ApplicationHandlerImpl created"); - ApplicationHandlerImpl stub = (ApplicationHandlerImpl) UnicastRemoteObject.exportObject(applicationHandler, 0); + ApplicationHandler stub = (ApplicationHandler) UnicastRemoteObject.exportObject(applicationHandler, 0); Naming.rebind("ApplicationHandler", stub); System.out.println("Name rebind completed");