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( "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( " |