Here is a few things i did in my project. URLybird hotels. This might gives some people some ideas on what they might do for their project.
I am waiting to do the exam and submit my project yet.
I used static maps to keep a track of the locked records
I disabled multiple row highlighting in the Jtable to stop confusion
When the server shuts down i did not implement the unbind of the rmi name from the registry. When the process is killed it should be removed by default
I made my own object to represent a record. this was easier than using string arrays and easier to maintain.
Instead of having if statements all around the GUi to try and figure out if was a remote connection or location i had one interface that handle that for me. then 2 class implmented this interface for remote and local operations. easier to maintain.
I did not add any method to the provided interface. If you are adding to that interface then you are adding features to the applications that they did not ask for.
I broke the data class into a facade of DataAccess and DataLock to make it easier to keep the classes small.
I did not publish private methods or private variables in the javadoc. but in the code they are commented.
I made the Data class a singleton. that made sure that only one connection to the database.
I implemented my own TabelModel because i want the Jtable to deal with my record class.
If 2 network guis were started and one gui updated the database then the other gui would not see that. To stop unknown over writing i i would read from the database first before updating.
I implemented the serializble variable in all my classes even though i was not using them in that way.
No warning or errors in my project.
Turned off all logging
Only have joptionpane appear with the error to the user
Have a trouble message section in my user guide
I have a tracker class that keeps track of all the valid and invalid records. also give me a new record number.
If i send all null values to my find it sends all the valid records back to me.
i have exact matching in my gui. case sensitive.
I reuse delete records and locations
When the server shuts down it waits until all the locks map is empty before shutting down. the stand alone client does this aswell.
I validate the ip address port numbers. I also make sure the file exists before continuing with the standalone client or server
If the server shuts down and the client is still running. the next action the user does an error pane will appear saying it lost connection to server.
I have a trouble message section in my userguide.
All 5 operations on the database side are sychronized
I did not implement unbinding of the rmi service name
I did not implement the 48 hour rule
I implemented thin client
I added in the unbook feature
I extended the interface they gave me to add extra operations.
Will post up anything else i can thing of i did. Hope this is enough to pass and also the application works.