import java.sql.*;
import java.util.*;
import javax.sql.*;
import javax.naming.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class CheckEligibility{

private static Document toDocument(Vector vecCampDetail) throws
						ParserConfigurationException,ParserConfigurationException, SQLException
{
	System.out.println("First Statement of create document" );

	DocumentBuilderFactory factory = null;
	DocumentBuilder builder =null;
	Document doc = null;
	try{

			factory = DocumentBuilderFactory.newInstance();
			builder =factory.newDocumentBuilder();
			doc = builder.newDocument();
			Element node      =null;

			Element results = doc.createElement("Results");
			doc.appendChild(results);
			System.out.println("Creating Document");
			String columnName = "";
			String value      = "";

			Element row = doc.createElement("Row");
			results.appendChild(row);

			columnName = "cCheck_Flag_OUT";
			value      = (String)vecCampDetail.elementAt(0);
			node      = doc.createElement(columnName);
			node.appendChild(doc.createTextNode(value.trim()));
			row.appendChild(node);

			columnName = "mCampCode_OUT";
			value      = (String)vecCampDetail.elementAt(1);
			node      = doc.createElement(columnName);
			node.appendChild(doc.createTextNode(value.trim()));
			row.appendChild(node);

			columnName = "mCommSeg_OUT";
			value      = (String)vecCampDetail.elementAt(2);
			node      = doc.createElement(columnName);
			node.appendChild(doc.createTextNode(value.trim()));
			row.appendChild(node);


			columnName = "iCustKey_OUT";
			value      = (String)vecCampDetail.elementAt(3);
			node      = doc.createElement(columnName);
			node.appendChild(doc.createTextNode(value.trim()));
			row.appendChild(node);

			columnName = "szSolicitProd_OUT";
			value      = (String)vecCampDetail.elementAt(4);
			node      = doc.createElement(columnName);
			node.appendChild(doc.createTextNode(value.trim()));
			row.appendChild(node);

		}catch(Exception E)
		{
			System.out.println("Document created" + E.toString());
		}
		return doc;
	}



  public Document CheckOne(String szCardNo,String szAccountNo,String szProduct)
  {
	DocumentBuilderFactory factory =null;
	Document doc = null;
	DocumentBuilder builder =null;
	Connection connect=null ;
	Statement stateM=null ;
	DataSource dataS=null;
	Vector vecCampDetail=null;
	try{
		factory = DocumentBuilderFactory.newInstance();
		builder =factory.newDocumentBuilder();
		doc = builder.newDocument();
		System.out.println("before executing query" );
		DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
		Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","xyz","xyz");
		CallableStatement cState=null ;

		String s2sQuery="";
		if (conn !=null)
		{
			s2sQuery="{call  Get_Campaign_Eligibility (?,?,?,?,?,?,?,?)}";


			cState = connect.prepareCall(s2sQuery);

			cState.setString(1,szCardNo);
			cState.setString(2,szAccountNo);
			cState.setString(3,szProduct);

			cState.registerOutParameter(4,Types.VARCHAR);
			cState.registerOutParameter(5,Types.VARCHAR);
			cState.registerOutParameter(6,Types.VARCHAR);
			cState.registerOutParameter(7,Types.VARCHAR);
			cState.registerOutParameter(8,Types.VARCHAR);

			cState.execute ();

			vecCampDetail.addElement(cState.getString(4)!=null?cState.getString(4):"N");
			vecCampDetail.addElement(cState.getString(5)!=null?cState.getString(5):" ");
			vecCampDetail.addElement(cState.getString(6)!=null?cState.getString(6):" ");
			vecCampDetail.addElement(cState.getString(7)!=null?cState.getString(7):" ");
			vecCampDetail.addElement(cState.getString(8)!=null?cState.getString(8):" ");


		}
		else
			System.out.print("Connection is null");

		System.out.println("After executing Procedure" );
		doc=toDocument(vecCampDetail);
	}
	catch(Exception E)
	{
		System.out.println("Error during document Creation" + E.toString());
	}
  	return doc;
  }

}