Sun Adapter for CICS API

com.stc.eways.cics
Class CTGCicsClientImpl

java.lang.Object
  extended by com.stc.eways.cics.CicsClientImpl
      extended by com.stc.eways.cics.CicsClientExtImpl
          extended by com.stc.eways.cics.CTGCicsClientImpl
All Implemented Interfaces:
CicsClient, SBYNDCicsProxyConstants

public class CTGCicsClientImpl
extends CicsClientExtImpl

The CTGCicsClientImpl class represents an OTD through which a collaboration can invoke transaction programs on a CICS server; nodes and methods are exposed so that collaboration can conveniently prepare a request to a CICS program and invoke the program and get result from the program; in the current implementation, there are two underlying transport mechanism can be used to achieve the remote invoking of CICS programs: (1) CTG - IBM's CICS Transaction Gateway (2) SBYND CICS Listener - SeeBeyond CICS Listener - a light weighted propritary protocol based on TCP/IP; note that, the configuration parameters can be roughly categorized into : CTG specific; SBYND CICS Listener specific; Needed for both CTG and SBYND CICS Listener; Also, the exposed CicsClient methods are categorized as: CTG specific, such as getServerList(); SBYND CICS Listener specific, such as prepareAPCRecord(), returnCodeIs(), returnOK(), getResponse(...) etc.; Common to both CTG and SBYND CICS Listener, such as execute(), execute(....), and sendRequest(...);


Field Summary
 
Fields inherited from class com.stc.eways.cics.CicsClientImpl
_SBYNDCicsProxy, _SBYNDCicsProxyConfig, eciExtend, eciSync, logger, manualConnect, mConfiguration, password, port, program, server, sslClass, sslPassword, traceDumpOffset, traceFilename, traceLevel, traceTiming, traceTruncationSize, url, userId
 
Fields inherited from interface com.stc.eways.cics.SBYNDCicsProxyConstants
CALL_ERROR, CALL_OK, CICSLSTNR_ASYNC_RSP_MSG_PROP_COMMLEN, CICSLSTNR_ASYNC_RSP_MSG_PROP_MSG, CICSLSTNR_ASYNC_RSP_MSG_PROP_PROGRAM, CICSLSTNR_ASYNC_RSP_MSG_PROP_RC, CICSLSTNR_ASYNC_RSP_MSG_PROP_RETURNTIME, CICSLSTNR_ASYNC_RSP_MSG_PROP_SC, CICSLSTNR_ASYNC_RSP_MSG_PROP_STARTTIME, CICSLSTNR_ASYNC_RSP_MSG_PROP_TOPIC, CICSLSTNR_C_ACR_OFFSET_APPL_TIMEOUT, CICSLSTNR_C_ACR_OFFSET_COMM_LEN, CICSLSTNR_C_ACR_OFFSET_HEADER, CICSLSTNR_C_ACR_OFFSET_PADCHAR, CICSLSTNR_C_ACR_OFFSET_PASSWORD, CICSLSTNR_C_ACR_OFFSET_PAYLOAD_LEN, CICSLSTNR_C_ACR_OFFSET_PROGNAME, CICSLSTNR_C_ACR_OFFSET_RC, CICSLSTNR_C_ACR_OFFSET_REQCODE, CICSLSTNR_C_ACR_OFFSET_RM, CICSLSTNR_C_ACR_OFFSET_USERID, CICSLSTNR_C_BUFFER_SIZE, CICSLSTNR_C_CONTROLRECORD_ENCODING, CICSLSTNR_C_IC_RECORD_DELIMITER, CICSLSTNR_C_IC_RECORD_SIZE, CICSLSTNR_C_ICR_OFFSET_APPL_TIMEOUT, CICSLSTNR_C_ICR_OFFSET_FILLER, CICSLSTNR_C_ICR_OFFSET_LISTENER_TIMEOUT, CICSLSTNR_C_ICR_OFFSET_PASSWD, CICSLSTNR_C_ICR_OFFSET_PAYLOAD_DELIMETER, CICSLSTNR_C_ICR_OFFSET_POLLING_RATE, CICSLSTNR_C_ICR_OFFSET_STARTUP_DELAY, CICSLSTNR_C_ICR_OFFSET_STARTUP_TYPE, CICSLSTNR_C_ICR_OFFSET_STARTUP_TYPE_DELIMETER, CICSLSTNR_C_ICR_OFFSET_TRANSID, CICSLSTNR_C_ICR_OFFSET_TRANSID_DELIMETER, CICSLSTNR_C_ICR_OFFSET_TRANSPORT_TIMEOUT, CICSLSTNR_C_ICR_OFFSET_USERID, CICSLSTNR_C_MIN_ACR_HEADER_SIZE, CICSLSTNR_C_SEEBEYOND_LISTENER, CICSLSTNR_C_SPACE, CICSLSTNR_C_TRANSACTION_GATEWAY, CICSLSTNR_E_ACR_INCONSISTENT, CICSLSTNR_E_ACR_LEN_SHORTER_THAN_MIN_ACR_LEN, CICSLSTNR_E_ASYNCCALL_LIST_NOT_AVAILABLE, CICSLSTNR_E_ASYNCCALL_NOT_AVAILABLE, CICSLSTNR_E_ASYNCCALLHANDLER_REQUIRED, CICSLSTNR_E_BYTESAVAILABLE, CICSLSTNR_E_CICS_SERVER_REQUIRED, CICSLSTNR_E_CLIENT_NOT_CONNECTED, CICSLSTNR_E_CLOSE_SOCKET, CICSLSTNR_E_CONFIG_CLONE_NOT_AVAILABLE_ASYNC_EXECUTE, CICSLSTNR_E_CONFIG_INVALID_PARAM, CICSLSTNR_E_CONNECT_BAD_RESPONSE, CICSLSTNR_E_CONNECT_FAILED_EMPTY_TRANSID, CICSLSTNR_E_CONNECT_FAILED_GEN_INITREC_ERROR, CICSLSTNR_E_CONNECT_FAILED_INVALID_TRANSID, CICSLSTNR_E_CONNECT_GET_NACK_FROM_LISTENER, CICSLSTNR_E_CONNECT_UNEXPECTED_RESPONSE, CICSLSTNR_E_CONNECTION, CICSLSTNR_E_CTG_GATEWAY_ERROR, CICSLSTNR_E_DISCONNECT_FAILED, CICSLSTNR_E_ETD_INSTANCE_NOT_AVAILABLE_WHEN_CHECK_CONN, CICSLSTNR_E_ETD_INSTANCE_NOT_AVAILABLE_WHEN_CLOSE_CONN, CICSLSTNR_E_ETD_INSTANCE_NOT_AVAILABLE_WHEN_OPEN_CONN, CICSLSTNR_E_EXCEPTION_REMOVING_ASYNCCALL, CICSLSTNR_E_EXECUTE_BAD_RESPONSE, CICSLSTNR_E_EXECUTE_BAD_RESULT, CICSLSTNR_E_EXECUTE_GET_RESULT, CICSLSTNR_E_EXECUTE_REQ_NACKED, CICSLSTNR_E_EXECUTE_TIMEOUT, CICSLSTNR_E_EXECUTE_UNEXPECTED_RESPONSE, CICSLSTNR_E_EXPECTING_LSTNR_RSP4SHUTDOWN, CICSLSTNR_E_FAILED_RECV_LSTNR_RSP4SHUTDOWN, CICSLSTNR_E_INVALID_ACR_LENGTH_HEADER, CICSLSTNR_E_INVALID_ACR_PAYLOADLEN, CICSLSTNR_E_INVALID_COMMAREA_LENGTH, CICSLSTNR_E_INVALID_CONNECTOR_TYPE, CICSLSTNR_E_INVALID_OPERATION, CICSLSTNR_E_INVALID_OPERATION_4_CTG, CICSLSTNR_E_INVALID_OPERATION_4_LISTENER, CICSLSTNR_E_INVALID_OPERATION_ON_INBOUND_RECORD, CICSLSTNR_E_INVALID_PADCHAR, CICSLSTNR_E_INVALID_REQUEST_CODE, CICSLSTNR_E_INVALID_RETURN_CODE, CICSLSTNR_E_INVALID_TIMEOUT, CICSLSTNR_E_ITERATOR_NOT_AVAILABLE_WHEN_INVOKE, CICSLSTNR_E_MISSING_PROGNAME_WHEN_PREPARE_ACR, CICSLSTNR_E_PROGRAM_REQUIRED, CICSLSTNR_E_RECEV_RESPONSE_SOCKETEXCEPTION, CICSLSTNR_E_RECEV_RESPONSE_TIMEOUT, CICSLSTNR_E_RECV, CICSLSTNR_E_REMOVE_ASYNCCALL_OUTSTANDING, CICSLSTNR_E_SEND, CICSLSTNR_E_SENDREQUEST_PAYLOAD_LENGTH_CHANGED, CICSLSTNR_E_UNEXPECTED_RECORD, CICSLSTNR_PARAM_CONN_TRANSPORT, CICSLSTNR_PARAM_HOST, CICSLSTNR_PARAM_KEEPALIVE, CICSLSTNR_PARAM_LISTENERTIMEOUT, CICSLSTNR_PARAM_NODELAY, CICSLSTNR_PARAM_PADCHAR, CICSLSTNR_PARAM_POLLINGRATE, CICSLSTNR_PARAM_PORT, CICSLSTNR_PARAM_RECVBUFSIZE, CICSLSTNR_PARAM_SBYNDLISTENER_TRANSID, CICSLSTNR_PARAM_SENDBUFSIZE, CICSLSTNR_PARAM_STARTDELAY, CICSLSTNR_PARAM_STARTTYPE, CICSLSTNR_PARAM_TPTIMEOUT, CICSLSTNR_PARAM_TRANSPORTTIMEOUT, CICSLSTNR_T_CHECK_CONNECTION, CICSLSTNR_T_CONNECT_ALREADY, CICSLSTNR_T_CONNECT_ATTEMPTED, CICSLSTNR_T_CONNECT_DONE, CICSLSTNR_T_CONNECTION_ESTABLISH_FAILED, CICSLSTNR_T_CONNECTION_REUSE, CICSLSTNR_T_EMPTY_ENCODING_DEF_ASSUMED, CICSLSTNR_T_EXECUTE_ASYNC_CALL_RESPONSED_WITH_OK, CICSLSTNR_T_RECV_MSG_EOF, CICSLSTNR_T_RECV_MSG_OK, CICSLSTNR_T_RECV_MSG_PARTIAL, CICSLSTNR_T_RECV_MSG_TIMEOUT, CICSLSTNR_T_REMOVED_ASYNCCALL, CICSLSTNR_T_REMOVING_ASYNCCALL, CICSLSTNR_T_SHUTDOWN_LISTNER_OK, CICSLSTNR_T_SHUTDOWN_LISTNER_RSP_WITH_ERROR, messages, SBYND_LISTENER_RC_AUTHENTICATION_FAILURE, SBYND_LISTENER_RC_BAD_COMMAREA, SBYND_LISTENER_RC_CANNOT_GET_INIT_PARAM, SBYND_LISTENER_RC_ERR_SET_NON_BLOCKING, SBYND_LISTENER_RC_INIT_ERR_STARTUP_TYPE_IC, SBYND_LISTENER_RC_INIT_ERR_STARTUP_TYPE_TD, SBYND_LISTENER_RC_INVALID_APPL_TIMEOUT, SBYND_LISTENER_RC_INVALID_CA_LENGTH, SBYND_LISTENER_RC_INVALID_LISTENER_TIMEOUT, SBYND_LISTENER_RC_INVALID_MSG_LENGTH, SBYND_LISTENER_RC_INVALID_PROGNAME, SBYND_LISTENER_RC_INVALID_REQCODE, SBYND_LISTENER_RC_INVALID_RSPCODE, SBYND_LISTENER_RC_INVALID_TRANSPORT_TIMEOUT, SBYND_LISTENER_RC_OK, SBYND_LISTENER_RC_PARTIAL_MSG, SBYND_LISTENER_RC_PASSWD_ENCRYPT_ERROR, SBYND_LISTENER_RC_PROG_LINK_ERROR, SBYND_LISTENER_RC_TRANS_START_ERROR, SBYND_LISTENER_REQCODE_DESC_LSTNR_RETURN4SYNC, SBYND_LISTENER_REQCODE_DESC_LSTNR_RSP4ASYNC, SBYND_LISTENER_REQCODE_DESC_LSTNR_RSP4ASYNCSTART, SBYND_LISTENER_REQCODE_DESC_LSTNR_RSP4INIT, SBYND_LISTENER_REQCODE_DESC_LSTNR_RSP4SHUTDOWN, SBYND_LISTENER_REQCODE_DESC_LSTNR_RSP4SYNC, SBYND_LISTENER_REQCODE_DESC_REQ_ASYNC, SBYND_LISTENER_REQCODE_DESC_REQ_SYNC, SBYND_LISTENER_REQCODE_DESC_REQ4SHUTDOWN, SBYND_LISTENER_REQCODE_DESC_REQISCONNECTED, SBYND_LISTENER_REQCODE_DESC_RSP4ASYNCLINKRSP, SBYND_LISTENER_REQCODE_DESC_RSP4RETURN, SBYND_LISTENER_REQCODE_LSTNR_RETURN4SYNC, SBYND_LISTENER_REQCODE_LSTNR_RSP4ASYNC, SBYND_LISTENER_REQCODE_LSTNR_RSP4ASYNCSTART, SBYND_LISTENER_REQCODE_LSTNR_RSP4INIT, SBYND_LISTENER_REQCODE_LSTNR_RSP4SHUTDOWN, SBYND_LISTENER_REQCODE_LSTNR_RSP4SYNC, SBYND_LISTENER_REQCODE_LSTNR_RSPISCONNECTED, SBYND_LISTENER_REQCODE_REQ_ASYNC, SBYND_LISTENER_REQCODE_REQ_SYNC, SBYND_LISTENER_REQCODE_REQ4SHUTDOWN, SBYND_LISTENER_REQCODE_REQISCONNECTED, SBYND_LISTENER_REQCODE_RSP4ASYNCLINKRSP, SBYND_LISTENER_REQCODE_RSP4RETURN
 
Constructor Summary
CTGCicsClientImpl(com.stc.connector.framework.util.ConfigurationHelper aConfiguration)
          CTGCicsClientImpl constructor
 
Method Summary
 void connect()
          Establish a connection to the CICS server and subsequently, the collaboration can flow request (CICS program calls) to the server across the connection;
 void disconnect()
          Disconnect the connection established through connect();
 void execute()
          For SBYND CICS Listner:
 void execute(boolean eciSynCall, java.lang.String cicsServerName, java.lang.String cicsUserId, java.lang.String cicsPassword, java.lang.String cicsProgram, java.lang.String cicsTransId, byte[] byteArray, int length, boolean eciExtendMode, int eciLUWToken, int msgQualifier, java.lang.Object asyncCallHandler)
          For compatibility if eciTPN is not in the parameter list, set it to false
 void execute(boolean eciSynCall, java.lang.String cicsServerName, java.lang.String cicsUserId, java.lang.String cicsPassword, java.lang.String cicsProgram, java.lang.String cicsTransId, byte[] byteArray, int length, boolean eciExtendMode, int eciLUWToken, int msgQualifier, java.lang.Object asyncCallHandler, boolean eciTPN)
          For SBYND CICS Listner: invoke the remote CICS program through the following steps (defined by a propritary protocol) (1) prepare a APC record (Application Control Record) with request code as SBYND_LISTENER_REQCODE_REQ_SYNC or SBYND_LISTENER_REQCODE_REQ_ASYNC depend on parameter eciSynCall with byteArray as the payload; the prepare APC record is in the outbound buffer in SBYNDCicsProxy (2) send the request to SBYND CICS Listener; (3) get response from SBYND CICS Listener; (4) further get returned data from the program if it is a sync call (5) ACK or NACK accordingly For CTG: prepare an ECIRequest object with the data given via the parameters, call method flow() to send the request and get result (sync) or proceed (async);
 ECIErrorCodes getECIERRORS()
          CTG specific; Return ECIErrorCodes object; this getter is for CicsClient ECIERRORS;
 int getListenerTimeout()
          SBYND CICS Listener specific; Getter for Listener time out - CicsClient ListenerTimeout initial value is from configuration parameter Listener Timeout in section "SeeBeyond CICS Listener";
 java.lang.String getPaddingCharacter()
          SBYND CICS Listener specific; Getter for padding character - CicsClient PaddingCharacter initial value is from configuration parameter COMMAREA Padding Character in section "SeeBeyond CICS Listener";
 int getPollingRate()
          SBYND CICS Listener specific; Getter for Listener Polling Rate - CicsClient PollingRate initial value is from configuration parameter Polling Rate in section "SeeBeyond CICS Listener";
 java.lang.String getProgramName()
          SBYND CICS Listener specific; Return the program name of the response assuming a response is in the current inbound buffer; should be called immediately after getResponse();
 int getRequestCode()
          SBYND CICS Listener specific; Return the request code of the response assuming a response is in the current inbound buffer; should be called immediately after getResponse();
 SBYNDAppControlRecordRequestCodes getREQUESTCODES()
          SBYND CICS Listener specific; Return SBYNDAppControlRecordRequestCodes object; this getter is for CicsClient REQUESTCODES;
 java.lang.String getRequestDesc()
          SBYND CICS Listener specific; Return description for the request code assuming a response is in the current inbound buffer; should be called immediately after getResponse();
 boolean getResponse(int timeout)
          SBYND CICS Listener specific; Read from the SBYND CICS Listener in blocking mode until timed out or get a response;
 int getReturnCode()
          SBYND CICS Listener specific; Return the error code of the current response assuming a response is in the current inbound buffer; should be called immediately after getResponse();
 SBYNDAppControlRecordReturnCodes getRETURNCODES()
          SBYND CICS Listener specific; Return SBYNDAppControlRecordReturnCodes object; this getter is for CicsClient RETURNCODES;
 java.lang.String getReturnMessage()
          SBYND CICS Listener specific; Return the error text of the current response assuming a response is in the current inbound buffer; should be called immediately after getResponse();
 java.lang.String getSBYNDListenerTransID()
          SBYND CICS Listener specific; Getter for SBYND CICS Listener TransID - CicsClient SBYNDListenerTransID initial value is from configuration parameter SeeBeyond CICS Listener TransId in section "SeeBeyond CICS Listener";
 java.lang.String[] getServerList(int maxNumSystems)
          Obtain a list of CICS servers defined: name-description pairs With SBYND Listener as the transport, only one server is returned, i.e.
 java.lang.String getStartDelay()
          SBYND CICS Listener specific; Getter for Startup delay - CicsClient StartDelay initial value is from configuration parameter Start Delay in section "SeeBeyond CICS Listener";
 java.lang.String getStartType()
          SBYND CICS Listener specific; Getter for Startup type - CicsClient StartType initial value is from configuration parameter Start Type in section "SeeBeyond CICS Listener";
 int getTPTimeout()
          SBYND CICS Listener specific; Getter for CICS program time out - CicsClient TPTimeout initial value is from configuration parameter TP Timeout in section "SeeBeyond CICS Listener";
 int getTransportTimeout()
          SBYND CICS Listener specific; Getter for TransportTimeout - CicsClient TransportTimeout initial value is from configuration parameter Transport Timeout in section "SeeBeyond CICS Listener";
 void handleTrace()
           
protected  void initProxy(boolean useListener)
           
 boolean isConnected()
          Check if the connection is good;
 void prepareAPCRecord(java.lang.String progname, int appltimeout, int requestcode, int errorcode, java.lang.String errortext)
          SBYND CICS Listener specific; Prepare an APC Record in outbound buffer of SBYNDCicsProxy using the parameters and this can be send out by invoking sendRequest() subsequently;
 boolean reset()
          Resets the data content of an CicsClientException.
 boolean returnCodeIs(int code)
          SBYND CICS Listener specific; check if the error code in the APC record is the same as code;
 boolean returnOK()
          SBYND CICS Listener specific; check if the error code in the APC record is SBYND_LISTENER_RC_OK;
 void sendRequest(java.lang.Object requestObj)
          For SBYND CICS Listner: Send an ACR to the listener, assuming ACR is properly prepared and is in outbound buffer; sendRequest() only send ACR, if a response is expected, need to call getResponse() sebsequently;
 void setListenerTimeout(int timeout)
          SBYND CICS Listener specific; Setter for Listener Timeout - CicsClient ListenerTimeout
 void setPaddingCharacter(java.lang.String padcharhex)
          SBYND CICS Listener specific; Setter for padding character - CicsClient PaddingCharacter
 void setPollingRate(int rate)
          SBYND CICS Listener specific; Setter for Polling Rate - CicsClient PollingRate
 void setSBYNDListenerTransID(java.lang.String transid)
          SBYND CICS Listener specific; Setter for SBYND CICS Listener TransID - CicsClient SBYNDListenerTransID
 void setStartDelay(java.lang.String startdelay)
          SBYND CICS Listener specific; Setter for Startup delay - CicsClient StartDelay
 void setStartType(java.lang.String starttype)
          SBYND CICS Listener specific; Setter for Startup delay - CicsClient StartType
 void setTPTimeout(int timeout)
          SBYND CICS Listener specific; Setter for TP Timeout - CicsClient TPTimeout
 void setTransportTimeout(int timeout)
          SBYND CICS Listener specific; Setter for Transport Timeout - CicsClient TransportTimeout
 
Methods inherited from class com.stc.eways.cics.CicsClientExtImpl
connectionMatch
 
Methods inherited from class com.stc.eways.cics.CicsClientImpl
commAreaToPackedDecimal, commAreaZonedToString, commAreaZonedToString, copyParams, getAsyncResponseTopic, getAsyncRspNotifPort, getAsyncRspNotifServer, getCommArea, getCommAreaLength, getCommAreaString, getCommAreaString, getCommAreaString, getCommAreaString, getEciCallbackable, getEciExtend, getEciLuwToken, getEciSync, getEciTPN, getEncodedCommAreaString, getEncodedCommAreaString, getEncoding, getHexString, getHost, getMessageQualifier, getPassword, getPort, getProgram, getResponse, getSBYNDCicsProxyConfig, getServer, getSslClass, getSslPassword, getTraceDumpOffset, getTraceFilename, getTraceLevel, getTraceTiming, getTraceTruncationSize, getTransId, getTransport, getUrl, getUserId, initialize, packedDecimalToString, setAsyncResponseTopic, setAsyncRspNotifPort, setAsyncRspNotifServer, setCommArea, setCommAreaLength, setEciCallbackable, setEciExtend, setEciLuwToken, setEciSync, setEciTPN, setEncoding, setHost, setMessageQualifier, setPassword, setPort, setProgram, setServer, setSslClass, setSslPassword, setTraceDumpOffset, setTraceFilename, setTraceLevel, setTraceTiming, setTraceTruncationSize, setTransId, setUrl, setUserId, terminate, toPackedDecimal, toZoned, toZoned, zonedToString, zonedToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CTGCicsClientImpl

public CTGCicsClientImpl(com.stc.connector.framework.util.ConfigurationHelper aConfiguration)
                  throws CicsClientException
CTGCicsClientImpl constructor

Parameters:
config - Properties bundle containing CICS specific connection information
Throws:
CicsClientException - upon error
Method Detail

initProxy

protected void initProxy(boolean useListener)
                  throws CicsClientException
Overrides:
initProxy in class CicsClientImpl
Throws:
CicsClientException

handleTrace

public void handleTrace()
Overrides:
handleTrace in class CicsClientImpl

reset

public boolean reset()
Resets the data content of an CicsClientException.

Specified by:
reset in interface CicsClient
Overrides:
reset in class CicsClientImpl
Returns:
false if the CicsClientException doesn't have a meaningful implementation of reset(); so do a new of the CicsClientException instead. Otherwise, return true if the reset will clear the data content of the CicsClientException.

connect

public void connect()
             throws CicsClientException
Establish a connection to the CICS server and subsequently, the collaboration can flow request (CICS program calls) to the server across the connection;

The underlying transport used can be CTG or SBYND Listener but it is transparent to the collaboration as far as the connect() is concerned;

Specified by:
connect in interface CicsClient
Overrides:
connect in class CicsClientImpl
Throws:
CicsClientException - upon an external connection problem

disconnect

public void disconnect()
                throws CicsClientException
Disconnect the connection established through connect();

The underlying transport used can be CTG or SBYND Listener but it is transparent to the collaboration as far as the disconnect() is concerned;

Specified by:
disconnect in interface CicsClient
Overrides:
disconnect in class CicsClientImpl
Throws:
CicsClientException - upon an external connection problem

isConnected

public boolean isConnected()
                    throws CicsClientException
Check if the connection is good;

Specified by:
isConnected in interface CicsClient
Overrides:
isConnected in class CicsClientImpl
Returns:
true - is active, false otherwise;
Throws:
CicsClientException - upon error.

getServerList

public java.lang.String[] getServerList(int maxNumSystems)
                                 throws CicsClientException
Obtain a list of CICS servers defined: name-description pairs With SBYND Listener as the transport, only one server is returned, i.e. the SBYND Listener host (should be the same host as the CICS server)

Specified by:
getServerList in interface CicsClient
Overrides:
getServerList in class CicsClientImpl
Returns:
An array of servers - list of available CICS servers to which CICS call can be issued
Throws:
CicsClientException - upon an external connection problem

execute

public void execute()
             throws CicsClientException,
                    SBYNDCicsProxyTimeoutException
For SBYND CICS Listner:

use SBYND CICS Listener host as the server name and delegate to execute(eciSync, server, userId, password, program, transId,commArea, commAreaLength, eciExtend, eciLuwToken, messageQualifier, asyncCallHandler) with irrelevant parameters set to 0 or null. only the following parameters are still used by SBYND CICS Listener: (1) eciSync (2) userId (3) password (4) program (5) transId (6) commArea

For CTG:

delegate to execute(eciSync, server, userId, password, program, transId,commArea, commAreaLength, eciExtend, eciLuwToken, messageQualifier, asyncCallHandler)

Specified by:
execute in interface CicsClient
Overrides:
execute in class CicsClientImpl
Throws:
CicsClientException - upon error
SBYNDCicsProxyTimeoutException

execute

public void execute(boolean eciSynCall,
                    java.lang.String cicsServerName,
                    java.lang.String cicsUserId,
                    java.lang.String cicsPassword,
                    java.lang.String cicsProgram,
                    java.lang.String cicsTransId,
                    byte[] byteArray,
                    int length,
                    boolean eciExtendMode,
                    int eciLUWToken,
                    int msgQualifier,
                    java.lang.Object asyncCallHandler)
             throws CicsClientException,
                    SBYNDCicsProxyTimeoutException
For compatibility if eciTPN is not in the parameter list, set it to false

Specified by:
execute in interface CicsClient
Overrides:
execute in class CicsClientImpl
Throws:
CicsClientException
SBYNDCicsProxyTimeoutException

execute

public void execute(boolean eciSynCall,
                    java.lang.String cicsServerName,
                    java.lang.String cicsUserId,
                    java.lang.String cicsPassword,
                    java.lang.String cicsProgram,
                    java.lang.String cicsTransId,
                    byte[] byteArray,
                    int length,
                    boolean eciExtendMode,
                    int eciLUWToken,
                    int msgQualifier,
                    java.lang.Object asyncCallHandler,
                    boolean eciTPN)
             throws CicsClientException,
                    SBYNDCicsProxyTimeoutException
For SBYND CICS Listner: invoke the remote CICS program through the following steps (defined by a propritary protocol) (1) prepare a APC record (Application Control Record) with request code as SBYND_LISTENER_REQCODE_REQ_SYNC or SBYND_LISTENER_REQCODE_REQ_ASYNC depend on parameter eciSynCall with byteArray as the payload; the prepare APC record is in the outbound buffer in SBYNDCicsProxy (2) send the request to SBYND CICS Listener; (3) get response from SBYND CICS Listener; (4) further get returned data from the program if it is a sync call (5) ACK or NACK accordingly For CTG: prepare an ECIRequest object with the data given via the parameters, call method flow() to send the request and get result (sync) or proceed (async);

Specified by:
execute in interface CicsClient
Overrides:
execute in class CicsClientImpl
Parameters:
eciSynCall - - true invoke the program synchronously, false invoke the program asynchronously;
cicsServerName - - CICS server name - CTG only;
cicsUserId - - CICS user id;
cicsPassword - - CICS password;
cicsProgram - - CICS program;
cicsTransId - - CICS transaction id;
byteArray - - payload area (INOUT & OUTPUT)
length - - length of the payload - CTG only;
eciExtendMode - - ECI extend mode - CTG only;
eciLUWToken - - ECI LUW token - CTG only;
msgQualifier - - CTG only;
asyncCallHandler - - Handler for async call reply;
Throws:
CicsClientException - upon error
SBYNDCicsProxyTimeoutException

sendRequest

public void sendRequest(java.lang.Object requestObj)
                 throws CicsClientException
For SBYND CICS Listner: Send an ACR to the listener, assuming ACR is properly prepared and is in outbound buffer; sendRequest() only send ACR, if a response is expected, need to call getResponse() sebsequently;

For CTG: The sendRequest method flows data contained in the ECIRequest object to the Gateway and determines whether send has been successful by checking the return code. If an error has occurred, an CollabConnException is thrown.

Specified by:
sendRequest in interface CicsClient
Overrides:
sendRequest in class CicsClientImpl
Parameters:
request - - ECIRequest object contains all the data needed to invoke a CICS program through CTG, for SBYND CICS Listener this parameter is ignored;
Throws:
CicsClientException - upon error

getReturnCode

public int getReturnCode()
                  throws CicsClientException
SBYND CICS Listener specific; Return the error code of the current response assuming a response is in the current inbound buffer; should be called immediately after getResponse();

Specified by:
getReturnCode in interface CicsClient
Overrides:
getReturnCode in class CicsClientImpl
Returns:
the error code;
Throws:
CicsClientException

getReturnMessage

public java.lang.String getReturnMessage()
                                  throws CicsClientException
SBYND CICS Listener specific; Return the error text of the current response assuming a response is in the current inbound buffer; should be called immediately after getResponse();

Specified by:
getReturnMessage in interface CicsClient
Overrides:
getReturnMessage in class CicsClientImpl
Returns:
the error text;
Throws:
CicsClientException

getProgramName

public java.lang.String getProgramName()
                                throws CicsClientException
SBYND CICS Listener specific; Return the program name of the response assuming a response is in the current inbound buffer; should be called immediately after getResponse();

Specified by:
getProgramName in interface CicsClient
Overrides:
getProgramName in class CicsClientImpl
Returns:
the program name;
Throws:
CicsClientException

getRequestCode

public int getRequestCode()
                   throws CicsClientException
SBYND CICS Listener specific; Return the request code of the response assuming a response is in the current inbound buffer; should be called immediately after getResponse();

Specified by:
getRequestCode in interface CicsClient
Overrides:
getRequestCode in class CicsClientImpl
Returns:
the request code;
Throws:
CicsClientException

getRequestDesc

public java.lang.String getRequestDesc()
                                throws CicsClientException
SBYND CICS Listener specific; Return description for the request code assuming a response is in the current inbound buffer; should be called immediately after getResponse();

Specified by:
getRequestDesc in interface CicsClient
Overrides:
getRequestDesc in class CicsClientImpl
Returns:
the descritpion;
Throws:
CicsClientException

prepareAPCRecord

public void prepareAPCRecord(java.lang.String progname,
                             int appltimeout,
                             int requestcode,
                             int errorcode,
                             java.lang.String errortext)
                      throws CicsClientException
SBYND CICS Listener specific; Prepare an APC Record in outbound buffer of SBYNDCicsProxy using the parameters and this can be send out by invoking sendRequest() subsequently;

Specified by:
prepareAPCRecord in interface CicsClient
Overrides:
prepareAPCRecord in class CicsClientImpl
Parameters:
progname - - the transaction program name;
appltimeout - - application timeout not used (reserved);
requestcode - - request code of the ACR;
errorcode - - error code of the ACR;
errortext - - error message (usually used when the ACR is an NACK);
Throws:
CicsClientException - if error in data;

returnCodeIs

public boolean returnCodeIs(int code)
                     throws CicsClientException
SBYND CICS Listener specific; check if the error code in the APC record is the same as code;

Specified by:
returnCodeIs in interface CicsClient
Overrides:
returnCodeIs in class CicsClientImpl
Returns:
true error code is the same as code, otherwise, false;
Throws:
CicsClientException

returnOK

public boolean returnOK()
                 throws CicsClientException
SBYND CICS Listener specific; check if the error code in the APC record is SBYND_LISTENER_RC_OK;

Specified by:
returnOK in interface CicsClient
Overrides:
returnOK in class CicsClientImpl
Returns:
true error code is SBYND_LISTENER_RC_OK, otherwise, false;
Throws:
CicsClientException

getResponse

public boolean getResponse(int timeout)
                    throws CicsClientException,
                           SBYNDCicsProxyTimeoutException
SBYND CICS Listener specific; Read from the SBYND CICS Listener in blocking mode until timed out or get a response;

Specified by:
getResponse in interface CicsClient
Overrides:
getResponse in class CicsClientImpl
Parameters:
timeout - - timeout for getting response;
Returns:
true if get a good ACR otherwise, false;
Throws:
CicsClientException
SBYNDCicsProxyTimeoutException

getECIERRORS

public ECIErrorCodes getECIERRORS()
                           throws CicsClientException
CTG specific; Return ECIErrorCodes object; this getter is for CicsClient ECIERRORS;

Specified by:
getECIERRORS in interface CicsClient
Overrides:
getECIERRORS in class CicsClientImpl
Returns:
ECIErrorCodes;
Throws:
CicsClientException

getRETURNCODES

public SBYNDAppControlRecordReturnCodes getRETURNCODES()
                                                throws CicsClientException
SBYND CICS Listener specific; Return SBYNDAppControlRecordReturnCodes object; this getter is for CicsClient RETURNCODES;

Specified by:
getRETURNCODES in interface CicsClient
Overrides:
getRETURNCODES in class CicsClientImpl
Returns:
SBYNDAppControlRecordReturnCodes;
Throws:
CicsClientException

getREQUESTCODES

public SBYNDAppControlRecordRequestCodes getREQUESTCODES()
                                                  throws CicsClientException
SBYND CICS Listener specific; Return SBYNDAppControlRecordRequestCodes object; this getter is for CicsClient REQUESTCODES;

Specified by:
getREQUESTCODES in interface CicsClient
Overrides:
getREQUESTCODES in class CicsClientImpl
Returns:
SBYNDAppControlRecordRequestCodes;
Throws:
CicsClientException

getSBYNDListenerTransID

public java.lang.String getSBYNDListenerTransID()
                                         throws CicsClientException
SBYND CICS Listener specific; Getter for SBYND CICS Listener TransID - CicsClient SBYNDListenerTransID initial value is from configuration parameter SeeBeyond CICS Listener TransId in section "SeeBeyond CICS Listener";

Specified by:
getSBYNDListenerTransID in interface CicsClient
Overrides:
getSBYNDListenerTransID in class CicsClientImpl
Returns:
the listener trans ID - the default value is "STCL";
Throws:
CicsClientException

setSBYNDListenerTransID

public void setSBYNDListenerTransID(java.lang.String transid)
                             throws CicsClientException
SBYND CICS Listener specific; Setter for SBYND CICS Listener TransID - CicsClient SBYNDListenerTransID

Specified by:
setSBYNDListenerTransID in interface CicsClient
Overrides:
setSBYNDListenerTransID in class CicsClientImpl
Parameters:
transid - - the transaction ID of the SBYND CICS Listener - STCL;
Throws:
CicsClientException

getTPTimeout

public int getTPTimeout()
                 throws CicsClientException
SBYND CICS Listener specific; Getter for CICS program time out - CicsClient TPTimeout initial value is from configuration parameter TP Timeout in section "SeeBeyond CICS Listener";

Specified by:
getTPTimeout in interface CicsClient
Overrides:
getTPTimeout in class CicsClientImpl
Returns:
the timeout value in milli-seconds; usually this is set to the max estimated time takes the CICS program to finish and come back to the inoker;
Throws:
CicsClientException

setTPTimeout

public void setTPTimeout(int timeout)
                  throws CicsClientException
SBYND CICS Listener specific; Setter for TP Timeout - CicsClient TPTimeout

Specified by:
setTPTimeout in interface CicsClient
Overrides:
setTPTimeout in class CicsClientImpl
Parameters:
timeout - - the timeout value in milli-seconds; usually this is set to the max estimated time takes the CICS program to finish and come back to the inoker;
Throws:
CicsClientException

getListenerTimeout

public int getListenerTimeout()
                       throws CicsClientException
SBYND CICS Listener specific; Getter for Listener time out - CicsClient ListenerTimeout initial value is from configuration parameter Listener Timeout in section "SeeBeyond CICS Listener";

Specified by:
getListenerTimeout in interface CicsClient
Overrides:
getListenerTimeout in class CicsClientImpl
Returns:
the timeout value in milli-seconds; usually this is set to the time that the SBYND listener will wait for program invoking request from the eway before it close the connection;
Throws:
CicsClientException

setListenerTimeout

public void setListenerTimeout(int timeout)
                        throws CicsClientException
SBYND CICS Listener specific; Setter for Listener Timeout - CicsClient ListenerTimeout

Specified by:
setListenerTimeout in interface CicsClient
Overrides:
setListenerTimeout in class CicsClientImpl
Parameters:
timeout - - the time that the SBYND listener will wait for program invoking request from the eway before it close the connection;
Throws:
CicsClientException

getPollingRate

public int getPollingRate()
                   throws CicsClientException
SBYND CICS Listener specific; Getter for Listener Polling Rate - CicsClient PollingRate initial value is from configuration parameter Polling Rate in section "SeeBeyond CICS Listener";

Specified by:
getPollingRate in interface CicsClient
Overrides:
getPollingRate in class CicsClientImpl
Returns:
a 1-255 value used by listener internally;
Throws:
CicsClientException

setPollingRate

public void setPollingRate(int rate)
                    throws CicsClientException
SBYND CICS Listener specific; Setter for Polling Rate - CicsClient PollingRate

Specified by:
setPollingRate in interface CicsClient
Overrides:
setPollingRate in class CicsClientImpl
Parameters:
rate - - a 1-255 value used by listener internally;
Throws:
CicsClientException

getTransportTimeout

public int getTransportTimeout()
                        throws CicsClientException
SBYND CICS Listener specific; Getter for TransportTimeout - CicsClient TransportTimeout initial value is from configuration parameter Transport Timeout in section "SeeBeyond CICS Listener";

Specified by:
getTransportTimeout in interface CicsClient
Overrides:
getTransportTimeout in class CicsClientImpl
Returns:
time in milli-seconds used to timeout a blocking read on a socket between the eway and the listener;
Throws:
CicsClientException

setTransportTimeout

public void setTransportTimeout(int timeout)
                         throws CicsClientException
SBYND CICS Listener specific; Setter for Transport Timeout - CicsClient TransportTimeout

Specified by:
setTransportTimeout in interface CicsClient
Overrides:
setTransportTimeout in class CicsClientImpl
Parameters:
timeout - - time in milli-seconds used to timeout a blocking read on a socket between the eway and the listener;
Throws:
CicsClientException

getStartType

public java.lang.String getStartType()
                              throws CicsClientException
SBYND CICS Listener specific; Getter for Startup type - CicsClient StartType initial value is from configuration parameter Start Type in section "SeeBeyond CICS Listener";

Specified by:
getStartType in interface CicsClient
Overrides:
getStartType in class CicsClientImpl
Returns:
startup type for IBM CICS Listener - possible values "IC" or "TD";
Throws:
CicsClientException

setStartType

public void setStartType(java.lang.String starttype)
                  throws CicsClientException
SBYND CICS Listener specific; Setter for Startup delay - CicsClient StartType

Specified by:
setStartType in interface CicsClient
Overrides:
setStartType in class CicsClientImpl
Parameters:
starttype - - the Startup type value either "IC" or "TD" used by IBM CICS Listener to decide how the SBYND Listener will be waked up;
Throws:
CicsClientException

getStartDelay

public java.lang.String getStartDelay()
                               throws CicsClientException
SBYND CICS Listener specific; Getter for Startup delay - CicsClient StartDelay initial value is from configuration parameter Start Delay in section "SeeBeyond CICS Listener";

Specified by:
getStartDelay in interface CicsClient
Overrides:
getStartDelay in class CicsClientImpl
Returns:
IBM CICS Listener needed parameter Startup delay a string in the format of HHMMSS - indicating the time elapsed before the STCL (SBYND CICS Listener be waked up);
Throws:
CicsClientException

setStartDelay

public void setStartDelay(java.lang.String startdelay)
                   throws CicsClientException
SBYND CICS Listener specific; Setter for Startup delay - CicsClient StartDelay

Specified by:
setStartDelay in interface CicsClient
Overrides:
setStartDelay in class CicsClientImpl
Parameters:
startdelay - - the delay value in the format of HHMMSS used by IBM CICS Listener to delay the wake up of SBYND listener, the default value is "000000";
Throws:
CicsClientException

getPaddingCharacter

public java.lang.String getPaddingCharacter()
                                     throws CicsClientException
SBYND CICS Listener specific; Getter for padding character - CicsClient PaddingCharacter initial value is from configuration parameter COMMAREA Padding Character in section "SeeBeyond CICS Listener";

Specified by:
getPaddingCharacter in interface CicsClient
Overrides:
getPaddingCharacter in class CicsClientImpl
Returns:
the EBCDIC code for the character used by the SBYND listener to pad the COMMAREA at the CICS server when the actual length of the payload in the COMMAREA is shorter than the length given by CommAreaLength; the default is hexdecimal 40 - EBCDIC space;
Throws:
CicsClientException

setPaddingCharacter

public void setPaddingCharacter(java.lang.String padcharhex)
                         throws CicsClientException
SBYND CICS Listener specific; Setter for padding character - CicsClient PaddingCharacter

Specified by:
setPaddingCharacter in interface CicsClient
Overrides:
setPaddingCharacter in class CicsClientImpl
Parameters:
padcharhex - the EBCDIC code for the character used by the SBYND listener to pad the COMMAREA at the CICS server when the actual length of the payload in the COMMAREA is shorter than the length given by CommAreaLength; the default is hexdecimal 40 - EBCDIC space;
Throws:
CicsClientException

Sun Adapter for CICS API