Commit 6f787df5 authored by asikarwar's avatar asikarwar

add remove rights condition


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@92162 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 5be98259
package ibase.webitm.ejb.sys; package ibase.webitm.ejb.sys;
import java.io.*; import java.io.*;
import java.sql.*; import java.sql.*;
import java.util.*; import java.util.*;
import java.lang.*; import java.lang.*;
import javax.ejb.*; import javax.ejb.*;
import org.w3c.dom.*; import org.w3c.dom.*;
import javax.xml.parsers.*; import javax.xml.parsers.*;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import javax.naming.InitialContext; import javax.naming.InitialContext;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.*;
import ibase.webitm.utility.*; import ibase.webitm.utility.*;
import ibase.system.config.*; import ibase.system.config.*;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.GenericUtility; import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
import org.xml.sax.InputSource; import org.xml.sax.InputSource;
import javax.xml.transform.*; import javax.xml.transform.*;
import javax.xml.transform.dom.*; import javax.xml.transform.dom.*;
import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer; import javax.xml.transform.Transformer;
import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerConfigurationException;
import javax.ejb.Stateless; // added for ejb3 import javax.ejb.Stateless; // added for ejb3
@Stateless // added for ejb3 @Stateless // added for ejb3
public class UserRightsPrc extends ProcessEJB implements UserRightsPrcLocal , UserRightsPrcRemote // SessionBean public class UserRightsPrc extends ProcessEJB implements UserRightsPrcLocal , UserRightsPrcRemote // SessionBean
{ {
GenericUtility genericUtility = GenericUtility.getInstance(); GenericUtility genericUtility = GenericUtility.getInstance();
CommonConstants commonConstants = new CommonConstants(); CommonConstants commonConstants = new CommonConstants();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
Connection conn = null; Connection conn = null;
HashMap userRightsMap = null; HashMap userRightsMap = null;
HashMap winNameMap = null; HashMap winNameMap = null;
HashMap menuNameMap = null; HashMap menuNameMap = null;
String profileId = null; String profileId = null;
String processStr = null; String processStr = null;
/*public void ejbCreate() throws RemoteException, CreateException /*public void ejbCreate() throws RemoteException, CreateException
{ {
} }
public void ejbRemove() public void ejbRemove()
{ {
} }
public void ejbActivate() public void ejbActivate()
{ {
} }
public void ejbPassivate() public void ejbPassivate()
{ {
}*/ }*/
public String process() throws RemoteException,ITMException public String process() throws RemoteException,ITMException
{ {
return ""; return "";
} }
public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException
{ {
String rtrStr = ""; String rtrStr = "";
Document headerDom = null; Document headerDom = null;
Document detailDom = null; Document detailDom = null;
try try
{ {
System.out.println("xmlString ["+xmlString+"]"); System.out.println("xmlString ["+xmlString+"]");
System.out.println("xmlString2 ["+xmlString2+"]"); System.out.println("xmlString2 ["+xmlString2+"]");
System.out.println("windowName ["+windowName+"]"); System.out.println("windowName ["+windowName+"]");
System.out.println("xtraParams ["+xtraParams+"]"); System.out.println("xtraParams ["+xtraParams+"]");
if(xmlString != null && xmlString.trim().length()!=0 ) if(xmlString != null && xmlString.trim().length()!=0 )
{ {
headerDom = genericUtility.parseString(xmlString); headerDom = genericUtility.parseString(xmlString);
} }
if(xmlString2 != null && xmlString2.trim().length()!=0) if(xmlString2 != null && xmlString2.trim().length()!=0)
{ {
detailDom = genericUtility.parseString(xmlString2); detailDom = genericUtility.parseString(xmlString2);
} }
rtrStr = getData(headerDom, detailDom, windowName, xtraParams); rtrStr = getData(headerDom, detailDom, windowName, xtraParams);
} }
catch (Exception e) catch (Exception e)
{ {
System.out.println("Exception :UserRightsEJB :getData(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":"); System.out.println("Exception :UserRightsEJB :getData(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":");
throw new ITMException(e); throw new ITMException(e);
} }
return rtrStr; return rtrStr;
} }
public String getData(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException public String getData(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{ {
Statement stmt = null; Statement stmt = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
StringBuffer retTabSepStrBuff = new StringBuffer(); StringBuffer retTabSepStrBuff = new StringBuffer();
String userId = null; String userId = null;
Object date = null; Object date = null;
String sql = ""; String sql = "";
String errCode = ""; String errCode = "";
String errString = ""; String errString = "";
String resultString = ""; String resultString = "";
String curUserId = "", curProfileId = ""; String curUserId = "", curProfileId = "";
//String profileId =null; //String profileId =null;
double quantity = 0.0,pendingQty = 0.0; double quantity = 0.0,pendingQty = 0.0;
int count = 0, usrLev = 0; int count = 0, usrLev = 0;
String tApplication = null; String tApplication = null;
String key = null; String key = null;
String tWinName = null; String tWinName = null;
String tMenuName = null; String tMenuName = null;
String sqlStr = ""; String sqlStr = "";
try try
{ {
if(conn == null) if(conn == null)
{ {
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM"); conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false); conn.setAutoCommit(false);
connDriver = null; connDriver = null;
} }
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"userId"); userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"userId");
profileId = genericUtility.getColumnValue("profile_id", headerDom); profileId = genericUtility.getColumnValue("profile_id", headerDom);
//System.out.println("profileId ::- "+ profileId); //System.out.println("profileId ::- "+ profileId);
// 24/03/12 manoharan get the current logged in user and show only the menus for which the current user has rights // 24/03/12 manoharan get the current logged in user and show only the menus for which the current user has rights
curUserId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); curUserId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
System.out.println("Current userid curUserId ["+ curUserId + "] profileId [" + profileId + "]"); System.out.println("Current userid curUserId ["+ curUserId + "] profileId [" + profileId + "]");
if (curUserId == null || curUserId.trim().length() == 0) if (curUserId == null || curUserId.trim().length() == 0)
{ {
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//LEVEL_1 //LEVEL_1
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//LEVEL_2 //LEVEL_2
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//LEVEL_3 //LEVEL_3
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//LEVEL_4 //LEVEL_4
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//LEVEL_5 //LEVEL_5
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//DESCR //DESCR
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//RIGHTS //RIGHTS
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
//WIN_NAME //WIN_NAME
retTabSepStrBuff.append(" \t"); retTabSepStrBuff.append(" \t");
retTabSepStrBuff.append(" ").append("\t"); retTabSepStrBuff.append(" ").append("\t");
retTabSepStrBuff.append("\n"); retTabSepStrBuff.append("\n");
resultString = retTabSepStrBuff.toString(); resultString = retTabSepStrBuff.toString();
} }
else else
{ {
sql = " select profile_id,usr_lev from users where code = ?"; sql = " select profile_id,usr_lev from users where code = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,curUserId); pstmt.setString(1,curUserId);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
curProfileId = rs.getString("profile_id"); curProfileId = rs.getString("profile_id");
usrLev = rs.getInt("usr_lev"); usrLev = rs.getInt("usr_lev");
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
System.out.println("Current curProfileId ["+ curProfileId + "] usrLev [" + usrLev + "]"); System.out.println("Current curProfileId ["+ curProfileId + "] usrLev [" + usrLev + "]");
//////////////// ////////////////
//If profile Id is blank or doesnt exist in the User_Rights table then prompt error //If profile Id is blank or doesnt exist in the User_Rights table then prompt error
//String profileSql = " select count(*) " + //String profileSql = " select count(*) " +
// " from user_rights " + // " from user_rights " +
// " where profile_id = '" + profileId + "' " ; // " where profile_id = '" + profileId + "' " ;
String profileSql = " select count(1) " + String profileSql = " select count(1) " +
" from gencodes " + " from gencodes " +
" where fld_name = 'PROFILE_ID' and fld_value = '" + profileId + "' " ; " where fld_name = 'PROFILE_ID' and fld_value = '" + profileId + "' " ;
int profileCount = 0; int profileCount = 0;
System.out.println("ProfileSql :: " + profileSql); System.out.println("ProfileSql :: " + profileSql);
PreparedStatement pProfileStmt = null; PreparedStatement pProfileStmt = null;
ResultSet profileRs = null; ResultSet profileRs = null;
pProfileStmt = conn.prepareStatement(profileSql); pProfileStmt = conn.prepareStatement(profileSql);
profileRs = pProfileStmt.executeQuery(); profileRs = pProfileStmt.executeQuery();
if(profileRs.next()) if(profileRs.next())
{ {
profileCount = profileRs.getInt(1); profileCount = profileRs.getInt(1);
System.out.println("Profile Count = " + profileCount); System.out.println("Profile Count = " + profileCount);
} }
profileRs.close(); profileRs.close();
profileRs = null; profileRs = null;
pProfileStmt.close(); pProfileStmt.close();
pProfileStmt = null; pProfileStmt = null;
/////////////// ///////////////
if(profileCount == 0) if(profileCount == 0)
{ {
errString = itmDBAccessEJB.getErrorString("","PNOTEXIST","","",conn); errString = itmDBAccessEJB.getErrorString("","PNOTEXIST","","",conn);
return errString; return errString;
} }
userRightsMap = new HashMap(); userRightsMap = new HashMap();
winNameMap = new HashMap(); winNameMap = new HashMap();
menuNameMap = new HashMap(); menuNameMap = new HashMap();
sqlStr = " SELECT ITM2MENU.APPLICATION, " + sqlStr = " SELECT ITM2MENU.APPLICATION, " +
" ITM2MENU.LEVEL_1, " + " ITM2MENU.LEVEL_1, " +
" ITM2MENU.LEVEL_2, " + " ITM2MENU.LEVEL_2, " +
" ITM2MENU.LEVEL_3, " + " ITM2MENU.LEVEL_3, " +
" ITM2MENU.LEVEL_4, " + " ITM2MENU.LEVEL_4, " +
" ITM2MENU.LEVEL_5, " + " ITM2MENU.LEVEL_5, " +
" ITM2MENU.WIN_NAME, " + " ITM2MENU.WIN_NAME, " +
" ITM2MENU.DESCR, " + " ITM2MENU.DESCR, " +
" (SELECT USER_RIGHTS.RIGHTS FROM USER_RIGHTS " + " (SELECT USER_RIGHTS.RIGHTS FROM USER_RIGHTS " +
" WHERE USER_RIGHTS.PROFILE_ID = ? " + " WHERE USER_RIGHTS.PROFILE_ID = ? " +
" AND USER_RIGHTS.APPLICATION = ITM2MENU.APPLICATION " + " AND USER_RIGHTS.APPLICATION = ITM2MENU.APPLICATION " +
" AND USER_RIGHTS.MENU_ROW = ITM2MENU.LEVEL_1 " + " AND USER_RIGHTS.MENU_ROW = ITM2MENU.LEVEL_1 " +
" AND USER_RIGHTS.MENU_COL = ITM2MENU.LEVEL_2 " + " AND USER_RIGHTS.MENU_COL = ITM2MENU.LEVEL_2 " +
" AND USER_RIGHTS.MENU_SUBCOL = ITM2MENU.LEVEL_3 " + " AND USER_RIGHTS.MENU_SUBCOL = ITM2MENU.LEVEL_3 " +
" AND USER_RIGHTS.LEVEL_4 = ITM2MENU.LEVEL_4 " + " AND USER_RIGHTS.LEVEL_4 = ITM2MENU.LEVEL_4 " +
" AND USER_RIGHTS.LEVEL_5 = ITM2MENU.LEVEL_5 " + " AND USER_RIGHTS.LEVEL_5 = ITM2MENU.LEVEL_5 " +
" ) AS RIGHTS " + " ) AS RIGHTS " +
" FROM ITM2MENU " ; " FROM ITM2MENU " ;
if (usrLev > 0 ) if (usrLev > 0 )
{ {
sqlStr = sqlStr + " where exists (select 1 from user_rights u " sqlStr = sqlStr + " where exists (select 1 from user_rights u "
+ " where u.profile_id in ('" + curProfileId + "','" + profileId + "') " + " where u.profile_id in ('" + curProfileId + "','" + profileId + "') "
+ " and u.application = ITM2MENU.application " + " and u.application = ITM2MENU.application "
+ " and u.menu_row = ITM2MENU.level_1 " + " and u.menu_row = ITM2MENU.level_1 "
+ " and u.menu_col = ITM2MENU.level_2 " + " and u.menu_col = ITM2MENU.level_2 "
+ " and u.menu_subcol = ITM2MENU.level_3 " + " and u.menu_subcol = ITM2MENU.level_3 "
+ " and u.level_4 = ITM2MENU.level_4 " + " and u.level_4 = ITM2MENU.level_4 "
+ " and u.level_5 = ITM2MENU.level_5) " ; + " and u.level_5 = ITM2MENU.level_5) " ;
} }
sqlStr = sqlStr + " ORDER BY ITM2MENU.APPLICATION, ITM2MENU.LEVEL_1, ITM2MENU.LEVEL_2, ITM2MENU.LEVEL_3, ITM2MENU.LEVEL_4, ITM2MENU.LEVEL_5 "; sqlStr = sqlStr + " ORDER BY ITM2MENU.APPLICATION, ITM2MENU.LEVEL_1, ITM2MENU.LEVEL_2, ITM2MENU.LEVEL_3, ITM2MENU.LEVEL_4, ITM2MENU.LEVEL_5 ";
pstmt = conn.prepareStatement(sqlStr); pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,profileId); pstmt.setString(1,profileId);
//System.out.println("The getData sql is:-"+ sqlStr); //System.out.println("The getData sql is:-"+ sqlStr);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while (rs.next()) while (rs.next())
{ {
tApplication = rs.getString(1); tApplication = rs.getString(1);
if(tApplication != null) if(tApplication != null)
key = tApplication + ":" + rs.getInt(2) + ":" + rs.getInt(3) + ":" + rs.getInt(4) key = tApplication + ":" + rs.getInt(2) + ":" + rs.getInt(3) + ":" + rs.getInt(4)
+ ":" + rs.getInt(5) + ":" + rs.getInt(6); + ":" + rs.getInt(5) + ":" + rs.getInt(6);
//APPLICATION //APPLICATION
retTabSepStrBuff.append(tApplication==null?"":rs.getString(1)).append("\t"); retTabSepStrBuff.append(tApplication==null?"":rs.getString(1)).append("\t");
//LEVEL_1 //LEVEL_1
retTabSepStrBuff.append(rs.getInt(2)).append("\t"); retTabSepStrBuff.append(rs.getInt(2)).append("\t");
//LEVEL_2 //LEVEL_2
retTabSepStrBuff.append(rs.getInt(3)).append("\t"); retTabSepStrBuff.append(rs.getInt(3)).append("\t");
//LEVEL_3 //LEVEL_3
retTabSepStrBuff.append(rs.getInt(4)).append("\t"); retTabSepStrBuff.append(rs.getInt(4)).append("\t");
//LEVEL_4 //LEVEL_4
retTabSepStrBuff.append(rs.getInt(5)).append("\t"); retTabSepStrBuff.append(rs.getInt(5)).append("\t");
//LEVEL_5 //LEVEL_5
retTabSepStrBuff.append(rs.getInt(6)).append("\t"); retTabSepStrBuff.append(rs.getInt(6)).append("\t");
//DESCR //DESCR
tMenuName = rs.getString(8); tMenuName = rs.getString(8);
retTabSepStrBuff.append(rs.getString(8)==null?"":rs.getString(8)).append("\t"); retTabSepStrBuff.append(rs.getString(8)==null?"":rs.getString(8)).append("\t");
//RIGHTS //RIGHTS
retTabSepStrBuff.append(rs.getString(9)==null?"":rs.getString(9)).append("\t"); retTabSepStrBuff.append(rs.getString(9)==null?"":rs.getString(9)).append("\t");
//WIN_NAME //WIN_NAME
tWinName = rs.getString(7); tWinName = rs.getString(7);
retTabSepStrBuff.append(rs.getString(7)==null?"":rs.getString(7)).append("\t"); retTabSepStrBuff.append(rs.getString(7)==null?"":rs.getString(7)).append("\t");
retTabSepStrBuff.append(" ").append("\t"); retTabSepStrBuff.append(" ").append("\t");
retTabSepStrBuff.append("\n"); retTabSepStrBuff.append("\n");
System.out.println("Key getdata function ["+key+"]"); System.out.println("Key getdata function ["+key+"]");
System.out.println("rights in function ["+ rs.getString(9) +"]"); System.out.println("rights in function ["+ rs.getString(9) +"]");
userRightsMap.put(key, rs.getString(9)); userRightsMap.put(key, rs.getString(9));
if(tWinName != null && tWinName.trim().length() > 2) if(tWinName != null && tWinName.trim().length() > 2)
winNameMap.put(key, tWinName.trim().substring(2, tWinName.trim().length())); winNameMap.put(key, tWinName.trim().substring(2, tWinName.trim().length()));
menuNameMap.put(key, tMenuName); menuNameMap.put(key, tMenuName);
}//while }//while
} }
// end 24/03/12 manoharan // end 24/03/12 manoharan
}//try }//try
catch (SQLException e) catch (SQLException e)
{ {
System.out.println("SQLException ::" + sqlStr + e.getMessage() + ":"); System.out.println("SQLException ::" + sqlStr + e.getMessage() + ":");
e.printStackTrace(); e.printStackTrace();
throw new ITMException(e);// added by akhilesh on 31/oct/12 throw new ITMException(e);// added by akhilesh on 31/oct/12
} }
catch(Exception ex) catch(Exception ex)
{ {
System.out.println("Exception []::" + ex.getMessage()); System.out.println("Exception []::" + ex.getMessage());
ex.printStackTrace(); ex.printStackTrace();
throw new ITMException(ex);// added by akhilesh on 31/oct/12 throw new ITMException(ex);// added by akhilesh on 31/oct/12
} }
finally finally
{ {
try try
{ {
if(rs != null){rs.close();// added by akhilesh on 08/nov/12 if(rs != null){rs.close();// added by akhilesh on 08/nov/12
rs = null;} rs = null;}
if(pstmt != null){pstmt.close();// added by akhilesh on 08/nov/12 if(pstmt != null){pstmt.close();// added by akhilesh on 08/nov/12
pstmt = null;} pstmt = null;}
if(conn != null){conn.close();// added by akhilesh on 08/nov/12 if(conn != null){conn.close();// added by akhilesh on 08/nov/12
conn = null;} conn = null;}
} }
catch(Exception e){ catch(Exception e){
throw new ITMException(e);// added by akhilesh on 31/oct/12 throw new ITMException(e);// added by akhilesh on 31/oct/12
} }
} }
resultString = retTabSepStrBuff.toString(); resultString = retTabSepStrBuff.toString();
return resultString; return resultString;
}//getData() }//getData()
//process() //process()
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException
{ {
String retStr = ""; String retStr = "";
Document detailDom = null; Document detailDom = null;
Document headerDom = null; Document headerDom = null;
System.out.println("xmlString2-->"+ xmlString2); System.out.println("xmlString2-->"+ xmlString2);
GenericUtility genericUtility = GenericUtility.getInstance(); GenericUtility genericUtility = GenericUtility.getInstance();
try try
{ {
System.out.println("xmlString ["+xmlString+"]"); System.out.println("xmlString ["+xmlString+"]");
System.out.println("xmlString2 ["+xmlString2+"]"); System.out.println("xmlString2 ["+xmlString2+"]");
System.out.println("windowName ["+windowName+"]"); System.out.println("windowName ["+windowName+"]");
System.out.println("xtraParams ["+xtraParams+"]"); System.out.println("xtraParams ["+xtraParams+"]");
if(xmlString != null && xmlString.trim().length()!=0) if(xmlString != null && xmlString.trim().length()!=0)
{ {
headerDom = genericUtility.parseString(xmlString); headerDom = genericUtility.parseString(xmlString);
} }
if(xmlString2 != null && xmlString2.trim().length()!=0) if(xmlString2 != null && xmlString2.trim().length()!=0)
{ {
detailDom = genericUtility.parseString(xmlString2); detailDom = genericUtility.parseString(xmlString2);
} }
retStr = process(headerDom, detailDom, windowName, xtraParams); retStr = process(headerDom, detailDom, windowName, xtraParams);
} }
catch (Exception e) catch (Exception e)
{ {
System.out.println("Exception :UserRightsEJB :process(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":"); System.out.println("Exception :UserRightsEJB :process(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":");
e.printStackTrace(); e.printStackTrace();
throw new ITMException(e); throw new ITMException(e);
} }
return retStr; return retStr;
} }
public String process(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException public String process(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{ {
processStr = null; processStr = null;
GenericUtility genericUtility = GenericUtility.getInstance(); GenericUtility genericUtility = GenericUtility.getInstance();
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
Connection conn = null; Connection conn = null;
PreparedStatement pInsertStmt = null; PreparedStatement pInsertStmt = null;
PreparedStatement pUpdateStmt = null; PreparedStatement pUpdateStmt = null;
PreparedStatement pDeleteStmt = null; PreparedStatement pDeleteStmt = null;
PreparedStatement pSelectStmt = null;// added by akhilesh on 31/oct/12 PreparedStatement pSelectStmt = null;// added by akhilesh on 31/oct/12
Statement stmt = null; Statement stmt = null;
ResultSet rs = null; ResultSet rs = null;
java.sql.Timestamp orderDate = new java.sql.Timestamp(System.currentTimeMillis()); java.sql.Timestamp orderDate = new java.sql.Timestamp(System.currentTimeMillis());
java.sql.Timestamp udfDate = null; java.sql.Timestamp udfDate = null;
ArrayList relArray = new ArrayList(); // added by akhilesh on 31/oct/12 ArrayList relArray = new ArrayList(); // added by akhilesh on 31/oct/12
ArrayList relArray1 = new ArrayList(); // added by akhilesh on 07/nov/12 ArrayList relArray1 = new ArrayList(); // added by akhilesh on 07/nov/12
String returnString = ""; String returnString = "";
//Declaring fields of the table User_Rights //Declaring fields of the table User_Rights
String profileId = null; String profileId = null;
String application = null; String application = null;
String level1 = null, level2 = null, level3 = null, level4 = null, level5 = null; String level1 = null, level2 = null, level3 = null, level4 = null, level5 = null;
String menuName = null; String menuName = null;
String rights = null; String rights = null;
String accFilt = null; String accFilt = null;
String defFilt = null; String defFilt = null;
String objName = null; String objName = null;
String winName = null; String winName = null;
NodeList parentNodeList = null; NodeList parentNodeList = null;
NodeList childNodeList = null; NodeList childNodeList = null;
Node parentNode = null; Node parentNode = null;
Node childNode = null; Node childNode = null;
String childNodeName = ""; String childNodeName = "";
boolean bDetailFound = false; boolean bDetailFound = false;
int parentNodeListLength = 0; int parentNodeListLength = 0;
int childNodeListLength = 0, insertCount =0, updateCount =0, deleteCount = 0; int childNodeListLength = 0, insertCount =0, updateCount =0, deleteCount = 0;
String delSql = ""; String delSql = "";
profileId = genericUtility.getColumnValue("profile_id", headerDom); profileId = genericUtility.getColumnValue("profile_id", headerDom);
System.out.println("profileId..............."+profileId); System.out.println("profileId..............."+profileId);
String batchInesertSql = "INSERT INTO USER_RIGHTS ( PROFILE_ID, APPLICATION, MENU_ROW, MENU_COL, MENU_SUBCOL, LEVEL_4, LEVEL_5, MENU_NAME, RIGHTS, OBJ_NAME)" String batchInesertSql = "INSERT INTO USER_RIGHTS ( PROFILE_ID, APPLICATION, MENU_ROW, MENU_COL, MENU_SUBCOL, LEVEL_4, LEVEL_5, MENU_NAME, RIGHTS, OBJ_NAME)"
+ " VALUES ( '" + profileId + "' , ?, ?, ?, ?, ?, ?, ?, ?,? )"; + " VALUES ( '" + profileId + "' , ?, ?, ?, ?, ?, ?, ?, ?,? )";
System.out.println("Insert Sql :: " + batchInesertSql); System.out.println("Insert Sql :: " + batchInesertSql);
String batchUpdateSql = "UPDATE USER_RIGHTS SET " + String batchUpdateSql = "UPDATE USER_RIGHTS SET " +
" RIGHTS = ?, " + " RIGHTS = ?, " +
" OBJ_NAME = ? " + " OBJ_NAME = ? " +
" WHERE PROFILE_ID = '" + profileId + "' " + " WHERE PROFILE_ID = '" + profileId + "' " +
" AND APPLICATION = ? " + " AND APPLICATION = ? " +
" AND MENU_ROW = ? " + " AND MENU_ROW = ? " +
" AND MENU_COL = ? " + " AND MENU_COL = ? " +
" AND MENU_SUBCOL = ? " + " AND MENU_SUBCOL = ? " +
" AND LEVEL_4 = ? " + " AND LEVEL_4 = ? " +
" AND LEVEL_5 = ? "; " AND LEVEL_5 = ? ";
String batchDeleteSql = " DELETE FROM USER_RIGHTS " + String batchDeleteSql = " DELETE FROM USER_RIGHTS " +
" WHERE PROFILE_ID = '" + profileId + "' " + " WHERE PROFILE_ID = '" + profileId + "' " +
" AND APPLICATION = ? " + " AND APPLICATION = ? " +
" AND MENU_ROW = ? " + " AND MENU_ROW = ? " +
" AND MENU_COL = ? " + " AND MENU_COL = ? " +
" AND MENU_SUBCOL = ? " + " AND MENU_SUBCOL = ? " +
" AND LEVEL_4 = ? " + " AND LEVEL_4 = ? " +
" AND LEVEL_5 = ? "; " AND LEVEL_5 = ? ";
String searchKey = null; String searchKey = null;
int operation = 0; int operation = 0;
try try
{ {
if(conn == null) if(conn == null)
{ {
connDriver = new ConnDriver(); connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM"); conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false); conn.setAutoCommit(false);
connDriver = null; connDriver = null;
pInsertStmt = conn.prepareStatement(batchInesertSql); pInsertStmt = conn.prepareStatement(batchInesertSql);
pUpdateStmt = conn.prepareStatement(batchUpdateSql); pUpdateStmt = conn.prepareStatement(batchUpdateSql);
pDeleteStmt = conn.prepareStatement(batchDeleteSql); pDeleteStmt = conn.prepareStatement(batchDeleteSql);
} }
parentNodeList = detailDom.getElementsByTagName("Detail2"); parentNodeList = detailDom.getElementsByTagName("Detail2");
parentNodeListLength = parentNodeList.getLength(); parentNodeListLength = parentNodeList.getLength();
System.out.println("ParentNodeListLength....::- "+parentNodeListLength); System.out.println("ParentNodeListLength....::- "+parentNodeListLength);
for (int selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++) for (int selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{ {
operation = 0; operation = 0;
parentNode = parentNodeList.item(selectedRow); parentNode = parentNodeList.item(selectedRow);
childNodeList = parentNode.getChildNodes(); childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength(); childNodeListLength = childNodeList.getLength();
System.out.println("ChildNodeListLength.........:-"+ childNodeListLength); System.out.println("ChildNodeListLength.........:-"+ childNodeListLength);
for (int childRow = 0; childRow < childNodeListLength; childRow++) for (int childRow = 0; childRow < childNodeListLength; childRow++)
{ {
childNode = childNodeList.item(childRow); childNode = childNodeList.item(childRow);
childNodeName = childNode.getNodeName(); childNodeName = childNode.getNodeName();
if (childNodeName.equals("application")) if (childNodeName.equals("application"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
application = (childNode.getFirstChild().getNodeValue()).trim(); application = (childNode.getFirstChild().getNodeValue()).trim();
System.out.println("APPLICATION:::::["+ application+"]"); System.out.println("APPLICATION:::::["+ application+"]");
} }
} }
if (childNodeName.equals("level_1")) if (childNodeName.equals("level_1"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
level1 = (childNode.getFirstChild().getNodeValue()).trim(); level1 = (childNode.getFirstChild().getNodeValue()).trim();
System.out.println("level1:::::"+ level1); System.out.println("level1:::::"+ level1);
} }
} }
if (childNodeName.equals("level_2")) if (childNodeName.equals("level_2"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
level2 = (childNode.getFirstChild().getNodeValue()).trim(); level2 = (childNode.getFirstChild().getNodeValue()).trim();
} }
System.out.println("level2:::::"+ level2); System.out.println("level2:::::"+ level2);
} }
if (childNodeName.equals("level_3")) if (childNodeName.equals("level_3"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
level3 = (childNode.getFirstChild().getNodeValue()).trim(); level3 = (childNode.getFirstChild().getNodeValue()).trim();
} }
System.out.println("level3:::::"+ level3); System.out.println("level3:::::"+ level3);
} }
if (childNodeName.equals("level_4")) if (childNodeName.equals("level_4"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
level4 = (childNode.getFirstChild().getNodeValue()).trim(); level4 = (childNode.getFirstChild().getNodeValue()).trim();
} }
System.out.println("level_4:::::"+ level4); System.out.println("level_4:::::"+ level4);
} }
if (childNodeName.equals("level_5")) if (childNodeName.equals("level_5"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
level5 = (childNode.getFirstChild().getNodeValue()).trim(); level5 = (childNode.getFirstChild().getNodeValue()).trim();
} }
} }
System.out.println("level_5:::::" + level5); System.out.println("level_5:::::" + level5);
} }
if (childNodeName.equals("descr")) if (childNodeName.equals("descr"))
{ {
if (childNode.getFirstChild() != null) // **************** if (childNode.getFirstChild() != null) // ****************
{ {
menuName = (childNode.getFirstChild().getNodeValue()).trim(); menuName = (childNode.getFirstChild().getNodeValue()).trim();
System.out.println("menu_name:::"+ menuName); System.out.println("menu_name:::"+ menuName);
} }
} }
if (childNodeName.equals("rights")) if (childNodeName.equals("rights"))
{ {
/*if (childNode.getFirstChild() != null) // **************** /*if (childNode.getFirstChild() != null) // ****************
{*/// commented by akhilesh on 31/oct/12 {*/// commented by akhilesh on 31/oct/12
// added by akhilesh on 31/oct/12 for validation rights // added by akhilesh on 31/oct/12 for validation rights
if (childNode.getFirstChild() != null ) if (childNode.getFirstChild() != null )
{ {
rights = (childNode.getFirstChild().getNodeValue()); rights = (childNode.getFirstChild().getNodeValue());
} }
else else
{ {
rights =""; rights ="";
} }
winName=this.genericUtility.getColumnValue("win_name", detailDom); winName=this.genericUtility.getColumnValue("win_name", detailDom);
System.out.println("windowName ::::"+ windowName); System.out.println("windowName ::::"+ windowName);
System.out.println("rights and winName ::::"+ rights+""+winName); System.out.println("rights and winName ::::"+ rights+""+winName);
//added by akhilesh on 09/oct/12 //added by akhilesh on 09/oct/12
String rightStr[] = rights.split(","); String rightStr[] = rights.split(",");
System.out.println("after split the right@@@@@@@ ::::"+ rightStr); System.out.println("after split the right@@@@@@@ ::::"+ rightStr);
if(winName.trim().length() > 2) if(winName.trim().length() > 2)
{ {
objName =winName.substring(2); objName =winName.substring(2);
} }
System.out.println("objName ::::"+ objName); System.out.println("objName ::::"+ objName);
for(int i= 0 ; i<rightStr.length; i++) for(int i= 0 ; i<rightStr.length; i++)
{ {
System.out.println("rights and winName ::::"+ rightStr[i]); System.out.println("rights and winName ::::"+ rightStr[i]);
String selectSql = "SELECT DISTINCT (RIGHTS_CHAR) FROM OBJ_LINKS WHERE OBJ_NAME = ?"; String selectSql = "SELECT DISTINCT (RIGHTS_CHAR) FROM OBJ_LINKS WHERE OBJ_NAME = ?";
pSelectStmt =conn.prepareStatement(selectSql); pSelectStmt =conn.prepareStatement(selectSql);
pSelectStmt.setString(1,objName); pSelectStmt.setString(1,objName);
rs = pSelectStmt.executeQuery(); rs = pSelectStmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
relArray.add(rs.getString(1)); relArray.add(rs.getString(1));
} }
System.out.println("relArray and rights value"+relArray); System.out.println("relArray and rights value"+relArray);
rs.close(); rs.close();
rs = null; rs = null;
pSelectStmt.close(); pSelectStmt.close();
pSelectStmt = null; pSelectStmt = null;
// added by akhilesh on 07/nov/12 // added by akhilesh on 07/nov/12
String selectSql1 = "SELECT DISTINCT (RIGHTS_CHAR) FROM OBJ_ACTIONS WHERE OBJ_NAME = ?"; String selectSql1 = "SELECT DISTINCT (RIGHTS_CHAR) FROM OBJ_ACTIONS WHERE OBJ_NAME = ?";
pSelectStmt =conn.prepareStatement(selectSql1); pSelectStmt =conn.prepareStatement(selectSql1);
pSelectStmt.setString(1,objName); pSelectStmt.setString(1,objName);
rs = pSelectStmt.executeQuery(); rs = pSelectStmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
relArray1.add(rs.getString(1)); relArray1.add(rs.getString(1));
} }
System.out.println("relArray1 and rights value"+relArray1); System.out.println("relArray1 and rights value"+relArray1);
rs.close(); rs.close();
rs = null; rs = null;
pSelectStmt.close(); pSelectStmt.close();
pSelectStmt = null; pSelectStmt = null;
//ended by akhilesh //ended by akhilesh
if(!(relArray1.contains(rightStr[i]) || relArray.contains(rightStr[i]) || "*".equals(rightStr[i]))) if(!(relArray1.contains(rightStr[i]) || relArray.contains(rightStr[i]) || "*".equals(rightStr[i]) || "".equals(rightStr[i].trim())))
{ {
System.out.println("error************"); System.out.println("error************");
returnString="VTRIGHT"; returnString="VTRIGHT";
returnString = itmDBAccessEJB.getErrorString("",returnString,"","",conn); returnString = itmDBAccessEJB.getErrorString("",returnString,"","",conn);
return returnString; return returnString;
} }
}//ended by akhilesh on 09/oct/12 }//ended by akhilesh on 09/oct/12
/*}commented by akhilesh on 31/oct/12 /*}commented by akhilesh on 31/oct/12
else else
rights = null;*/ rights = null;*/
} }
} }
// 01/06/10 manoharan // 01/06/10 manoharan
if (level1 == null || level1.trim().length() == 0) if (level1 == null || level1.trim().length() == 0)
{ {
level1 = "0"; level1 = "0";
} }
if (level2 == null || level2.trim().length() == 0) if (level2 == null || level2.trim().length() == 0)
{ {
level2 = "0"; level2 = "0";
} }
if (level3 == null || level3.trim().length() == 0) if (level3 == null || level3.trim().length() == 0)
{ {
level3 = "0"; level3 = "0";
} }
if (level4 == null || level4.trim().length() == 0) if (level4 == null || level4.trim().length() == 0)
{ {
level4 = "0"; level4 = "0";
} }
if (level5 == null || level5.trim().length() == 0) if (level5 == null || level5.trim().length() == 0)
{ {
level5 = "0"; level5 = "0";
} }
// end 01/06/10 manoharan // end 01/06/10 manoharan
searchKey = application + ":" + level1 + ":" + level2 + ":" + level3 + ":" + level4 + ":" + level5; searchKey = application + ":" + level1 + ":" + level2 + ":" + level3 + ":" + level4 + ":" + level5;
// //
//get all submenu if found //get all submenu if found
ArrayList subMenuList = null; ArrayList subMenuList = null;
subMenuList = getAllSubMenu(application, Integer.parseInt(level1), Integer.parseInt(level2), Integer.parseInt(level3), Integer.parseInt(level4), Integer.parseInt(level5), conn); subMenuList = getAllSubMenu(application, Integer.parseInt(level1), Integer.parseInt(level2), Integer.parseInt(level3), Integer.parseInt(level4), Integer.parseInt(level5), conn);
System.out.println("SubMenu List :: " + subMenuList.toString()); System.out.println("SubMenu List :: " + subMenuList.toString());
// //
//operation = searchUserRight(searchKey, rights); //operation = searchUserRight(searchKey, rights);
if(subMenuList != null) if(subMenuList != null)
{ {
for(int index = 0; index < subMenuList.size(); index++) for(int index = 0; index < subMenuList.size(); index++)
{ {
String searchStr = null; String searchStr = null;
searchStr = (String)subMenuList.get(index); searchStr = (String)subMenuList.get(index);
objName = ""; objName = "";
System.out.print("obj name @@@@@@@@@@@@"+objName+""+searchStr+""+index+""+subMenuList.size()); System.out.print("obj name @@@@@@@@@@@@"+objName+""+searchStr+""+index+""+subMenuList.size());
objName = (String)winNameMap.get(searchStr); objName = (String)winNameMap.get(searchStr);
System.out.print("obj name @@@@@@@@@@@@"+objName+""+searchStr+""+index+""+subMenuList.size()); System.out.print("obj name @@@@@@@@@@@@"+objName+""+searchStr+""+index+""+subMenuList.size());
//Get parameters from searchStr //Get parameters from searchStr
StringTokenizer subMenuToken = new StringTokenizer(searchStr, ":"); StringTokenizer subMenuToken = new StringTokenizer(searchStr, ":");
if(subMenuToken.hasMoreTokens()) if(subMenuToken.hasMoreTokens())
application = subMenuToken.nextToken(); application = subMenuToken.nextToken();
if(subMenuToken.hasMoreTokens()) if(subMenuToken.hasMoreTokens())
level1 = subMenuToken.nextToken(); level1 = subMenuToken.nextToken();
if(subMenuToken.hasMoreTokens()) if(subMenuToken.hasMoreTokens())
level2 = subMenuToken.nextToken(); level2 = subMenuToken.nextToken();
if(subMenuToken.hasMoreTokens()) if(subMenuToken.hasMoreTokens())
level3 = subMenuToken.nextToken(); level3 = subMenuToken.nextToken();
if(subMenuToken.hasMoreTokens()) if(subMenuToken.hasMoreTokens())
level4 = subMenuToken.nextToken(); level4 = subMenuToken.nextToken();
if(subMenuToken.hasMoreTokens()) if(subMenuToken.hasMoreTokens())
level5 = subMenuToken.nextToken(); level5 = subMenuToken.nextToken();
menuName = (String)menuNameMap.get(searchStr); menuName = (String)menuNameMap.get(searchStr);
System.out.println("SerarchStr = " + searchStr + " :: " + application + " : " + level1 + " : " + level2 + " : " + level3 + " : " + level4 + " : " + level5); System.out.println("SerarchStr = " + searchStr + " :: " + application + " : " + level1 + " : " + level2 + " : " + level3 + " : " + level4 + " : " + level5);
// 01/06/10 manoharan // 01/06/10 manoharan
//operation = searchUserRight(searchStr, rights); //operation = searchUserRight(searchStr, rights);
operation = searchUserRight(profileId, application,Integer.parseInt(level1),Integer.parseInt(level2),Integer.parseInt(level3),Integer.parseInt(level4),Integer.parseInt(level5),rights,conn); operation = searchUserRight(profileId, application,Integer.parseInt(level1),Integer.parseInt(level2),Integer.parseInt(level3),Integer.parseInt(level4),Integer.parseInt(level5),rights,conn);
// end 01/06/10 manoharan // end 01/06/10 manoharan
System.out.println("Operation ["+ operation +"]"); System.out.println("Operation ["+ operation +"]");
/* /*
1 - insert 1 - insert
2 - update 2 - update
3 - delete 3 - delete
*/ */
if(operation == 1 && rights.trim().length() > 0) if(operation == 1 && rights.trim().length() > 0)
{ {
//pInsertStmt.setString(1, profileId); //pInsertStmt.setString(1, profileId);
pInsertStmt.setString(1, application); pInsertStmt.setString(1, application);
pInsertStmt.setInt(2, Integer.parseInt(level1)); pInsertStmt.setInt(2, Integer.parseInt(level1));
pInsertStmt.setInt(3, Integer.parseInt(level2)); pInsertStmt.setInt(3, Integer.parseInt(level2));
pInsertStmt.setInt(4, Integer.parseInt(level3)); pInsertStmt.setInt(4, Integer.parseInt(level3));
pInsertStmt.setInt(5, Integer.parseInt(level4)); pInsertStmt.setInt(5, Integer.parseInt(level4));
pInsertStmt.setInt(6, Integer.parseInt(level5)); pInsertStmt.setInt(6, Integer.parseInt(level5));
pInsertStmt.setString(7, menuName); pInsertStmt.setString(7, menuName);
pInsertStmt.setString(8, rights.trim()); pInsertStmt.setString(8, rights.trim());
pInsertStmt.setString(9, objName); pInsertStmt.setString(9, objName);
insertCount++; insertCount++;
pInsertStmt.addBatch(); pInsertStmt.addBatch();
} }
else if(operation == 2) else if(operation == 2)
{ {
pUpdateStmt.setString(1, rights.trim()); pUpdateStmt.setString(1, rights.trim());
//pUpdateStmt.setString(2, profileId); //pUpdateStmt.setString(2, profileId);
pUpdateStmt.setString(2, objName); pUpdateStmt.setString(2, objName);
pUpdateStmt.setString(3, application); pUpdateStmt.setString(3, application);
pUpdateStmt.setInt(4, Integer.parseInt(level1)); pUpdateStmt.setInt(4, Integer.parseInt(level1));
pUpdateStmt.setInt(5, Integer.parseInt(level2)); pUpdateStmt.setInt(5, Integer.parseInt(level2));
pUpdateStmt.setInt(6, Integer.parseInt(level3)); pUpdateStmt.setInt(6, Integer.parseInt(level3));
pUpdateStmt.setInt(7, Integer.parseInt(level4)); pUpdateStmt.setInt(7, Integer.parseInt(level4));
pUpdateStmt.setInt(8, Integer.parseInt(level5)); pUpdateStmt.setInt(8, Integer.parseInt(level5));
updateCount++; updateCount++;
pUpdateStmt.addBatch(); pUpdateStmt.addBatch();
} }
else if(operation == 3) else if(operation == 3)
{ {
//pDeleteStmt.setString(1, profileId); //pDeleteStmt.setString(1, profileId);
pDeleteStmt.setString(1, application); pDeleteStmt.setString(1, application);
pDeleteStmt.setInt(2, Integer.parseInt(level1)); pDeleteStmt.setInt(2, Integer.parseInt(level1));
pDeleteStmt.setInt(3, Integer.parseInt(level2)); pDeleteStmt.setInt(3, Integer.parseInt(level2));
pDeleteStmt.setInt(4, Integer.parseInt(level3)); pDeleteStmt.setInt(4, Integer.parseInt(level3));
pDeleteStmt.setInt(5, Integer.parseInt(level4)); pDeleteStmt.setInt(5, Integer.parseInt(level4));
pDeleteStmt.setInt(6, Integer.parseInt(level5)); pDeleteStmt.setInt(6, Integer.parseInt(level5));
deleteCount++; deleteCount++;
pDeleteStmt.addBatch(); pDeleteStmt.addBatch();
} }
}//End of subMenuList iteration for loop }//End of subMenuList iteration for loop
}//End of if subMenuList is not null }//End of if subMenuList is not null
//} //}
}//outer for }//outer for
if (insertCount > 0) if (insertCount > 0)
{ {
System.out.println("Before Delete Batch"); System.out.println("Before Delete Batch");
pInsertStmt.executeBatch(); pInsertStmt.executeBatch();
System.out.println("After Insert Batch" ); System.out.println("After Insert Batch" );
} }
if (updateCount > 0) if (updateCount > 0)
{ {
System.out.println("Before Update Batch"); System.out.println("Before Update Batch");
pUpdateStmt.executeBatch(); pUpdateStmt.executeBatch();
System.out.println("After Update Batch = "); System.out.println("After Update Batch = ");
} }
if (deleteCount > 0) if (deleteCount > 0)
{ {
System.out.println("Before Delete Batch"); System.out.println("Before Delete Batch");
pDeleteStmt.executeBatch(); pDeleteStmt.executeBatch();
System.out.println("After Delete Batch = "); System.out.println("After Delete Batch = ");
} }
conn.commit(); conn.commit();
System.out.println("After Commit"); System.out.println("After Commit");
} }
catch(BatchUpdateException be) catch(BatchUpdateException be)
{ {
be.printStackTrace(); be.printStackTrace();
returnString = be.getMessage(); returnString = be.getMessage();
System.out.println("BatchUpdateException :RunMRPPrcEJB: CreatePlanDemand(ADPElement)" + returnString); System.out.println("BatchUpdateException :RunMRPPrcEJB: CreatePlanDemand(ADPElement)" + returnString);
System.out.println("Detail Exception : " + be.getNextException()); System.out.println("Detail Exception : " + be.getNextException());
throw new ITMException(be);// added by akhilesh on 31/oct/12 throw new ITMException(be);// added by akhilesh on 31/oct/12
} }
catch (SQLException ex) catch (SQLException ex)
{ {
returnString = ex.getMessage(); returnString = ex.getMessage();
try{conn.rollback(); try{conn.rollback();
}catch(Exception e){ }catch(Exception e){
throw new ITMException(e);// added by akhilesh on 31/oct/12 throw new ITMException(e);// added by akhilesh on 31/oct/12
} }
ex.printStackTrace(); ex.printStackTrace();
throw new ITMException(ex);// added by akhilesh on 31/oct/12 throw new ITMException(ex);// added by akhilesh on 31/oct/12
} }
catch (Exception e) catch (Exception e)
{ {
returnString = e.getMessage(); returnString = e.getMessage();
try{ try{
conn.rollback(); conn.rollback();
}catch(Exception ec){ }catch(Exception ec){
throw new ITMException(ec);// added by akhilesh on 31/oct/12 throw new ITMException(ec);// added by akhilesh on 31/oct/12
} }
e.printStackTrace(); e.printStackTrace();
throw new ITMException(e);// added by akhilesh on 31/oct/12 throw new ITMException(e);// added by akhilesh on 31/oct/12
} }
finally finally
{ {
try try
{ {
userRightsMap = null; userRightsMap = null;
winNameMap = null; winNameMap = null;
menuNameMap = null; menuNameMap = null;
profileId = null; profileId = null;
pInsertStmt.close(); pInsertStmt.close();
pInsertStmt = null; pInsertStmt = null;
pUpdateStmt.close(); pUpdateStmt.close();
pUpdateStmt = null; pUpdateStmt = null;
pDeleteStmt.close(); pDeleteStmt.close();
pDeleteStmt = null; pDeleteStmt = null;
conn.close(); conn.close();
conn = null; conn = null;
}catch(Exception e){ }catch(Exception e){
throw new ITMException(e);// added by akhilesh on 31/oct/12 throw new ITMException(e);// added by akhilesh on 31/oct/12
} }
//return returnString; //return returnString;
} }
if (returnString == null || returnString.trim().length() == 0) if (returnString == null || returnString.trim().length() == 0)
{ {
System.out.println("errString is null************** "); System.out.println("errString is null************** ");
returnString="VTCOMPL"; returnString="VTCOMPL";
returnString = itmDBAccessEJB.getErrorString("",returnString,"","",conn); returnString = itmDBAccessEJB.getErrorString("",returnString,"","",conn);
return returnString; return returnString;
} }
else else
{ {
System.out.println("errString is not null ***************"); System.out.println("errString is not null ***************");
returnString="VTPRCERR"; returnString="VTPRCERR";
returnString = itmDBAccessEJB.getErrorString("",returnString,"","",conn); returnString = itmDBAccessEJB.getErrorString("",returnString,"","",conn);
return returnString; return returnString;
} }
}//process() }//process()
/* 1 - insert /* 1 - insert
2- update 2- update
3-delete 3-delete
Searches HashMap for availability of rights for searchKey Searches HashMap for availability of rights for searchKey
if Not Found and rights is not null then if Not Found and rights is not null then
return 1 return 1
else if Found and rights is not null then else if Found and rights is not null then
return 2 return 2
else if Found and rights = null else if Found and rights = null
return 3 return 3
*/ */
// 01/06/10 manoharan // 01/06/10 manoharan
int searchUserRight(String profileId, String application,int level1,int level2,int level3,int level4,int level5, String rights,Connection conn) throws Exception int searchUserRight(String profileId, String application,int level1,int level2,int level3,int level4,int level5, String rights,Connection conn) throws Exception
{ {
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
String alreadyExists = "N"; String alreadyExists = "N";
String sql = " SELECT RIGHTS FROM USER_RIGHTS " String sql = " SELECT RIGHTS FROM USER_RIGHTS "
+ " WHERE PROFILE_ID = ? " + " WHERE PROFILE_ID = ? "
+ " AND APPLICATION = ? " + " AND APPLICATION = ? "
+ " AND MENU_ROW = ? " + " AND MENU_ROW = ? "
+ " AND MENU_COL = ? " + " AND MENU_COL = ? "
+ " AND MENU_SUBCOL = ? " + " AND MENU_SUBCOL = ? "
+ " AND LEVEL_4 = ? " + " AND LEVEL_4 = ? "
+ " AND LEVEL_5 = ? "; + " AND LEVEL_5 = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
String foundRights = null; String foundRights = null;
int operation = -1; int operation = -1;
pstmt.setString(1,profileId); pstmt.setString(1,profileId);
pstmt.setString(2,application); pstmt.setString(2,application);
pstmt.setInt(3,level1); pstmt.setInt(3,level1);
pstmt.setInt(4,level2); pstmt.setInt(4,level2);
pstmt.setInt(5,level3); pstmt.setInt(5,level3);
pstmt.setInt(6,level4); pstmt.setInt(6,level4);
pstmt.setInt(7,level5); pstmt.setInt(7,level5);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if (rs.next()) if (rs.next())
{ {
foundRights = rs.getString(1); foundRights = rs.getString(1);
alreadyExists = "Y"; alreadyExists = "Y";
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
//foundRights = (String) userRightsMap.get(searchKey); //foundRights = (String) userRightsMap.get(searchKey);
System.out.println("Found rights in function ["+foundRights+"] rights [" + rights +"] alreadyExists [" + alreadyExists + "]"); System.out.println("Found rights in function ["+foundRights+"] rights [" + rights +"] alreadyExists [" + alreadyExists + "]");
if(foundRights == null && rights != null && "N".equals(alreadyExists)) if(foundRights == null && rights != null && "N".equals(alreadyExists))
operation = 1; operation = 1;
else if((foundRights != null && rights != null) || ("Y".equals(alreadyExists) && foundRights == null && rights != null) ) else if((foundRights != null && rights != null) || ("Y".equals(alreadyExists) && foundRights == null && rights != null) )
operation = 2; operation = 2;
else if(foundRights != null && rights == null && "Y".equals(alreadyExists)) else if(foundRights != null && rights == null && "Y".equals(alreadyExists))
operation = 3; operation = 3;
return operation; return operation;
} }
// end 01/06/10 manoharan // end 01/06/10 manoharan
int searchUserRight(String searchKey, String rights) int searchUserRight(String searchKey, String rights)
{ {
System.out.println("searchKey in function ["+searchKey+"]"); System.out.println("searchKey in function ["+searchKey+"]");
System.out.println("rights in function ["+rights+"]"); System.out.println("rights in function ["+rights+"]");
String foundRights = null; String foundRights = null;
int operation = -1; int operation = -1;
foundRights = (String) userRightsMap.get(searchKey); foundRights = (String) userRightsMap.get(searchKey);
System.out.println("Found rights in function ["+foundRights+"]"); System.out.println("Found rights in function ["+foundRights+"]");
if(foundRights == null && rights != null) if(foundRights == null && rights != null)
operation = 1; operation = 1;
else if(foundRights != null && rights != null) else if(foundRights != null && rights != null)
operation = 2; operation = 2;
else if(foundRights != null && rights == null) else if(foundRights != null && rights == null)
operation = 3; operation = 3;
return operation; return operation;
} }
private ArrayList getAllSubMenu(String application, int level1, int level2, int level3, int level4, int level5, Connection conn) private ArrayList getAllSubMenu(String application, int level1, int level2, int level3, int level4, int level5, Connection conn)
throws SQLException throws SQLException
{ {
String tApplication = null; String tApplication = null;
int tLevel1 = 0; int tLevel1 = 0;
int tLevel2 = 0; int tLevel2 = 0;
int tLevel3 = 0; int tLevel3 = 0;
int tLevel4 = 0; int tLevel4 = 0;
int tLevel5 = 0; int tLevel5 = 0;
String tMenuName = null; String tMenuName = null;
String gotUserRights = null; String gotUserRights = null;
String getSubMenuSql = " SELECT APPLICATION, LEVEL_1, LEVEL_2, LEVEL_3, LEVEL_4, LEVEL_5, WIN_NAME, DESCR FROM ITM2MENU " + String getSubMenuSql = " SELECT APPLICATION, LEVEL_1, LEVEL_2, LEVEL_3, LEVEL_4, LEVEL_5, WIN_NAME, DESCR FROM ITM2MENU " +
" where APPLICATION = '" + application + "' " + " where APPLICATION = '" + application + "' " +
" and ( level_1 = 0 or (level_1 <> 0 and (LEVEL_1 = " + level1 + " AND LEVEL_2 > 0))) " + " and ( level_1 = 0 or (level_1 <> 0 and (LEVEL_1 = " + level1 + " AND LEVEL_2 > 0))) " +
" and ( level_2 = 0 or (level_2 <> 0 and (LEVEL_2 = " + level2 + " AND LEVEL_3 > 0))) " + " and ( level_2 = 0 or (level_2 <> 0 and (LEVEL_2 = " + level2 + " AND LEVEL_3 > 0))) " +
" and ( level_3 = 0 or ( level_3 <> 0 and (LEVEL_3 = " + level3 + " AND LEVEL_4 > 0))) " + " and ( level_3 = 0 or ( level_3 <> 0 and (LEVEL_3 = " + level3 + " AND LEVEL_4 > 0))) " +
" and ( level_4 = 0 or ( level_4 <> 0 and (LEVEL_4 = " + level4 + " AND LEVEL_5 > 0))) " + " and ( level_4 = 0 or ( level_4 <> 0 and (LEVEL_4 = " + level4 + " AND LEVEL_5 > 0))) " +
" and WIN_NAME <> '-' " ; " and WIN_NAME <> '-' " ;
System.out.println("Get All Sub Menu SQL :: " + getSubMenuSql); System.out.println("Get All Sub Menu SQL :: " + getSubMenuSql);
String parentKey = application + ":" + level1 + ":" + level2 + ":" + level3 + ":" + level4 + ":" + level5; String parentKey = application + ":" + level1 + ":" + level2 + ":" + level3 + ":" + level4 + ":" + level5;
ArrayList subMenuList = new ArrayList(); ArrayList subMenuList = new ArrayList();
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
pstmt = conn.prepareStatement(getSubMenuSql); pstmt = conn.prepareStatement(getSubMenuSql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
tApplication = rs.getString(1); tApplication = rs.getString(1);
tLevel1 = rs.getInt(2); tLevel1 = rs.getInt(2);
tLevel2 = rs.getInt(3); tLevel2 = rs.getInt(3);
tLevel3 = rs.getInt(4); tLevel3 = rs.getInt(4);
tLevel4 = rs.getInt(5); tLevel4 = rs.getInt(5);
tLevel5 = rs.getInt(6); tLevel5 = rs.getInt(6);
String tWinName = null; String tWinName = null;
tWinName = rs.getString(7); tWinName = rs.getString(7);
String tKey = null; String tKey = null;
tKey = tApplication + ":" + tLevel1 + ":" + tLevel2 + ":" + tLevel3 + ":" + tLevel4 + ":" + tLevel5; tKey = tApplication + ":" + tLevel1 + ":" + tLevel2 + ":" + tLevel3 + ":" + tLevel4 + ":" + tLevel5;
System.out.println("tKey :: " + tKey); System.out.println("tKey :: " + tKey);
subMenuList.add(tKey); subMenuList.add(tKey);
tMenuName = rs.getString(8); tMenuName = rs.getString(8);
if(!menuNameMap.containsKey(tKey)) if(!menuNameMap.containsKey(tKey))
menuNameMap.put(tKey, tMenuName); menuNameMap.put(tKey, tMenuName);
winNameMap.put(tKey, tWinName.trim().substring(2, tWinName.trim().length())); winNameMap.put(tKey, tWinName.trim().substring(2, tWinName.trim().length()));
gotUserRights = (String) userRightsMap.get(tKey); gotUserRights = (String) userRightsMap.get(tKey);
if(gotUserRights == null || gotUserRights.trim().length() == 0){ if(gotUserRights == null || gotUserRights.trim().length() == 0){
gotUserRights = getUserRights(profileId, tApplication, tLevel1, tLevel2, tLevel3, tLevel4, tLevel5, conn); gotUserRights = getUserRights(profileId, tApplication, tLevel1, tLevel2, tLevel3, tLevel4, tLevel5, conn);
if(gotUserRights != null && gotUserRights.trim().length() > 0) if(gotUserRights != null && gotUserRights.trim().length() > 0)
userRightsMap.put(tKey, gotUserRights); userRightsMap.put(tKey, gotUserRights);
} }
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
if(subMenuList.size() == 0) if(subMenuList.size() == 0)
subMenuList.add(parentKey); subMenuList.add(parentKey);
return subMenuList; return subMenuList;
} }
private String getUserRights(String profileId, String application, int level1, int level2, int level3, int level4, int level5, Connection conn) private String getUserRights(String profileId, String application, int level1, int level2, int level3, int level4, int level5, Connection conn)
throws SQLException throws SQLException
{ {
String userRightsSql = " select RIGHTS " + String userRightsSql = " select RIGHTS " +
" from user_rights " + " from user_rights " +
" where profile_id = '" + profileId + "' " + " where profile_id = '" + profileId + "' " +
" and APPLICATION = '" + application + "' " + " and APPLICATION = '" + application + "' " +
" and MENU_ROW = " + level1 + " and MENU_ROW = " + level1 +
" and MENU_COL = " + level2 + " and MENU_COL = " + level2 +
" and MENU_SUBCOL = " +level3 + " and MENU_SUBCOL = " +level3 +
" and LEVEL_4 = " + level4 + " and LEVEL_4 = " + level4 +
" and LEVEL_5 = " + level5; " and LEVEL_5 = " + level5;
String rights = null; String rights = null;
System.out.println("userRightsSql :: " + userRightsSql); System.out.println("userRightsSql :: " + userRightsSql);
String key = application + ":" + level1 + ":" + level2 + ":" + level3 + ":" + level4 + ":" + level5; String key = application + ":" + level1 + ":" + level2 + ":" + level3 + ":" + level4 + ":" + level5;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
pstmt = conn.prepareStatement(userRightsSql); pstmt = conn.prepareStatement(userRightsSql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
rights = rs.getString(1); rights = rs.getString(1);
System.out.println("Key = " + key + " : Rights = " + rights); System.out.println("Key = " + key + " : Rights = " + rights);
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
return rights; return rights;
} }
}//class }//class
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