Leonardo Wang

Greenhorn
+ Follow
since Feb 19, 2002
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Leonardo Wang

I have a policy file in client side primarily for RMI- SocketPermission , and don't have policy file for the server.
SCJD2, SCJP2
You can change the default layout(FlowLayout) to BorderLayout to fix the position of component.
I use a series of JPanels with BorderLayout in stead of GridbayLayout to control the position of components.
Hope this helps
Today I check https://www.galton.com/~sun_ss 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
5-29-2002
21 years ago
I am just ready for upload. My upload.jar includes:
server.jar -packs suncertify.db,suncertify.server
client.jar -packs suncertify.db,suncertify.client src\ -source files
suncertify\ - compiled class file
doc\ -documents of the java source.
RMIpolicy - security policy
designChoice.txt - document of design choice
userDoc.htm - User Documentation
db.db - Database file
readme.txt - this file.
Do I miss anything?
My upload.jar is 86K.
Thanks!
Leon
I use a JDialog without owner, not for particular reason, In the current system of our company, we have a series of windows and we use JDialog much more than JFrame. I decide to find a reason, say easy extension, so that I do not have to change JDialog to JFrame. :roll:
In suncertify.db.Data, there are two deprecated methods:
String(byte[],int,int,int);
getByte(int, int, byte[],int);
Do I have to change them?
Comments?
I have only a GUI.
Which is more applicable for top window, JFrame or JDialog?
Thanks!
Thanks Sai!
Dasong,
my userguide.html and db.db are not packed in client.jar. I just put them in the same directroy with client.jar.
The server starts OK by java suncertify.server.DatabaseServer.
But when I packed classes (_stub included) into a executable jar - server.jar and run with java -jar server.jar, classNotFound:
-Stub Exception is thrown when rebinding.
What do I need to do? at rmiregistry or somewhere else?
Do I have to pack the classes into Server.jar?
Thanks in advance!
Leon
The server runs ok by java suncertify.server.DatabaseServer.
But when I packed classes into a executable jar - server.jar and run with java -jar server.jar, classNotFound:
-Stub Exception is thrown when rebinding a impl object.
What do I need to do? at rmiregistry or somewhere else?
Thanks in advance!
Leon
I am preparing the upload, so I got to confirm that my understanding about requirement is right.
1. package and jar arrangemet
my classes are under three packages:
* suncertify.db DB assess,including impl.class and _stub.class;
* suncertify.client, client GUI;
* suncertify.server, data Server;
I put suncertify.db and suncertify.client into client.jar, which can either access to DB locally or connect to DB Server, and put suncertify.db and suncertify.server into server.jar, which serve the client GUI. Is this arrangement OK?
2. Is the help system a must? I haven't seen specific requirements for it on the instruction.
Thanks in advance!
Leo,
Thanks all of you guys. You give me more idea about this assignment and real things.