The InsuranceSvcRqCreate Class


//: InsuranceSvcRqCreate.java

package com.owensum.everest.xml;

import java.text.*;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

import org.w3c.dom.*;
import org.apache.xml.serialize.OutputFormat;

/** 
 * This class creates various Insurance service requests.  
 *
 * @author Jeng Shih
 * @version 1.0
 */

public class InsuranceSvcRqCreate {

    public final static String TAG_CARRIER_INFO_INQ_RQ              = "CarrierInfoInqRq";
    public final static String TAG_EPLI_FACTORS_INQ_RQ              = "EPLIFactorsInqRq";

    private User           _user;
    private Document       _doc;
    private Vector         _reqs;
    private Vector         _reqObjs;
    private static Vector  _allReqs;

    static {

	_allReqs = new Vector();

	_allReqs.add( TAG_CARRIER_INFO_INQ_RQ );
	_allReqs.add( TAG_EPLI_FACTORS_INQ_RQ );

    }

    public InsuranceSvcRqCreate( Vector reqs )
    {
	_reqs = reqs;

	try {
	    com.owensum.shared.PropertyKeys.setupProperties( "/home/jshih/tomcat/properties/everest_dev.properties" );
	}
	catch ( Exception e ) {
	    e.printStackTrace( System.err );
	    System.exit(1);
	}

	User user = null;
	try {
	    Sessions.service().setProject( EverestTOPLinkProject.getProject() );
	    user = UserAccess.service().getUser( "CLIENT", "USER" );
	}
	catch (Throwable e) {
	    e.printStackTrace( System.err );
	    System.exit(1);
	}

	_user   = user;

	try {
	    _doc = (Document) Class.forName( XMLService.CLASS_NAME_DOCUMENT ).newInstance();
	}
	catch (Exception e) {
	    e.printStackTrace( System.err );
	    System.exit(1);
	}

	_reqObjs = createReqObjs( _reqs );
    }

    public Vector createReqObjs( Vector reqs )
    {
	Vector reqObjs = new Vector();

	for (Iterator iter = reqs.iterator(); iter.hasNext(); ) {
	    String req = (String) iter.next();

	    if ( req.equals( TAG_CARRIER_INFO_INQ_RQ ) )
		reqObjs.add( new CarrierInfoInqRq() );
	    if ( req.equals( TAG_EPLI_FACTORS_INQ_RQ ) )
		reqObjs.add( new EPLIFactorsInqRq() );
		...
	}
	return reqObjs;
    }

    public Document getXMLDocument() {
	return _doc;
    }

    public static Vector getAllReqs()
    {
	return _allReqs;
    }

    public Vector getReqs()
    {
	return _reqs;
    }

    public Vector getReqObjs()
    {
	return _reqObjs;
    }

    public boolean inputRequired()
    {
	for ( Iterator iter = _reqObjs.iterator(); iter.hasNext(); ) {
	    SvcRq reqObj = (SvcRq) iter.next();
	    if ( reqObj.inputRequired() ) {
		return true;
	    }
	}

	return false;
    }

    public void printInputHTML( PrintWriter pw )
    {
	for ( Iterator iter = _reqObjs.iterator(); iter.hasNext(); ) {
	    SvcRq reqObj = (SvcRq) iter.next();
	    if ( reqObj.inputRequired() ) reqObj.printInputHTML( pw );
	}
    }

    public void getInputParams( HttpServletRequest req )
    {
	for ( Iterator iter = _reqObjs.iterator(); iter.hasNext(); ) {
	    SvcRq reqObj = (SvcRq) iter.next();
	    if ( reqObj.inputRequired() ) reqObj.getInputParams( req );
	}
    }

    public Node create( ) throws Exception
    {
	_doc.appendChild( createRoot() );
	
	return _doc;
    }

    public Node createRoot() throws Exception
    {
	Element node = _doc.createElement( XMLUtil.NODE_IFX );

	node.appendChild( new SignonRq().create() );
	
	node.appendChild( new InsuranceSvcRq().create() );
	
	node.appendChild( new SignoffRq().create() );
	
	return node;
    }

    /**********************************************
     *
     *   SvcRq
     *
     *********************************************/
    abstract class SvcRq
    {
	protected boolean xinput;

	public SvcRq() {
	    xinput = false;
	}

	abstract public Node create() throws Exception;

	public boolean inputRequired()
	{
	    return xinput;
	}

	public void printInputHTML( PrintWriter pw )
	{
	}

	public void getInputParams( HttpServletRequest req )
	{
	}
    }

    /**********************************************
     *
     *    CarrierInfoInqRq
     *
     *********************************************/
    class CarrierInfoInqRq extends SvcRq
    {
	private final static String TAG_CARRIER_INFO_LOB_CODE = "CarrierInfoLOBCode";
	private String _lobCode;
	private final static String TAG_CARRIER_INFO_STATE_ABBREV    = "CarrierInfoStateAbbrev";
	private String _stateAbbrev;
	private final static String TAG_CARRIER_INFO_AGENT_CODE    = "CarrierInfoAgentCode";
	private String _agentCode;

	public CarrierInfoInqRq()
	{
	    xinput = true;
	}

	public Node create() throws Exception
	{
	    Element parent = _doc.createElement( TAG_CARRIER_INFO_INQ_RQ );
	    Element child = null, child1 = null;
	    
	    child = _doc.createElement( XMLUtil.NODE_LINE_OF_BUSINESS );
	    parent.appendChild( child );

	       child1 = _doc.createElement( XMLUtil.NODE_CODE );
	       child1.appendChild( _doc.createTextNode( _lobCode ) );
	       child.appendChild( child1 );

	    child = _doc.createElement( XMLUtil.NODE_STATE );
	    parent.appendChild( child );

	       child1 = _doc.createElement( XMLUtil.NODE_ABBREVIATION );
	       child1.appendChild( _doc.createTextNode( _stateAbbrev ) );
	       child.appendChild( child1 );

	    parent.appendChild( createProducer() );

	    return parent;
	}

	public Node createProducer() throws Exception
	{
	    Element node, node1, node2;

	    node = _doc.createElement( XMLUtil.NODE_PRODUCER );
	    
	    node1 = _doc.createElement( XMLUtil.NODE_ITEM_ID_INFO );
	    
	    node2 = _doc.createElement( XMLUtil.NODE_ITEM_ID );
	    node2.appendChild( _doc.createTextNode( _agentCode ) );
	    node1.appendChild( node2 );

	    node2 = _doc.createElement( XMLUtil.NODE_ITEM_ID_TYPE );
	    node2.appendChild( _doc.createTextNode( XMLUtil.CL_TYPE_OF_ID_AGENCY_ID ) );
	    node1.appendChild( node2 );

	    node.appendChild( node1 );

	    return node;
	}

 	public void printInputHTML( PrintWriter pw )
	{
	    pw.println( "Please provide the following info for " + TAG_CARRIER_INFO_INQ_RQ + ":" );
	    pw.println( "

" ); pw.println( "" ); pw.println( "" ); pw.println( "" ); pw.println( "" ); pw.println( "" ); pw.println( "" ); pw.println( "" ); pw.println( "
" ); pw.println( "Line of Business: " ); pw.println( "" ); pw.println( "" ); pw.println( "
" ); pw.println( "State: " ); pw.println( "" ); pw.println( "" ); pw.println( "
" ); pw.println( "Agent Code: " ); pw.println( "" ); pw.println( "" ); pw.println( "
" ); pw.println( "


" ); } public void getInputParams( HttpServletRequest req ) { _lobCode = req.getParameter( TAG_CARRIER_INFO_LOB_CODE ); _stateAbbrev = req.getParameter( TAG_CARRIER_INFO_STATE_ABBREV ); _agentCode = req.getParameter( TAG_CARRIER_INFO_AGENT_CODE ); } } /********************************************** * * EPLIFactorsInqRq * *********************************************/ class EPLIFactorsInqRq extends SvcRq { public EPLIFactorsInqRq() { super(); } public Node create() throws Exception { Element parent = _doc.createElement( TAG_EPLI_FACTORS_INQ_RQ ); return parent; } } . . . /********************************************** * * InsuranceSvcRq * *********************************************/ class InsuranceSvcRq extends SvcRq { public InsuranceSvcRq() { super(); } public Node create() throws Exception { Element node = _doc.createElement( XMLUtil.NODE_INSURANCE_SERVICE_REQ ); for (Iterator iter = _reqObjs.iterator(); iter.hasNext(); ) { SvcRq reqObj = (SvcRq) iter.next(); node.appendChild( reqObj.create() ); } return node; } } /********************************************** * * SignonRq * *********************************************/ class SignonRq extends SvcRq { public SignonRq() { super(); } public Node create() throws Exception { Element node, child, child1, child2; node = _doc.createElement( XMLUtil.NODE_SIGNON_REQ ); child = _doc.createElement( XMLUtil.NODE_SIGNON_PSWD ); node.appendChild( child ); child1 = _doc.createElement( XMLUtil.NODE_CUST_ID ); child.appendChild( child1 ); child2 = _doc.createElement( XMLUtil.NODE_SP_NAME ); child1.appendChild( child2 ); child2 = _doc.createElement( XMLUtil.NODE_CUST_LOGIN_ID ); String text = _user.getClient().getId() + "|" + _user.getId(); child2.appendChild( _doc.createTextNode( text ) ); child1.appendChild( child2 ); child1 = _doc.createElement( XMLUtil.NODE_CUST_PSWD ); child.appendChild( child1 ); child2 = _doc.createElement( XMLUtil.NODE_CRYPT_TYPE ); child2.appendChild( _doc.createTextNode( "NONE" ) ); child1.appendChild( child2 ); child2 = _doc.createElement( XMLUtil.NODE_PSWD ); child2.appendChild( _doc.createTextNode( "PASSWORD" ) ); child1.appendChild( child2 ); return node; } } /********************************************** * * SignoffRq * *********************************************/ class SignoffRq extends SvcRq { public SignoffRq() { super(); } public Node create() throws Exception { Element node, child, child1; node = _doc.createElement( XMLUtil.NODE_SIGNOFF_REQ ); child = _doc.createElement( XMLUtil.NODE_CUST_ID ); node.appendChild( child ); child1 = _doc.createElement( XMLUtil.NODE_SP_NAME ); child.appendChild( child1 ); child1 = _doc.createElement( XMLUtil.NODE_CUST_LOGIN_ID ); String text = _user.getClient().getId() + "|" + _user.getId(); child1.appendChild( _doc.createTextNode( text ) ); child.appendChild( child1 ); return node; } } }

Previous | Next | Contents