ITMUSERAUDIT jsp,java and xsl fil

parent ab4e759a
package ibase.webitm.bean;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.naming.InitialContext;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import ibase.ejb.CommonDBAccessEJB;
import ibase.utility.BaseLogger;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.DBAccessEJB;
import ibase.webitm.ejb.ITMUserAuditBrowFormEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
public class ITMUserAuditBeanTest implements Serializable {
String objName = "user_audit_trail";
String refID;
String chgID;
String recObjName;
String pContext = "1";
String objContext = "1";
String editFlag = "V";
String reqParamStr = "";
String user_lang = "en";
String user_country = "US";
ibase.utility.UserInfoBean userInfo=null;
String defaultPath = CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator;
public void setRequestParamStr(String reqParamStr){
if( reqParamStr != null && ! "null".equalsIgnoreCase(reqParamStr) && reqParamStr.length() > 0 ){
this.reqParamStr = reqParamStr;
}
}
public void setUserInfo( ibase.utility.UserInfoBean userInfo ){
this.userInfo = userInfo;
}
public String getXMLStrBrow(String output)throws ITMException{
BaseLogger.log("2", userInfo, null,"Getting Brow Form XML String...."+output);
InitialContext ctx = null;
String retData = null;
try{
ITMUserAuditBrowFormEJB ITMBrowForm = new ITMUserAuditBrowFormEJB();
retData = ITMBrowForm.getBrowForm(this.objName, this.objContext, (this.objName + this.pContext + this.objContext), this.reqParamStr, this.userInfo);
BaseLogger.log("2", userInfo, null," Retdatanotfound value:::"+retData);
if( "HTML".equalsIgnoreCase(output) ) {
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
String xslFile = new E12GenericUtility().readFile(CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator+"xsl"+File.separator+"user_audit_trail11_en_US_V.xsl");
Transformer transformer = tFactory.newTransformer(new StreamSource(new ByteArrayInputStream(xslFile.getBytes())));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
transformer.transform( new DOMSource( new E12GenericUtility().parseString( retData )), new StreamResult(bos));
retData = bos.toString();
}
catch ( Exception e ){
e.printStackTrace();
}
}
ITMBrowForm = null;
}
catch(ITMException itme){
BaseLogger.log("0", userInfo, null,"ITMException :ITMAuditBean :getXmlStr :==>");
throw itme;
}
catch(Exception e){
BaseLogger.log("0", userInfo, null,"Exception :ITMAuditBean :getXmlStr :==>");
e.printStackTrace();
throw new ITMException(e);
}
BaseLogger.log("2", userInfo, null,"Returning XML String Length :["+retData.length()+"]bytes");
return retData;
}
public String getXMLStrDetail()throws ITMException{
BaseLogger.log("2", userInfo, null,"Getting Free Form XML String....");
InitialContext ctx = null;
String xmlString = null;
try{
DBAccessEJB dbAccess = new DBAccessEJB();
String query = "SELECT CHG_XML FROM AUDIT_TRAIL WHERE CHG_ID = ? AND OBJ_NAME=? AND REF_ID=?";
ArrayList bindVarValues = new ArrayList();
ArrayList bindVarTypes = new ArrayList();
bindVarValues.add(this.chgID);
bindVarValues.add(this.recObjName);
bindVarValues.add(this.refID.trim());
BaseLogger.log("3", userInfo, null,"query "+query);
BaseLogger.log("3", userInfo, null,"this.chgID ["+this.chgID+"]");
BaseLogger.log("3", userInfo, null,"this.recObjName ["+this.recObjName+"]");
BaseLogger.log("3", userInfo, null,"this.refID ["+this.refID+"]");
bindVarTypes.add("String");
bindVarTypes.add("String");
bindVarTypes.add("String");
xmlString = dbAccess.getBlob(query, bindVarValues, bindVarTypes, this.userInfo);
dbAccess = null;
}
catch(ITMException itme){
BaseLogger.log("0", userInfo, null,"ITMException :ITMAuditBean :getXmlStr :==>");
throw itme;
}
catch(Exception e){
BaseLogger.log("0", userInfo, null,"Exception :ITMAuditBean :getXmlStr :==>");
e.printStackTrace();
throw new ITMException(e);
}
BaseLogger.log("2", userInfo, null,"Returning XML String Length :["+xmlString.length()+"]bytes");
return xmlString;
}
public String getXMLStrDetail(UserInfoBean userInfo) throws ITMException
{
BaseLogger.log("2", userInfo, null,"Getting Free Form XML String....");
InitialContext ctx = null;
String xmlString = null;
try{
DBAccessEJB dbAccess = new DBAccessEJB();
String query = "SELECT CHG_XML FROM AUDIT_TRAIL WHERE CHG_ID = ? AND OBJ_NAME=? AND REF_ID=?";
ArrayList bindVarValues = new ArrayList();
ArrayList bindVarTypes = new ArrayList();
bindVarValues.add(this.chgID);
bindVarValues.add(this.recObjName);
bindVarValues.add(this.refID.trim());
BaseLogger.log("3", userInfo, null,"query "+query);
BaseLogger.log("3", userInfo, null,"this.chgID ["+this.chgID+"]");
BaseLogger.log("3", userInfo, null,"this.recObjName ["+this.recObjName+"]");
BaseLogger.log("3", userInfo, null,"this.refID ["+this.refID+"]");
bindVarTypes.add("String");
bindVarTypes.add("String");
bindVarTypes.add("String");
xmlString = dbAccess.getBlob(query, bindVarValues, bindVarTypes, userInfo);
dbAccess = null;
}
catch(ITMException itme){
BaseLogger.log("0", userInfo, null,"ITMException :ITMAuditBean :getXmlStr :==>");
throw itme;
}
catch(Exception e){
BaseLogger.log("0", userInfo, null,"Exception :ITMAuditBean :getXmlStr :==>");
e.printStackTrace();
throw new ITMException(e);
}
BaseLogger.log("2", userInfo, null,"Returning XML String Length :["+xmlString.length()+"]bytes");
return xmlString;
}
public String getSessionInfoDet(String userId, String fromDate, String toDate) {
String sessionid = "", chg_user = "", loginstatus = "", chgterm = "", chguser = "", logintime = "",
xmlbufferdata = "", logoutTime = "" , newDtFOrmatlogoutTime="",newDate = "";
Timestamp loginTime = null;
java.sql.PreparedStatement pstmt = null;
Connection con = null;
ResultSet rs = null;
Date datee,logouTTime= null;
Timestamp fromdate = null, todate = null, newLoginTIme = null;
int dom = 1000;
BaseLogger.log("3", null, null, "Userid::"+userId);
BaseLogger.log("3", null, null, "Fromdate::"+fromDate);
BaseLogger.log("3", null, null, "Todate::"+toDate);
try {
CommonDBAccessEJB commonDBAccessEJB = new CommonDBAccessEJB();
userInfo = commonDBAccessEJB.createUserInfo(userId);
BaseLogger.log("3", userInfo, null, "Userinfo::" + userInfo);
ValidatorEJB valejb = new ValidatorEJB();
valejb.setUserInfo(userInfo);
con = valejb.getConnection();
BaseLogger.log("3", userInfo, null, "Fromdate:" + fromDate);
BaseLogger.log("3", userInfo, null, "Todate::" + toDate);
String loginTraceSql = "SELECT * FROM LOGINTRACE WHERE LOGIN_STATUS = 'T' AND USERID = ? AND LOGINTIME >= ? AND TRUNC(LOGINTIME) <= ?";
BaseLogger.log("3", userInfo, null, "Result from sql::" + loginTraceSql);
pstmt = con.prepareStatement(loginTraceSql);
pstmt.setString(1, userId);
pstmt.setString(2, fromDate);
pstmt.setString(3, toDate);
rs = pstmt.executeQuery();
StringBuffer buffer = new StringBuffer();
while (rs.next()) {
E12GenericUtility genericUtility = new E12GenericUtility();
sessionid = genericUtility.checkNull(rs.getString("SESSIONID"));
loginstatus = genericUtility.checkNull(rs.getString("LOGIN_STATUS"));
chgterm = genericUtility.checkNull(rs.getString("CHG_TERM"));
loginTime = (rs.getTimestamp("LOGINTIME")) ;
chg_user = genericUtility.checkNull(rs.getString("USERID"));
logoutTime = genericUtility.checkNull(rs.getString("LOGOUTTIME"));
BaseLogger.log("3", userInfo, null, "Sessionid::" + sessionid);
BaseLogger.log("3", userInfo, null, "Loginstatus::" + loginstatus);
BaseLogger.log("3", userInfo, null, "Chgterm" + chgterm);
BaseLogger.log("3", userInfo, null, "Chguser::" + chguser);
BaseLogger.log("3", userInfo, null, "Logintime::" + loginTime);
BaseLogger.log("3", userInfo, null, "Str logouTime::" + logoutTime);
newDate = newDateFormat(loginTime);
BaseLogger.log("3", userInfo, null, "Newdate from newdateformat method" + newDate);
buffer.append("<Detail1 dbID='' domID='" + dom + "' objName='user_audit_trail' objContext='1'>\r\n");
buffer.append("<attribute pkNames='' status='O' updateFlag='N' selected='N' />\r\n");
buffer.append("<chg_id><![CDATA[2]]></chg_id>\r\n");
buffer.append("<obj_name><![CDATA[Login Session Info]]></obj_name>\r\n");
buffer.append("<ref_id><![CDATA["+ sessionid +"]]></ref_id>\r\n");
buffer.append("<action_prfrm><![CDATA[Login]]></action_prfrm>\r\n");
buffer.append("<action_status><![CDATA["+loginstatus+"]]></action_status>\r\n");
buffer.append("<chg_term><![CDATA["+chgterm+"]]></chg_term>\r\n");
buffer.append("<tran_id><![CDATA["+sessionid+"]]></tran_id> \r\n");
buffer.append("<chg_user><![CDATA["+userId+"]]></chg_user> \r\n");
buffer.append("<chg_date><![CDATA["+newDate+"]]></chg_date> \r\n");
buffer.append("<descr><![CDATA[Login Session Info]]></descr> \r\n");
buffer.append("</Detail1> \r\n");
if((genericUtility.checkNull(logoutTime) != ""))
{
dom++;
BaseLogger.log("3", userInfo, null, " Logout sessionid::" + sessionid);
BaseLogger.log("3", userInfo, null, " Logout loginstatus::" + loginstatus);
BaseLogger.log("3", userInfo, null, " Logout chgterm" + chgterm);
BaseLogger.log("3", userInfo, null, " Logout chguser::" + chguser);
BaseLogger.log("3", userInfo, null, " Logout str logoutTime::" + logoutTime);
newDtFOrmatlogoutTime = newDateFormatLogoutTime(logoutTime);
BaseLogger.log("3", userInfo, null, "Newdate from newDtFOrmatlogoutTime method" + newDtFOrmatlogoutTime);
buffer.append("<Detail1 dbID='' domID='" + dom + "' objName='user_audit_trail' objContext='1'>\r\n");
buffer.append("<attribute pkNames='' status='O' updateFlag='N' selected='N' />\r\n");
buffer.append("<chg_id><![CDATA[2]]></chg_id>\r\n");
buffer.append("<obj_name><![CDATA[Logout Session Info]]></obj_name>\r\n");
buffer.append("<ref_id><![CDATA["+ sessionid +"]]></ref_id>\r\n");
buffer.append("<action_prfrm><![CDATA[Logout]]></action_prfrm>\r\n");
buffer.append("<action_status><![CDATA["+loginstatus+"]]></action_status>\r\n");
buffer.append("<chg_term><![CDATA["+chgterm+"]]></chg_term>\r\n");
buffer.append("<tran_id><![CDATA["+sessionid+"]]></tran_id> \r\n");
buffer.append("<chg_user><![CDATA["+userId+"]]></chg_user> \r\n");
buffer.append("<chg_date><![CDATA["+newDtFOrmatlogoutTime+"]]></chg_date> \r\n");
buffer.append("<descr><![CDATA[Logout Session Info]]></descr> \r\n");
buffer.append("</Detail1> \r\n");
}
xmlbufferdata = buffer.toString();
dom++;
}
}
catch (Exception e) {
e.printStackTrace();
System.out.println("Exception is" + e);
}
try {
if (rs != null) {
rs.close();
rs = null;
}
if (pstmt != null) {
pstmt.close();
pstmt = null;
}
if (con != null) {
con.close();
con = null;
}
}
catch (SQLException e) {
e.printStackTrace();
System.out.println("Exception is:" + e);
}
return xmlbufferdata;
}
public String newDateFormat(Timestamp logintime) throws ParseException
{
BaseLogger.log("3", userInfo, null, "LoginTime" + logintime);
Date date = new Date(logintime.getTime());
BaseLogger.log("3", userInfo, null, "NEWDATE" + date);
SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
String finaldate = sdf2.format(date);
System.out.println();
BaseLogger.log("3", userInfo, null, "Finaldate: "+finaldate);
return finaldate;
}
public String newDateFormatLogoutTime(String logouttime) throws ParseException
{
String finaldate = null;
if(logouttime.trim().length() >0 || !logouttime.equalsIgnoreCase("") || !logouttime.equalsIgnoreCase("null"))
{
BaseLogger.log("3", userInfo, null, "Logout Time" + logouttime);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date newdate = sdf.parse(logouttime);
BaseLogger.log("3", userInfo, null, "NEWdate" + newdate);
SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
finaldate = sdf2.format(newdate);
System.out.println();
BaseLogger.log("3", userInfo, null, "Finaldate ::: "+finaldate);
}
return finaldate;
}
public String hanldeNoDataXml(String datanew)
{
datanew = datanew.replaceAll("</DocumentRoot>", "");
datanew = datanew.replaceAll("</Header0>", "");
datanew = datanew.replaceAll("</group0>", "");
String xmlFrNoRecords = "<Detail1 dbID='' domID='' objName='user_audit_trail' objContext='1'> <attribute pkNames='' status='O' updateFlag='' selected='' /> <chg_id><![CDATA[]]></chg_id> <obj_name><![CDATA[]]></obj_name> <ref_id><![CDATA[]]></ref_id><action_prfrm><![CDATA[]]></action_prfrm><action_status><![CDATA[]]></action_status><chg_term><![CDATA[]]></chg_term><tran_id><![CDATA[]]></tran_id> <chg_user><![CDATA[]]></chg_user> <chg_date><![CDATA[]]></chg_date> <descr><![CDATA[NO RECORDS FOUND FOR AUDIT TRAIL]]></descr> \n</Detail1>";
return "";
}
}
<%@page import="ibase.webitm.ejb.ITMUserAuditBrowFormEJB"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.xml.transform.stream.StreamResult"%>
<%@page import="javax.xml.transform.stream.StreamSource"%>
<%@page import="javax.xml.transform.dom.DOMSource"%>
<%@page import="org.apache.poi.ss.usermodel.DataFormat"%>
<%@page import="ibase.utility.E12GenericUtility"%>
<%@page import="ibase.ejb.CommonDBAccessEJB"%>
<%@page import="ibase.webitm.ejb.ValidatorEJB"%>
<%@page import="ibase.system.config.ConnDriver"%>
<%@page import="ibase.webitm.ejb.ActionHandlerEJB"%>
<%@page import="cdjd.com.google.protobuf.Timestamp"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.SQLException"%>
<%BaseLogger.log("1",userInfo,null, "\t\tXXXXXXXXXXXXXXX ITMUserAuditBrow.jsp XXXXXXXXXXXXXXXXXXXX");%>
<%@page import="org.apache.poi.hssf.usermodel.*"%>
<%@page import="ibase.webitm.bean.*, ibase.utility.UserInfoBean"%>
<%@page import="java.util.Date,java.util.*, java.util.zip.* , java.io.*,javax.xml.transform.*, java.text.SimpleDateFormat"%>
<%@page import = "ibase.webitm.utility.*, ibase.utility.CommonConstants"%>
<jsp:useBean id="auditBean" class="ibase.webitm.bean.ITMUserAuditBean"/>
<jsp:useBean id="itmuserauditbeantest" class="ibase.webitm.bean.ITMUserAuditBeanTest"/>
<%@page import="ibase.utility.BaseLogger"%>
<%! ibase.utility.UserInfoBean userInfo = null; %>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ page buffer = "2048kb" autoFlush = "true" %>
<SCRIPT language="JAVASCRIPT">
function alertUser(){
alert("Please enter valid SiteCode");
window.opener.parent.location.href = "../../jsp/login.jsp";
window.close();
}
function noDataAlert() {
alert("No Data Found.");
localStorage.setItem('user_audit_remove_item',true);
history.back();
//document.location = '/ibase/webitm/jsp/ITMUserAuditTrailArguement.jsp';
}
function showPreviousPage(){
localStorage.setItem('user_audit_remove_item',true);
history.back();
//document.location = '/ibase/webitm/jsp/ITMUserAuditTrailArguement.jsp';
}
</SCRIPT>
<%
CommonConstants.setIBASEHOME();
userInfo = null;
String theme = "", uxInterface = "", displayThemeXSL = "";
try{
userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
String userStr = request.getParameter("USER");//prerna 26/07/2006 start
if( userStr == null && userInfo == null ){
BaseLogger.log("3",userInfo,null, "[Forwarding to DirectAccess.jsp from ITMAuditBrow.jsp ..........");
String directAccessPathStr = ".." + File.separator + ".." + File.separator + "jsp" + File.separator + "DirectAccess.jsp";
%>
<jsp:forward page="<%= directAccessPathStr%>"/>
<%
}
theme = userInfo.getUserTheme().trim() + "-theme";
uxInterface = userInfo.getUxInterface().trim();
ibase.utility.E12GenericUtility genericUtility = new ibase.utility.E12GenericUtility();
displayThemeXSL = session.getAttribute("DISPLAY_THEME") == null ? genericUtility.getThemeFormat() : (String) session.getAttribute("DISPLAY_THEME");
String sep = "=";
String[] userCodeArr = null;
userCodeArr = new String[2];
userCodeArr[0] = request.getParameter("USER");
auditBean.setUserInfo(userInfo);
String loginUserCode = userInfo.getLoginCode();
BaseLogger.log("3",userInfo,null, "2-----------loginUserCode=["+loginUserCode+"]");
StringBuffer reqParamBuff = new StringBuffer();
Enumeration enumNames = request.getParameterNames();
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");//yyyy-MM-dd
SimpleDateFormat formatter2 = new SimpleDateFormat("dd-MMM-yyyy");//yyyy-MM-dd
SimpleDateFormat formatter3 = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
SimpleDateFormat formatter = new SimpleDateFormat(genericUtility.getApplDateFormat());
while(enumNames.hasMoreElements()){
String paramName = (String)enumNames.nextElement();
String paramvalue = request.getParameter(paramName);
BaseLogger.log("3",userInfo,null, "paramName ["+paramName+"] \n paramvalue ["+paramvalue+"]" );
if ( paramName.equalsIgnoreCase("FROM_DATE") ){
try {
frdate = formatter1.parse(paramvalue);
BaseLogger.log("3",userInfo,null,"frdate::"+frdate);
fromDateformat = formatter2.format(frdate);
BaseLogger.log("3",userInfo,null,"fromDateformat::"+fromDateformat);
String fromDateStr = formatter.format(frdate);
BaseLogger.log("3",userInfo,null,"fromDateStr::"+fromDateStr);
paramvalue = fromDateStr;
}
catch (Exception ae) {
ae.printStackTrace();
}
}
else if ( paramName.equalsIgnoreCase("TO_DATE") ){
try {
todate = formatter1.parse(paramvalue);
BaseLogger.log("3",userInfo,null,"todate::"+todate);
toDateformat = formatter2.format(todate);
BaseLogger.log("3",userInfo,null,"toDateformat::"+toDateformat);
String toDateStr = formatter.format(todate);
BaseLogger.log("3",userInfo,null,"toDateStr::"+toDateStr);
paramvalue = toDateStr;
}
catch (Exception ae) {
ae.printStackTrace();
}
}
else if( paramName.equalsIgnoreCase("SELECT_VAL") ){
selectValData = paramvalue;
}
if( ! paramName.equalsIgnoreCase("SELECT_VAL") ){
reqParamBuff.append(paramvalue).append(sep);
}
}
if(reqParamBuff.toString().endsWith(sep)){
reqParamBuff.deleteCharAt(reqParamBuff.length() - sep.length());
BaseLogger.log("3",userInfo,null, "reqParamBuff after removing = ["+reqParamBuff+"] \n " );
}
BaseLogger.log("3",userInfo,null, "reqParamBuff :["+reqParamBuff.toString()+"]");
auditBean.setRequestParamStr(reqParamBuff.toString());
if (selectValData.equalsIgnoreCase("HTML")){
//dataNew = auditBean.getXMLStrBrow("HTML");
dataNew = auditBean.getXMLStrBrow("EXCELDATA");
BaseLogger.log("3",userInfo,null, "Data from datanew"+dataNew);
boolean noDataCheck = dataNew.contains("<nodata>");
BaseLogger.log("3",userInfo,null, " Nodatacheck value"+noDataCheck);
sessiondata=itmuserauditbeantest.getSessionInfoDet(userStr, fromDateformat, toDateformat);
BaseLogger.log("3",userInfo,null, "Session data"+sessiondata);
//condition to handle no data in datanew i.e audittrail
if(noDataCheck && sessiondata.trim().length() > 0)
{
String tagtoremove = "nodata";
dataNew = dataNew.replaceAll("<" + tagtoremove + ">.*?</" + tagtoremove + ">", "");
BaseLogger.log("3",userInfo,null, "Datanew after <nodata> tag removal"+dataNew);
String closingtags = "</Header0>"+"\r\n"+"</group0> "+"\r\n"+"</DocumentRoot>" ;
dataNew = dataNew.replaceAll("</DocumentRoot>", "");
dataNew = dataNew.replaceAll("</Header0>", "");
dataNew = dataNew.replaceAll("</group0>", "");
String xmlFrNoRecords = "<Detail1 dbID='' domID='' objName='' objContext=''> <attribute pkNames='' status='O' updateFlag='' selected='' /> <chg_id><![CDATA[]]></chg_id> <obj_name><![CDATA[]]></obj_name> <ref_id><![CDATA[]]></ref_id><action_prfrm><![CDATA[]]></action_prfrm><action_status><![CDATA[]]></action_status><chg_term><![CDATA[]]></chg_term><tran_id><![CDATA[]]></tran_id> <chg_user><![CDATA[]]></chg_user> <chg_date><![CDATA[27/12/93 11:11:11]]></chg_date> <descr><![CDATA[NO RECORDS FOUND FOR AUDIT TRAIL]]></descr> </Detail1>";
sessiondata=itmuserauditbeantest.getSessionInfoDet(userStr, fromDateformat, toDateformat);
dataNew = dataNew+sessiondata+xmlFrNoRecords+closingtags;
BaseLogger.log("3",userInfo,null, "Datanew after changes"+dataNew);
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
String xslFile = new E12GenericUtility().readFile(CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator+"xsl"+File.separator+"user_audit_trail11_en_US_V.xsl");
Transformer transformer = tFactory.newTransformer(new StreamSource(new ByteArrayInputStream(xslFile.getBytes())));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
transformer.transform( new DOMSource( new E12GenericUtility().parseString(dataNew)), new StreamResult(bos));
dataNew = bos.toString();
BaseLogger.log("3",userInfo,null, "Datanew converted into html "+dataNew);
}
catch (Exception e) {
e.printStackTrace();
BaseLogger.log("3",userInfo,null, "Exception is:::");
}
}
//condition to check if sessiondata is empty and audtitrail has data
else if(noDataCheck==false && sessiondata.trim().length() == 0 || noDataCheck==false && sessiondata.equalsIgnoreCase(null) || noDataCheck==false && sessiondata.equalsIgnoreCase(""))
{
dataNew = dataNew.replaceAll("</DocumentRoot>", "");
dataNew = dataNew.replaceAll("</Header0>", "");
dataNew = dataNew.replaceAll("</group0>", "");
String xmlFrNoRecords = "<Detail1 dbID='' domID='' objName='' objContext=''> <attribute pkNames='' status='O' updateFlag='' selected='' /> <chg_id><![CDATA[]]></chg_id> <obj_name><![CDATA[]]></obj_name> <ref_id><![CDATA[]]></ref_id><action_prfrm><![CDATA[]]></action_prfrm><action_status><![CDATA[]]></action_status><chg_term><![CDATA[]]></chg_term><tran_id><![CDATA[]]></tran_id> <chg_user><![CDATA[]]></chg_user> <chg_date><![CDATA[27/12/93 11:11:11]]></chg_date> <descr><![CDATA[NO RECORDS FOUND FOR LOGIN TRACE]]></descr> </Detail1>";
String closingtags = "</Header0>"+"\r\n"+"</group0> "+"\r\n"+"</DocumentRoot>" ;
String tagtoremove = "nodata";
dataNew = dataNew.replaceAll("<" + tagtoremove + ">.*?</" + tagtoremove + ">", "");
BaseLogger.log("3",userInfo,null, "Datanew after tag removal"+dataNew);
dataNew = dataNew+xmlFrNoRecords+closingtags;
BaseLogger.log("3",userInfo,null, "Final datanew"+dataNew);
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
String xslFile = new E12GenericUtility().readFile(CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator+"xsl"+File.separator+"user_audit_trail11_en_US_V.xsl");
Transformer transformer = tFactory.newTransformer(new StreamSource(new ByteArrayInputStream(xslFile.getBytes())));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
transformer.transform( new DOMSource( new E12GenericUtility().parseString(dataNew)), new StreamResult(bos));
dataNew = bos.toString();
BaseLogger.log("3",userInfo,null, "Received data into html"+dataNew);
}
catch (Exception e) {
e.printStackTrace();
BaseLogger.log("3",userInfo,null, " Exception is:::");
}
}
//condition to hanlde both sessiondata and datanew having no data
else if(sessiondata.trim().length() == 0 && noDataCheck)
{
String tagtoremove = "nodata";
dataNew = dataNew.replaceAll("<" + tagtoremove + ">.*?</" + tagtoremove + ">", "");
BaseLogger.log("3",userInfo,null, "After removing <nodata> tag"+dataNew);
String closingtags = "</Header0>"+"\r\n"+"</group0> "+"\r\n"+"</DocumentRoot>" ;
dataNew = dataNew.replaceAll("</DocumentRoot>", "");
dataNew = dataNew.replaceAll("</Header0>", "");
dataNew = dataNew.replaceAll("</group0>", "");
String xmlFrNoRecords = "<Detail1 dbID='' domID='' objName='' objContext=''> <attribute pkNames='' status='O' updateFlag='' selected='' /> <chg_id><![CDATA[]]></chg_id> <obj_name><![CDATA[]]></obj_name> <ref_id><![CDATA[]]></ref_id><action_prfrm><![CDATA[]]></action_prfrm><action_status><![CDATA[]]></action_status><chg_term><![CDATA[]]></chg_term><tran_id><![CDATA[]]></tran_id> <chg_user><![CDATA[]]></chg_user> <chg_date><![CDATA[27/12/93 11:11:11]]></chg_date> <descr><![CDATA[NO RECORDS FOUND IN AUDIT TRAIL AND LOGINTRACE]]></descr> </Detail1>";
dataNew = dataNew + xmlFrNoRecords + closingtags;
BaseLogger.log("3",userInfo,null, "DataNew finaldata"+dataNew);
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
String xslFile = new E12GenericUtility().readFile(CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator+"xsl"+File.separator+"user_audit_trail11_en_US_V.xsl");
Transformer transformer = tFactory.newTransformer(new StreamSource(new ByteArrayInputStream(xslFile.getBytes())));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
transformer.transform( new DOMSource( new E12GenericUtility().parseString(dataNew)), new StreamResult(bos));
dataNew = bos.toString();
BaseLogger.log("3",userInfo,null, "HTML for generated data"+dataNew);
}
catch (Exception e) {
e.printStackTrace();
BaseLogger.log("3",userInfo,null, "Exception is:::");
}
}
//else { add the below code inside this else add below 10 lines in here WHEn both tables have data}
else {
dataNew = dataNew.replaceAll("</DocumentRoot>", "");
dataNew = dataNew.replaceAll("</Header0>", "");
dataNew = dataNew.replaceAll("</group0>", "");
BaseLogger.log("3",userInfo,null, "Datanew after removing tags"+dataNew);
sessiondata=itmuserauditbeantest.getSessionInfoDet(userStr, fromDateformat, toDateformat);
BaseLogger.log("3",userInfo,null, "Sessiondata"+sessiondata);
String xmlstrg = "<?xml version='1.0' encoding='UTF-8'?>" +"\r\n"+"<DocumentRoot>"+"\r\n" + "<description>Datawindow Root</description>"+ "\r\n"+ "<group0>"+"\r\n" + "<description>Group0 description</description>"+"\r\n" +"<Header0>"+"\r\n" +"<description>Header0 members</description>";
String closingtags = "</Header0>"+"\r\n"+"</group0> "+"\r\n"+"</DocumentRoot>" ;
dataNew =dataNew+sessiondata+closingtags;
BaseLogger.log("3",userInfo,null, "Final datanew"+dataNew);
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
String xslFile = new E12GenericUtility().readFile(CommonConstants.APPLICATION_CONTEXT + CommonConstants.ITM_CONTEXT + File.separator+"xsl"+File.separator+"user_audit_trail11_en_US_V.xsl");
Transformer transformer = tFactory.newTransformer(new StreamSource(new ByteArrayInputStream(xslFile.getBytes())));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
transformer.transform( new DOMSource( new E12GenericUtility().parseString(dataNew)), new StreamResult(bos));
dataNew = bos.toString();
BaseLogger.log("3",userInfo,null, "Datanew"+dataNew);
}
catch (Exception e) {
e.printStackTrace();
BaseLogger.log("3",userInfo,null, " Exception is:::");
}
BaseLogger.log("3",userInfo,null, "dataNew gsb :");
if(dataNew.indexOf("<Detail1")==-1){
%>
<!--script type="text/javascript">
noDataAlert();
</script-->
<%
//return;
}
}
}
else if (selectValData.equalsIgnoreCase("EXCELDATA")){
dataNew = auditBean.getXMLStrBrow("EXCELDATA");
dataNew = dataNew.replaceAll("</DocumentRoot>", "");
dataNew = dataNew.replaceAll("</Header0>", "");
dataNew = dataNew.replaceAll("</group0>", "");
BaseLogger.log("3",userInfo,null, "Datanew ExcelData "+dataNew);
BaseLogger.log("3",userInfo,null, "Todate "+toDateformat);
BaseLogger.log("3",userInfo,null, "Frdate "+fromDateformat);
BaseLogger.log("3",userInfo,null, "UserStr "+userStr);
sessiondata=itmuserauditbeantest.getSessionInfoDet(userStr, fromDateformat, toDateformat);
BaseLogger.log("3",userInfo,null, "Sessiondataa for excel :: "+sessiondata);
String xmlstrg = "<?xml version='1.0' encoding='UTF-8'?>" +"\r\n"+"<DocumentRoot>"+"\r\n" + "<description>Datawindow Root</description>"+ "\r\n"+ "<group0>"+"\r\n" + "<description>Group0 description</description>"+"\r\n" +"<Header0>"+"\r\n" +"<description>Header0 members</description>";
String closingtags ="</Header0>"+"\r\n"+"</group0>"+"\r\n"+"</DocumentRoot>";
dataNew =dataNew+sessiondata +closingtags;
BaseLogger.log("3",userInfo,null, "Finaldata of datanew for excel"+dataNew);
XLSWriter export2xls1 = new XLSWriter();
HSSFWorkbook workBook = export2xls1.exportToExcelFile(dataNew);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "filename=" +"userAuditTrail" + System.currentTimeMillis() + ".xls" );
OutputStream out1 = response.getOutputStream();
boolean responsecommitstatus = response.isCommitted();
workBook.write(out1);
out1.flush();
out1.close();
return;
}
}
catch(Exception e){
BaseLogger.log("0",userInfo,null, "Inside ITMAuditBrow");
e.printStackTrace();
}
%>
<%!
String dataNew = "";
String fromDateformat = "";
String toDateformat = "";
String selectValData = "";
String sessiondata = "";
Date frdate = null;
Date todate = null;
Date fromDateFormat = null;
Date toDateFormat = null;
String sessiondataa = "";
String fromDateTimeFormat = "";
String toDateTimeFormat = "";
String objName = "user_audit_trail";
String objContext = "1";
String pContext = "1";
ITMUserAuditBeanTest itmuser = new ITMUserAuditBeanTest();
private String checkNull(String input)
{
if (input == null)
{
input = "";
}
else
{
input = input.trim();
}
return input.trim();
}
%>
<html>
<head>
<title>Audit Trail Detail</title>
<%-- Changed by Sneha on 28-11-2016, to get themes [Start] --%>
<link type="text/css" rel="stylesheet" href="/ibase/webitm/css/default.css"/>
<link type="text/css" rel="stylesheet" href="/ibase/webitm/css/<%=uxInterface%>/<%=theme%>.css"/>
<link type="text/css" rel="stylesheet" href="/ibase/webitm/css/<%=displayThemeXSL%>/default.css"/>
<link type="text/css" rel="stylesheet" href="/ibase/webitm/css/ITMAttachmentView.css"/>
<%-- Changed by Sneha on 28-11-2016, to get themes [End] --%>
</head>
<style>
.submitBtnCss
{
border: 1px solid #E7E7E7;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
color: #333;
height: 30px;
font-family: 'MuseoLight-300', sans-serif;
font-size: 14px;
background-color: #e7e7e7;
cursor: pointer;
}
.divTxtCss
{
white-space: normal;
font-size: 16px;
color: #666;
margin-right: 36px;
}
.divFontTxtCss{
white-space: normal;
font-size: 16px;
color: #666;
}
</style>
<body>
<table class="flextableTabView" cellspacing="0" cellpadding="0" style="width: 100%;">
<tr style="height: 32px; vertical-align:middle;">
<td>
<table cellspacing="0" cellpadding="0" style="vertical-align: middle;width:calc(100% - 8px);">
<tr>
<td align="left" style="vertical-align: middle;">
<table cellspacing="0" cellpadding="0">
<tr>
<td align="left" style="vertical-align: top;">
<table cellspacing="0" cellpadding="0" style="margin: 0px 8px;">
<tr>
<td align="left" style="vertical-align: top;">
<div class="divTxtCss">User: <%= request.getParameter("USER")%></div>
</td>
<td style="vertical-align: top;">
<div class="divTxtCss">From Date: <%= fromDateformat%></div>
</td>
<td style="vertical-align: top;">
<div class="divFontTxtCss">To Date: <%= toDateformat%></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr style="height: calc(100% - 68px);">
<td>
<div style="overflow-x: hidden; height: 378px; width: 99.2%;" class="listandGridView e12AdvDataGrid-SideBars" id="e12LstViewWidget-feedScrollPnl">
<%= dataNew %>
</div>
</td>
</tr>
<tr style="height: 32px; vertical-align:middle;">
<td align="left" style="vertical-align: top;">
<div>
<input type = button value = "Back" class="submitBtnCss" style="color: #333; margin-top: 10px;" onCLick="showPreviousPage();">
</div>
</td>
</tr>
<table>
</body>
</html>
\ No newline at end of file
<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<TITLE>Audit Trail Detail</TITLE>
<script language="Javascript" src="/ibase/webitm/js/ITMUserAuditTrail.js"></script>
<script language="Javascript" src="/ibase/webitm/js/jsrsClient.js"/>
<script language="Javascript" src="/ibase/webitm/js/ValidateColumn.js"/>
<link type="text/css" rel="stylesheet" href="/ibase/webitm/css/ITMAttachmentView.css"/>
<style>
.ImgErrDivClass
{
border-radius: 50%;
width: 30px;
background-color: #cfbebe;
height: 30px;
line-height: 30px;
display: none;
text-align: center;
}
.ImgErrDivClass1
{
display:none;
color: #fff;
}
.ImgDivClass
{
<!--Added width by shrutika on 28-06-18 [start] for UI related change in Audit trail-->
width :30px;
height: 30px;
border-radius: 50%;
background-color:#cfbebe;
}
<!--Added by shrutika on 28-06-18 [start] for UI related change in Audit trail-->
.userNameCss
{
color: gray;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-weight: 600;
}
.chgUserCss
{
color: gray;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
<!--Added by shrutika on 28-06-18 [End] for UI related change in Audit trail-->
</style>
</head>
<body id='groupDiv' onload="">
<FORM id="brow" METHOD="POST" ACTION="fwd.jsp" >
<INPUT type='hidden' name='OBJ_NAME' value='audit_trail'/>
<INPUT type='hidden' name='PAGE_CONTEXT' value='1'/>
<INPUT type='hidden' name='OBJ_CONTEXT' value='1'/>
<INPUT type='hidden' name='EDIT_FLAG' value='A'/>
<INPUT type='hidden' name='EDIT_TMPLT' value='1'/>
<INPUT type='hidden' name='DOM_ID' value=''/>
<INPUT type='hidden' name='DB_ID' value=''/>
<INPUT type='hidden' name='CONFIRM_ID' value='~'/>
<INPUT type='hidden' name='COL_NAME' value=''/>
<INPUT type='hidden' name='ORDER' value='ascending'/>
<INPUT type='hidden' name='DATATYPE' value='text'/>
<INPUT type='hidden' name='REFRESH_MODE' value='false'/>
<xsl:for-each select="/DocumentRoot/group0">
<xsl:for-each select="./Header0">
<DIV ID="Tableborder" style="height: 100%;"> <xsl:value-of select="nodata"/>
<DIV ID="TABLECONTAINER" style="margin:-8px;">
<TABLE name="main" id="main" class="tableClass" cellpadding="5px" cellspacing="5px" width="100%" style="height: auto;">
<xsl:for-each select="./Detail1[attribute/@updateFlag!='D']">
<xsl:sort select="concat(substring(chg_date, 7, 4), substring(chg_date, 4, 2), substring(chg_date, 1, 2), substring(chg_date, 12, 2), substring(chg_date, 15, 2), substring(chg_date, 18, 2))" data-type="text" order="ascending" />
<!-- <xsl:sort select="concat(descr != 'NO RECORDS FOUND FOR AUDIT TRAIL', chg_date)" data-type="text" order="ascending" /> -->
<xsl:variable name="CURVALUE"><xsl:value-of select="chg_id"/> </xsl:variable>
<xsl:variable name="rec_ref_id"><xsl:value-of select="ref_id"/> </xsl:variable>
<xsl:variable name="rec_obj_name"><xsl:value-of select="obj_name"/> </xsl:variable>
<xsl:variable name="CHGUSER"><xsl:value-of select="normalize-space(chg_user)"/></xsl:variable>
<xsl:variable name="CHGTERM"><xsl:value-of select="chg_term"/></xsl:variable>
<xsl:variable name="action_prfrm"><xsl:value-of select="action_prfrm"/></xsl:variable>
<xsl:variable name="i" select="position()" />
<tr id="attachList{$CURVALUE}">
<td style="border:1px solid lightgray;">
<div class="PanelLabel" name="feed" id="panelList{$CURVALUE}" style = "padding: 0px !important;margin:0px;border-bottom:none;"
onclick="changeRecord('{$CURVALUE}', '{$rec_ref_id}', '{$rec_obj_name}');" >
<table style="border-collapse: collapse;width:100%" cellpadding="0" cellspacing="0" >
<tr>
<td style = "padding: 10px 5px 3px 5px">
<HTML>
<TABLE style = "width:100%;padding-right: 5px;word-break:break-all" cellpadding="0" cellspacing="0">
<TR>
<TD width="50%">
<xsl:choose>
<xsl:when test="not(chg_date='27/12/93 11:11:11')">
<span class='mainfeedStyle chgUserCss' style="font-size: 14px;">
<xsl:value-of select='descr'/>&#160;
</span>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</TD>
<TD width="50%">
<span class='mainfeedStyle userNameCss' style="font-size: 12px;float:right">
<xsl:if test="$action_prfrm = 'E' or $action_prfrm = 'e' ">
Edited
</xsl:if>
<xsl:if test="$action_prfrm = 'A' or $action_prfrm = 'a'">
Added
</xsl:if>
<xsl:if test="$action_prfrm = 'C' or $action_prfrm = 'c'">
Copied
</xsl:if>
<xsl:if test="$action_prfrm = 'DELETE_ATTACHMENT'">
Delete Attachment
</xsl:if>
<xsl:if test="$action_prfrm = 'UPLOAD_ATTACHMENT'">
Add Attachment
</xsl:if>
<xsl:if test="$action_prfrm = 'ADD_TAG'">
Add Tag
</xsl:if>
<xsl:if test="$action_prfrm = 'DELETE_TAG'">
Delete Tag
</xsl:if>
<xsl:if test="($action_prfrm != 'E') and ($action_prfrm != 'A') and ($action_prfrm != 'C') and ($action_prfrm != 'DELETE_ATTACHMENT') and ($action_prfrm != 'UPLOAD_ATTACHMENT') and ($action_prfrm != 'ADD_TAG') and ($action_prfrm != 'DELETE_TAG') and ($action_prfrm != 'a') and ($action_prfrm != 'c') and ($action_prfrm != 'e')">
<xsl:value-of select='action_prfrm'/>&#160;
</xsl:if>
</span>
</TD>
</TR>
<TR>
<TD width="50%">
<span class='mainfeedStyle' style="font-size: 11px;color:gray">
&#160;&#160;<xsl:value-of select='ref_id'/>&#160;
</span>
</TD>
<TD width="50%">
<span class='mainfeedStyle chgUserCss' style="font-size: 11px;color:gray;float:right">
<xsl:choose>
<xsl:when test="chg_date='27/12/93 11:11:11'">
</xsl:when>
<xsl:otherwise>
<xsl:value-of select='chg_date'/>
</xsl:otherwise>
</xsl:choose>
</span>
</TD>
</TR>
<TR>
<xsl:choose>
<xsl:when test="chg_date='27/12/93 11:11:11'">
<span style="font-size: 14px;font-weight: bold;">
<xsl:value-of select='descr'/>&#160;
</span>
</xsl:when>
<xsl:otherwise>
<TD width="50%">
<span class='mainfeedStyle' style="font-size: 11px;color:gray">
IP Address&#160;&#160;<xsl:value-of select='chg_ip'/>&#160;
</span>
</TD>
<TD width="50%">
<span class='mainfeedStyle' style="font-size: 11px;color:gray;float:right">
Terminal&#160;&#160;<xsl:value-of select='chg_term'/>&#160;
</span>
</TD>
</xsl:otherwise>
</xsl:choose>
</TR>
</TABLE>
</HTML>
</td>
</tr>
</table>
</div>
</td>
</tr>
</xsl:for-each>
</TABLE>
</DIV>
</DIV>
</xsl:for-each>
</xsl:for-each>
</FORM>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
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