Win a copy of Five Lines of Code this week in the OO, Patterns, UML and Refactoring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Passed 142!

Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Today I check and found myself passed SCJD. I used to think that Sun will email me about the result but it is not necessary. I downloaded the assignment(Flight by night) on March 13, 2002, uploaded on May 3rd, 2002(unable to upload first, solved 1 day after I emailed who2contact), and took the essay test (only 5 questions) on May 12th, 2002, got passed on May 23th, 2002. Result:

Test: Sun Certified Developer for the Java 2 Platform (310-027)
Date Taken: 2002-05-23 01:31:17.153
Grade: P
Score: 0142
General Considerations(maximum = 58): 54
Documentation(maximum = 20): 20
GUI(maximum = 24): 19
Server(maximum = 53): 49
My major design choice and considerations are as follows: (almost my designChoice.txt)
I think most of them are common, nothing particular.

1) RMI vs Object Stream. I use RMI instead of Sockets
2) I modify the database class - suncertify.db.Data for easy usage. Also there are 2 deprecated methods in suncertify.db.Data, which need modification.
3) My search logic is pretty simple. For example, say we got three search criteria (origin='xxx', destiny='xxx', carrier='xxx'), I will search three times respectively with each criteria and get three result sets. The record which exists in each of the three result sets is the one we need.
4) Local/network
I have a interface named RemoteData, which have all the public methods of Data. The RemoteDataImpl is the RMI implementation in server of this interface, which just maps the remote invocations to local ones. Also in Data class, I have a doBook() method which is used to deal with the booking process in the
sequence of lock, read, modify if applicable and unlock the target record. It might mot be very suitable to put this business method in a Data class, but this is the easiest way to conform local mode with network mode, and make sure the booking process is in the same thread in server with network mode. So I can use the reference of current thread as the owner of the lock.
5) Lock/Unlock
I use wait/notify mechanism for lock/unlock. I use the reference to the current thread
as the ID(owner) of the lock. When a locked record is to be unlocked, the reference of unlocking thread will be compared with the owner of the lock, if same, unlock the record, otherwise do nothing.
6) Server
My data server just instantiates a RemoteDataImpl object and bind it with a predefined name.
I don't designs a GUI for server.
7) Client GUI
I hava Entry class to start the MainScreen according the mode the user selects
in the command line parameter. The first parameter (-L or -N) indicates the local mode or
network mode. In local mode, the location of db.db is needed as the second parameter.
In network mode, the address and port of data server
As to the deployment, I decide to pack the _stud.class into client.jar instead of downloading it from the server for facilitation. So I do not use a SecurityManager for the clients.

I would like to thank Mark, Sid, Sai, Adam and Javaranch. Next I will run for SCWCD.
Good Luck, Every one!
Leon Wang
Posts: 17346
Mac IntelliJ IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats Leonardo. Well done.
I am going to move this to the Certification Results forum, so more people can congratulate you.
Posts: 4313
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
nicely done!
Ranch Hand
Posts: 560
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Job well done. Good lock on the next!
Posts: 2205
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations Leonardo.
I once met a man from Nantucket. He had a tiny ad
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
    Bookmark Topic Watch Topic
  • New Topic