permaculture playing cards
The moose likes Certification Results and the fly likes Passed 142! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Certification Results
Bookmark "Passed 142!" Watch "Passed 142!" New topic

Passed 142!

Leonardo Wang

Joined: Feb 19, 2002
Posts: 17
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
Mark Spritzler

Joined: Feb 05, 2001
Posts: 17276

Congrats Leonardo. Well done.
I am going to move this to the Certification Results forum, so more people can congratulate you.

Perfect World Programming, LLC - iOS Apps
How to Ask Questions the Smart Way FAQ
Jessica Sant

Joined: Oct 17, 2001
Posts: 4313

nicely done!
Sai Prasad
Ranch Hand

Joined: Feb 25, 2002
Posts: 560
Job well done. Good lock on the next!
Rob Ross

Joined: Jan 07, 2002
Posts: 2205
Congratulations Leonardo.

SCJP 1.4
I agree. Here's the link:
subject: Passed 142!
It's not a secret anymore!