| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--org.safs.rmi.engine.RemoteRoot
                          |
                          +--org.safs.rmi.engine.AgentImpl
                                |
                                +--org.safs.abbot.JVMAgent
This is a concrete extension of a SAFS AgentImpl for Abbot This class is inserted into each JVM by our Bootstrap AgentClassLoader and subsequently communicates with a SAFS localhost RMI server for automated testing.
To insert this class via the AgentClassLoader the following minimum settings must appear in the safsjvmagent.properties file:
safsjvmagent.properties:
AgentImpl, 
ServerImpl, Serialized Form| Inner classes inherited from class org.safs.rmi.engine.AgentImpl | 
AgentImpl.ServerMonitor, AgentImpl.STAFMonitor | 
| Inner classes inherited from class org.safs.rmi.engine.RemoteRoot | 
RemoteRoot.ShutdownHook | 
| Field Summary | |
static java.lang.String | 
DEFAULT_ABBOT_AGENT
'SAFSAbbotJVMAgent': Unique Agent remoteType.  | 
| Fields inherited from class org.safs.rmi.engine.AgentImpl | 
DEFAULT_RMI_AGENT, DEFAULT_RMI_SERVER, monitor, objID, server, serverName, shutdown, stafHelper, stafmonitor, stafshutdown | 
| Fields inherited from class org.safs.rmi.engine.RemoteRoot | 
_debug, remoteType | 
| Fields inherited from class java.rmi.server.RemoteObject | 
ref | 
| Constructor Summary | |
JVMAgent()
Constructor for JVMAgent.  | 
|
| Method Summary | |
 java.lang.String | 
getCaption(java.lang.Object object)
Retrieve the Caption of the object if one exits.  | 
 int | 
getChildCount(java.lang.Object parent)
Default implementation does nothing at this time.  | 
 java.lang.Object[] | 
getChildren(java.lang.Object parent)
Default implementation does nothing at this time.  | 
 java.lang.String | 
getClassName(java.lang.Object object)
Return the class name of the provided object represented as an Integer hashcode previously sent over to the Server object.  | 
protected  java.awt.Component | 
getComponent(java.lang.Integer hashcode)
Used internally to find the Component matching the stored Integer hashcode.  | 
 java.lang.String | 
getID(java.lang.Object object)
Retrieve the ID of the object if the object has an ID.  | 
 java.lang.String | 
getName(java.lang.Object object)
Retrieve the name of the object if the object is named.  | 
 java.lang.String | 
getProperty(java.lang.Object object,
            java.lang.String property)
Retrieve the property value of the object if the object has the property.  | 
 java.lang.String[] | 
getPropertyNames(java.lang.Object object)
Retrieve the list of available properties for the object.  | 
 java.lang.Object | 
getSubItemAtIndex(java.lang.Object object,
                  int index)
Default no-op simply returns null.  | 
 java.lang.String[] | 
getSuperClassNames(java.lang.Object object)
Return an Array of the complete superclass hierarchy of the provided object represented as an Integer hashcode previously sent over to the Server object.  | 
 java.lang.String | 
getText(java.lang.Object object)
Retrieve the displayed text value of the object if the object has a text value.  | 
 int | 
getTopLevelCount()
Returns the number of Root Windows known to the Abbot WindowTracker or 0 if there are no known Root Windows.  | 
 java.lang.Object[] | 
getTopLevelWindows()
Return array of Integer hashcodes representing keys to stored ComponentItems.  | 
 boolean | 
isShowing(java.lang.Object object)
Return true if the specified object is showing/visible.  | 
 boolean | 
isValid(java.lang.Object object)
Return true if the object is still valid/finadable in the JVM.  | 
 void | 
process(java.lang.Object object,
        TestRecordData testRecordData)
An Agent may throw various types of Agent-specific RuntimeExceptions depending upon failure modes.  | 
 void | 
setActiveWindow(java.lang.Object object)
Return true if the object is still valid/finadable in the JVM.  | 
| Methods inherited from class org.safs.rmi.engine.AgentImpl | 
finalize, getAgentID, getAgentName, getLevel, getMatchingPathObject, getStringData, initialize, isMatchingPath, ping, runCommand, shutdown | 
| Methods inherited from class org.safs.rmi.engine.RemoteRoot | 
log, rebindLocalRMIRegistry | 
| Methods inherited from class java.rmi.server.UnicastRemoteObject | 
clone, exportObject, exportObject, exportObject, unexportObject | 
| Methods inherited from class java.rmi.server.RemoteServer | 
getClientHost, getLog, setLog | 
| Methods inherited from class java.rmi.server.RemoteObject | 
equals, getRef, hashCode, toString, toStub | 
| Methods inherited from class java.lang.Object | 
getClass, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
public static final java.lang.String DEFAULT_ABBOT_AGENT
org.safs.STAFHelper#isToolAvailable()| Constructor Detail | 
public JVMAgent()
         throws java.rmi.RemoteException
java.rmi.RemoteException -  | Method Detail | 
public int getTopLevelCount()
                     throws java.rmi.RemoteException,
                            java.lang.Exception
getTopLevelCount in class AgentImplAgent.getTopLevelCount()
public java.lang.Object[] getTopLevelWindows()
                                      throws java.rmi.RemoteException,
                                             java.lang.Exception
getTopLevelWindows in class AgentImplAgent.getTopLevelWindows()
public int getChildCount(java.lang.Object parent)
                  throws java.rmi.RemoteException,
                         java.lang.Exception
AgentImplgetChildCount in class AgentImplAgent.getChildCount(Object)
public java.lang.Object[] getChildren(java.lang.Object parent)
                               throws java.rmi.RemoteException,
                                      java.lang.Exception
AgentImplgetChildren in class AgentImplAgent.getChildren(Object)protected java.awt.Component getComponent(java.lang.Integer hashcode)
public java.lang.String getClassName(java.lang.Object object)
                              throws java.rmi.RemoteException,
                                     java.lang.Exception
getClassName in class AgentImplAgent.getClassName(Object)
public java.lang.String[] getSuperClassNames(java.lang.Object object)
                                      throws java.rmi.RemoteException,
                                             java.lang.Exception
getSuperClassNames in class AgentImplAgent.getSuperClassNames(Object)
public java.lang.String[] getPropertyNames(java.lang.Object object)
                                    throws java.rmi.RemoteException,
                                           java.lang.Exception
getPropertyNames in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.
public java.lang.String getProperty(java.lang.Object object,
                                    java.lang.String property)
                             throws java.rmi.RemoteException,
                                    java.lang.NoSuchFieldException,
                                    java.lang.Exception
getProperty in class AgentImplobject - -- An object from getTopLevelWindows or from a previous call to getChildren.property - -- the case-sensitive name of the property to seek.
public java.lang.String getCaption(java.lang.Object object)
                            throws java.rmi.RemoteException,
                                   java.lang.NoSuchFieldException,
                                   java.lang.Exception
getCaption in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.java.lang.NoSuchFieldException - if the object does not provide a caption.
public java.lang.String getName(java.lang.Object object)
                         throws java.rmi.RemoteException,
                                java.lang.NoSuchFieldException,
                                java.lang.Exception
getName in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.java.lang.NoSuchFieldException - if the object does not provide a name.
public java.lang.String getID(java.lang.Object object)
                       throws java.rmi.RemoteException,
                              java.lang.NoSuchFieldException,
                              java.lang.Exception
getID in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.java.lang.NoSuchFieldException - if the object does not provide an ID.
public java.lang.String getText(java.lang.Object object)
                         throws java.rmi.RemoteException,
                                java.lang.Exception
getText in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.
public boolean isShowing(java.lang.Object object)
                  throws java.rmi.RemoteException,
                         java.lang.Exception
isShowing in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.
public boolean isValid(java.lang.Object object)
                throws java.rmi.RemoteException,
                       java.lang.Exception
isValid in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.
public void setActiveWindow(java.lang.Object object)
                     throws java.rmi.RemoteException,
                            java.lang.Exception
setActiveWindow in class AgentImplobject - An object from getTopLevelWindows or from a previous call to getChildren.
public void process(java.lang.Object object,
                    TestRecordData testRecordData)
             throws java.rmi.RemoteException,
                    java.lang.Exception
process in class AgentImplSAFSObjectNotFoundRuntimeException - if the specified Object is not found to exist in the JVM.Agent.process(Object,TestRecordData)
public java.lang.Object getSubItemAtIndex(java.lang.Object object,
                                          int index)
                                   throws java.rmi.RemoteException,
                                          java.lang.Exception
AgentImplgetSubItemAtIndex in class AgentImplobject - reference (Integer) from which to locate the subitem.index - of the subitem to retrieve.java.lang.IndexOutOfBoundsException - if index is invalidSAFSObjectNotFoundException - if subitem at index cannot be retrieved or 
 if the specified object itself cannot be found.SAFSSubItemsAgentUnsupportedException - as necessay.SubItemsAgent.getSubItemAtIndex(Object,int)
  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||