Run the program with one command line arg to represent port.
Remember to select a port number outside the reserved range
Common Usage:
java ReservationServer [PORT]
Example:
java ReservationServer 12345
Run the program with two command line args to represent server ip and port.
Remember to select the port number that the server is listening on
Common Usage:
java ReservationClient [SERVER_IP] [PORT]
Example:
java ReservationClient 127.0.0.1 12345
There are a few commands that can be run at this time to retrieve or
update information in the hotel. They are explained below. To run any command,
simply type the specified command and any necessary arguments into the client.
NOTE: All commands will start with a slash (/)
Command: /displayrooms
Description: This command will print out all of the rooms in the hotel
along with their current availibility
Command: /buildguest [FIRST_NAME] [LAST_NAME] [PHONE] [EMAIL]
Description: This command will create a new guest object on the hotel
Command: /toggleroomstate [ROOM_NUMBER] [AVAILIBILITY_BOOL] [RESERVER_EMAIL] [CHECK_IN_DATE] [CHECK_OUT_DATE]
Description: This command will update the availibility status of a specified
room. It requires two paramaters. The first is the room number
that will be changed. The second is a boolean (spelled in
agreement with java spec) which will set the availibility of the
room.
true == availible
false == occupied
Mandatory Requirements for Full Credit:
-
The system must be networked with a reasonable user interface for users. This user interface doesn't need to be fancy or complex โ it can even be a
completely command-line system. But if you are expecting user input, you must lay this out in a way that makes it very clear what a user should input and how to do it. -
The system must be of some practical use to some user group, which needs to be specified clearly.
-
The system must be multi-user and implement concurrent threads as an important part of the functionality of the system.
-
The system must have important critical sections which require thread safety, and must not deadlock even when subjected to large numbers of concurrent transactions.
-
The base language must be Java, use Java network sockets, and must be able to be compiled and run from the Java command line.
-
There must be a Java-based system for data persistence โ in other words a text-file, database, or some othermechanism (e.g., XML) where user and possibly other data can be stored and retrieved for later use.
-
You may use external libraries IF and ONLY IF you reference where you got them, with the proviso that the code you write must satisfy the above requirements. In other words, you may not use external library code to satisfy the basic system requirements given in 1-6 above. For example, it is fine to use a JDBC driver to deal with a database, but you must write the database calls yourself. For another example, it is fine to use a graphics engine to render complex graphics if you need them, but any code you submit to use this graphics engine must be your own.