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;
}
}
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.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import javax.naming.InitialContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@javax.ejb.Stateless
public class WavegenWizEJB extends ValidatorEJB implements WavegenWizEJBLocal, WavegenWizEJBRemote
{
public String globalXtraParams = "";
@Override
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String retString = null;
E12GenericUtility genericUtility = new E12GenericUtility();
try
{
globalXtraParams = xtraParams;
if (xmlString != null && xmlString.trim().length()!=0)
{
dom = genericUtility.parseString(xmlString);
}
if (xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if (xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = genericUtility.parseString(xmlString2);
}
retString = itemChanged( dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams );
}
catch (Exception e)
{
System.out.println ( "Exception :WavegenWizEJB :itemChanged(String,String):" + e.getMessage() + ":" );
retString = genericUtility.createErrorString(e);
}
System.out.println ( "Return String from WavegenWizEJB ["+retString+"]" );
return retString;
}
@Override
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document detail2dom = null;
E12GenericUtility e12genericUtility = new E12GenericUtility();
StringBuffer valueXmlString = new StringBuffer();
int currentFormNo = 0;
String siteCode = "", currDate = "", retString ="", dateFormat = "";
InitialContext ctx = null;
Connection conn = null;
WaveGenerationPrcRemote waveGenerationPrcRemote = null;
try
{
System.out.println("itemChanged called for WavegenWiz");
conn = getConnection();
siteCode = e12genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
dateFormat = e12genericUtility.getApplDateFormat();
if( objContext != null && objContext.trim().length() > 0 )
{
currentFormNo = Integer.parseInt( objContext );
}
SimpleDateFormat sdf = new SimpleDateFormat(e12genericUtility.getApplDateFormat());
currDate = sdf.format(new java.util.Date());
System.out.println("currentColumn["+currentColumn+"] currentFormNo["+currentFormNo+"]" );
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?><Root><Header><editFlag>" );
valueXmlString.append( editFlag ).append( "</editFlag></Header>" );
switch(currentFormNo)
{
case 1:
{
System.out.println(" -------- Inside itemchange case 1111111 ------------ ");
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
valueXmlString.append("<Detail1 domID='1'>");
valueXmlString.append("<site_code><![CDATA[").append(siteCode).append( "]]></site_code>");
valueXmlString.append("<sort_order><![CDATA[" ).append("Default").append( "]]></sort_order>");
valueXmlString.append("<item_ser__from><![CDATA[").append("00").append( "]]></item_ser__from>");
valueXmlString.append("<item_ser__to><![CDATA[").append("ZZ").append( "]]></item_ser__to>");
valueXmlString.append("<product_style__from><![CDATA[").append("00").append( "]]></product_style__from>");
valueXmlString.append("<product_style__to><![CDATA[").append("ZZ").append( "]]></product_style__to>");
valueXmlString.append("<item_code__from><![CDATA[").append("00").append( "]]></item_code__from>");
valueXmlString.append("<item_code__to><![CDATA[").append("ZZ").append( "]]></item_code__to>");
valueXmlString.append("<cust_code__from><![CDATA[").append("00").append( "]]></cust_code__from>");
valueXmlString.append("<cust_code__to><![CDATA[").append("ZZ").append( "]]></cust_code__to>");
valueXmlString.append("<due_date__from><![CDATA[").append( currDate ).append( "]]></due_date__from>");
valueXmlString.append("<due_date__to><![CDATA[").append( currDate ).append( "]]></due_date__to>");
valueXmlString.append("<sale_order__from><![CDATA[").append("00").append( "]]></sale_order__from>");
valueXmlString.append("<sale_order__to><![CDATA[").append("ZZ").append( "]]></sale_order__to>");
valueXmlString.append("<cust_code__dlv__from><![CDATA[").append("00").append( "]]></cust_code__dlv__from>");
valueXmlString.append("<cust_code__dlv__to><![CDATA[").append("ZZ").append( "]]></cust_code__dlv__to>");
valueXmlString.append( "<credit_term__from><![CDATA[" ).append( "00" ).append( "]]></credit_term__from>");
valueXmlString.append( "<credit_term__to><![CDATA[" ).append( "ZZ" ).append( "]]></credit_term__to>");
valueXmlString.append("<carrier_code><![CDATA[]]></carrier_code>");
valueXmlString.append("<carrier_name><![CDATA[]]></carrier_name>");
valueXmlString.append("<default_qty_flag><![CDATA[Y]]></default_qty_flag>");
valueXmlString.append("<wave_mode><![CDATA[").append("R").append( "]]></wave_mode>");
valueXmlString.append("<order_type><![CDATA[]]></order_type>");
valueXmlString.append("<loc_type_parent><![CDATA[]]></loc_type_parent>");
valueXmlString.append("<tran_code><![CDATA[]]></tran_code>");
valueXmlString.append("<tran_name><![CDATA[]]></tran_name>");
valueXmlString.append("<remarks><![CDATA[]]></remarks>");
valueXmlString.append("<active_pick_allow><![CDATA[").append("").append( "]]></active_pick_allow>");
valueXmlString.append("<master_pack_allow><![CDATA[").append("").append( "]]></master_pack_allow>");
valueXmlString.append("<parcelpack_allow><![CDATA[").append("").append( "]]></parcelpack_allow>");
valueXmlString.append("<stock_to_dock_allow><![CDATA[").append("").append( "]]></stock_to_dock_allow>");
valueXmlString.append("<single_lot><![CDATA[" ).append("").append("]]></single_lot>");
valueXmlString.append("<ship_type><![CDATA[").append("A").append("]]></ship_type>");
valueXmlString.append("<pallet_no><![CDATA[]]></pallet_no>");
valueXmlString.append("<direct_pick_loc><![CDATA[]]></direct_pick_loc>");
valueXmlString.append("<print_label><![CDATA[").append( "N" ).append( "]]></print_label>");
valueXmlString.append("<printer_name><![CDATA[").append( "" ).append( "]]></printer_name>");
valueXmlString.append("<date_format><![CDATA["+dateFormat+"]]></date_format>");
valueXmlString.append("<app_context><![CDATA[false]]></app_context>");
valueXmlString.append("</Detail1>" );
}
break;
}
case 2:
{
System.out.println(" -------- Inside itemchange case 222222 ------------ ");
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
String nodeName = "";
String custCode = "", custName = "", saleOrder = "", custPO = "", pordDate = "", dlvCity = "", errCode ="";
Map<String,HashMap<String,String>> detailDataMap = new LinkedHashMap<String,HashMap<String,String>>();
HashMap<String,String> saleOrderDataMap = null;
Set<String> detailDataMapKeySet = new LinkedHashSet<String>();
int domID = 0, custDomID = 0, soDomID = 0;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
valueXmlString.append("<Detail2 domID='0'>");
valueXmlString.append("<site_code><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("site_code", dom1))).append( "]]></site_code>");
valueXmlString.append("<sort_order><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("sort_order", dom1))).append( "]]></sort_order>");
valueXmlString.append("<item_ser__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("item_ser__from", dom1))).append( "]]></item_ser__from>");
valueXmlString.append("<item_ser__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("item_ser__to", dom1))).append( "]]></item_ser__to>");
valueXmlString.append("<product_style__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("product_style__from", dom1))).append( "]]></product_style__from>");
valueXmlString.append("<product_style__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("product_style__to", dom1))).append( "]]></product_style__to>");
valueXmlString.append("<item_code__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("item_code__from", dom1))).append( "]]></item_code__from>");
valueXmlString.append("<item_code__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("item_code__to", dom1))).append( "]]></item_code__to>");
valueXmlString.append("<cust_code__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("cust_code__from", dom1))).append( "]]></cust_code__from>");
valueXmlString.append("<cust_code__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("cust_code__to", dom1))).append( "]]></cust_code__to>");
valueXmlString.append("<due_date__from><![CDATA[").append( checkNull(e12genericUtility.getColumnValue("due_date__from", dom1)) ).append( "]]></due_date__from>");
valueXmlString.append("<due_date__to><![CDATA[").append( checkNull(e12genericUtility.getColumnValue("due_date__to", dom1)) ).append( "]]></due_date__to>");
valueXmlString.append("<sale_order__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("sale_order__from", dom1))).append( "]]></sale_order__from>");
valueXmlString.append("<sale_order__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("sale_order__to", dom1))).append( "]]></sale_order__to>");
valueXmlString.append("<cust_code__dlv__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("cust_code__dlv__from", dom1))).append( "]]></cust_code__dlv__from>");
valueXmlString.append("<cust_code__dlv__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("cust_code__dlv__to", dom1))).append( "]]></cust_code__dlv__to>");
valueXmlString.append("<credit_term__from><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("credit_term__from", dom1))).append( "]]></credit_term__from>");
valueXmlString.append("<credit_term__to><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("credit_term__to", dom1))).append( "]]></credit_term__to>");
valueXmlString.append("<carrier_code><![CDATA["+checkNull(e12genericUtility.getColumnValue("carrier_code", dom1))+"]]></carrier_code>");
valueXmlString.append("<carrier_name><![CDATA["+checkNull(e12genericUtility.getColumnValue("carrier_name", dom1))+"]]></carrier_name>");
valueXmlString.append("<default_qty_flag><![CDATA["+checkNull(e12genericUtility.getColumnValue("default_qty_flag", dom1))+"]]></default_qty_flag>");
valueXmlString.append("<wave_mode><![CDATA[").append(checkNull(e12genericUtility.getColumnValue("wave_mode", dom1))).append( "]]></wave_mode>");
valueXmlString.append("<order_type><![CDATA["+checkNull(e12genericUtility.getColumnValue("order_type", dom1))+"]]></order_type>");
valueXmlString.append("<loc_type_parent><![CDATA["+checkNull(e12genericUtility.getColumnValue("loc_type_parent", dom1))+"]]></loc_type_parent>");
valueXmlString.append("<tran_code><![CDATA["+checkNull(e12genericUtility.getColumnValue("tran_code", dom1))+"]]></tran_code>");
valueXmlString.append("<tran_name><![CDATA["+checkNull(e12genericUtility.getColumnValue("tran_name", dom1))+"]]></tran_name>");
valueXmlString.append("<remarks><![CDATA["+checkNull(e12genericUtility.getColumnValue("remarks", dom1))+"]]></remarks>");
valueXmlString.append("<active_pick_allow><![CDATA["+checkNull(e12genericUtility.getColumnValue("active_pick_allow", dom1))+"]]></active_pick_allow>");
valueXmlString.append("<master_pack_allow><![CDATA["+checkNull(e12genericUtility.getColumnValue("master_pack_allow", dom1))+"]]></master_pack_allow>");
valueXmlString.append("<parcelpack_allow><![CDATA["+checkNull(e12genericUtility.getColumnValue("parcelpack_allow", dom1))+"]]></parcelpack_allow>");
valueXmlString.append("<stock_to_dock_allow><![CDATA["+checkNull(e12genericUtility.getColumnValue("stock_to_dock_allow", dom1))+"]]></stock_to_dock_allow>");
valueXmlString.append("<single_lot><![CDATA["+checkNull(e12genericUtility.getColumnValue("single_lot", dom1))+"]]></single_lot>");
valueXmlString.append("<ship_type><![CDATA["+checkNull(e12genericUtility.getColumnValue("ship_type", dom1))+"]]></ship_type>");
valueXmlString.append("<pallet_no><![CDATA["+checkNull(e12genericUtility.getColumnValue("pallet_no", dom1))+"]]></pallet_no>");
valueXmlString.append("<direct_pick_loc><![CDATA["+checkNull(e12genericUtility.getColumnValue("direct_pick_loc", dom1))+"]]></direct_pick_loc>");
valueXmlString.append("<print_label><![CDATA["+checkNull(e12genericUtility.getColumnValue("print_label", dom1))+"]]></print_label>");
valueXmlString.append("<printer_name><![CDATA["+checkNull(e12genericUtility.getColumnValue("printer_name", dom1))+"]]></printer_name>");
valueXmlString.append("<date_format><![CDATA["+dateFormat+"]]></date_format>");
valueXmlString.append("<app_context><![CDATA[true]]></app_context>");
valueXmlString.append("</Detail2>");
ctx=getInitialContext();
waveGenerationPrcRemote = (ibase.webitm.ejb.wms.WaveGenerationPrcRemote) ctx.lookup("ibase/WaveGenerationPrc/remote");
retString = waveGenerationPrcRemote.getData(dom1, dom1, "wavegen", xtraParams);
System.out.println("getData return String["+retString+"]");
if(retString != null && retString.trim().length()!=0)
{
if(retString.indexOf("<Errors>") != -1)
{
errCode = retString.substring(retString.indexOf("id=")+4, retString.indexOf("type=")-2);
if (!errCode.equals(""))
{
retString = itmDBAccessEJB.getErrorString("", errCode, "", "", conn);
System.out.println("itmDBAccessEJB retString: ["+retString+"]");
return retString;
}
}
else
{
detail2dom = new E12GenericUtility().parseString(retString);
}
}
NodeList detail2NodeList = detail2dom.getElementsByTagName("Detail2");
int detail2NodeListLen = detail2NodeList.getLength();
for(int i=0; i<detail2NodeListLen; i++)
{
StringBuffer saleOrderDataStr = new StringBuffer();
NodeList eachDetail2NodeList = detail2NodeList.item(i).getChildNodes();
for(int j=0; j<eachDetail2NodeList.getLength();j++)
{
Node eachDetail2Element = eachDetail2NodeList.item(j);
nodeName = eachDetail2Element.getNodeName();
if("cust_code".equalsIgnoreCase(nodeName))
{
custCode = eachDetail2Element.getTextContent();
System.out.println("customer code ["+custCode+"]");
}
else if("cust_name".equalsIgnoreCase(nodeName))
{
custName = eachDetail2Element.getTextContent();
System.out.println("customer name ["+custName+"]");
}
else if("sale_order".equalsIgnoreCase(nodeName))
{
saleOrder = eachDetail2Element.getTextContent();
System.out.println("saleOrder ["+saleOrder+"]");
}
else if("cust_pord".equalsIgnoreCase(nodeName))
{
custPO = eachDetail2Element.getTextContent();
System.out.println("custPO ["+custPO+"]");
}
else if("pord_date".equalsIgnoreCase(nodeName))
{
pordDate = eachDetail2Element.getTextContent();
System.out.println("pordDate ["+pordDate+"]");
}
else if("dlv_city".equalsIgnoreCase(nodeName))
{
dlvCity = eachDetail2Element.getTextContent().trim();
System.out.println("dlvCity ["+dlvCity+"]");
}
if(!"#text".equalsIgnoreCase(nodeName) && !"attribute".equals(nodeName))
{
saleOrderDataStr.append("<"+nodeName+"><![CDATA["+eachDetail2Element.getTextContent()+"]]></"+nodeName+">");
}
}
if(detailDataMap.containsKey(custCode))
{
HashMap<String,String> oldSaleOrderMap = detailDataMap.get(custCode);
if(oldSaleOrderMap.containsKey(saleOrder))
{
int newLineItemCnt = Integer.parseInt(oldSaleOrderMap.get("lineItemCount"))+1;
String oldSaleOrderStr = oldSaleOrderMap.get(saleOrder);
oldSaleOrderStr +="~"+saleOrderDataStr.toString();
oldSaleOrderMap.put(saleOrder, oldSaleOrderStr);
oldSaleOrderMap.put("lineItemCount", String.valueOf(newLineItemCnt));
detailDataMap.put(custCode, oldSaleOrderMap);
}
else
{
int newOrderCount = Integer.parseInt(oldSaleOrderMap.get("orderCount"))+1;
int newLineItemCnt = Integer.parseInt(oldSaleOrderMap.get("lineItemCount"))+1;
String newSaleOrderStr = oldSaleOrderMap.get("saleOrders")+"~"+saleOrder;
oldSaleOrderMap.put("custName", custName);
oldSaleOrderMap.put("dlvCity", dlvCity);
oldSaleOrderMap.put("orderCount", String.valueOf(newOrderCount));
oldSaleOrderMap.put("lineItemCount", String.valueOf(newLineItemCnt));
oldSaleOrderMap.put(saleOrder+"custPO",custPO);
oldSaleOrderMap.put(saleOrder+"pordDate",pordDate);
oldSaleOrderMap.put("saleOrders",newSaleOrderStr);
oldSaleOrderMap.put(saleOrder, saleOrderDataStr.toString());
detailDataMap.put(custCode, oldSaleOrderMap);
}
}
else
{
saleOrderDataMap = new HashMap<String,String>();
saleOrderDataMap.put("custName", custName);
saleOrderDataMap.put("dlvCity", dlvCity);
saleOrderDataMap.put("orderCount", "1");
saleOrderDataMap.put("lineItemCount", "1");
saleOrderDataMap.put(saleOrder+"custPO",custPO);
saleOrderDataMap.put(saleOrder+"pordDate",pordDate);
saleOrderDataMap.put("saleOrders",saleOrder);
saleOrderDataMap.put(saleOrder, saleOrderDataStr.toString());
detailDataMap.put(custCode, saleOrderDataMap);
}
}
detailDataMapKeySet = detailDataMap.keySet();
for(String eachKey : detailDataMapKeySet)
{
HashMap<String, String> eachDetailDataMap = detailDataMap.get(eachKey);
HashMap<String, HashMap<String, String>> allocationDataMap = getAllocationData(eachDetailDataMap, eachKey);
HashMap<String,String> tempMap = allocationDataMap.get(eachKey);
valueXmlString.append("<Detail2 domID='"+(++custDomID)+"'>");
valueXmlString.append("<cust_code><![CDATA["+eachKey+"]]></cust_code>");
valueXmlString.append("<cust_name><![CDATA["+eachDetailDataMap.get("custName")+"]]></cust_name>");
valueXmlString.append("<dlv_city><![CDATA["+eachDetailDataMap.get("dlvCity")+"]]></dlv_city>");
valueXmlString.append("<order_count><![CDATA["+eachDetailDataMap.get("orderCount")+"]]></order_count>");
valueXmlString.append("<line_item_count><![CDATA["+eachDetailDataMap.get("lineItemCount")+"]]></line_item_count>");
valueXmlString.append("<alloc_line_item><![CDATA["+tempMap.get("allocLineItem")+"]]></alloc_line_item>");
valueXmlString.append("<total_alloc_perc><![CDATA["+tempMap.get("totalAllocPerc")+"]]></total_alloc_perc>");
valueXmlString.append("<saleOrders>");
String saleOrdersStr = eachDetailDataMap.get("saleOrders");
String [] saleOrdersStrArry = saleOrdersStr.split("~");
for(String eachSaleOrder : saleOrdersStrArry)
{
String customerPO = eachDetailDataMap.get(eachSaleOrder+"custPO");
String customerPODate = eachDetailDataMap.get(eachSaleOrder+"pordDate");
HashMap<String,String> tempMap1 = allocationDataMap.get(eachSaleOrder);
valueXmlString.append("<saleOrder domID='"+(++soDomID)+"' >");
valueXmlString.append("<sale_order><![CDATA["+eachSaleOrder+"]]></sale_order>");
valueXmlString.append("<cust_pord><![CDATA["+customerPO+"]]></cust_pord>");
valueXmlString.append("<pord_date><![CDATA["+customerPODate+"]]></pord_date>");
valueXmlString.append("<no_line_item><![CDATA["+tempMap1.get("totalLineItme")+"]]></no_line_item>");
valueXmlString.append("<so_alloc_line_item><![CDATA["+tempMap1.get("allocLineItem")+"]]></so_alloc_line_item>");
valueXmlString.append("<alloc_perc><![CDATA["+tempMap1.get("totalAllocPerc")+"]]></alloc_perc>");
String saleOrderStr = eachDetailDataMap.get(eachSaleOrder);
String[] saleOrderStrArray = saleOrderStr.split("~");
valueXmlString.append("<lineItems>");
for(int i=0; i<saleOrderStrArray.length; i++)
{
valueXmlString.append("<lineItem domID='"+(++domID)+"'>");
valueXmlString.append(saleOrderStrArray[i]);
valueXmlString.append("</lineItem>");
}
valueXmlString.append("</lineItems>");
valueXmlString.append("</saleOrder>");
}
valueXmlString.append("</saleOrders>");
valueXmlString.append("</Detail2>");
}
}
break;
}
}
valueXmlString.append( "</Root>" );
}
catch(Exception e)
{
System.out.println("WavegenWizEJB.itemChanged():catchBlock"+e.getMessage());
e.printStackTrace();
}
finally
{
try
{
if(!conn.isClosed() && conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
System.out.println("WavegenWizEJB.itemChanged():finally block");
e.printStackTrace();
}
}
return valueXmlString.toString();
}
@Override
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext,String editFlag, String xtraParams) throws RemoteException, ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
System.out.println("WavegenWizEJB.wfValData()");
System.out.println("xmlString :"+xmlString);
System.out.println("xmlString1 :"+xmlString1);
System.out.println("xmlString2 :"+xmlString2);
System.out.println("objContext :"+objContext);
System.out.println("editFlag :"+editFlag);
System.out.println("xtraParams :"+xtraParams);
try
{
if (xmlString != null && xmlString.trim().length() > 0)
{
dom = parseString(xmlString);
}
if (xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = parseString(xmlString1);
}
if (xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = parseString(xmlString2);
}
System.out.println("Before calling function wfvalData****");
errString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
System.out.println("After calling method wfVAlData Error String===="+errString);
}
catch (Exception e)
{
System.out.println("Exception : [WavegenWizEJB][wfValData( String, String )] :==>\n" + e.getMessage());
throw new ITMException(e);
}
return (errString);
}
@Override
public String wfValData(Document currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String editFlag, String xtraParams)throws RemoteException, ITMException
{
String errString = "";
int currentFormNo = 0;
InitialContext ctx = null;
WaveGenerationICRemote waveGenerationICRemote = null;
try
{
ctx=getInitialContext();
waveGenerationICRemote = (ibase.webitm.ejb.wms.WaveGenerationICRemote) ctx.lookup("ibase/WaveGenerationIC/remote");
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
System.out.println("currentFormNo ["+currentFormNo+"]");
}
switch (currentFormNo)
{
case 1:
{
errString = waveGenerationICRemote.wfValData(currFormDataDom, hdrDataDom, allFormDataDom, objContext, xtraParams);
System.out.println("errString["+errString+"]");
break;
}
case 2:
{
errString = waveGenerationICRemote.wfValData(currFormDataDom, hdrDataDom, allFormDataDom, objContext, xtraParams);
System.out.println("errString["+errString+"]");
break;
}
}
}
catch(Exception e)
{
System.out.println("WavegenWizEJB.wfValData()");
e.printStackTrace();
}
return errString;
}
@Override
public String handleRequest(HashMap<String, String> reqParamMap)
{
String action = "", retXMLStr = "";
InitialContext ctx = null;
WaveGenerationICRemote waveGenerationICRemote = null;
try
{
action = (String)reqParamMap.get("action");
if("ITEM_CHANGE".equalsIgnoreCase(action))
{
String currXmlDataStr = "", hdrXmlDataStr = "", allXmlDataStr = "", currentColumn = "", objContext = "", editFlag = "";
ctx=getInitialContext();
currXmlDataStr = (String)reqParamMap.get("CUR_XML_STR");
hdrXmlDataStr = (String)reqParamMap.get("HDR_XML_STR");
allXmlDataStr = (String)reqParamMap.get("ALL_XML_STR");
currentColumn = (String)reqParamMap.get("CUR_COLUMN");
objContext = (String)reqParamMap.get("OBJ_CONTEXT");
editFlag = (String)reqParamMap.get("EDIT_FLAG");
waveGenerationICRemote = (ibase.webitm.ejb.wms.WaveGenerationICRemote) ctx.lookup("ibase/WaveGenerationIC/remote");
retXMLStr = waveGenerationICRemote.itemChanged(currXmlDataStr, hdrXmlDataStr, allXmlDataStr, objContext, currentColumn, editFlag, globalXtraParams);
System.out.println("retXMLStr["+retXMLStr+"]");
}
}
catch(Exception e)
{
System.out.println("WavegenWizEJB.handleRequest()"+e.getMessage());
e.printStackTrace();
}
return retXMLStr;
}
private static HashMap<String, HashMap<String,String>> getAllocationData(HashMap<String, String> dataMap, String custCode)
{
HashMap<String, HashMap<String,String>> allocationData = new HashMap<String, HashMap<String,String>>();
HashMap<String,String> eachAllocationMap = null;
int totalAllocLineItem = 0, custAllocPerc = 0;
double custAllocQty = 0, custTotalQty = 0;
try
{
String saleOrdersStr = dataMap.get("saleOrders");
String [] saleOrdersStrArry = saleOrdersStr.split("~");
for(String eachSaleOrder : saleOrdersStrArry)
{
int allocatedLineItem = 0, totalAllocPerc = 0;
double totalAllocQty = 0, totalQty = 0, allocQty = 0, manualAllocQty = 0;
String saleOrderStr = dataMap.get(eachSaleOrder);
String[] saleOrderStrArray = saleOrderStr.split("~");
for(int i=0; i<saleOrderStrArray.length; i++)
{
String saleOrderLineStr = "<detail>"+saleOrderStrArray[i]+"</detail>";
Document saleOrderLineDom = new E12GenericUtility().parseString(saleOrderLineStr);
allocQty = Double.parseDouble(saleOrderLineDom.getElementsByTagName("qty_alloc").item(0).getTextContent());
manualAllocQty = Double.parseDouble(saleOrderLineDom.getElementsByTagName("manual_allocqty").item(0).getTextContent());
totalQty += Double.parseDouble(saleOrderLineDom.getElementsByTagName("quantity").item(0).getTextContent());
if(allocQty > 0 || manualAllocQty > 0)
{
allocatedLineItem += 1;
if(allocQty > 0)
{
totalAllocQty += allocQty;
}
else if(manualAllocQty > 0)
{
totalAllocQty += manualAllocQty;
}
}
}
totalAllocPerc = (int) Math.round((totalAllocQty/totalQty)*100);
eachAllocationMap = new HashMap<String, String>();
eachAllocationMap.put("totalLineItme", String.valueOf(saleOrderStrArray.length));
eachAllocationMap.put("allocLineItem", String.valueOf(allocatedLineItem));
eachAllocationMap.put("totalAllocPerc", String.valueOf(totalAllocPerc));
eachAllocationMap.put("totalQty", String.valueOf(totalQty));
eachAllocationMap.put("totalAllocQty", String.valueOf(totalAllocQty));
allocationData.put(eachSaleOrder, eachAllocationMap);
}
for(String eachSaleOrder : saleOrdersStrArry)
{
HashMap<String,String> tempMap = allocationData.get(eachSaleOrder);
totalAllocLineItem += (int)Double.parseDouble(tempMap.get("allocLineItem"));
custAllocQty += (int)Double.parseDouble(tempMap.get("totalAllocQty"));
custTotalQty += (int)Double.parseDouble(tempMap.get("totalQty"));
}
custAllocPerc = (int) Math.round((custAllocQty/custTotalQty)*100);
eachAllocationMap = new HashMap<String, String>();
eachAllocationMap.put("allocLineItem", String.valueOf(totalAllocLineItem));
eachAllocationMap.put("totalAllocPerc", String.valueOf(custAllocPerc));
allocationData.put(custCode, eachAllocationMap);
}
catch(Exception e)
{
try
{
System.out.println("WavegenWizEJB.getAllocationData()"+e.getMessage());
throw new ITMException(e);
}
catch (ITMException e1)
{
e1.printStackTrace();
}
}
return allocationData;
}
private static String checkNull(String input)
{
if (input==null)
{
input="";
}
return input;
}
public InitialContext getInitialContext()throws ITMException
{
InitialContext ctx = null;
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
}
catch(ITMException itme)
{
System.out.println("WavegenWizEJB.getInitialContext()");
throw itme;
}
catch(Exception e)
{
System.out.println("WavegenWizEJB.getInitialContext()"+e.getMessage());
throw new ITMException(e);
}
return ctx;
}
}
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