org.enhydra.shark.toolagent
Class AbstractToolAgent

java.lang.Object
  extended by org.enhydra.shark.toolagent.AbstractToolAgent
All Implemented Interfaces:
ToolAgent
Direct Known Subclasses:
BshToolAgent, DefaultToolAgent, DigestPasswordTool, ExecuteSqlTool, JavaClassToolAgent, JavaScriptToolAgent, MailToolAgent, RuntimeApplicationToolAgent, SchedulerToolAgent, SOAPToolAgent, StorageToolAgent, XSLTToolAgent

public abstract class AbstractToolAgent
extends java.lang.Object
implements ToolAgent

Base class for all tool agents we implement. If one wants to extend this class and create tool agent, he should override invokeApplication method.

Author:
Sasa Bojanic

Field Summary
static java.lang.String APP_MODE_EXT_ATTR_NAME
           
static java.lang.String APP_NAME_EXT_ATTR_NAME
           
protected  WMEntity appInfo
           
protected  java.lang.Integer appMode
           
protected  java.lang.String appName
           
protected  java.lang.String assId
           
static java.lang.String COMMA_SEPARATOR_STR
           
protected  CallbackUtilities cus
           
protected static org.enhydra.shark.utilities.SizeLimitedToolAgentMap extAttributes
           
protected  long handle
           
protected  AppParameter[] parameters
           
protected  java.lang.String procInstId
           
static java.lang.String SEMICOLON_SEPARATOR_STR
           
protected  WMSessionHandle shandle
           
protected  long status
           
protected  WMSessionHandle tashandle
           
protected  WMEntity toolInfo
           
protected  WMConnectInfo wmci
           
 
Fields inherited from interface org.enhydra.shark.api.internal.toolagent.ToolAgent
APP_STATUS_ACTIVE, APP_STATUS_FINISHED, APP_STATUS_INVALID, APP_STATUS_RUNNING, APP_STATUS_TERMINATED, APP_STATUS_WAITING
 
Constructor Summary
AbstractToolAgent()
           
 
Method Summary
 void configure(CallbackUtilities cus)
           
 WMSessionHandle connect(WMConnectInfo ci)
           
static void copyParams(AppParameter[] taApps, AppParameter[] apps)
           
 void disconnect(WMSessionHandle shandle)
           
 java.lang.String getInfo(WMSessionHandle shandle)
           
static AppParameter getParameterByName(AppParameter[] sharkParameters, java.lang.String name)
           
static java.lang.String getParameterString(AppParameter[] sharkParameters, java.lang.String parameterName)
           
static java.lang.String[] getParameterStringArray(AppParameter[] sharkParameters, java.lang.String parameterName, java.lang.String separatorStr)
           
protected  AppParameter[] getReturnParameters()
           
 void invokeApplication(WMSessionHandle shandle, long handle, WMEntity appInfo, WMEntity toolInfo, java.lang.String applicationName, java.lang.String procInstId, java.lang.String assId, AppParameter[] parameters, java.lang.Integer appMode)
           
protected  org.enhydra.shark.xpdl.elements.ExtendedAttributes readParamsFromExtAttributes(java.lang.String extAttribs)
           
 long requestAppStatus(WMSessionHandle shandle, long handle, WMEntity toolInfo, java.lang.String procInstId, java.lang.String assId, AppParameter[] parameters)
           
 void terminateApp(WMSessionHandle shandle, long handle, WMEntity toolInfo, java.lang.String procInstId, java.lang.String assId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMMA_SEPARATOR_STR

public static final java.lang.String COMMA_SEPARATOR_STR
See Also:
Constant Field Values

SEMICOLON_SEPARATOR_STR

public static final java.lang.String SEMICOLON_SEPARATOR_STR
See Also:
Constant Field Values

APP_NAME_EXT_ATTR_NAME

public static final java.lang.String APP_NAME_EXT_ATTR_NAME
See Also:
Constant Field Values

APP_MODE_EXT_ATTR_NAME

public static final java.lang.String APP_MODE_EXT_ATTR_NAME
See Also:
Constant Field Values

wmci

protected WMConnectInfo wmci

tashandle

protected WMSessionHandle tashandle

shandle

protected WMSessionHandle shandle

appInfo

protected WMEntity appInfo

toolInfo

protected WMEntity toolInfo

handle

protected long handle

appName

protected java.lang.String appName

procInstId

protected java.lang.String procInstId

assId

protected java.lang.String assId

parameters

protected AppParameter[] parameters

appMode

protected java.lang.Integer appMode

status

protected long status

cus

protected CallbackUtilities cus

extAttributes

protected static org.enhydra.shark.utilities.SizeLimitedToolAgentMap extAttributes
Constructor Detail

AbstractToolAgent

public AbstractToolAgent()
Method Detail

configure

public void configure(CallbackUtilities cus)
               throws java.lang.Exception
Specified by:
configure in interface ToolAgent
Throws:
java.lang.Exception

connect

public WMSessionHandle connect(WMConnectInfo ci)
                        throws ConnectFailed,
                               ToolAgentGeneralException
Specified by:
connect in interface ToolAgent
Throws:
ConnectFailed
ToolAgentGeneralException

disconnect

public void disconnect(WMSessionHandle shandle)
                throws InvalidSessionHandle,
                       ToolAgentGeneralException
Specified by:
disconnect in interface ToolAgent
Throws:
InvalidSessionHandle
ToolAgentGeneralException

invokeApplication

public void invokeApplication(WMSessionHandle shandle,
                              long handle,
                              WMEntity appInfo,
                              WMEntity toolInfo,
                              java.lang.String applicationName,
                              java.lang.String procInstId,
                              java.lang.String assId,
                              AppParameter[] parameters,
                              java.lang.Integer appMode)
                       throws ApplicationNotStarted,
                              ApplicationNotDefined,
                              ApplicationBusy,
                              ToolAgentGeneralException
Specified by:
invokeApplication in interface ToolAgent
Throws:
ApplicationNotStarted
ApplicationNotDefined
ApplicationBusy
ToolAgentGeneralException

requestAppStatus

public long requestAppStatus(WMSessionHandle shandle,
                             long handle,
                             WMEntity toolInfo,
                             java.lang.String procInstId,
                             java.lang.String assId,
                             AppParameter[] parameters)
                      throws ApplicationBusy,
                             InvalidToolAgentHandle,
                             InvalidWorkitem,
                             InvalidProcessInstance,
                             ToolAgentGeneralException
Specified by:
requestAppStatus in interface ToolAgent
Throws:
ApplicationBusy
InvalidToolAgentHandle
InvalidWorkitem
InvalidProcessInstance
ToolAgentGeneralException

terminateApp

public void terminateApp(WMSessionHandle shandle,
                         long handle,
                         WMEntity toolInfo,
                         java.lang.String procInstId,
                         java.lang.String assId)
                  throws ApplicationNotStopped,
                         InvalidWorkitem,
                         InvalidProcessInstance,
                         ApplicationBusy,
                         ToolAgentGeneralException
Specified by:
terminateApp in interface ToolAgent
Throws:
ApplicationNotStopped
InvalidWorkitem
InvalidProcessInstance
ApplicationBusy
ToolAgentGeneralException

getInfo

public java.lang.String getInfo(WMSessionHandle shandle)
                         throws ToolAgentGeneralException
Specified by:
getInfo in interface ToolAgent
Throws:
ToolAgentGeneralException

readParamsFromExtAttributes

protected org.enhydra.shark.xpdl.elements.ExtendedAttributes readParamsFromExtAttributes(java.lang.String extAttribs)
                                                                                  throws java.lang.Exception
Throws:
java.lang.Exception

getReturnParameters

protected AppParameter[] getReturnParameters()

copyParams

public static void copyParams(AppParameter[] taApps,
                              AppParameter[] apps)

getParameterByName

public static AppParameter getParameterByName(AppParameter[] sharkParameters,
                                              java.lang.String name)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

getParameterString

public static java.lang.String getParameterString(AppParameter[] sharkParameters,
                                                  java.lang.String parameterName)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

getParameterStringArray

public static java.lang.String[] getParameterStringArray(AppParameter[] sharkParameters,
                                                         java.lang.String parameterName,
                                                         java.lang.String separatorStr)
                                                  throws java.lang.Exception
Throws:
java.lang.Exception