Hi All,
I was a very silent player in the two groups scjd and java-dev-test and as for this group I did not even watch it, because they insisted my name must be changed.
But as an Indian I dont have a second name. I had not made much of contribution to both of them.
A sense of gratitude to all groups for having helped me with a few ideas or made me think of the various possibilites in the assignments makes me write this mail to u today (though its a sunday).
Lemme jus tell u that I had downloaded the new assignment on the 26th of the last month. I went on to complete this project inspite of the all the problems that I faced. The assignment went into a lot of testing and finally was uploaded on the 18th of this month. I had written the exam on the 23rd, and am waiting for the results now.
So here we go with a few tips for all aspirants who are willing to pass the exam and a few questions that you can get prepared on while you would like to upload your project.
Questions to ponder:
1. Take up the Data class first. Remove the deprecations. Ensure you understand the full flow of Data class methods.
2. Understand what happens when an argumetn like 27 is passed to getRecord method.
3. Understand the necessity of thread-safety in the Data class.
4. Understand the need of nested monitors if you are using any.
5. Complete the 3 methods lock, unlock and criteriaFind by either directly modifying Data class or delegating the job to another class. Document them
6. Understand why there will be an OutOfMemoryError when you pass a .java to open with the Data constructor (for people who are writing jd with the conversion tool).
7. Should you really extend Data class?
8. Read all the doc comments provided. Identify wrong doc comments and rectify them in the classes provided.
9. Make the server program. Understand the need of Singleton. Is it necessary? Or it in-built?
10. Identify the need to pass the Data class methods without tampering the Data class to give network functionality.
11. Find if you really want a client id ? Or is it enough to tap the in-built identification of Sockets and Rmi?
12. Build the server with a pattern or two (whatever is applicable)
13. Make sure your local mode does not have the residue of network functionality.
14. On the client - side, find out if you really want a gui for switching between the modes or use the command-lines.
15. Choosing the layout and the justification of the choice. Find if the preferred size and the looks are tampered when you resize.
16. Is a close button required or the like?
17. the need for hard-coding or dynamically finding the names of the columns for a find.
18. the need for hard-coding or dynamically generating the search string.
19 the need for hard-coding or dynamically parsing any number of search criterion in a string in the back-end.
Material I used:
* Sun/Java tutorial
*Java Look and Feel guidelines
* All in One programmers guide by Barry Boone (can hint you to the answer though its very subtle)
* Programmers guide by Robert/Heller
* Programmers guide by Jamie Jaworski (Nothing much in it, except for three questions and the style of answers one can write and a few other tips)
* Thread programming by Paul Hyde
* Concurrency programming by Doug Lea
* Articles by Allen holub from JavaWorld (part 1 to 9) on real world thread programming
* Article on Adapter pattern from JavaWorld.
* Swing material from Manning.com
* Java Code Conventions
Hope this helps.
Regards,
LioneL
MORE TO COME SOON.
[This message has been edited by Lionel PJ (edited February 25, 2001).]