This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I have some misunderstanding of the requirement. At page 2, it said "the data must continue to be manipulated for reports using another customer-written application, the new system must reimplement the database code from scratch without altering the data file format."
what is the meaning of reimplement the database code?
In addition, it also said "must allow the CSRs to generate a list of accomodations that match a customer's criteria."
Is that meaning that I need to have a print function to print the result to excel files or word etc. or just print on the app using JTable? And what is customer's criteria, is that just meaning name and location fields or should I provide a search function by all fields?
Reimplementing the database code means you have to create a class that implements the interface that was given to you in your assignment. This class will manipulate and read the database file that was also handed to you in the assignment jar. And you are not allowed to change anything in the database file (so not adding an extra column for example because the file is also used by other applications)
The results of a search by the CSR will be shown in the JTable you must use, no other print functions are required.
The search criteria are just the name and location, as you can read in your assignment
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.
So these 2 criteria must be certainly presented. It's of course up to you to maybe add some other criteria but notice that you will not get any extra points for things that you added but was not a requirement (so you could only loose points on these things)
You will not receive extra credit points for work beyond the requirements of the specification.
Hope my comments were useful.
If you still have other questions, feel free to ask them.
Thanks Roel De Nijs, you give me very clear explanation. I cannot alter the data file format, but can I update the data file value? If yes, a user want to book a room he should provide his customer id and update the owner field and when he cancel the booking, the owner field should also be clear, do I understand right? Is there any relationship between date and owner field? Since we can not book the room when time is past. But the data vaule is past time.
Meanwhile, the data file is not a normal text file, so should I manipulated it with special method like the thread "Database file reader" teached us!?
In addition, what is the use the "suncertify.properties" files. What configuration information should put into the file!?
A directory called code, containing all the source code and related parts of your project. You must create subdirectories within this to reflect your package structrue and distribute your source files within those directories.
Is it mean that the package should be "code.suncertify.db"?
you don't have to provide unbooking functionality. but if you provide unbooking clearing the customer field would be the way you could go
you can alter the data file values, but be sure to have an unchanged backup of your database file, because when you submit you have to provide an original, unchanged database file.
the database file reader is a great thread of the great and very wise roberto perillo, and it is a great starting point if you have trouble with the database file
when you are developing you can choose to update rooms, even if they are in the past. then you can choose to implement the 48 hours rule that you can find in your instructions, but it is not a must. i submitted the program without implementing this request (and it is possible to book rooms in the past)
the suncertify.properties file is a file containing the configuration settings a user enters and to make these settings persistent between different runs of the program. which values you should store: database location, port number, server address
no, the package would be just suncertify.db (when you submit, you will have to create a directory "code" and copy all sources into this directory and of course keep the directory structure).
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com