aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/java/rmi/activation
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2016-09-30 16:24:48 +0000
committerAndrew Haley <aph@gcc.gnu.org>2016-09-30 16:24:48 +0000
commit07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch)
tree3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/java/rmi/activation
parenteae993948bae8b788c53772bcb9217c063716f93 (diff)
downloadgcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.zip
gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.gz
gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.bz2
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com> * Makefile.def: Remove libjava. * Makefile.tpl: Likewise. * Makefile.in: Regenerate. * configure.ac: Likewise. * configure: Likewise. * gcc/java: Remove. * libjava: Likewise. From-SVN: r240662
Diffstat (limited to 'libjava/classpath/java/rmi/activation')
-rw-r--r--libjava/classpath/java/rmi/activation/Activatable.java531
-rw-r--r--libjava/classpath/java/rmi/activation/ActivateFailedException.java76
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationDesc.java254
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationException.java122
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationGroup.java340
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationGroupDesc.java433
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationGroupID.java122
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationGroup_Stub.java110
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationID.java199
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationInstantiator.java73
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationMonitor.java87
-rw-r--r--libjava/classpath/java/rmi/activation/ActivationSystem.java206
-rw-r--r--libjava/classpath/java/rmi/activation/Activator.java72
-rw-r--r--libjava/classpath/java/rmi/activation/UnknownGroupException.java69
-rw-r--r--libjava/classpath/java/rmi/activation/UnknownObjectException.java69
-rw-r--r--libjava/classpath/java/rmi/activation/package.html73
16 files changed, 0 insertions, 2836 deletions
diff --git a/libjava/classpath/java/rmi/activation/Activatable.java b/libjava/classpath/java/rmi/activation/Activatable.java
deleted file mode 100644
index 9ec7cad..0000000
--- a/libjava/classpath/java/rmi/activation/Activatable.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/* Activatable.java -- A common ancestor for the activatable objects.
- Copyright (c) 1996, 1997, 1998, 1999, 2004, 2006
- Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import gnu.java.rmi.server.ActivatableServerRef;
-import gnu.java.rmi.server.UnicastServer;
-import gnu.java.rmi.server.UnicastServerRef;
-
-import java.lang.reflect.Field;
-import java.rmi.MarshalledObject;
-import java.rmi.NoSuchObjectException;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.server.ObjID;
-import java.rmi.server.RMIClientSocketFactory;
-import java.rmi.server.RMIServerSocketFactory;
-import java.rmi.server.RemoteObject;
-import java.rmi.server.RemoteServer;
-import java.rmi.server.UnicastRemoteObject;
-
-/**
- * A common ancestor for the implementations of the activatable objects. Such
- * objects require persistent access over time and can be activated by the
- * system. The derived classes also implements the needed interface of some
- * remote object and usually have the two parameter constructor, the first
- * parameter being the {@link ActivationID} and the second the
- * {@link MarshalledObject}. Activatable is the main class that developers need
- * to use to implement and manage activatable objects. It also contains methods
- * for making activatable remote objects that are not derived from the
- * Activatable class.
- *
- * @author Audrius Meskauskas (audriusa@bioinformatics.org) (from stub)
- */
-public abstract class Activatable
- extends RemoteServer
-{
-
- /**
- * Use SVUID for interoperability.
- */
- static final long serialVersionUID = - 3120617863591563455L;
-
- /**
- * The object activation id.
- */
- final ActivationID id;
-
- /**
- * This constructor is used to register export the object on the given port. A
- * subclass of the Activatable class calls this constructor to register and
- * export the object during initial construction. As a side-effect of
- * activatable object construction, the remote object is both "registered"
- * with the activation system and "exported" (on an anonymous port, if port is
- * zero) to the RMI runtime so that it is available to accept incoming calls
- * from clients.
- *
- * @param codebase the object code base url
- * @param data the data, needed to activate the object.
- * @param restart specifies reactivation mode after crash. If true, the object
- * is activated when activator is restarted or the activation group
- * is restarted. If false, the object is only activated on demand.
- * This flag does has no effect during the normal operation (the
- * object is normally activated on demand).
- * @param port the port, on which the object will become available. The value
- * 0 means anonymous port.
- * @throws ActivationException if the activation failed
- * @throws RemoteException if the remote call failed.
- */
- protected Activatable(String codebase, MarshalledObject<?> data,
- boolean restart, int port) throws ActivationException,
- RemoteException
- {
- ActivationDesc descriptor = new ActivationDesc(getClass().getName(),
- codebase, data, restart);
- id = obtainId(descriptor);
- exportObject(this, id, port);
- }
-
- /**
- * This constructor is used to register export the object on the given port,
- * additionally specifying the socket factories. A subclass of the Activatable
- * class calls this constructor to register and export the object during
- * initial construction.
- *
- * @param codebase the object code base url
- * @param data the data, needed to activate the object.
- * @param restart specifies reactivation mode after crash. If true, the object
- * is activated when activator is restarted or the activation group
- * is restarted. If false, the object is only activated on demand.
- * This flag does has no effect during the normal operation (the
- * object is normally activated on demand).
- * @param port the port, on which the object will become available. The value
- * 0 means anonymous port.
- * @param csf the client socket factory
- * @param ssf the server socket factory
- * @throws ActivationException if the activation failed
- * @throws RemoteException if the remote call failed.
- */
- protected Activatable(String codebase, MarshalledObject<?> data,
- boolean restart, int port, RMIClientSocketFactory csf,
- RMIServerSocketFactory ssf) throws ActivationException,
- RemoteException
- {
- ActivationDesc descriptor = new ActivationDesc(getClass().getName(),
- codebase, data, restart);
- id = obtainId(descriptor);
- exportObject(this, id, port);
- }
-
- /**
- * Creates the new instance of activatable with the given activation id and is
- * listening at the given port. A subclass of the Activatable class calls this
- * constructor when the object itself is activated via its special
- * "activation" constructor with the two parameters ({@link ActivationID},
- * {@link MarshalledObject}). As a side effect, the object is exported and is
- * available to accept incoming calls.
- *
- * @param anId the activation id
- * @param port the port, on which the activatable will be listening
- * @throws RemoteException if the activation failed.
- */
- protected Activatable(ActivationID anId, int port) throws RemoteException
- {
- id = anId;
- try
- {
- exportObject(this, anId, port);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- RemoteException acex =
- new RemoteException("cannot export Activatable", e);
- throw acex;
- }
- }
-
- /**
- * Creates the new instance of activatable with the given activation id and is
- * listening at the given port, using the specified client and server sockets
- * factories. A subclass of the Activatable class calls this
- * constructor when the object itself is activated via its special
- * "activation" constructor with the two parameters ({@link ActivationID},
- * {@link MarshalledObject}). As a side effect, the object is exported and is
- * available to accept incoming calls.
- *
- * @param anId the activation id
- * @param port the port, on which the activatable will be listening
- * @param csf the client socket factory
- * @param ssf the server socket factory
- *
- * @throws RemoteException if the remote call failed
- */
- protected Activatable(ActivationID anId, int port, RMIClientSocketFactory csf,
- RMIServerSocketFactory ssf) throws RemoteException
- {
- id = anId;
- try
- {
- exportObject(this, anId, port, csf, ssf);
- }
- catch (Exception e)
- {
- RemoteException acex = new RemoteException();
- acex.initCause(e);
- throw acex;
- }
- }
-
- /**
- * Get the objects activation identifier.
- *
- * @return the object activation identifier
- */
- protected ActivationID getID()
- {
- return id;
- }
-
- /**
- * Obtain the activation Id from the activation descriptor by registering
- * within the current group.
- */
- static ActivationID obtainId(ActivationDesc descriptor)
- throws RemoteException, UnknownGroupException, ActivationException
- {
- ActivationGroupID id = descriptor.getGroupID();
- ActivationSystem system;
-
- if (id != null)
- system = id.getSystem();
- else
- system = ActivationGroup.currentGroupID().getSystem();
- return system.registerObject(descriptor);
- }
-
- /**
- * This method registers an activatable object. The object is expected to be
- * on the anonymous port (null client and server socket factories).
- *
- * @param desc the object description.
- * @return the remote stub for the activatable object (the first call on this
- * stub will activate the object).
- * @throws UnknownGroupException if the object group identifier is unknown
- * @throws ActivationException if the activation system is not running
- * @throws RemoteException if the remote call fails
- */
- public static Remote register(ActivationDesc desc)
- throws UnknownGroupException, ActivationException, RemoteException
- {
- ActivationID id = obtainId(desc);
- try
- {
- return toStub(
- id,
- Thread.currentThread().getContextClassLoader().loadClass(
- desc.getClassName()));
- }
- catch (ClassNotFoundException e)
- {
- throw new ActivationException("Class not found: "+desc.getClassName());
- }
- }
-
- /**
- * Inactivates and unexports the object. The subsequent calls will activate
- * the object again. The object is not inactivated if it is currently
- * executing calls.
- *
- * @param id the id of the object being inactivated
- * @return true if the object has been inactivated, false if it has not been
- * inactivated because of the running or pending calls.
- * @throws UnknownObjectException if the object is unknown.
- * @throws ActivationException if the object group is not active
- * @throws RemoteException if the remote call fails
- */
- public static boolean inactive(ActivationID id)
- throws UnknownObjectException, ActivationException, RemoteException
- {
- if (id.group!=null)
- id.group.inactiveObject(id);
- return UnicastRemoteObject.unexportObject(id.activate(false), false);
- }
-
- /**
- * Unregister the object (the object will no longer be activable with that id)
- *
- * @param id the object id
- * @throws UnknownObjectException if the id is unknown
- * @throws ActivationException if the activation system is not running
- * @throws RemoteException if the remote call fails.
- */
- public static void unregister(ActivationID id) throws UnknownObjectException,
- ActivationException, RemoteException
- {
- ActivationGroup.currentGroupId.getSystem().unregisterObject(id);
- UnicastServer.unregisterActivatable(id);
- }
-
- /**
- * Register and export the object that activatable object that is not derived
- * from the Activatable super class. It creates and registers the object
- * activation descriptor. There is no need to call this method if the object
- * extends Activable, as its work is done in the constructor
- * {@link #Activatable(String, MarshalledObject, boolean, int)}.
- *
- * @param obj the object, that is exported, becoming available at the given
- * port.
- * @param location the object code location (codebase).
- * @param data the data, needed to activate the object
- * @param restart the restart mode
- * @param port the port, where the object will be available
- *
- * @return the created object activation ID.
- *
- * @throws ActivationException if the activation group is not active
- * @throws RemoteException if the registration or export fails
- */
- public static ActivationID exportObject(Remote obj, String location,
- MarshalledObject<?> data,
- boolean restart, int port)
- throws ActivationException, RemoteException
- {
- ActivationDesc descriptor = new ActivationDesc(obj.getClass().getName(),
- location, data, restart);
- ActivationID id = obtainId(descriptor);
- Remote stub = exportObject(obj, id, port);
- return id;
- }
-
- /**
- * Register and export the object that activatable object that is not derived
- * from the Activatable super class. It creates and registers the object
- * activation descriptor. There is no need to call this method if the object
- * extends Activable, as its work is done in the constructor
- * {@link #Activatable(String, MarshalledObject, boolean, int, RMIClientSocketFactory, RMIServerSocketFactory)}
- *
- * @param obj the object, that is exported, becoming available at the given
- * port.
- * @param location the object code location (codebase).
- * @param data the data, needed to activate the object
- * @param restart the restart mode
- * @param port the port, where the object will be available
- * @param csf the client socket factory
- * @param ssf the server socket factory
- *
- * @return the created object activation ID.
- *
- * @throws ActivationException if the activation group is not active
- * @throws RemoteException if the registration or export fails
- */
- public static ActivationID exportObject(Remote obj, String location,
- MarshalledObject data,
- boolean restart, int port,
- RMIClientSocketFactory csf,
- RMIServerSocketFactory ssf)
- throws ActivationException, RemoteException
- {
- ActivationDesc descriptor = new ActivationDesc(obj.getClass().getName(),
- location, data, restart);
- ActivationID id = obtainId(descriptor);
- Remote stub = exportObject(obj, id, port, csf, ssf);
- return id;
-
- }
-
- /**
- * During activation, this exportObject method should be invoked explicitly by
- * the activatable object, that does is not derived from the Activatable
- * class. There is no need to call this method if the object extends
- * Activable, as its work is done in the constructor
- * {@link #Activatable(ActivationID, int)}
- *
- * @param obj the object
- * @param id the known activation id
- * @param port the object port
- *
- * @return the remote stub of the activatable object
- *
- * @throws RemoteException if the object export fails
- */
- public static Remote exportObject(Remote obj, ActivationID id, int port)
- throws RemoteException
- {
- Remote stub = export(id, obj, port, null);
- return stub;
- }
-
- /**
- * During activation, this exportObject method should be invoked explicitly by
- * the activatable object, that does is not derived from the Activatable
- * class. There is no need to call this method if the object extends
- * Activable, as its work is done in the constructor
- * {@link #Activatable(ActivationID, int)}
- *
- * @param obj the object
- * @param id the known activation id
- * @param port the object port
- * @param csf the client socket factory
- * @param ssf the server socket factory
- *
- * @return the remote stub of the activatable object
- *
- * @throws RemoteException if the object export fails
- */
- public static Remote exportObject(Remote obj, ActivationID id, int port,
- RMIClientSocketFactory csf,
- RMIServerSocketFactory ssf)
- throws RemoteException
- {
- Remote stub = export(id, obj, port, ssf);
- return stub;
-
- }
-
- /**
- * Make the remote object unavailable for incoming calls. This method also
- * unregisters the object, so it cannot be activated again by incoming call
- * (unless registered).
- *
- * @param obj the object to unexport
- * @param force if true, cancel all pending or running calls to that object
- * (if false, the object with such calls is not unexported and false
- * is returned by this method).
- * @return if the object was successfully unexported, false otherwise
- * @throws NoSuchObjectException if such object is not known
- */
- public static boolean unexportObject(Remote obj, boolean force)
- throws NoSuchObjectException
- {
- Object aref = UnicastServer.getExportedRef(obj);
-
- // Unregister it also (otherwise will be activated during the subsequent
- // call.
- if (aref instanceof ActivatableServerRef)
- {
- ActivatableServerRef aar = (ActivatableServerRef) aref;
- UnicastServer.unregisterActivatable(aar.actId);
- }
- return UnicastRemoteObject.unexportObject(obj, force);
- }
-
- 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, serverSocketFactory);
-
- Remote stub = sref.exportObject(obj);
- // addStub(obj, stub);
- // TODO Need to change the place of the stub repository
- return stub;
- }
-
- /**
- * 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 serverSocketFactory the server socket factory
- */
- private static Remote export(ActivationID id, Remote obj, int port,
- RMIServerSocketFactory serverSocketFactory)
- throws RemoteException
- {
- ActivatableServerRef sref = null;
- sref = new ActivatableServerRef(makeId(id), id, port, serverSocketFactory);
- return sref.exportObject(obj);
- }
-
- /**
- * Make the object ID from the activation ID. The same activation ID always
- * produces the identical object id.
- *
- * @param aid the activation id
- *
- * @return the object id
- */
- private static ObjID makeId(ActivationID aid)
- {
- ObjID id = new ObjID(0);
-
- // The fields of both ObjID and ActivationID must be package private,
- // so we need to use the reflection to access them anyway.
- // Probably other implementations use some very different approach.
-
- try
- {
- Field idUid = ObjID.class.getDeclaredField("space");
- Field aidUid = ActivationID.class.getDeclaredField("uid");
-
- aidUid.setAccessible(true);
- idUid.setAccessible(true);
-
- idUid.set(id, aidUid.get(aid));
- }
- catch (Exception e)
- {
- InternalError ierr = new InternalError("Unable to set UID field");
- ierr.initCause(e);
- throw ierr;
- }
-
- return id;
- }
-
- /**
- * Connect the object to the UnicastServer (export), but not activate it.
- * The object will be activated on the first call.
- */
- static Remote toStub(ActivationID anId, Class stubFor)
- {
- try
- {
- ActivatableServerRef asr =
- new ActivatableServerRef(makeId(anId), anId, 0, null);
- UnicastServer.exportActivatableObject(asr);
- return asr.exportClass(stubFor);
- }
- catch (RemoteException e)
- {
- InternalError ierr = new InternalError(
- "Failed to obtain activatable stub");
- ierr.initCause(e);
- throw ierr;
- }
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivateFailedException.java b/libjava/classpath/java/rmi/activation/ActivateFailedException.java
deleted file mode 100644
index 1c2e10e..0000000
--- a/libjava/classpath/java/rmi/activation/ActivateFailedException.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/* ActivateFailedException.java -- thrown when activation fails
- Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package java.rmi.activation;
-
-import java.rmi.RemoteException;
-
-/**
- * Thrown when activation fails on a remote call to an activatable object.
- *
- * @author unknown
- * @since 1.2
- * @status updated to 1.4
- */
-public class ActivateFailedException extends RemoteException
-{
- /**
- * Compatible with JDK 1.2+.
- */
- private static final long serialVersionUID = 4863550261346652506L;
-
- /**
- * Create an exception with a message.
- *
- * @param s the message
- */
- public ActivateFailedException(String s)
- {
- super(s);
- }
-
- /**
- * Create an exception with a message and a cause.
- *
- * @param s the message
- * @param ex the cause
- */
- public ActivateFailedException(String s, Exception ex)
- {
- super(s, ex);
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationDesc.java b/libjava/classpath/java/rmi/activation/ActivationDesc.java
deleted file mode 100644
index 9970cd6..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationDesc.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/* ActivationDesc.java -- record with info to activate an object
- Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package java.rmi.activation;
-
-import java.io.Serializable;
-import java.rmi.MarshalledObject;
-
-/**
- * Contains the information, necessary to activate the object. This information
- * includes:
- * <ul>
- * <li>the object class name</li>
- * <li>the object group identifier</li>
- * <li>the code location (codebase URL) that can be used to load the class
- * remotely</li>
- * <li>the object restart mode</li>
- * <li>the object specific intialization information</li>
- * </ul>
- *
- * @author Audrius Meskauskas (audriusa@bioinformatics.org) (from stub)
- */
-public final class ActivationDesc
- implements Serializable
-{
- /**
- * Use SVUID for interoperability.
- */
- static final long serialVersionUID = 7455834104417690957L;
-
- /**
- * The group id.
- */
- private ActivationGroupID groupid;
-
- /**
- * The class name.
- */
- private String classname;
-
- /**
- * The code location URL.
- */
- private String location;
-
- /**
- * The object specific intitalization data.
- */
- private MarshalledObject<?> data;
-
- /**
- * The start mode.
- */
- private boolean restart;
-
- /**
- * Create the new activation description, assuming the object group is the
- * {@link ActivationGroup#currentGroupID()}.
- *
- * @param className the object fully qualified class name
- * @param location the code base URL
- * @param data the object initialization data, contained in a marshalled form
- */
- public ActivationDesc(String className, String location, MarshalledObject<?> data)
- throws ActivationException
- {
- this(ActivationGroup.currentGroupID(), className, location, data, false);
- }
-
- /**
- * Create the new activation description, assuming the object group is the
- * {@link ActivationGroup#currentGroupID()}.
- *
- * @param className the object fully qualified class name
- * @param location the code base URL
- * @param data the object initialization data, contained in a marshalled form
- * @param restart specifies reactivation mode after crash. If true, the object
- * is activated when activator is restarted or the activation group
- * is restarted. If false, the object is only activated on demand.
- * This flag does has no effect during the normal operation (the
- * object is normally activated on demand).
- */
- public ActivationDesc(String className, String location,
- MarshalledObject<?> data, boolean restart)
- throws ActivationException
- {
- this(ActivationGroup.currentGroupID(), className, location, data, restart);
- }
-
- /**
- * Create the new activation description. Under crash, the object will only
- * be reactivated on demand.
- *
- * @param groupID the object group id.
- * @param className the object fully qualified class name
- * @param location the code base URL
- * @param data the object initialization data, contained in a marshalled form
- */
- public ActivationDesc(ActivationGroupID groupID, String className,
- String location, MarshalledObject<?> data)
- {
- this(groupID, className, location, data, false);
- }
-
- /**
- * Create the new activation description, providing full information.
- *
- * @param groupID the object group id.
- * @param className the object fully qualified class name
- * @param location the code base URL
- * @param data the object initialization data, contained in a marshalled form
- * @param restart specifies reactivation mode after crash. If true, the object
- * is activated when activator is restarted or the activation group
- * is restarted. If false, the object is only activated on demand.
- * This flag does has no effect during the normal operation (the
- * object is normally activated on demand).
- */
- public ActivationDesc(ActivationGroupID groupID, String className,
- String location, MarshalledObject<?> data, boolean restart)
- {
- this.groupid = groupID;
- this.classname = className;
- this.location = location;
- this.data = data;
- this.restart = restart;
- }
-
- public ActivationGroupID getGroupID()
- {
- return groupid;
- }
-
- /**
- * Get the class name of the object being activated
- *
- * @return the fully qualified class name of the object being activated
- */
- public String getClassName()
- {
- return classname;
- }
-
- /**
- * Get the code location URL ("codebase") of the object being activated.
- *
- * @return the codebase of the object being activated.
- */
- public String getLocation()
- {
- return location;
- }
-
- public MarshalledObject<?> getData()
- {
- return data;
- }
-
- /**
- * Get the object reactivation strategy after crash.
- *
- * @return true ir the object is activated when activator is restarted or the
- * activation group is restarted. False if the object is only
- * activated on demand. This flag does has no effect during the normal
- * operation (the object is normally activated on demand).
- */
- public boolean getRestartMode()
- {
- return restart;
- }
-
- /**
- * Compare this object with another activation description for equality.
- *
- * @return true if all fields have the equal values, false otherwise.
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof ActivationDesc)
- {
- ActivationDesc that = (ActivationDesc) obj;
- return eq(groupid, that.groupid) &&
- eq(classname, that.classname) &&
- eq(location, that.location) &&
- eq(data, that.data)
- && restart == that.restart;
- }
- else
- return false;
- }
-
- /**
- * Get the hash code of this object (overridden to make the returned value
- * consistent with .equals(..).
- */
- public int hashCode()
- {
- return hash(groupid) ^ hash(classname) ^
- hash(location) ^ hash(data);
- }
-
- /**
- * Get the hashcode of x or 0 if x == null.
- */
- static final int hash(Object x)
- {
- return x == null ? 0 : x.hashCode();
- }
-
- /**
- * Compare by .equals if both a and b are not null, compare directly if at
- * least one of them is null.
- */
- static final boolean eq(Object a, Object b)
- {
- if (a == null || b == null)
- return a == b;
- else
- return a.equals(b);
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationException.java b/libjava/classpath/java/rmi/activation/ActivationException.java
deleted file mode 100644
index 418f438..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationException.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/* ActivationException.java -- general Activation exception
- Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package java.rmi.activation;
-
-/**
- * General exception class for <code>java.rmi.activation</code>.
- *
- * @author unknown
- * @since 1.2
- * @status updated to 1.4
- */
-public class ActivationException extends Exception
-{
- /**
- * Compatible with JDK 1.2+.
- */
- private static final long serialVersionUID = -4320118837291406071L;
-
- /**
- * The cause of this exception. This pre-dates the exception chaining
- * of Throwable; and although you can change this field, you are wiser
- * to leave it alone.
- *
- * @serial the exception cause
- */
- public Throwable detail;
-
- /**
- * Create an exception with no message, and cause initialized to null.
- */
- public ActivationException()
- {
- this(null, null);
- }
-
- /**
- * Create an exception with the given message, and cause initialized to null.
- *
- * @param s the message
- */
- public ActivationException(String s)
- {
- this(s, null);
- }
-
- /**
- * Create an exception with the given message and cause.
- *
- * @param s the message
- * @param ex the cause
- */
- public ActivationException(String s, Throwable ex)
- {
- super(s, ex);
- detail = ex;
- }
-
- /**
- * This method returns a message indicating what went wrong, in this
- * format:
- * <code>super.getMessage() + (detail == null ? ""
- * : "; nested exception is:\n\t" + detail)</code>.
- *
- * @return the chained message
- */
- public String getMessage()
- {
- if (detail == this || detail == null)
- return super.getMessage();
- return super.getMessage() + "; nested exception is:\n\t" + detail;
- }
-
- /**
- * Returns the cause of this exception. Note that this may not be the
- * original cause, thanks to the <code>detail</code> field being public
- * and non-final (yuck). However, to avoid violating the contract of
- * Throwable.getCause(), this returns null if <code>detail == this</code>,
- * as no exception can be its own cause.
- *
- * @return the cause
- * @since 1.4
- */
- public Throwable getCause()
- {
- return detail == this ? null : detail;
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationGroup.java b/libjava/classpath/java/rmi/activation/ActivationGroup.java
deleted file mode 100644
index 230c714..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationGroup.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/* ActivationGroup.java -- the RMI activation group.
- Copyright (c) 1996, 1997, 1998, 1999, 2006 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import gnu.java.rmi.activation.DefaultActivationGroup;
-import gnu.java.rmi.activation.DefaultActivationSystem;
-
-import java.lang.reflect.Constructor;
-import java.rmi.MarshalledObject;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.server.UnicastRemoteObject;
-
-/**
- * The entity that receives the request to activate object and activates it.
- * Frequently there is one activation group per virtual machine.
- *
- * @author Audrius Meskauskas (audriusa@Bioinformatics.org) (from stub)
- */
-public abstract class ActivationGroup
- extends UnicastRemoteObject
- implements ActivationInstantiator
-{
-
- /**
- * Use the SVUID for interoperability.
- */
- static final long serialVersionUID = - 7696947875314805420L;
-
- /**
- * The Id of the current group on this VM (null if none).
- */
- static ActivationGroupID currentGroupId = null;
-
- /**
- * The groups identifier.
- */
- final ActivationGroupID groupId;
-
- /**
- * The groups activation monitor.
- */
- ActivationMonitor monitor;
-
- /**
- * The groups incarnation number.
- */
- long incarnation;
-
- /**
- * The groups activation system.
- */
- static ActivationSystem system;
-
- /**
- * Used during the group creation (required constructor).
- */
- static final Class[] cConstructorTypes = new Class[]
- {
- ActivationGroupID.class,
- MarshalledObject.class
- };
-
- /**
- * Create the new activation group with the given group id.
- *
- * @param aGroupId the group Id.
- *
- * @throws RemoteException if the group export fails.
- */
- protected ActivationGroup(ActivationGroupID aGroupId) throws RemoteException
- {
- groupId = aGroupId;
- }
-
- /**
- * The method is called when the object is exported. The group must notify
- * the activation monitor, if this was not already done before.
- *
- * @param id the object activation id
- * @param obj the remote object implementation
- *
- * @throws ActivationException if the group is inactive
- * @throws UnknownObjectException if such object is not known
- * @throws RemoteException if the call to monitor fails
- */
- public abstract void activeObject(ActivationID id, Remote obj)
- throws ActivationException, UnknownObjectException, RemoteException;
-
- /**
- * Notifies the monitor about the object being inactivated.
- *
- * @param id the object being inactivated.
- * @return true always (must be overridden to return other values).
- * @throws ActivationException never
- * @throws UnknownObjectException if the object is not known
- * @throws RemoteException if the remote call to monitor fails
- */
- public boolean inactiveObject(ActivationID id) throws ActivationException,
- UnknownObjectException, RemoteException
- {
- if (monitor != null)
- monitor.inactiveObject(id);
- return true;
- }
-
- /**
- * Create the new instance of the activation group, using the class name and
- * location information, stored in the passed descriptor. The method expects
- * the group class to have the two parameter constructor, the first parameter
- * being the {@link ActivationGroupID} and the second the
- * {@link MarshalledObject}. The group must be first be registered with the
- * ActivationSystem. Once a group is created, the currentGroupID method
- * returns the identifier for this group until the group becomes inactive.
- *
- * @param id the activation group id
- * @param desc the group descriptor, providing the information, necessary to
- * create the group
- * @param incarnation the incarnation number
- * @return the created group instance
- * @throws ActivationException if the activation fails due any reason
- */
- public static ActivationGroup createGroup(ActivationGroupID id,
- ActivationGroupDesc desc,
- long incarnation)
- throws ActivationException
- {
- // If the activation system is not yet set, set it to the system.
- // passed in the group id.
- if (system == null)
- system = id.system;
-
- ActivationGroup group = null;
-
- // TODO at the moment all groups are created on the current jre and the
- // group class must be reachable via thread context class loader.
- Class groupClass;
-
- if (desc.className != null)
- {
- try
- {
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- groupClass = loader.loadClass(desc.className);
- }
- catch (ClassNotFoundException e)
- {
- ActivationException acex = new ActivationException(
- "Cannot load " + desc.className);
- acex.detail = e;
- throw acex;
- }
- }
- else
- groupClass = DefaultActivationGroup.class;
-
- try
- {
- Constructor constructor = groupClass.getConstructor(cConstructorTypes);
- group = (ActivationGroup) constructor.newInstance(
- new Object[] { id, desc.data });
- }
- catch (Exception e)
- {
- ActivationException acex = new ActivationException(
- "Cannot instantiate " + desc.className);
- acex.detail = e;
- throw acex;
- }
-
- currentGroupId = id;
- try
- {
- group.monitor = getSystem().activeGroup(id, group, incarnation);
- return group;
- }
- catch (RemoteException e)
- {
- ActivationException acex = new ActivationException("createGroup");
- acex.detail = e;
- throw acex;
- }
- }
-
- /**
- * Get the id of current activation group.
- *
- * @return the id of the current activation group or null if none exists.
- */
- public static ActivationGroupID currentGroupID()
- {
- try
- {
- if (currentGroupId==null)
- {
- // This will also assing the currentGroupId to the current
- // (default) group of the default system.
- setSystem(DefaultActivationSystem.get());
- }
- }
- catch (ActivationException e)
- {
- InternalError ierr = new InternalError("Unable to activate AS");
- ierr.initCause(e);
- throw ierr;
- }
-
- return currentGroupId;
- }
-
- /**
- * Set the activation system for this virtual machine. The system can only
- * be set if no group is active.
- *
- * @param aSystem the system to set
- *
- * @throws ActivationException if some group is active now.
- */
- public static void setSystem(ActivationSystem aSystem)
- throws ActivationException
- {
- if (currentGroupId!=null)
- throw new ActivationException("Group active");
- else
- {
- try
- {
- // Register the default transient activation system and group.
- system = aSystem;
- ActivationGroupDesc def = new ActivationGroupDesc(
- DefaultActivationGroup.class.getName(),
- "",
- null,
- null,
- null);
- currentGroupId = system.registerGroup(def);
- }
- catch (Exception ex)
- {
- InternalError ierr = new InternalError("Unable to start default AG");
- ierr.initCause(ex);
- throw ierr;
- }
- }
- }
-
- /**
- * Get the current activation system. If the system is not set via
- * {@link #setSystem} method, the default system for this virtual machine is
- * returned. The default system is first searched by name
- * "java.rmi.activation.ActivationSystem" on the activation registry port. The
- * default value of the activation registry port is
- * {@link ActivationSystem#SYSTEM_PORT}, but it can be changed by putting the
- * system property java.rmi.activation.port. Both activation system and
- * activation registry are provided by the RMI daemon tool, RMID, if it is
- * running on the local host. If the RMID is not running, the internal
- * transient activation system will be created and returned. This internal
- * system is highly limited in in capabilities and is not intended to be used
- * anywhere apart automated testing.
- *
- * @return the activation system for this virtual machine
- * @throws ActivationException
- */
- public static ActivationSystem getSystem() throws ActivationException
- {
- if (system == null)
- system = DefaultActivationSystem.get();
- return system;
- }
-
- /**
- * Makes the call back to the groups {@link ActivationMonitor}.
- *
- * @param id the id obj the object being activated
- * @param mObject the marshalled object, contains the activated remote object
- * stub.
- * @throws ActivationException on activation error
- * @throws UnknownObjectException if such object is not registered
- * @throws RemoteException on remote call (to monitor) error
- */
- protected void activeObject(ActivationID id,
- MarshalledObject<? extends Remote> mObject)
- throws ActivationException, UnknownObjectException, RemoteException
- {
- if (monitor!=null)
- monitor.activeObject(id, mObject);
-
- id.group = this;
- }
-
- /**
- * Makes the call back to the groups {@link ActivationMonitor} and sets
- * the current group to null.
- */
- protected void inactiveGroup() throws UnknownGroupException, RemoteException
- {
- if (monitor!=null)
- monitor.inactiveGroup(groupId, incarnation);
-
- if (currentGroupId!=null && currentGroupId.equals(groupId))
- currentGroupId = null;
- }
-
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationGroupDesc.java b/libjava/classpath/java/rmi/activation/ActivationGroupDesc.java
deleted file mode 100644
index a0c88ec..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationGroupDesc.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/* ActivationGroupDesc.java -- the RMI activation group descriptor
- Copyright (c) 1996, 1997, 1998, 1999, 2004, 2006
- Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import gnu.java.rmi.activation.DefaultActivationGroup;
-
-import java.io.Serializable;
-import java.rmi.MarshalledObject;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.TreeSet;
-import java.util.zip.Adler32;
-
-/**
- * Contains information, necessary to create of recreate the activation objects.
- * The group descriptor contains:
- * <ul>
- * <li>The name of the group's class. This class is derived from the
- * {@link ActivationGroup}.</li>
- * <li>The group class code location.</li>
- * <li>The marshalled object that contains the group specific initialization
- * information</li>
- * </ul>
- * The groups are created by the {@link ActivationGroup#createGroup} method that
- * expectes the group class to have the two parameter constructor, the first
- * parameter being the {@link ActivationGroupID} and the second the
- * {@link MarshalledObject}.
- *
- * @author Audrius Meskauskas (audriusa@bioinformatics.org) (from stub)
- */
-public final class ActivationGroupDesc
- implements Serializable
-{
- /**
- * Contains the startup options for the {@link ActivationGroup}
- * implementations. Allows to override system properties and specify other
- * options for the implementation groups.
- *
- * @author Audrius Meskauskas (audriusa@bioinformatics.org) (from stub)
- */
- public static class CommandEnvironment
- implements Serializable
- {
-
- /**
- * Use the SVUID for interoperability.
- */
- static final long serialVersionUID = 6165754737887770191L;
-
- /**
- * The zero size string array used as argv value when null is passed.
- */
- private static final String[] NO_ARGS = new String[0];
-
- /**
- * The path to the java executable (or null for using default jre).
- */
- final String command;
-
- /**
- * The extra parameters (may be empty array but never null).
- */
- final String[] options;
-
- /**
- * Create the new command environment.
- *
- * @param commandPatch the full path (and name) to the java executable of
- * null for using the default executable.
- * @param args extra options that will be used when creating the activation
- * group. Null has the same effect as the empty list.
- */
- public CommandEnvironment(String commandPatch, String[] args)
- {
- command = commandPatch;
- if (args != null)
- options = args;
- else
- options = NO_ARGS;
- }
-
- /**
- * Get the path to the java executable.
- *
- * @return the path to the java executable or null for using the default
- * jre.
- */
- public String getCommandPath()
- {
- return command;
- }
-
- /**
- * Get the additional command options.
- *
- * @return the command options array, may be empty string
- */
- public String[] getCommandOptions()
- {
- return options;
- }
-
- /**
- * Compare for content equality.
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof CommandEnvironment)
- {
- CommandEnvironment that = (CommandEnvironment) obj;
-
- if (command == null || that.command == null)
- {
- // Use direct comparison if null is involved.
- if (command != that.command)
- return false;
- }
- else
- {
- // Use .equals if null is not involved.
- if (! this.command.equals(that.command))
- return false;
- }
-
- return Arrays.equals(options, that.options);
- }
- else
- return false;
- }
-
- /**
- * Get the hash code.
- */
- public int hashCode()
- {
- int h = command == null ? 0 : command.hashCode();
- for (int i = 0; i < options.length; i++)
- h ^= options[i].hashCode();
-
- return h;
- }
- }
-
- /**
- * Use the SVUID for interoperability.
- */
- static final long serialVersionUID = - 4936225423168276595L;
-
- /**
- * The group class name or null for the default group class implementation.
- */
- final String className;
-
- /**
- * The group class download location URL (codebase), ignored by the
- * default implementation.
- */
- final String location;
-
- /**
- * The group initialization data.
- */
- final MarshalledObject<?> data;
-
- /**
- * The path to the group jre and the parameters of this jre, may be
- * null for the default jre.
- */
- final ActivationGroupDesc.CommandEnvironment env;
-
- /**
- * The properties that override the system properties.
- */
- final Properties props;
-
- /**
- * The cached hash code.
- */
- transient long hash;
-
- /**
- * Create the new activation group descriptor that will use the default
- * activation group implementation with the given properties and
- * environment.
- *
- * @param aProperties the properties that override the system properties
- * @param environment the command line (and parameters), indicating, where to
- * find the jre executable and with that parameters to call it. May
- * be null if the default executable should be used. In this case,
- * the activation group with the null name (the system default group)
- * will be created.
- */
- public ActivationGroupDesc(Properties aProperties,
- ActivationGroupDesc.CommandEnvironment environment)
- {
- this(DefaultActivationGroup.class.getName(), null, null, aProperties,
- environment);
- }
-
- /**
- * Create the new activation group descriptor.
- *
- * @param aClassName the name of the group implementation class. The null
- * value indicates the default implementation.
- * @param aLocation the location, from where the group implementation class
- * should be loaded (ignored for the system default implementation).
- * @param aData the group intialization data
- * @param aProperties the properties that will override the system properties
- * of the new group. These properties will be translated into -D
- * options.
- * @param environment the record, containing path to the jre executable and
- * start options for the jre or null for using the default jre and
- * options.
- */
- public ActivationGroupDesc(String aClassName, String aLocation,
- MarshalledObject<?> aData, Properties aProperties,
- ActivationGroupDesc.CommandEnvironment environment)
- {
- className = aClassName;
- location = aLocation;
- data = aData;
- props = aProperties;
- env = environment;
- }
-
- /**
- * Get the activation group class name.
- *
- * @return the activation group class name (null for default implementation)
- */
- public String getClassName()
- {
- return className;
- }
-
- /**
- * Get the location, from where the group class will be loaded
- *
- * @return the location, from where the implementation should be loaded (null
- * for the default implementation)
- */
- public String getLocation()
- {
- return location;
- }
-
- /**
- * Get the group intialization data.
- *
- * @return the group intialization data in the marshalled form.
- */
- public MarshalledObject<?> getData()
- {
- return data;
- }
-
- /**
- * Get the overridded system properties.
- *
- * @return the overridden group system properties.
- */
- public Properties getPropertyOverrides()
- {
- return props;
- }
-
- /**
- * Get the group command environment, containing path to the jre executable
- * and startup options.
- *
- * @return the command environment or null if the default environment should
- * be used.
- */
- public ActivationGroupDesc.CommandEnvironment getCommandEnvironment()
- {
- return env;
- }
-
- /**
- * Compare for the content equality.
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof ActivationGroupDesc)
- {
- ActivationGroupDesc that = (ActivationGroupDesc) obj;
-
- // Ensure the hashcodes are computed.
- if (hash == 0)
- hashCode();
- if (that.hash == 0)
- that.hashCode();
-
- // We compare the hash fields as they are type long rather than int.
- if (hash != that.hash)
- return false;
-
- if (! eq(className, that.className))
- return false;
- if (! eq(data, that.data))
- return false;
- if (! eq(env, that.env))
- return false;
- if (! eq(location, that.location))
- return false;
-
- // Compare the properties.
- if (eq(props, that.props))
- return true;
-
- if (props.size() != that.props.size())
- return false;
-
- Enumeration en = props.propertyNames();
- Object key, value;
-
- while (en.hasMoreElements())
- {
- key = en.nextElement();
- if (! that.props.containsKey(key))
- return false;
- if (! eq(props.get(key), that.props.get(key)))
- return false;
- }
- return true;
- }
- else
- return false;
- }
-
- /**
- * Compare for direct equality if one or both parameters are null, otherwise
- * call .equals.
- */
- static boolean eq(Object a, Object b)
- {
- if (a == null || b == null)
- return a == b;
- else
- return a.equals(b);
- }
-
- /**
- * Return the hashcode.
- */
- public int hashCode()
- {
- if (hash==0)
- {
- // Using Adler32 - the hashcode is cached, will be computed only
- // once and due need to scan properties is the expensive operation
- // anyway. Reliability is more important.
- Adler32 adler = new Adler32();
- if (className!=null)
- adler.update(className.getBytes());
- if (data!=null)
- adler.update(data.hashCode());
- if (env!=null)
- adler.update(env.hashCode());
- if (location!=null)
- adler.update(location.getBytes());
- if (props!=null)
- {
- Enumeration en = props.propertyNames();
-
- // Using the intermediate sorted set to ensure that the
- // properties are sorted.
- TreeSet pr = new TreeSet();
-
- Object key;
- Object value;
- while (en.hasMoreElements())
- {
- key = en.nextElement();
- if (key!=null)
- pr.add(key);
- }
-
- Iterator it = pr.iterator();
- while (it.hasNext())
- {
- key = it.next();
- value = props.get(key);
- adler.update(key.hashCode());
- if (value!=null)
- adler.update(value.hashCode());
- }
- }
- hash = adler.getValue();
- }
- return (int) hash;
- }
-
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationGroupID.java b/libjava/classpath/java/rmi/activation/ActivationGroupID.java
deleted file mode 100644
index 77fa4fb..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationGroupID.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/* ActivationGroupID.java --
- Copyright (c) 1996, 1997, 1998, 1999, 2006 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.io.Serializable;
-import java.rmi.server.UID;
-
-/**
- * This identifier identifies the activation group inside the scope of its
- * activation system. It also contains (and can provide) the reference to the
- * groups activation system.
- *
- * @see ActivationSystem#registerGroup(ActivationGroupDesc)
- */
-public class ActivationGroupID
- implements Serializable
-{
- /**
- * Use SVUID for interoperability.
- */
- static final long serialVersionUID = - 1648432278909740833L;
-
- /**
- * The associated activation system.
- */
- final ActivationSystem system;
-
- /**
- * The object identifier, making the ID unique.
- */
- final UID uid;
-
- /**
- * Create the new activation group id in the scope of the given activation
- * system
- *
- * @param aSystem the activation system
- */
- public ActivationGroupID(ActivationSystem aSystem)
- {
- system = aSystem;
- uid = new UID();
- }
-
- /**
- * Get the associated activation system
- *
- * @return the associated activation system
- */
- public ActivationSystem getSystem()
- {
- return system;
- }
-
- /**
- * Get the hash code of the associated activation system.
- */
- public int hashCode()
- {
- return uid.hashCode();
- }
-
- /**
- * Copmare for equality, returns true if the passed object is also the
- * activation group id and its activation system is the same.
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof ActivationGroupID)
- {
- ActivationGroupID that = (ActivationGroupID) obj;
- return uid.equals(that.uid);
- }
- else
- return false;
- }
-
- /**
- * Get the string representation
- */
- public String toString()
- {
- return uid.toString();
- }
-
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationGroup_Stub.java b/libjava/classpath/java/rmi/activation/ActivationGroup_Stub.java
deleted file mode 100644
index fb55e5f..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationGroup_Stub.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/* ActivationGroup_Stub.java -- Stub class for ActivationGroup impls.
- Copyright (C) 2005 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.lang.reflect.Method;
-import java.rmi.MarshalledObject;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.UnexpectedException;
-import java.rmi.server.RemoteRef;
-import java.rmi.server.RemoteStub;
-
-/**
- * A stub class for {@link ActivationGroup} implementations.
- *
- * @author Roman Kennke (kennke@aicas.com)
- */
-public final class ActivationGroup_Stub extends RemoteStub
- implements ActivationInstantiator, Remote
-{
- private static final long serialVersionUID = 2L;
-
- /**
- * Creates a new instance of ActivationGroup_Stub.
- *
- * @param ref the remote reference
- */
- public ActivationGroup_Stub(RemoteRef ref)
- {
- super(ref);
- }
-
- /**
- * Stub method for <code>ActivationGroup.newInstance()</code>.
- *
- * @param id the activation ID
- * @param desc the activation description
- *
- * @return the return value of the invocation
- *
- * @throws RemoteException if the invocation throws a RemoteException
- * @throws ActivationException if the invocation throws an
- * ActivationException
- */
- public MarshalledObject newInstance(ActivationID id, ActivationDesc desc)
- throws RemoteException, ActivationException
- {
- try
- {
- Method method = ActivationGroup_Stub.class.getDeclaredMethod
- ("newInstance", new Class[]{ ActivationID.class,
- ActivationDesc.class });
- return (MarshalledObject) ref.invoke(this, method,
- new Object[]{id, desc},
- -5274445189091581345L);
- }
- catch (RuntimeException ex)
- {
- throw ex;
- }
- catch (RemoteException ex)
- {
- throw ex;
- }
- catch (ActivationException ex)
- {
- throw ex;
- }
- catch (Exception ex)
- {
- throw new UnexpectedException("Unexpected exception", ex);
- }
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationID.java b/libjava/classpath/java/rmi/activation/ActivationID.java
deleted file mode 100644
index f89a0ed..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationID.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/* ActivationID.java -- the object activation identifier
- Copyright (c) 1996, 1997, 1998, 1999, 2006 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.server.UID;
-
-/**
- * Denotes the object that can be activated over time. The instance of the
- * ActivationID for the given object can be obtained in the following ways:
- * <ul>
- * <li>via {@link Activatable#register(ActivationDesc)}</li>
- * <li>via Activatable constructor</li>
- * <li>via Activatable.exportObject
- * <li>
- * </ul>
- * An instance of the ActivationID has the {@link UID} as its component and
- * hence is globally unique.
- *
- * @author Audrius Meskauskas (audriusa@bioinformatics.org) (from stub)
- */
-public class ActivationID
- implements Serializable
-{
- /**
- * Use SVUID for interoperability.
- */
- static final long serialVersionUID = - 4608673054848209235L;
-
- /**
- * The activator.
- */
- transient Activator activator;
-
- /**
- * The UID, making this instance unique.
- */
- transient UID uid;
-
- /**
- * The activation group that has activated the object with this
- * activation id. The field is filled in inside the group and is used
- * to notify the group about the request to inactivated the object.
- */
- transient ActivationGroup group;
-
- /**
- * Create a new instance with the given activator.
- *
- * @param an_activator tha activator that should activate the object.
- */
- public ActivationID(Activator an_activator)
- {
- activator = an_activator;
- uid = new UID();
- }
-
- /**
- * Activate the object.
- *
- * @param force if true, always contact the group. Otherwise, the cached value
- * may be returned.
- * @return the activated object
- * @throws UnknownObjectException if the object is unknown
- * @throws ActivationException if the activation has failed
- * @throws RemoteException if the remote call has failed
- */
- public Remote activate(boolean force) throws ActivationException,
- UnknownObjectException, RemoteException
- {
- try
- {
- return (Remote) activator.activate(this, force).get();
- }
- catch (IOException e)
- {
- ActivationException acex = new ActivationException("id "+uid, e);
- throw acex;
- }
- catch (ClassNotFoundException e)
- {
- ActivationException acex = new ActivationException("id "+uid, e);
- throw acex;
- }
- }
-
- /**
- * Returns the hash code of the activator.
- */
- public int hashCode()
- {
- return uid == null ? 0 : uid.hashCode();
- }
-
- /**
- * Compares the activators for equality.
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof ActivationID)
- {
- ActivationID that = (ActivationID) obj;
- return eq(uid, that.uid);
- }
- else
- return false;
- }
-
- /**
- * Read the object from the input stream.
- *
- * @param in the stream to read from
- *
- * @throws IOException if thrown by the stream
- * @throws ClassNotFoundException
- */
- private void readObject(ObjectInputStream in) throws IOException,
- ClassNotFoundException
- {
- uid = (UID) in.readObject();
- activator = (Activator) in.readObject();
- }
-
- /**
- * Write the object to the output stream.
- *
- * @param out the stream to write int
- * @throws IOException if thrown by the stream
- * @throws ClassNotFoundException
- */
- private void writeObject(ObjectOutputStream out) throws IOException,
- ClassNotFoundException
- {
- out.writeObject(uid);
- out.writeObject(activator);
- }
-
- /**
- * Compare by .equals if both a and b are not null, compare directly if at
- * least one of them is null.
- */
- static final boolean eq(Object a, Object b)
- {
- if (a == null || b == null)
- return a == b;
- else
- return a.equals(b);
- }
-
- /**
- * Return the content based string representation.
- */
- public String toString()
- {
- return uid.toString();
- }
-
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationInstantiator.java b/libjava/classpath/java/rmi/activation/ActivationInstantiator.java
deleted file mode 100644
index e4ea541..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationInstantiator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/* ActivationInstantiator.java --
- Copyright (c) 1996, 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.rmi.MarshalledObject;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * The implementation of this interface creates (instantiates) the new remote
- * objects in response to the activation request. The instantiator is returned
- * by the {@link ActivationGroup} that calls
- * {@link ActivationSystem#activeGroup(ActivationGroupID, ActivationInstantiator, long)}.
- */
-public interface ActivationInstantiator
- extends Remote
-{
- /**
- * Creates and instantiate a new remote object. This method performs the
- * following tasks:
- * <ul>
- * <li>Finds and loads (if not already loaded) the class of the object being
- * instantiated</li>
- * <li>Creates an instance of the object using its special two parameter
- * activation constructor, the first parameter being the {@link ActivationID}
- * and the second the {@link MarshalledObject}.</li>
- *
- * @param id the id of the object being instantiated
- * @param desc the activation descriptor being instantiated
- * @return the MarshalledObject, containing the stub to the newly created
- * object.
- * @throws ActivationException if the activation fails
- * @throws RemoteException if the remote call fails
- */
- MarshalledObject<? extends Remote> newInstance (ActivationID id, ActivationDesc desc)
- throws ActivationException, RemoteException;
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationMonitor.java b/libjava/classpath/java/rmi/activation/ActivationMonitor.java
deleted file mode 100644
index 7c4c171..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationMonitor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* ActivationMonitor.java -- the RMI activation/inactivation event listener
- Copyright (c) 1996, 1997, 1998, 1999, 2004, 2006
- Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.rmi.MarshalledObject;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * The activation and inactivation event listener. The group obtains this
- * listener via {@link ActivationSystem#activeGroup} and must notify it
- * when the group objects are activated or inactivated and also when the
- * whole group becomes inactive.
- * @author root.
- */
-public interface ActivationMonitor extends Remote
-{
- /**
- * Informs that the object is now active.
- *
- * @param id the activation id of the object that is now active
- * @throws UnknownObjectException is such object is not known in this group
- * @throws RemoteException if remote call fails
- */
- void activeObject (ActivationID id, MarshalledObject<? extends Remote> obj)
- throws UnknownObjectException, RemoteException;
-
- /**
- * Informs that the object is not inactive.
- *
- * @param id the activation id of the object that is now inactive
- * @throws UnknownObjectException is such object is not known in this group
- * @throws RemoteException if remote call fails
- */
- void inactiveObject (ActivationID id)
- throws UnknownObjectException, RemoteException;
-
- /**
- * Informs that the whole group is now inactive because all group objects are
- * inactive. The group will be recreated upon the later request to activate
- * any object, belonging to the group.
- *
- * @param groupId the group id
- * @param incarnation the group incarnation number
- * @throws UnknownGroupException if the group id is not known
- * @throws RemoteException if the remote call fails
- */
- void inactiveGroup (ActivationGroupID groupId, long incarnation)
- throws UnknownGroupException, RemoteException;
-}
diff --git a/libjava/classpath/java/rmi/activation/ActivationSystem.java b/libjava/classpath/java/rmi/activation/ActivationSystem.java
deleted file mode 100644
index 090ce48..0000000
--- a/libjava/classpath/java/rmi/activation/ActivationSystem.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/* ActivationSystem.java -- registers groups and objects to be activated.
- Copyright (c) 1996, 1997, 1998, 1999, 2004, 2006
- Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * <p>
- * The ActivationSystem registers groups and activatable objects to be activated
- * within those groups. The ActivationSystem cooperates with both the Activator,
- * which activates objects registered via the ActivationSystem, and the
- * ActivationMonitor, which obtains information about active and inactive
- * objects and inactive groups.
- * </p>
- * <p>
- * The activation system if frequently a remote object. As a security mean, all
- * methods in this interface throw {@link java.rmi.AccessException} if called
- * from the client that is not reside on the same host as the activation system.
- * </p>
- * @see ActivationGroup#getSystem()
- */
-public interface ActivationSystem
- extends Remote
-{
- /**
- * The port, used by the activation system. The value is equal to 1098 by
- * default, but it can be changed by putting the system property
- * .
- */
- int SYSTEM_PORT = 1098;
-
- /**
- * Registers the activation descriptor and creates (and returns) its
- * activation identifier. The map entry (identifier to descriptor) is stored
- * in the stable map and used when the {@link Activator} receives the request
- * to activate the object.
- *
- * @param desc the activation descriptor to register.
- * @return the created activation identifier that is mapped to the passed
- * descriptor.
- * @throws ActivationException if the registration fails (database update
- * problems, etc).
- * @throws UnknownGroupException the if group, specified in decriptor, is
- * unknown.
- * @throws RemoteException if the remote call fails.
- */
- ActivationID registerObject(ActivationDesc desc) throws ActivationException,
- UnknownGroupException, RemoteException;
-
- /**
- * Removes the stored identifier-description map entry. The object will no
- * longer be activable using the passed activation id
- *
- * @param id the activation id to remove
- * @throws ActivationException if the entry removing operation failed
- * (database update problems, etc)
- * @throws UnknownObjectException if the passed id is not known to the system
- * @throws RemoteException if the remote call fails
- */
- void unregisterObject(ActivationID id) throws ActivationException,
- UnknownObjectException, RemoteException;
-
- /**
- * Register the new activation group. For instance, it can be one activation
- * group per virtual machine.
- *
- * @param groupDesc the activation group descriptor.
- * @return the created activation group ID for the activation group
- * @throws ActivationException if the group registration fails
- * @throws RemoteException if the remote call fails
- */
- ActivationGroupID registerGroup(ActivationGroupDesc groupDesc)
- throws ActivationException, RemoteException;
-
- /**
- * This method is called from the {@link ActivationGroup} to inform the
- * ActivatinSystem that the group is now active and there is the
- * {@link ActivationInstantiator} for that group. This call is made internally
- * from the {@link ActivationGroup#createGroup}.
- *
- * @param id the group id
- * @param group the group activation instantiator
- * @param incarnation the groups incarnatin number.
- * @return the activation monitor that should be informed about the group
- * state changes
- * @throws UnknownGroupException if this group has not been registered
- * @throws ActivationException if this group is already active
- * @throws RemoteException if the remote call fails
- */
- ActivationMonitor activeGroup(ActivationGroupID id,
- ActivationInstantiator group, long incarnation)
- throws UnknownGroupException, ActivationException, RemoteException;
-
- /**
- * Removes the activation group with the given identifier. The group calls
- * back, informing the activator about the shutdown.
- *
- * @param id the group activation id.
- * @throws ActivationException if the database update fails
- * @throws UnknownGroupException if such group is not registered
- * @throws RemoteException if the remote call fails
- */
- void unregisterGroup(ActivationGroupID id) throws ActivationException,
- UnknownGroupException, RemoteException;
-
- /**
- * Shutdown the activation system and all associated activation groups
- *
- * @throws RemoteException if the remote call fails
- */
- void shutdown() throws RemoteException;
-
- /**
- * Replace the activation descriptor for the object with the given activation
- * id.
- *
- * @param id the activation id
- * @param desc the new activation descriptor
- * @return the previous activation descriptor for that object.
- * @throws ActivationException if the database update fails
- * @throws UnknownObjectException if the object with such id is not known
- * @throws UnknownGroupException if the activation group (in desc) is not
- * known.
- * @throws RemoteException if the remote call fails
- */
- ActivationDesc setActivationDesc(ActivationID id, ActivationDesc desc)
- throws ActivationException, UnknownObjectException,
- UnknownGroupException, RemoteException;
-
- /**
- * Replaces the group descriptor for the group with the given group activation
- * id.
- *
- * @param groupId the group id
- * @param groupDesc the new group descriptor
- * @return the previous group descriptor
- * @throws ActivationException if the database update fails
- * @throws UnknownGroupException if such group is not known
- * @throws RemoteException if the remote call fails
- */
- ActivationGroupDesc setActivationGroupDesc(ActivationGroupID groupId,
- ActivationGroupDesc groupDesc)
- throws ActivationException, UnknownGroupException, RemoteException;
-
- /**
- * Get the activation descriptor for the object with the given activation id.
- *
- * @param id the object activation id
- * @return the activation descriptor for that object
- * @throws ActivationException if the database access fails
- * @throws UnknownObjectException if this object is not known
- * @throws RemoteException if the remote call fails
- */
- ActivationDesc getActivationDesc(ActivationID id) throws ActivationException,
- UnknownObjectException, RemoteException;
-
- /**
- * Get the group descriptor for the group with the given id.
- *
- * @param groupId the group id
- * @return the group descriptor
- * @throws ActivationException if the database access fails
- * @throws UnknownGroupException if the group with such id is not known
- * @throws RemoteException if the remote call fails
- */
- ActivationGroupDesc getActivationGroupDesc(ActivationGroupID groupId)
- throws ActivationException, UnknownGroupException, RemoteException;
-}
diff --git a/libjava/classpath/java/rmi/activation/Activator.java b/libjava/classpath/java/rmi/activation/Activator.java
deleted file mode 100644
index fc66b2b..0000000
--- a/libjava/classpath/java/rmi/activation/Activator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Activator.java --
- Copyright (c) 1996, 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package java.rmi.activation;
-
-import java.rmi.MarshalledObject;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * Activates remote object, providing the live reference to the activable remote
- * object. Usually there is only one activator per host.
- *
- * @see ActivationSystem
- * @see ActivationMonitor
- */
-public interface Activator
- extends Remote
-{
- /**
- * Activate the object, associated with the given activation identifier. The
- * activator looks for the {@link ActivationDesc}riptor for the passed
- * identifier, determines the object activation group and initiates object
- * recreation either via {@link ActivationInstantiator} or via
- * {@link Class#newInstance()}.
- *
- * @param id the identifier of the object to activate.
- * @param force if true, the activator always contacts the group to obtain the
- * reference. If false, it may return the cached value.
- * @return the activated remote object (its stub).
- * @throws UnknownObjectException if the object with this id is unknown
- * @throws ActivationException if the activation has failed due other reason
- * @throws RemoteException if the remote call has failed.
- */
- MarshalledObject<? extends Remote> activate (ActivationID id, boolean force)
- throws ActivationException, UnknownObjectException, RemoteException;
-}
diff --git a/libjava/classpath/java/rmi/activation/UnknownGroupException.java b/libjava/classpath/java/rmi/activation/UnknownGroupException.java
deleted file mode 100644
index 3c67aec..0000000
--- a/libjava/classpath/java/rmi/activation/UnknownGroupException.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/* UnknownGroupException.java -- thrown on an invalid ActivationGroupID
- Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package java.rmi.activation;
-
-/**
- * Thrown when an <code>ActivationGroupID</code> parameter is invalid or
- * unknown.
- *
- * @author unknown
- * @see Activatable
- * @see ActivationGroup
- * @see ActivationID
- * @see ActivationMonitor
- * @see ActivationSystem
- * @since 1.2
- * @status updated to 1.4
- */
-public class UnknownGroupException extends ActivationException
-{
- /**
- * Compatible with JDK 1.2+.
- */
- private static final long serialVersionUID = 7056094974750002460L;
-
- /**
- * Create an exception with a message.
- *
- * @param s the message
- */
- public UnknownGroupException(String s)
- {
- super(s);
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/UnknownObjectException.java b/libjava/classpath/java/rmi/activation/UnknownObjectException.java
deleted file mode 100644
index 8dbeb0e..0000000
--- a/libjava/classpath/java/rmi/activation/UnknownObjectException.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/* UnknownObjectException.java -- thrown on an invalid ActivationID
- Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package java.rmi.activation;
-
-/**
- * Thrown when an <code>ActivationID</code> parameter is invalid or unknown.
- *
- * @author unknown
- * @see Activatable
- * @see ActivationGroup
- * @see ActivationID
- * @see ActivationMonitor
- * @see ActivationSystem
- * @see Activator
- * @since 1.2
- * @status updated to 1.4
- */
-public class UnknownObjectException extends ActivationException
-{
- /**
- * Compatible with JDK 1.2+.
- */
- private static final long serialVersionUID = 3425547551622251430L;
-
- /**
- * Create an exception with an error message.
- *
- * @param s the message
- */
- public UnknownObjectException(String s)
- {
- super(s);
- }
-}
diff --git a/libjava/classpath/java/rmi/activation/package.html b/libjava/classpath/java/rmi/activation/package.html
deleted file mode 100644
index 9df518f..0000000
--- a/libjava/classpath/java/rmi/activation/package.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<!-- package.html - describes classes in java.rmi.activation package.
- Copyright (C) 2002, 2006 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. -->
-
-<html>
-<head><title>GNU Classpath - java.rmi.activation</title></head>
-
-<body>
-In the previous Classpath releases, an instance of a UnicastRemoteObject
-could be accessed from a server that:
-<ul>
-<li>has created an instance of that object<li>
-<li>has been running <i>all<i> the time</li>
-</ul>
-<p>The the activation system allows to activate and execute the object
-implementation on demand rather than running all time. If the activation
-system is persistent, the server can be terminated and then restarted.
-The clients, still holding remote references to the server side
-activatable objects, will activate those objects again. The server side
-objects will be reinstantiated (activated) during the first call of any
-remote method of such object.
-</p><p>
-The RMI client code for activatable objects is no different than the code for
-accessing non-activatable remote objects. Activation is a server-side feature.
-</p><p>
-In order for an object to be activated, the "activatable" object class
-(independently if it extends the {@link Activatable} class or not) defines a
-special public constructor that takes two arguments, its activation identifier
-({@link ActivationID}) and its activation data ({@link java.rmi.MarshalledObject}),
-supplied in the activation descriptor used during registration. When an
-activation group activates a remote object, it constructs the object via
-this special constructor. The remote object implementation may use the
-activation data to initialize itself in a needed manner. The remote object may
-also retain its activation identifier, so that it can inform the activation
-group when it becomes inactive (via a call to the Activatable.inactive method).
-</p>
-@author Audrius Meskauskas (audriusa@bioinformatics.org) (from empty)
-</body>
-</html>