Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: Set gnu/java/awt/peer/swing to ignore.
       * gnu/classpath/jdwp/VMFrame.java (SIZE): New constant.
       * java/lang/VMCompiler.java: Use gnu.java.security.hash.MD5.
       * java/lang/Math.java: New override file.
       * java/lang/Character.java: Merged from Classpath.
       (start, end): Now 'int's.
       (canonicalName): New field.
       (CANONICAL_NAME, NO_SPACES_NAME, CONSTANT_NAME): New constants.
       (UnicodeBlock): Added argument.
       (of): New overload.
       (forName): New method.
       Updated unicode blocks.
       (sets): Updated.
       * sources.am: Regenerated.
       * Makefile.in: Likewise.

From-SVN: r111942
This commit is contained in:
Mark Wielaard
2006-03-10 21:46:48 +00:00
parent 27079765d0
commit 8aa540d2f7
1367 changed files with 188789 additions and 22762 deletions
@@ -1,5 +1,6 @@
/* UnicastRemoteObject.java --
Copyright (c) 1996, 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
Copyright (c) 1996, 1997, 1998, 1999, 2002, 2003, 2006
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -44,61 +45,175 @@ import java.rmi.NoSuchObjectException;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
* This class obtains stub that communicates with the remote object.
*/
public class UnicastRemoteObject extends RemoteServer
{
private static final long serialVersionUID = 4974527148936298033L;
//The following serialized fields are from Java API Documentation "Serialized form"
private int port = 0;
private RMIClientSocketFactory csf = null;
private RMIServerSocketFactory ssf = null;
/**
* Use SVUID for interoperability.
*/
private static final long serialVersionUID = 4974527148936298033L;
protected UnicastRemoteObject() throws RemoteException {
//The following serialized fields are from Java API Documentation
// "Serialized form"
/**
* The port, on that the created remote object becomes available,
* zero meaning the anonymous port.
*/
private int port;
/**
* The client socket factory for producing client sockets, used by this
* object.
*/
private RMIClientSocketFactory csf;
/**
* The server socket factory for producing server sockets, used by this
* object.
*/
private RMIServerSocketFactory ssf;
/**
* Create and export new remote object without specifying the port value.
*
* @throws RemoteException if the attempt to export the object failed.
*/
protected UnicastRemoteObject()
throws RemoteException
{
this(0);
}
}
/**
* Create and export the new remote object, making it available at the
* given port, local host.
*
* @param port the port, on that the object should become available.
* Zero means anonymous port.
*
* @throws RemoteException if the attempt to export the object failed.
*/
protected UnicastRemoteObject(int port)
throws RemoteException
{
this(port, RMISocketFactory.getSocketFactory(),
RMISocketFactory.getSocketFactory());
}
protected UnicastRemoteObject(int port) throws RemoteException {
this(port, RMISocketFactory.getSocketFactory(), RMISocketFactory.getSocketFactory());
}
/**
* Create and export the new remote object, making it available at the
* given port, using sockets, produced by the specified factories.
*
* @param port the port, on that the object should become available.
* Zero means anonymous port.
*
* @param clientSocketFactory the client socket factory
* @param serverSocketFactory the server socket factory
*
* @throws RemoteException if the attempt to export the object failed.
*/
protected UnicastRemoteObject(int port,
RMIClientSocketFactory clientSocketFactory,
RMIServerSocketFactory serverSocketFactory)
throws RemoteException
{
this.port = port;
//Is RMIXXXSocketFactory serializable
//this.csf = csf;
//this.ssf = ssf;
this.ref = new UnicastServerRef(new ObjID(), port, serverSocketFactory);
exportObject(this, port);
}
protected UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException {
this.port = port;
//Is RMIXXXSocketFactory serializable
//this.csf = csf;
//this.ssf = ssf;
this.ref = new UnicastServerRef(new ObjID(), port, ssf);
exportObject(this);
}
protected UnicastRemoteObject(RemoteRef ref)
throws RemoteException
{
super((UnicastServerRef) ref);
exportObject(this, 0);
}
protected UnicastRemoteObject(RemoteRef ref) throws RemoteException {
super((UnicastServerRef)ref);
exportObject(this);
}
public Object clone() throws CloneNotSupportedException {
public Object clone()
throws CloneNotSupportedException
{
throw new Error("Not implemented");
}
}
/**
* Export object, making it available for the remote calls at the
* anonymous port.
*
* This method returns the instance of the abstract class, not an interface.
* Hence it will not work with the proxy stubs that are supported since
* jdk 1.5 (such stubs cannot be derived from the RemoteStub). Only use
* this method if you are sure that the stub class will be accessible.
*
* @param obj the object being exported.
*
* @return the remote object stub
*
* @throws RemoteException if the attempt to export the object failed.
*/
public static RemoteStub exportObject(Remote obj)
throws RemoteException
{
return (RemoteStub) exportObject(obj, 0);
}
public static RemoteStub exportObject(Remote obj) throws RemoteException {
UnicastServerRef sref = (UnicastServerRef)((RemoteObject)obj).getRef();
return (sref.exportObject(obj));
}
public static Remote exportObject(Remote obj, int port) throws RemoteException
/**
* Export object, making it available for the remote calls at the
* specified port.
*
* Since jdk 1.5 this method does not longer require the stub class to be
* present. If such class is not found, the stub is replaced by the
* dynamically constructed proxy class. No attempt to find and load the stubs
* is made if the system property java.rmi.server.ignoreStubClasses
* is set to true (set to reduce the starting time if the stubs are
* surely not present and exclusively 1.2 RMI is used).
*
* @param obj the object being exported.
* @param port the remote object port
*
* @return the remote object stub
*
* @throws RemoteException if the attempt to export the object failed.
*/
public static Remote exportObject(Remote obj, int port)
throws RemoteException
{
return exportObject(obj, port, null);
}
static Remote exportObject(Remote obj, int port, RMIServerSocketFactory ssf)
throws RemoteException
/**
* Create and export the new remote object, making it available at the
* given port, using sockets, produced by the specified factories.
*
* Since jdk 1.5 this method does not longer require the stub class to be
* present. If such class is not found, the stub is replaced by the
* dynamically constructed proxy class. No attempt to find and load the stubs
* is made if the system property java.rmi.server.ignoreStubClasses
* is set to true (set to reduce the starting time if the stubs are
* surely not present and exclusively 1.2 RMI is used).
*
* @param port the port, on that the object should become available.
* Zero means anonymous port.
*
* @param serverSocketFactory the server socket factory
*/
static Remote exportObject(Remote obj, int port,
RMIServerSocketFactory serverSocketFactory)
throws RemoteException
{
UnicastServerRef sref = null;
if (obj instanceof RemoteObject)
sref = (UnicastServerRef)((RemoteObject)obj).getRef ();
if(sref == null)
{
sref = new UnicastServerRef(new ObjID (), port, ssf);
}
Remote stub = sref.exportObject (obj);
sref = (UnicastServerRef) ((RemoteObject) obj).getRef();
if (sref == null)
sref = new UnicastServerRef(new ObjID(), port, serverSocketFactory);
Remote stub = sref.exportObject(obj);
addStub(obj, stub);
return stub;
}
@@ -106,8 +221,9 @@ public static RemoteStub exportObject(Remote obj) throws RemoteException {
/**
* FIXME
*/
public static Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
public static Remote exportObject(Remote obj, int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
throws RemoteException
{
return (exportObject(obj, port, ssf));
@@ -118,14 +234,15 @@ public static RemoteStub exportObject(Remote obj) throws RemoteException {
{
if (obj instanceof RemoteObject)
{
deleteStub(obj);
UnicastServerRef sref = (UnicastServerRef)((RemoteObject)obj).getRef();
return sref.unexportObject(obj, force);
deleteStub(obj);
UnicastServerRef sref =
(UnicastServerRef) ((RemoteObject) obj).getRef();
return sref.unexportObject(obj, force);
}
else
{
//FIX ME
;
// FIXME
;
}
return true;
}