I would like to run some amibguity well to me anyways in the SCJD exam I have here, I have 3 issues to mention
below is an extract of my spec related to alone mode
The program must be able to work in a non-networked mode. In this mode, the database and GUI must run in the same VM and must perform no networking, must not use loopback networking, and must not involve the serialization of any objects when communicating between the GUI and database elements.
The operating mode is selected using the single command line argument that is permitted. Architecturally, this mode must use the database and GUI from the networked form, but must not use the network server code at all.
with what I have undelined saying the db & GUI must run in the same VM, does this to you imply I do not need to care about anyone else accessing the DB when running in Non-Networked mode?
below is another extract of my spec & related to the modes for my project
In either case, the program must allow the user to specify the location of the database, and it must also accept an indication that a local database is to be used, in which case, the networking must be bypassed entirely. No authentication is required for database access.
Do the above imply to you also aside from specifying the mode on the command line that even if we invoke the client GUI but specify the DB locally then this will override the command line argument & standalone mode will be used??
and the final extract of my spec with regards to the GUI
It must allow the user to search the data for all records, or for records where the name and/or location fields exactly match values specified by the user
This to me implies that if we have a record called Freddy as the name & the user enters Fred through the GUI, that it should not return the Freddy record, is my logic correct on this one? i.e the user will have to search for Freddy in to see the record, reason I am asking this is because according to the spec the find function will return Freddy on a Fred search
1. At the locking part they says explicitly: You may assume that at any moment, at most one program is accessing the database file;
therefore your locking system only needs to be concerned with multiple concurrent clients of your server.
2. i think that by "indication" they are reffering to the argument passed at startup (it's also a kind of indication )
3. maybe by exact they mean they start with the exact criteria (i.e. you don't have to search in the middle of the word)
or maybe they are talking about the case (uppercase/lowercase).
by the way, i just noticed here they say that the search parameters for the client user are only "Hotel" and "City". this mean
all other values should be null when sending request from clients...
2/ the application runs in 3 different modes (depending on a single argument), there are no other indication (because using other command line arguments other than the ones listed in your instructions are not allowed):
"server": starts the network server
"alone": starts the stand alone client application
(no argument): starts the network client application (which has to access the network server to make changes to the database file)
3/ That's true and you have implemented to the instructions: find returns a startsWith-match, but the gui expects an exact match (so some extra filtering is required). That's how I implemented it too (my search is case-insentive, but that's not required)