Commit b206e759 authored by steurwadkar's avatar steurwadkar

Changes made to call UploadFileEJB instead directly calling ProcessRequest

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@180456 ce508802-f39f-4f6c-b175-0d175dae99d5
parent da4fa4b2
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import java.sql.Connection; import java.io.BufferedWriter;
import java.sql.SQLException; import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.naming.InitialContext; import javax.naming.InitialContext;
...@@ -10,10 +12,11 @@ import org.w3c.dom.Node; ...@@ -10,10 +12,11 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import ibase.system.config.AppConnectParm; import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.DBAccessLocal; import ibase.webitm.ejb.DBAccessLocal;
import ibase.webitm.ejb.MasterStatefulLocal; import ibase.webitm.ejb.ITMUploadFileRemote;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
...@@ -23,14 +26,14 @@ public class SCMWebServiceDao extends ValidatorEJB ...@@ -23,14 +26,14 @@ public class SCMWebServiceDao extends ValidatorEJB
public String addTransaction(String dataXML, String userCode) throws ITMException public String addTransaction(String dataXML, String userCode) throws ITMException
{ {
String retString = "", userInfo = ""; String retString = "";
MasterStatefulLocal masterStatefulLocal = null; ITMUploadFileRemote imtUploadFileRemote = null;
DBAccessLocal dbAccessEJBLocal = null; DBAccessLocal dbAccessEJBLocal = null;
UserInfoBean userInfoBean = null; UserInfoBean userInfoBean = null;
Connection conn = null; Document errDom = null, dataXMLDom = null;
boolean isError = false, isCommit = false;
Document errDom = null;
StringBuffer retSBuff = new StringBuffer("<Root>"); StringBuffer retSBuff = new StringBuffer("<Root>");
File dumpDir = null;
File logDumpDir = null;
try try
{ {
System.out.println("SCMWebServiceDao.addTransaction().dataXML["+dataXML+"]"); System.out.println("SCMWebServiceDao.addTransaction().dataXML["+dataXML+"]");
...@@ -39,113 +42,136 @@ public class SCMWebServiceDao extends ValidatorEJB ...@@ -39,113 +42,136 @@ public class SCMWebServiceDao extends ValidatorEJB
dbAccessEJBLocal = (DBAccessLocal)getInitialContext().lookup("ibase/DBAccessEJB/local"); dbAccessEJBLocal = (DBAccessLocal)getInitialContext().lookup("ibase/DBAccessEJB/local");
userInfoBean = dbAccessEJBLocal.createUserInfo(userCode); userInfoBean = dbAccessEJBLocal.createUserInfo(userCode);
setUserInfo(userInfoBean); if(dataXML != null && dataXML.trim().length() > 0)
userInfo = userInfoBean.toString();
System.out.println("SCMWebServiceDao.addTransaction().userInfo["+userInfo+"]");
conn = getConnection();
masterStatefulLocal = (MasterStatefulLocal) getInitialContext().lookup( "ibase/MasterStatefulEJB/local" );
retString = masterStatefulLocal.processRequest(userInfo, dataXML, true, conn);
System.out.println("After masterstateful retString["+retString+"]");
if(retString != null && retString.trim().length()>0 && retString.indexOf("<Errors>") >-1)
{ {
isCommit = false; dataXMLDom = e12GenericUtility.parseString(dataXML);
errDom = e12GenericUtility.parseString(retString); Node detail1Node = dataXMLDom.getElementsByTagName("Detail1").item(0);
String objName = detail1Node.getAttributes().getNamedItem("objName").getNodeValue();
NodeList errNodeList = errDom.getElementsByTagName("error"); System.out.println("objName["+objName+"]");
int errNodeListLen = errNodeList.getLength();
for(int i=0; i<errNodeListLen; i++) if( CommonConstants.UPLOAD_LOC == null && CommonConstants.J2EE_VERSION.equals( "1" ))
{
System.out.println("UPLOAD_LOC is null");
dumpDir = new File(( new File( CommonConstants.APPLICATION_CONTEXT ) ).getParentFile().getParent() + File.separator + "dump" );
logDumpDir = new File( dumpDir .getParent() + File.separator + "logs") ;
}
else
{ {
String errorMessage = ""; System.out.println("DUMP LOG::");
Node eachErrNode = errNodeList.item(i); dumpDir = new File( ( new File( CommonConstants.UPLOAD_LOC ) ) + File.separator + "dump" );
NodeList eachErrNodeList = eachErrNode.getChildNodes(); if ( ! dumpDir.exists() )
int eachErrNodeListLen = eachErrNodeList.getLength(); {
dumpDir.mkdir();
}
String msgNo = eachErrNode.getAttributes().getNamedItem("id").getNodeValue(); logDumpDir = new File( ( new File( CommonConstants.UPLOAD_LOC ) ) + File.separator + "logs" );
System.out.println("msgNo["+msgNo+"]"); if ( ! logDumpDir.exists() )
for(int j=0; j<eachErrNodeListLen; j++)
{ {
Node eachNode = eachErrNodeList.item(j); logDumpDir.mkdir();
String nodeName = eachNode.getNodeName();
String nodeValue = eachNode.getFirstChild() != null ? eachNode.getFirstChild().getNodeValue():"";
if("description".equalsIgnoreCase(nodeName))
{
errorMessage = nodeValue;
}
} }
retSBuff.append("<tran_id><![CDATA[]]></tran_id>");
retSBuff.append("<msg_code><![CDATA["+msgNo+"]]></msg_code>");
retSBuff.append("<msg_descr><![CDATA["+errorMessage+"]]></msg_descr>");
retSBuff.append("<result><![CDATA[FAILED]]></result>");
} }
}
else
{
isCommit = true;
if ( retString.indexOf("Success") > -1 && retString.indexOf("<TranID>") > 0 ) String newFileName = System.currentTimeMillis() + "_" + userInfoBean.getLoginCode() + "_hdr_det_data.xml";
BufferedWriter writer = null;
try
{ {
String tranId = retString.substring( retString.indexOf("<TranID>")+8, retString.indexOf("</TranID>")); writer = new BufferedWriter( new FileWriter( dumpDir.getAbsolutePath() + File.separator + newFileName));
writer.write( dataXML);
retSBuff.append("<tran_id><![CDATA["+tranId+"]]></tran_id>");
retSBuff.append("<msg_code><![CDATA[]]></msg_code>");
retSBuff.append("<msg_descr><![CDATA[Transaction is saved]]></msg_descr>");
retSBuff.append("<result><![CDATA[SUCCESS]]></result>");
} }
} catch ( IOException e)
retSBuff.append("</Root>");
retString = retSBuff.toString();
System.out.println("Final retString["+retString+"]");
}
catch(Exception e)
{
isError = true;
System.out.println("SCMWebServiceDao.addTransaction()["+e.getMessage()+"]");
throw new ITMException (e);
}
finally
{
try
{
if(isError)
{ {
if( conn != null && !conn.isClosed() ) System.out.println("SCMWebServiceDao.addTransaction().writer closing exption in catch["+e.getMessage()+"]");
{
conn.rollback();
}
} }
if( conn != null && !conn.isClosed() && !isError) finally
{
try
{
if ( writer != null)
{
writer.close();
}
}
catch ( IOException e)
{
System.out.println("writer closing exception in finally["+e.getMessage()+"]");
}
}
String [] fileInfoArr = new String[8];
fileInfoArr[0] = "false";
fileInfoArr[1] = newFileName;
fileInfoArr[2] = objName;
fileInfoArr[3] = "";
fileInfoArr[4] = "";
fileInfoArr[5] = "false";
fileInfoArr[6] = "false";
fileInfoArr[7] = "true";
imtUploadFileRemote = (ITMUploadFileRemote) getInitialContext().lookup("ibase/ITMUploadFileEJB/remote");
retString = imtUploadFileRemote.insertFileData(fileInfoArr , userInfoBean , dumpDir , CommonConstants.APPLICATION_CONTEXT, "", false, false);
System.out.println("retString after upload call["+retString+"]");
if(retString != null && retString.trim().length()>0 && retString.indexOf("<Errors>") >-1)
{ {
if(isCommit) errDom = e12GenericUtility.parseString(retString);
NodeList errNodeList = errDom.getElementsByTagName("error");
int errNodeListLen = errNodeList.getLength();
for(int i=0; i<errNodeListLen; i++)
{ {
conn.commit(); String errorMessage = "";
Node eachErrNode = errNodeList.item(i);
NodeList eachErrNodeList = eachErrNode.getChildNodes();
int eachErrNodeListLen = eachErrNodeList.getLength();
String msgNo = eachErrNode.getAttributes().getNamedItem("id").getNodeValue();
System.out.println("msgNo["+msgNo+"]");
for(int j=0; j<eachErrNodeListLen; j++)
{
Node eachNode = eachErrNodeList.item(j);
String nodeName = eachNode.getNodeName();
String nodeValue = eachNode.getFirstChild() != null ? eachNode.getFirstChild().getNodeValue():"";
if("description".equalsIgnoreCase(nodeName))
{
errorMessage = nodeValue;
}
}
retSBuff.append("<tran_id><![CDATA[]]></tran_id>");
retSBuff.append("<msg_code><![CDATA["+msgNo+"]]></msg_code>");
retSBuff.append("<msg_descr><![CDATA["+errorMessage+"]]></msg_descr>");
retSBuff.append("<result><![CDATA[FAILED]]></result>");
} }
else }
else
{
if ( retString.indexOf("Success") > -1 && retString.indexOf("<TranID>") > 0 )
{ {
conn.rollback(); String tranId = retString.substring( retString.indexOf("<TranID>")+8, retString.indexOf("</TranID>"));
retSBuff.append("<tran_id><![CDATA["+tranId+"]]></tran_id>");
retSBuff.append("<msg_code><![CDATA[]]></msg_code>");
retSBuff.append("<msg_descr><![CDATA[Transaction is saved]]></msg_descr>");
retSBuff.append("<result><![CDATA[SUCCESS]]></result>");
} }
} }
retSBuff.append("</Root>");
if( conn != null && !conn.isClosed()) retString = retSBuff.toString();
{
conn.close();
conn = null;
}
}
catch(SQLException se)
{
System.out.println("SCMWebServiceDao.addTransaction().finally["+se.getMessage()+"]");
} }
System.out.println("Final retString["+retString+"]");
}
catch(Exception e)
{
System.out.println("SCMWebServiceDao.addTransaction()["+e.getMessage()+"]");
throw new ITMException (e);
} }
return retString; return retString;
} }
......
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