[Aglets-commits] aglets/src/com/ibm/aglet MessageManager.java, 1.2, 1.3 Aglet.java, 1.3, 1.4 Future
Status: Beta
Brought to you by:
cat4hire
Update of /cvsroot/aglets/aglets/src/com/ibm/aglet In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv10380/src/com/ibm/aglet Modified Files: MessageManager.java Aglet.java FutureReply.java NotHandledException.java AgletID.java Ticket.java AgletException.java RequestRefusedException.java AgletProxy.java AgletStub.java InvalidAgletException.java QoC.java ReplySet.java AgletInfo.java AgletContext.java ServerNotFoundException.java Removed Files: Message.java MessageException.java Log Message: Integration of the GUI. Index: MessageManager.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/MessageManager.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- MessageManager.java 25 Jul 2007 23:33:04 -0000 1.2 +++ MessageManager.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -97,9 +97,9 @@ /** * Exits the current monitor. * @see Aglet#exitMonitor - * @see #waitMessage() - * @see #notifyMessage() - * @see #notifyAllMessages() + * @see waitMessage + * @see notifyMessage + * @see notifyAllMessages */ public void exitMonitor(); /** @@ -107,8 +107,8 @@ * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. * @see Aglet#notifyAllMessages - * @see #waitMessage() - * @see #notifyMessage() + * @see waitMessage + * @see notifyMessage */ public void notifyAllMessages(); /** @@ -116,8 +116,8 @@ * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. * @see Aglet#notifyMessage - * @see #waitMessage() - * @see #notifyAllMessages() + * @see waitMessage + * @see notifyAllMessages */ public void notifyMessage(); /** @@ -131,8 +131,8 @@ * Waits until it is notified. * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. - * @see #notifyMessage() - * @see #notifyAllMessages() + * @see notifyMessage + * @see notifyAllMessages */ public void waitMessage(); /** @@ -141,8 +141,21 @@ * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. * @see Aglet#waitMessage - * @see #notifyMessage() - * @see #notifyAllMessages() + * @see notifyMessage + * @see notifyAllMessages */ public void waitMessage(long timeout); + + /** + * Suspends the message manager. + * + */ + public void sleep(); + + /** + * Wakes up the message manager. + * + */ + public void wakeUp(); + } Index: AgletContext.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/AgletContext.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- AgletContext.java 25 Jul 2007 23:33:04 -0000 1.2 +++ AgletContext.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -23,6 +23,7 @@ * IBM WILL NOT BE LIABLE FOR ANY THIRD PARTY CLAIMS AGAINST YOU. */ +import com.ibm.aglet.message.Message; import com.ibm.aglet.system.ContextEvent; import com.ibm.aglet.system.ContextListener; import com.ibm.aglet.util.ImageData; @@ -121,11 +122,11 @@ /** * Gets a proxy for an aglet in a remote context. The remote context is * identified by its URL, and the aglet is indicated by its identifier. - * This method has beed deprecated, probably in favor of using MAF. * * @param contextAddress the address specifing a remote context. * @param id the identity of the aglet. * @return the proxy. + * @see getName * @deprecated */ abstract public AgletProxy getAgletProxy(URL contextAddress, AgletID id); @@ -182,7 +183,7 @@ abstract public Object getProperty(String key, Object def); /** * Sends a multicast message to the subscribers in the context. - * @param msg the {@link Message} to send + * @param message to send * @return ReplySet containing FutureReplies */ abstract public ReplySet multicastMessage(Message msg); @@ -213,7 +214,7 @@ /** * Retracts the aglet specified by its url and id * @param url the location of the aglet to be retracted. - * @param aid the {@link AgletID} of the aglet to be retracted + * @param id the aglet identity of the aglet to be retracted. * @return the aglet proxy for the retracted aglet. * @exception AgletException when the method failed to retract the aglet. * @exception UnknownHostException if the specified HOST is not found. @@ -230,6 +231,7 @@ * Sets the context property indicated by the key and value. * @param key the name of the context property. * @param value the value to be stored. + * @return the value of the specified key. */ abstract public void setProperty(String key, Object value); /** @@ -241,8 +243,7 @@ * Shutdown the context. This is ignored if the context is already stopped. * @exception SecurityException if the current execution context is not * allowd to shutdown - * @see #start() - * @see #start(boolean) + * @see start */ abstract public void shutdown(); /** @@ -251,8 +252,7 @@ * are killed. This is ignored if the context is already stopped. * @exception SecurityException if the current execution context is not * allowd to shutdown - * @see #start() - * @see #start(boolean) + * @see start */ abstract public void shutdown(Message msg); /** Index: ReplySet.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/ReplySet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ReplySet.java 19 Jan 2002 21:57:19 -0000 1.2 +++ ReplySet.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -25,6 +25,8 @@ import java.util.Vector; +import com.ibm.aglet.message.Message; + /** * ReplySet is a container of the FutureReply objects by which the * each of FutureReply object can be retrieved as its reply become available. Index: QoC.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/QoC.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- QoC.java 25 Jul 2007 23:33:04 -0000 1.2 +++ QoC.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -154,7 +154,7 @@ } /** * Gets the due-date to connect via this channel. - * @return the due-date for connecting via this channel + * @param due-date to connect via this channel */ public Date getDueDate() { return new Date(_timeout); @@ -193,7 +193,7 @@ /** * Sets the due-date to connect via this channel. * When null is given, there is no due-date and infinitely try to connect. - * @param date {@link Date} containing the due-date for time-out + * @param dueDate due-date for time-out */ public void setDueDate(Date date) { _timeout = date.getTime(); Index: AgletStub.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/AgletStub.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- AgletStub.java 25 Jul 2007 23:33:04 -0000 1.2 +++ AgletStub.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -76,7 +76,7 @@ abstract protected AgletInfo getAgletInfo(); /** * Gets the aglet's message manager object. - * @see MessageManager + * @see aglet.MessageManager * @return the method manager * @exception InvalidAgletException if the aglet is not valid. */ Index: FutureReply.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/FutureReply.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- FutureReply.java 28 Jul 2001 06:33:51 -0000 1.1 +++ FutureReply.java 27 Jul 2009 10:31:41 -0000 1.2 @@ -1,5 +1,8 @@ package com.ibm.aglet; +import com.ibm.aglet.message.Message; +import com.ibm.aglet.message.MessageException; + /* * @(#)FutureReply.java * Index: AgletInfo.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/AgletInfo.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- AgletInfo.java 25 Jul 2007 23:33:04 -0000 1.6 +++ AgletInfo.java 27 Jul 2009 10:31:41 -0000 1.7 @@ -37,7 +37,7 @@ final public class AgletInfo implements java.io.Serializable, Cloneable { static final long serialVersionUID = 5077220171230015552L; - private static AgletsLogger logger = new AgletsLogger(AgletInfo.class.getName()); + static LogCategory logCategory = LogInitializer.getCategory("com.ibm.aglet.AgletInfo"); // static attributes private AgletID aid; @@ -58,6 +58,7 @@ * this API. * * @param aid the aglet identifier. + * @param address the address where the aglet currently resides. * @param classname the classname of the aglet. * @param codebase the codebase of the aglet classes. * @param origin the address where the aglet was instantiated. @@ -197,7 +198,7 @@ + Aglet.MAJOR_VERSION); } if (api_minor_version != Aglet.MINOR_VERSION) { - logger.error("API minor version mismatch."); + logCategory.error("API minor version mismatch."); } } /** Index: Ticket.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/Ticket.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Ticket.java 25 Jul 2007 23:33:04 -0000 1.2 +++ Ticket.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -111,7 +111,7 @@ * The quality of communication for the trip is null. * The scheme name is default("atp"). * The port number is default. - * @param destination a {@link String} containing the destination host of the trip + * @param host destination host of the trip * @param qoc quality of communication for the trip * @exception MalformedURLException * @see QoC --- MessageException.java DELETED --- --- Message.java DELETED --- Index: AgletProxy.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/AgletProxy.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- AgletProxy.java 25 Jul 2007 23:33:04 -0000 1.2 +++ AgletProxy.java 27 Jul 2009 10:31:41 -0000 1.3 @@ -30,6 +30,9 @@ import java.util.Date; import java.util.Enumeration; +import com.ibm.aglet.message.Message; +import com.ibm.aglet.message.MessageException; + /** * AgletProxy interface is a placeholder for aglets. The purpose of this * interface is to provide a mechanism to control and limit direct access to @@ -99,7 +102,7 @@ /** * Dispatches the aglet to the location specified by the ticket * as the argument. - * @param ticket the {@link Ticket} identifying the destination context + * @param address the address of the destination context. * @return the AgletProxy of the dispatched (remote) aglet. * @exception ServerNotFoundException if the server * @exception UnknownHostException if the host given in the URL doesn't @@ -150,8 +153,8 @@ /** * Gets the current address of the target aglet. * - * @return the address - * @exception InvalidAgletException if the aglet is not valid. + * @reutrn the address + * @return InvalidAgletException if the aglt is not valid. */ abstract public String getAddress() throws InvalidAgletException; /** Index: Aglet.java =================================================================== RCS file: /cvsroot/aglets/aglets/src/com/ibm/aglet/Aglet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Aglet.java 25 Jul 2007 23:33:04 -0000 1.3 +++ Aglet.java 27 Jul 2009 10:31:41 -0000 1.4 @@ -26,6 +26,7 @@ import java.security.PermissionCollection; import com.ibm.aglet.event.*; +import com.ibm.aglet.message.Message; import java.net.URL; import java.io.IOException; @@ -141,7 +142,7 @@ * Deactivates the aglet. The aglet will temporarily be stopped and * removed from its current context. It will return to the context and * resume execution after the specified period has elapsed. - * @param duration number of milliseconds to stay deactivated + * @param millisecounds duration of the aglet deactivating. * If this is 0, it will be activeted at the next startup time. * @exception NotSerializableException if the entire aglet is not * serializable. @@ -226,10 +227,10 @@ * Exits the current monitor. * @exception IllegalMonitorStateException if the current thread is not the * owner of the monitor. - * @see #waitMessage() - * @see #waitMessage(long) - * @see #notifyMessage() - * @see #notifyAllMessages() + * @see Aglet#exitMonitor + * @see waitMessage + * @see notifyMessage + * @see notifyAllMessages */ public void exitMonitor() { getMessageManager().exitMonitor(); @@ -243,14 +244,16 @@ } /** * Gets the id of this aglet. - * @return the {@link AgletID} object of this aglet + * @return the <tt>AgletID<tt> object of this aglet + * @see aglet.AgletID */ public final AgletID getAgletID() { return getAgletInfo().getAgletID(); } /** * Gets the info object of this aglet - * @return the {@link AgletInfo} object of this aglet + * @return the <tt>aglet.AgletInfo<tt> object of this aglet + * @see aglet.AgletID */ public final AgletInfo getAgletInfo() { return _stub.getAgletInfo(); @@ -263,7 +266,8 @@ } /** * Gets the code base URL of this aglet - * @return the {@link java.net.URL} object of this aglet + * @return the <tt>java.net.URL<tt> object of this aglet + * @see aglet.AgletID */ public final URL getCodeBase() { return getAgletInfo().getCodeBase(); @@ -312,9 +316,9 @@ } /** * Handles the message form outside. - * @param message the {@link Message} sent to the aglet + * @param msg the message sent to the aglet * @return true if the message was handled. Returns false if the message - * was not handled. If false is returned, the <tt>NotHandledException</tt> exception + * was not handled. If false is returned, the <tt>MessageNotHandled</tt> exception * is thrown in the <tt>FutureReply.getReply</tt> and <tt>AgletProxy.sendMessage</tt> * methods. * @see FutureReply#getReply @@ -328,9 +332,9 @@ * Notifies all of waiting threads. * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. - * @see #notifyMessage() - * @see #waitMessage() - * @see #waitMessage(long) + * @see Aglet#notifyAllMessages + * @see waitMessage + * @see notifyMessage */ public void notifyAllMessages() { getMessageManager().notifyAllMessages(); @@ -339,9 +343,9 @@ * Notifies a single waiting thread. * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. - * @see #notifyAllMessages() - * @see #waitMessage() - * @see #waitMessage(long) + * @see Aglet#notifyMessage + * @see waitMessage + * @see notifyAllMessages */ public void notifyMessage() { getMessageManager().notifyMessage(); @@ -488,7 +492,7 @@ /** * Sets the proxy for the aglet. This cannot be set twice. * Called by the system. - * @param stub the {@link AgletStub} to set + * @param proxy the proxy to set */ public synchronized final void setStub(AgletStub stub) { if (_stub != null) { @@ -500,7 +504,7 @@ /** * Sets the text of this Aglet. A way for the aglet to display * messages on the viewer window. - * @param text a {@link String} containing the message + * @param message the message. */ public final void setText(String text) { _stub.setText(text); @@ -603,9 +607,9 @@ * Waits until it is notified. * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. - * @see #notifyMessage() - * @see #notifyAllMessages() - * @see #waitMessage(long) + * @see MessageManager#waitMessage + * @see notifyMessage + * @see notifyAllMessages */ public void waitMessage() { getMessageManager().waitMessage(); @@ -615,11 +619,40 @@ * @param timeout the maximum value to wait in milliseconds * @exception IllegalMonitorStateException If the current thread * is not the owner of the monitor. - * @see #notifyMessage() - * @see #notifyAllMessages() - * @see #waitMessage() + * @see MessageManager#waitMessage + * @see notifyMessage + * @see notifyAllMessages */ public void waitMessage(long timeout) { getMessageManager().waitMessage(timeout); } + + + /** + * Suspends the agent execution for the specified amount of time. + * @param timeout the number of millisecs. the agent must be suspended. + */ + public final void sleep(long timeout){ + long startTime = System.currentTimeMillis(); + long countDown = 0; + + // suspend the message manager + MessageManager manager = this.getMessageManager(); + manager.sleep(); + + countDown = timeout; + do{ + try{ + Thread.currentThread().sleep(countDown); + }catch(InterruptedException e){ + System.err.println("Sleeping interrupted!"); + e.printStackTrace(); + } + }while( (countDown = System.currentTimeMillis() - startTime) < timeout ); + + // wake up the manager + manager.wakeUp(); + + + } } |