Commit 532024f7 authored by steurwadkar's avatar steurwadkar

Wavegen Wizard Check-in by Santosh


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104009 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 3c3f0dd0
package ibase.webitm.bean.wms;
import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.wms.WavegenWizPosRemote;
import ibase.webitm.utility.ITMException;
import java.io.File;
import javax.naming.InitialContext;
public class WavegenWizBean
{
E12GenericUtility genericUtility = new E12GenericUtility();
private String objName = "";
private String user_lang ="en";
private String user_country = "US";
public WavegenWizBean(String objName) throws ITMException
{
try
{
this.objName = objName;
}
catch (Exception e)
{
throw new ITMException(e);
}
}
public WavegenWizBean() {
}
public String previousForm( String formNo, String xmlData ) throws ITMException
{
String retHtmlData = null;
try
{
System.out.println("In Method : [previousForm]");
System.out.println("xmlString : ["+ xmlData +"]");
String xslFileName = getXSLFileName( this.objName + formNo + "_wiz_" + this.user_lang + "_" + this.user_country + "_" + "A" + ".xsl" );
retHtmlData = (genericUtility).transformToString( xslFileName, xmlData, CommonConstants.APPLICATION_CONTEXT + File.separator + "temp", "Output", ".html" );
}
catch (Exception e)
{
throw new ITMException(e);
}
return retHtmlData;
}
public String getSummaryData()
{
String retHTMLStr = "", xmlDataStr = "";
WavegenWizPosRemote wavegenWizPosRemote = null;
try
{
InitialContext ctx = new InitialContext( new AppConnectParm().getProperty() );
wavegenWizPosRemote = (ibase.webitm.ejb.wms.WavegenWizPosRemote) ctx.lookup("ibase/WavegenWizPos/remote");
xmlDataStr = wavegenWizPosRemote.getSummaryData();
String xslFileName = getXSLFileName( "wavegen_wiz_SummaryPage_wiz_" + this.user_lang + "_" + this.user_country + "_A.xsl" );
retHTMLStr = (ibase.webitm.utility.GenericUtility.getInstance()).transformToString( xslFileName, xmlDataStr, CommonConstants.APPLICATION_CONTEXT + File.separator + "temp", "Output", ".html" );
}
catch(Exception e)
{
System.out.println("WavegenWizBean.getSummaryData()");
e.printStackTrace();
}
return retHTMLStr;
}
private String getXSLFileName( String xslFileName )throws ITMException
{
String retFileName = null;
try
{
String defaultPath = null;
if( CommonConstants.APPLICATION_CONTEXT != null )
{
defaultPath = CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator;
}
else
{
defaultPath = ".." + File.separator + "webapps" + File.separator + "ibase" + File.separator + CommonConstants.ITM_CONTEXT + File.separator;
}
File xslPath = new File( defaultPath + File.separator + "xsl" + File.separator + CommonConstants.THEME + File.separator + "WIZARD"+ File.separator + "Galaxy");
if ( !xslPath.exists() )
{
xslPath.mkdir();
}
System.out.println( " xslPath [" + xslPath +"] xslFileName ["+xslFileName +"]");
File xslFile = new File(xslPath , xslFileName);
if( xslFile.exists() )
{
retFileName = xslFile.getAbsolutePath();
}
else
{
throw new ITMException( new Exception( retFileName + " Wizard XSL file Not Found") );
}
}
catch (Exception e)
{
throw new ITMException(e);
}
return retFileName;
}
}
This diff is collapsed.
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.util.HashMap;
import org.w3c.dom.Document;
@javax.ejb.Local
public interface WavegenWizEJBLocal extends ValidatorLocal
{
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException;
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext,String editFlag, String xtraParams) throws RemoteException, ITMException;
public String wfValData(Document currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
public String handleRequest(HashMap<String, String> reqParamMap);
}
package ibase.webitm.ejb.wms;
import java.rmi.RemoteException;
import java.util.HashMap;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
@javax.ejb.Remote
public interface WavegenWizEJBRemote extends ValidatorRemote
{
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException;
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext,String editFlag, String xtraParams) throws RemoteException, ITMException;
public String wfValData(Document currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext,String editFlag, String xtraParams) throws RemoteException, ITMException;
public String handleRequest(HashMap<String,String> reqParamMap);
}
package ibase.webitm.ejb.wms;
import ibase.system.config.AppConnectParm;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.naming.InitialContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@javax.ejb.Stateless
public class WavegenWizPos extends ValidatorEJB implements WavegenWizPosLocal, WavegenWizPosRemote
{
String waveID = "";
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException
{
String retString="";
try
{
System.out.println("xmlStringAll["+xmlStringAll+"]");
System.out.println("dcrId["+dcrId+"]");
System.out.println("editFlag["+editFlag+"]");
retString = generateWaveTask(xmlStringAll,xtraParams,conn);
System.out.println("retString from generateWaveTask["+retString+"]");
}
catch(Exception e)
{
System.out.println("WavegenWizPos.postSave()");
e.printStackTrace();
}
return retString;
}
public String generateWaveTask(String xmlStringAll, String xtraParmas, Connection conn)
{
String retString="", headerXMLStr = "", detailXMLStr = "", nodeName = "";
Document allXMLDom = null;
StringBuffer headerStrBuff = new StringBuffer();
StringBuffer detailStrBuff = new StringBuffer();
InitialContext ctx = null;
WaveGenerationPrcRemote waveGenerationPrcRemote = null;
try
{
System.out.println("*****************WavegenWizPos Post Save Started**************************");
E12GenericUtility e12GeneticUitlity = new E12GenericUtility();
allXMLDom = e12GeneticUitlity.parseString(xmlStringAll);
System.out.println("headerXML creating started");
headerStrBuff.append("<DocumentRoot><description>Datawindow Root</description><group0><description>Group0 description</description><Header0>");
headerStrBuff.append("<description>Header0 members</description><Detail1 dbID='1' domID='1' objContext='1' objName='wavegen'><attribute pkNames='' selected='N' status='N' updateFlag='A' />");
NodeList detail1NodeList = allXMLDom.getElementsByTagName("Detail1");
int detail1NodeListLen = detail1NodeList.getLength();
for(int i=0; i<detail1NodeListLen; i++)
{
NodeList eachDetail1NodeList = detail1NodeList.item(0).getChildNodes();
for(int j=0; j<eachDetail1NodeList.getLength();j++)
{
Node eachDetail1Element = eachDetail1NodeList.item(j);
nodeName = eachDetail1Element.getNodeName();
if(!"#text".equalsIgnoreCase(nodeName) && !"attribute".equals(nodeName))
{
headerStrBuff.append("<"+nodeName+"><![CDATA["+eachDetail1Element.getTextContent()+"]]></"+nodeName+">");
}
}
}
headerStrBuff.append("</Detail1></Header0></group0></DocumentRoot>");
System.out.println("headerXML creating completed");
System.out.println("headerStrBuff.toString["+headerStrBuff.toString()+"]");
System.out.println("detailXML creating started");
detailStrBuff.append("<DocumentRoot><description>Datawindow Root</description><group0><description>Group0 description</description><Header0><description>Header0 members</description>");
NodeList detail2NodeList = allXMLDom.getElementsByTagName("Detail2");
int detail2NodeListLen = detail2NodeList.getLength();
for(int i=0; i<detail2NodeListLen; i++)
{
Node eachDetail2 = detail2NodeList.item(i);
String domID = eachDetail2.getAttributes().getNamedItem("domID").getFirstChild().getNodeValue();
detailStrBuff.append("<Detail2 dbID='"+domID+"' domID='"+domID+"' objContext='2' objName='wavegen' >");
detailStrBuff.append("<attribute pkNames='' selected='Y' status='' updateFlag='' />");
NodeList eachDetail2NodeList = eachDetail2.getChildNodes();
for(int j=0; j<eachDetail2NodeList.getLength();j++)
{
Node eachDetail2Element = eachDetail2NodeList.item(j);
nodeName = eachDetail2Element.getNodeName();
if(!"#text".equalsIgnoreCase(nodeName) && !"attribute".equals(nodeName))
{
detailStrBuff.append("<"+nodeName+"><![CDATA["+eachDetail2Element.getTextContent()+"]]></"+nodeName+">");
}
}
detailStrBuff.append(" </Detail2>");
}
detailStrBuff.append("</Header0></group0></DocumentRoot>");
System.out.println("detailXML creating completed");
System.out.println("detailStrBuff.toString["+detailStrBuff.toString()+"]");
headerXMLStr = headerStrBuff.toString();
detailXMLStr = detailStrBuff.toString();
ctx=getInitialContext();
waveGenerationPrcRemote = (ibase.webitm.ejb.wms.WaveGenerationPrcRemote) ctx.lookup("ibase/WaveGenerationPrc/remote");
retString = waveGenerationPrcRemote.process(headerXMLStr, detailXMLStr, "wavegen", xtraParmas);
System.out.println("********retString["+retString+"]***********");
if(retString != null && retString.trim().length()>0)
{
if(retString.indexOf("VTCOMPL")!=-1)
{
waveID = retString.substring(retString.indexOf("[")+1,retString.indexOf("]"));
retString = "Wave Task Generated Successfully!";
System.out.println("::::::Generated WaveID["+waveID+"]");
}
}
System.out.println("*****************WavegenWizPos Post Save Ended**************************");
}
catch(Exception e)
{
System.out.println("WavegenWizPos.generateWaveTask()");
e.printStackTrace();
}
return retString;
}
public String getSummaryData()
{
String retXMLStr = "",sql = "";
Connection conn=null;
PreparedStatement pstmt = null;
ResultSet rs = null;
StringBuffer summaryStrBuff = new StringBuffer();
int domID = 0;
boolean isError = false, isTaskGenerated = false;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
try
{
if(waveID.trim().length()>0 && waveID!=null)
{
conn = getConnection();
summaryStrBuff.append("<root>");
sql = " SELECT WAVE_TASK_DET.WAVE_ID,WAVE_TASK_DET.LINE_NO,WAVE_TASK_DET.REF_SER,WAVE_TASK_DET.REF_ID,WAVE_TASK_DET.STATUS,"
+ " WAVE_TASK_DET.PTCN,WAVE_TASK_DET.SALE_ORDER,WAVE_SEQ.PRIORITY,FN_WAVE_DESCRIPTION(WAVE_TASK_DET.REF_SER,WAVE_TASK_DET.REF_ID,"
+ " WAVE_TASK_DET.PTCN) AS DESCR,CASE WHEN WAVE_STATUS = 'C' THEN 'CREATED' WHEN WAVE_STATUS = 'V' THEN 'VERIFIED'"
+ " WHEN WAVE_STATUS = 'W' THEN 'HELD' WHEN WAVE_STATUS = 'D' THEN 'DEALLOCATED' ELSE ' ' END WAVE_STATUS"
+ " FROM WAVE_TASK_DET WAVE_TASK_DET,WAVE_SEQ WAVE_SEQ WHERE ( WAVE_TASK_DET.REF_SER=WAVE_SEQ.REF_SER(+)) AND"
+ " WAVE_TASK_DET.WAVE_ID = ? ORDER BY WAVE_SEQ.PRIORITY ASC";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, waveID);
rs=pstmt.executeQuery();
while(rs.next())
{
isTaskGenerated = true;
summaryStrBuff.append("<summaryData domID='"+(++domID)+"'>");
summaryStrBuff.append("<wave_id><![CDATA["+checkNull(rs.getString("WAVE_ID"))+"]]></wave_id>");
summaryStrBuff.append("<line_no><![CDATA["+checkNull(rs.getString("LINE_NO"))+"]]></line_no>");
summaryStrBuff.append("<ref_ser><![CDATA["+checkNull(rs.getString("REF_SER"))+"]]></ref_ser>");
summaryStrBuff.append("<ref_id><![CDATA["+checkNull(rs.getString("REF_ID"))+"]]></ref_id>");
summaryStrBuff.append("<status><![CDATA["+checkNull(rs.getString("STATUS"))+"]]></status>");
summaryStrBuff.append("<ptcn><![CDATA["+checkNull(rs.getString("PTCN"))+"]]></ptcn>");
summaryStrBuff.append("<sale_order><![CDATA["+checkNull(rs.getString("SALE_ORDER"))+"]]></sale_order>");
summaryStrBuff.append("<descr><![CDATA["+checkNull(rs.getString("DESCR"))+"]]></descr>");
summaryStrBuff.append("<wave_status><![CDATA["+checkNull(rs.getString("WAVE_STATUS"))+"]]></wave_status>");
summaryStrBuff.append("</summaryData>");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
summaryStrBuff.append("</root>");
}
retXMLStr = summaryStrBuff.toString();
if(!isTaskGenerated)
{
retXMLStr = itmDBAccessEJB.getErrorString("","VTWATSKE","","",conn);
}
System.out.println("SummaryData retXMLStr["+retXMLStr+"]");
}
catch(Exception e)
{
System.out.println("WavegenWizPos.getSummaryData()"+e.getMessage());
e.printStackTrace();
isError = true;
}
finally
{
try
{
if(isError)
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
if(!conn.isClosed() && conn!=null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
System.out.println("WavegenWizPos.getSummaryData():finally Block:"+e.getMessage());
e.printStackTrace();
}
}
return retXMLStr;
}
public InitialContext getInitialContext()throws ITMException
{
InitialContext ctx = null;
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
}
catch(ITMException itme)
{
System.out.println("WavegenWizPos.getInitialContext()");
throw itme;
}
catch(Exception e)
{
System.out.println("WavegenWizPos.getInitialContext()"+e.getMessage());
throw new ITMException(e);
}
return ctx;
}
private static String checkNull(String input)
{
if (input==null)
{
input="";
}
return input;
}
}
package ibase.webitm.ejb.wms;
import java.rmi.RemoteException;
import java.sql.Connection;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@javax.ejb.Local
public interface WavegenWizPosLocal extends ValidatorLocal
{
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException;
public String getSummaryData();
}
package ibase.webitm.ejb.wms;
import java.rmi.RemoteException;
import java.sql.Connection;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@javax.ejb.Remote
public interface WavegenWizPosRemote extends ValidatorLocal
{
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException;
public String getSummaryData();
}
package ibase.webitm.servlet.wms;
import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants;
import ibase.webitm.ejb.wms.WavegenWizEJBRemote;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.zip.GZIPOutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Messages;
public class WavegenWizServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
InitialContext ctx = null;
public WavegenWizServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost( request, response );
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
System.out.println("XXXXXXXXXXXXXXXXXXXXXX[ WavegenWizServlet START]XXXXXXXXXXXXXXXXXXXX");
request.setCharacterEncoding(CommonConstants.ENCODING);
String action = "", responseXML = "", htmlData = "";
WavegenWizEJBRemote wavegenWizRemote = null;
try
{
action = request.getParameter("action");
System.out.println("WavegenWizServlet ACTION ["+action+"]");
if("previous".equalsIgnoreCase(action))
{
ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )request.getSession().getAttribute( "USER_INFO" );
if(userInfo != null)
{
String objName = request.getParameter("OBJ_NAME");
String formNo = request.getParameter("FORM_NO");
String PRE_FORM_VAL = request.getParameter("PRE_FORM_VAL");
System.out.println("OBJ_NAME["+objName+"]");
System.out.println("FORMNO["+formNo+"]");
System.out.println("PRE_FORM_VAL["+PRE_FORM_VAL+"]");
String editorId = (String) request.getSession().getAttribute( "WIZARD_BEAN_ID_" + objName );
System.out.println( " WavegenWizServlet :: editorId["+editorId+"]" );
if ( request.getSession().getAttribute( "WIZARD_BEAN_" + editorId ) != null )
{
System.out.println(" wizard object found....");
request.getSession().removeAttribute( "WIZARD_BEAN_" + objName );
request.getRequestDispatcher("/webitm/jsp/WavegenWiz.jsp").forward(request, response);
}
}
else
{
htmlData = Messages.getString("ITMWizardHandlerServlet_notLoggedIn")+"\n"+Messages.getString("ITMWizardHandlerServlet_pleaseReLogin");
System.out.println("htmlData ["+htmlData+"]");
}
}
else if("SAVE_DETAIL_DATA".equalsIgnoreCase(action))
{
String prevHTMLData = request.getParameter("HTML_DATA");
request.getSession().setAttribute( "WAVEGEN_WIZ_DETAIL",prevHTMLData);
}
else if("DISPLAY_DETAIL_DATA".equalsIgnoreCase(action))
{
String htmlDataErr = (String) request.getSession().getAttribute( "WAVEGEN_WIZ_DETAIL");
request.getSession().removeAttribute( "WAVEGEN_WIZ_DETAIL");
response.setContentType("text/html");
if(CommonConstants.CONTENT_ENCODING != null && CommonConstants.CONTENT_ENCODING.equalsIgnoreCase("gzip"))
{
response.setHeader("Content-Encoding", "gzip");
GZIPOutputStream gzOutStream = new GZIPOutputStream(response.getOutputStream());
gzOutStream.write(htmlDataErr.getBytes());
gzOutStream.flush();
gzOutStream.close();
}
else
{
response.setHeader("Content-Encoding", CommonConstants.CONTENT_ENCODING);
OutputStream outStream = response.getOutputStream();
outStream.write(htmlDataErr.getBytes());
outStream.flush();
outStream.close();
}
}
else
{
HashMap<String,String> requestParamMap = new HashMap<String,String>();
String paramName = "", paramValue = "";
@SuppressWarnings("unchecked")
Enumeration<String> reqParams = request.getParameterNames();
while(reqParams.hasMoreElements())
{
Object paramObj = reqParams.nextElement();
paramName = (String) paramObj;
paramValue = (String)request.getParameter(paramName);
if(!paramValue.equalsIgnoreCase(""))
requestParamMap.put(paramName,paramValue);
}
System.out.println("Request Parameter map :"+requestParamMap);
ctx=getInitialContext();
wavegenWizRemote = (ibase.webitm.ejb.wms.WavegenWizEJBRemote) ctx.lookup("ibase/WavegenWizEJB/remote");
responseXML = wavegenWizRemote.handleRequest(requestParamMap);
response.setContentType("text/xml");
if(CommonConstants.CONTENT_ENCODING != null && CommonConstants.CONTENT_ENCODING.equalsIgnoreCase("gzip"))
{
response.setHeader("Content-Encoding", "gzip");
GZIPOutputStream gzOutStream = new GZIPOutputStream(response.getOutputStream());
gzOutStream.write(responseXML.getBytes());
gzOutStream.flush();
gzOutStream.close();
}
else
{
response.setHeader("Content-Encoding", "");
OutputStream outStream = response.getOutputStream();
outStream.write(responseXML.getBytes());
outStream.flush();
outStream.close();
}
}
}
catch (Exception e)
{
System.out.println("WavegenWizServlet.doPost():doPost"+e.getMessage());
e.printStackTrace();
}
System.out.println("XXXXXXXXXXXXXXXXXXXXXX[ WavegenWizServlet END]XXXXXXXXXXXXXXXXXXXX");
}
protected InitialContext getInitialContext()throws ITMException
{
InitialContext ctx = null;
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
}
catch(ITMException itme)
{
System.out.println("WavegenWizServlet.getInitialContext()");
throw itme;
}
catch(Exception e)
{
System.out.println("WavegenWizServlet.getInitialContext()"+e.getMessage());
throw new ITMException(e);
}
return ctx;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment