Importing an SNA Custom Handshake Class

Sample Code for Inbound Mode:


package com.stc.connector.snalu62.api;

import com.stc.connector.logging.LogFactory;
import com.stc.connector.logging.Logger;

import com.stc.connector.snalu62.exception.SNAApplicationException;

/*
 * This is a sample class to implement the interface SNACustomerHandshake.
 * It implements a simple Accept_Conversation scenario for windows platform.
*/
public class SNACustomerHandshakeImplSampleAccept implements SNACustomerHandshake {
    public static final String version = "cvs $Revision: 1.1.2.1.2.2 $   
$Date: 2005/11/10 21:40:15 $";
    private Logger logger = LogFactory.getLogger("STC.eWay.SNALU62.
" + getClass().getName());
    private String logMsg;

    /**
     * Constructor
     *
     */
    public SNACustomerHandshakeImplSampleAccept() {
        super();
    }
    /**
     * @see com.stc.connector.snalu62.api.SNACustomerHandshake#startConversation
(com.stc.connector.snalu62.api.SNACPICCalls)
     */
    public void startConversation(SNACPICCalls cpic) throws SNAApplicationException {
        try {
            //do whatever checking logics before/after the following CPIC call
 on your desires
            cpic.cmsltp();

            //do whatever checking logics before/after the following CPIC call
 on your desires
            cpic.cmaccp();
            if (!cpic.getConversationAttributes().returnCodeIs(0) &&   // 0: CM_OK
                !cpic.getConversationAttributes().returnCodeIs(35)) 
{  //35: CM_OPERATION_INCOMPLETE
                logMsg = "SNACustomerHandshakeImplSampleAccept.startConversation():
The return code is <"
                    + cpic.getConversationAttributes().getReturnCode()
                    + ">.";
                logger.error(logMsg);
                throw new SNAApplicationException(logMsg);
            }

            if (cpic.getConversationAttributes().returnCodeIs(35)) 
{  //35: CM_OPERATION_INCOMPLETE
                logger.info("SNACustomerHandshakeImplSampleAccept.startConversation(): 
About to call cmwait ...");
                //do whatever checking logics before/after the following CPIC call
 on your desires
                cpic.cmwait();
            }

            if (!cpic.getConversationAttributes().returnCodeIs(0) ||
                !cpic.getConversationAttributes().convReturnCodeIs(0)) { // 0: CM_OK
                logMsg = "SNACustomerHandshakeImplSampleAccept.startConversation(): 
The return_Code is <"
                    + cpic.getConversationAttributes().getReturnCode()
                    + "> and the conversation_Return_Code is <"
                    + cpic.getConversationAttributes().getConvReturnCode()
                    + ">. SNA conversation is not established.";
                logger.error(logMsg);
                throw new SNAApplicationException(logMsg);
            }

            //do whatever other logics on your desires here
            //...
        } catch (Exception e) {
            logMsg = "SNACustomerHandshakeImplSampleAccept.startConversation(): 
Failed. Got exception ["
                + e.toString()
                + "].";
            logger.error(logMsg, e);
            throw new SNAApplicationException(logMsg, e);
        }

    }

}