Hi everyone,
This morning, I received from Oracle the following message:
Hi Youcef,
Congratulations! You have passed the Oracle Certified Master, Java SE6 Developer certification. You are among the elite 1% of certified Java professionals who have gone on to achieve the Oracle Certified Master, Java SE6 Developer certification. You have received a passing score. Passing grades do not receive a score, just the pass. A failing grade will receive section level scoring so that a candidate may isolate the area of failure and resubmit their assignment. Numeric scores are only provided on failures.
We kindly request you to allow 4-6 weeks for processing and delivery of your certification success kit. Thank you for all your efforts with this certification, and good luck in your future endeavors with Java.
Please let us know if we may provide further assistance. Also include your Testing ID in all your mails so that we may assist you with your request at the earliest.
Regards,
OCP Team
That said, I would like to share a few information about my personal experience which may interest future candidates.
I- Delay in grading
    -  I submitted the assignment on 22nd Sept and took the essay exam on 23rd Sept .
    -  Received the notification from Oracle (early this morning) on the 4th October.
II- Main materials
II-1 Forum
   - This forum - this is the best place to prepare for this certification (Thanks everyone in the forum).
II-2 Books
   - 
SCJD Exam with J2SE 5, Second Edition by Andrew Monkhouse and Terry Camerlengo (Thanks to the authors).
   -  Demystifying the OCMJD Certification by Roberto Perillo (Thanks to the author).
      
http://daileon.sourceforge.net/papers/ocmjd-paper-roberto-perillo.pdf
II-3 Tools
   -  By Roberto Perillo (Thanks to the author).
      o The database file reader :
https://coderanch.com/t/445690/Developer-Certification-SCJD/certification/Database-file-reader.
      o Tests for the Data class/locking mechanism :
https://coderanch.com/t/427863/Developer-Certification-SCJD/certification/Tests-Data-class-locking-mechanism
   -  By Roel De Nijs (Thanks to the author)
      o Submission Jar:
test case +
Ant build script :
https://coderanch.com/t/450629/Developer-Certification-SCJD/certification/Submission-Jar-test-case-Ant
      o Test your business service :
https://coderanch.com/t/484954/Developer-Certification-SCJD/certification/Test-your-business-service
III- A few key points about my implementation
    -  Three tier architecture ( presentation layer, business service layer, persistence layer)
    -  userguide.txt = 20 KB (381 lines)
    -  choices.txt = 35 KB (792 lines)
    -  Reformatted the supplied DB interface.
    -  Provided package comments for every package using source file called package-info.java.
    -  Created my own interface which extends the supplied interface.
    -  In my own interface, I defined new useful methods and refined the exceptions that might be thrown, in six methods.
    -  Decided to make the data class not a singleton (IMHO, this is the best approach).
    -  Synchronized all the public methods of the data class.
    -  Used an utility class to read dynamically the database file schema.
    -  Implemented a shutdown hook (when the Data class is constructed).
    -  Implemented a cache.
    -  Used System.nanoTime() for cookie.
    -  Didn’t reuse deleted records.
    -  Validated the
String[] parameter against the database file schema.
    -  Used regular expressions.
    -  Used two transfer objects.
    -  Filtering by name, by location, by name AND location.
    -  Did not implement the 48 h.
    -  For the server I used RMI (generated the stub explicitly).
    -  Implemented record locking mechanism for both local and remote modes.
    -  Used the
java 6 default look and feel.
    -  Used FlowLayout, BorderLayout, and GridBagLayout.
    -  Used a class to hold all text messages.
    -  Validated every user entry.
    -  Implemented DocumentFilter (created two implementations : one to control the maximum digits, and the other one to control the maximum length of characters).
    -  Created my custom table mode (overridden five methods and created two new useful methods)
    -  No MVC
pattern.
IV- A high level overview about the code I implemented.
Thanks to all once again, and good luck to those who are still awaiting the results.
Best regards
Y. S.