Commit 4763b3c3 authored by pborate's avatar pborate

Updated common dashboard jar changes for hibernate multitenancy

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@185355 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 34829cfe
...@@ -17,8 +17,6 @@ import org.hibernate.search.annotations.Store; ...@@ -17,8 +17,6 @@ import org.hibernate.search.annotations.Store;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
@Indexed @Indexed
@Entity @Entity
......
...@@ -17,9 +17,6 @@ import org.hibernate.search.annotations.Store; ...@@ -17,9 +17,6 @@ import org.hibernate.search.annotations.Store;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
@Indexed @Indexed
@Entity @Entity
@Table(name = "Pophelp") @Table(name = "Pophelp")
......
...@@ -17,8 +17,6 @@ import org.hibernate.search.annotations.Store; ...@@ -17,8 +17,6 @@ import org.hibernate.search.annotations.Store;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
@Indexed @Indexed
@Entity @Entity
......
package ibase.dashboard.common.hibernate.dao; package ibase.dashboard.common.hibernate.dao;
import java.io.File; import java.io.File;
import java.io.FileFilter; import java.io.FileFilter;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -27,20 +24,35 @@ import org.w3c.dom.NodeList; ...@@ -27,20 +24,35 @@ import org.w3c.dom.NodeList;
import ibase.dashboard.common.hibernate.bean.Employee; import ibase.dashboard.common.hibernate.bean.Employee;
import ibase.dashboard.common.hibernate.bean.LoginTrace; import ibase.dashboard.common.hibernate.bean.LoginTrace;
import ibase.dashboard.common.hibernate.bean.UserProfile; import ibase.dashboard.common.hibernate.utility.ActivityTime;
import ibase.dashboard.common.hibernate.utility.HibernateUtil; import ibase.dashboard.common.hibernate.utility.GenericUtil;
import ibase.hibernate.utility.HibernateUtil;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.dashboard.common.hibernate.utility.*; import ibase.utility.UserInfoBean;
//import jersey.repackaged.com.google.common.collect.Lists; //import jersey.repackaged.com.google.common.collect.Lists;
//6DBC5A495F0F2C5371D59DC89EB06F41 //6DBC5A495F0F2C5371D59DC89EB06F41
public class AccountActivityDao public class AccountActivityDao
{ {
private static String siteTranDB = "DEFAULT"; private String userTranDB = "DEFAULT"; // OracleDS<TRANS_DB> - <USER>VIS
private GenericUtil genUtil = new GenericUtil(); private GenericUtil genUtil = new GenericUtil();
public JSONObject getUserActivityData(UserInfoBean userInfo,String fromDate,String toDate, int startBattery)throws Exception
{
String userId = userInfo.getLoginCode();
String profileId = userInfo.getProfileId();
if(userInfo != null)
{
//this.userInfo = userInfo;
this.userTranDB = userInfo.getTransDB();
}
System.out.println("userTranDB from account acitivity"+userTranDB);
return getUserActivityData(userId, profileId, fromDate, toDate, startBattery);
}
/** /**
* @param loginCode - user logged in code. * @param loginCode - user logged in code.
* @param profileId -fetch from UserInfoBean * @param profileId -fetch from UserInfoBean
...@@ -910,7 +922,7 @@ public class AccountActivityDao ...@@ -910,7 +922,7 @@ public class AccountActivityDao
try try
{ {
// 1. Get Session object // 1. Get Session object
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
System.out.println("Inside getLogDetails sessionId: [" + sessionIds + "] USER CODE ["+userCode+"]"); System.out.println("Inside getLogDetails sessionId: [" + sessionIds + "] USER CODE ["+userCode+"]");
...@@ -945,7 +957,7 @@ public class AccountActivityDao ...@@ -945,7 +957,7 @@ public class AccountActivityDao
Employee result = new Employee(); Employee result = new Employee();
try { try {
// 1. Get Session object // 1. Get Session object
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createQuery("FROM Employee e WHERE e.empCode IN ( " Query query = session.createQuery("FROM Employee e WHERE e.empCode IN ( "
+ " SELECT u.empCode " + " SELECT u.empCode "
...@@ -988,7 +1000,7 @@ public class AccountActivityDao ...@@ -988,7 +1000,7 @@ public class AccountActivityDao
// 1. Get Session object // 1. Get Session object
System.out.println("Inside getUserDetails userId: [" + userId + "]"); System.out.println("Inside getUserDetails userId: [" + userId + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select trim(CODE) from users where EMP_CODE in (SELECT emp_code FROM employee START WITH emp_code = (SELECT emp_code FROM users WHERE code = '"+userId+"') CONNECT BY prior emp_code = report_to)"); Query query = session.createSQLQuery("select trim(CODE) from users where EMP_CODE in (SELECT emp_code FROM employee START WITH emp_code = (SELECT emp_code FROM users WHERE code = '"+userId+"') CONNECT BY prior emp_code = report_to)");
...@@ -1034,7 +1046,7 @@ public class AccountActivityDao ...@@ -1034,7 +1046,7 @@ public class AccountActivityDao
whereClausePart = " and userid in("+ userList +")"; whereClausePart = " and userid in("+ userList +")";
} }
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select count(1), DEVICE_TYPE" Query query = session.createSQLQuery("select count(1), DEVICE_TYPE"
+ " from logintrace" + " from logintrace"
...@@ -1097,7 +1109,7 @@ public class AccountActivityDao ...@@ -1097,7 +1109,7 @@ public class AccountActivityDao
whereClausePart = " and userid in("+ userList +")"; whereClausePart = " and userid in("+ userList +")";
} }
// 1. Get Session object // 1. Get Session object
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select count(1), CLIENT_APP" Query query = session.createSQLQuery("select count(1), CLIENT_APP"
+ " from logintrace" + " from logintrace"
...@@ -1184,7 +1196,7 @@ public class AccountActivityDao ...@@ -1184,7 +1196,7 @@ public class AccountActivityDao
String userList = genUtil.getEnclosedString(userDataList); String userList = genUtil.getEnclosedString(userDataList);
whereClausePart = " and userid in("+ userList +")"; whereClausePart = " and userid in("+ userList +")";
} }
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select count(1), OS_NAME" Query query = session.createSQLQuery("select count(1), OS_NAME"
+ " from logintrace" + " from logintrace"
...@@ -1254,7 +1266,7 @@ public class AccountActivityDao ...@@ -1254,7 +1266,7 @@ public class AccountActivityDao
{ {
// 1. Get Session object // 1. Get Session object
System.out.println("Inside getLoginUsers userId: [" + fromDate + "] toDate ["+toDate+"]"); System.out.println("Inside getLoginUsers userId: [" + fromDate + "] toDate ["+toDate+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select userid ,trunc(LOGINTIME) logintime" Query query = session.createSQLQuery("select userid ,trunc(LOGINTIME) logintime"
+ " from logintrace" + " from logintrace"
...@@ -1311,7 +1323,7 @@ public class AccountActivityDao ...@@ -1311,7 +1323,7 @@ public class AccountActivityDao
whereClausePart = " and userid in("+ userList +")"; whereClausePart = " and userid in("+ userList +")";
} }
System.out.println("Inside getMinMaxTime fromDate: [" + fromDate + "] toDate"+toDate+"]"); System.out.println("Inside getMinMaxTime fromDate: [" + fromDate + "] toDate"+toDate+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME" Query query = session.createSQLQuery("select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace " + " from logintrace "
...@@ -1377,7 +1389,7 @@ public class AccountActivityDao ...@@ -1377,7 +1389,7 @@ public class AccountActivityDao
} }
System.out.println("Inside getBatteryStatus fromDate: [" + fromDate + "] toDate ["+toDate+"] startBattery ["+startBattery+"]"); System.out.println("Inside getBatteryStatus fromDate: [" + fromDate + "] toDate ["+toDate+"] startBattery ["+startBattery+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession(); Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query // 2. Create Query
Query query = session.createSQLQuery("select A.userid, trunc(A.LOGINTIME) IN_TIME, " Query query = session.createSQLQuery("select A.userid, trunc(A.LOGINTIME) IN_TIME, "
+ " trunc(A.LOGOUTTIME) OUT_TIME, " + " trunc(A.LOGOUTTIME) OUT_TIME, "
......
...@@ -24,7 +24,7 @@ import org.w3c.dom.Node; ...@@ -24,7 +24,7 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import ibase.dashboard.common.hibernate.bean.Pophelp; import ibase.dashboard.common.hibernate.bean.Pophelp;
import ibase.dashboard.common.hibernate.utility.HibernateUtil; import ibase.hibernate.utility.HibernateUtil;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
......
package ibase.dashboard.common.hibernate.utility;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import ibase.utility.CommonConstants;
public class HibernateUtil
{
private static SessionFactory sessionFactory = null;
static
{
try
{
//String hibernetCfgPath = "hibernate.cfg.xml";
String hibernetCfgPath = CommonConstants.JBOSSHOME+File.separator+"server"+File.separator+"default"+File.separator+"deploy"+File.separator+"ibase.ear"+File.separator+"ibase.war"+File.separator+"setting"+File.separator+"hibernate.cfg.xml";
//String hibernetCfgPath ="/home/base/OfficeWork/eclipseWS/PlaceTimeEntityWebService/hibernate.cfg.xml";
System.out.println("path for cfg file is ===="+hibernetCfgPath);
File file = new File(hibernetCfgPath);
System.out.println("file.exist():"+file.exists());
System.out.println("cfg file ===="+file.getAbsolutePath());
System.out.println("new Configuration() ===="+new Configuration());
/*Configuration configuration = new Configuration().configure(file);
System.out.println("path for cfg file is ===="+hibernetCfgPath);
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);*/
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure(new File(hibernetCfgPath)).build();
Metadata metaData = new MetadataSources(standardRegistry).getMetadataBuilder().build();
sessionFactory = metaData.getSessionFactoryBuilder().build();
System.out.println("Session factory created successfully:"+sessionFactory);
}
catch (Exception ex)
{
System.out.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
public static void shutdown()
{
getSessionFactory().close();
}
private static final Map<String, SessionFactory> sessionFactories = new HashMap<String, SessionFactory>();
private static SessionFactory buildSessionFactory(String dbName)
{
System.out.println("dbName is ==="+dbName);
try
{
//String hibernetCfgPath = "hibernate.cfg.xml";
String hibernetCfgPath = CommonConstants.JBOSSHOME+File.separator+"server"+File.separator+"default"+File.separator+"deploy"+File.separator+"ibase.ear"+File.separator+"ibase.war"+File.separator+"setting"+File.separator+"hibernate_"+dbName+".xml";
//String hibernetCfgPath ="/home/base/OfficeWork/eclipseWS/PlaceTimeEntityWebService/hibernate.cfg.xml";
System.out.println("path for cfg file is ===="+hibernetCfgPath);
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure(new File(hibernetCfgPath)).build();
Metadata metaData = new MetadataSources(standardRegistry).getMetadataBuilder().build();
sessionFactory = metaData.getSessionFactoryBuilder().build();
sessionFactories.put(dbName,sessionFactory);
return sessionFactory;
}
catch (final HibernateException e)
{
System.err.println("Initial SessionFactory creation failed." + e);
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
catch (Throwable ex)
{
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
ex.printStackTrace();
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory(String dbName)
{
System.out.println("Inside getSessionFactory method :::"+dbName);
if( "DEFAULT".equalsIgnoreCase(dbName) )
{
/*
if(getSessionFactory().isClosed())
{
buildSessionFactory(dbName);
}
*/
return getSessionFactory();
}
else
{
SessionFactory sessionFactory = sessionFactories.get(dbName);
if( sessionFactory == null || sessionFactory.isClosed() )
{
sessionFactory = buildSessionFactory(dbName);
}
return sessionFactory;
}
}
public static void shutdown(String dbName)
{
// Close caches and connection pools
getSessionFactory(dbName).close();
}
/* Added By Saitej Dhaul On 18 Dec 2018 START */
public static String DB_DATE_FORMAT = "yyyy-MM-dd";
public static String APPL_DATE_FORMAT = "dd/MM/yyyy";
//Get Date object in Provided Format
public static Date getDateObject(String dateStr, String dateFormat)
{
Date dateObj = null;
SimpleDateFormat simpleDateFormat = null;
try
{
simpleDateFormat = new SimpleDateFormat(dateFormat);
dateObj = simpleDateFormat.parse(dateStr);
}
catch(Exception e)
{
System.out.println("Exception :GenericUtility :getDateObject :==>\n"+e.getMessage());
e.printStackTrace();
}
return dateObj;
}
//While Sending date to Client End
//Get formatted Date String DB to APPL format
public static String getValidDB2APPLDate(String dateStr)
{
return getValidDateString(dateStr, DB_DATE_FORMAT, APPL_DATE_FORMAT);
}
//While inserting / updating date to Database
//Get formatted Date String APPL to DB format
public static String getValidAPPL2DBDate(String dateStr)
{
return getValidDateString(dateStr, APPL_DATE_FORMAT, DB_DATE_FORMAT);
}
private static String getValidDateString(String dateStr, String sourceDateFormat, String targetDateFormat)
{
Object date = null;
SimpleDateFormat sdfOutput = null;
String retDateStr = "";
try
{
if (!(sourceDateFormat.equalsIgnoreCase(targetDateFormat)))
{
if (sourceDateFormat.indexOf("/") != -1)
{
dateStr.replace('/', '-');
}
else if (sourceDateFormat.indexOf(".") != -1)
{
dateStr.replace('.', '-');
}
date = new SimpleDateFormat(sourceDateFormat).parse(dateStr);
sdfOutput = new SimpleDateFormat(targetDateFormat);
retDateStr = sdfOutput.format(date);
}
else
{
retDateStr = dateStr;
}
}
catch (Exception e)
{
System.out.println("Exception :GenericUtility :getValidDateString :==>"+e.getMessage());
e.printStackTrace();
}
return retDateStr;
}
/* Added By Saitej Dhaul On 18 Dec 2018 END */
}
...@@ -110,7 +110,8 @@ public class AccountActivityService { ...@@ -110,7 +110,8 @@ public class AccountActivityService {
userId = userInfo.getLoginCode(); userId = userInfo.getLoginCode();
profileId = userInfo.getProfileId(); profileId = userInfo.getProfileId();
System.out.println(" userInfo >>[" + userId + "] profile Id [" + profileId + "]"); System.out.println(" userInfo >>[" + userId + "] profile Id [" + profileId + "]");
accountActivityData = accountActivityDao.getUserActivityData(userId, profileId, fromDate, toDate, startBattery); //accountActivityData = accountActivityDao.getUserActivityData(userId, profileId, fromDate, toDate, startBattery);
accountActivityData = accountActivityDao.getUserActivityData(userInfo, fromDate, toDate, startBattery);
} }
catch (BaseException e) catch (BaseException e)
{ {
......
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