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;
import org.json.JSONException;
import org.json.JSONObject;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
@Indexed
@Entity
......
......@@ -17,9 +17,6 @@ import org.hibernate.search.annotations.Store;
import org.json.JSONException;
import org.json.JSONObject;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
@Indexed
@Entity
@Table(name = "Pophelp")
......
......@@ -17,8 +17,6 @@ import org.hibernate.search.annotations.Store;
import org.json.JSONException;
import org.json.JSONObject;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
@Indexed
@Entity
......
package ibase.dashboard.common.hibernate.dao;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
......@@ -27,20 +24,35 @@ import org.w3c.dom.NodeList;
import ibase.dashboard.common.hibernate.bean.Employee;
import ibase.dashboard.common.hibernate.bean.LoginTrace;
import ibase.dashboard.common.hibernate.bean.UserProfile;
import ibase.dashboard.common.hibernate.utility.HibernateUtil;
import ibase.dashboard.common.hibernate.utility.ActivityTime;
import ibase.dashboard.common.hibernate.utility.GenericUtil;
import ibase.hibernate.utility.HibernateUtil;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.dashboard.common.hibernate.utility.*;
import ibase.utility.UserInfoBean;
//import jersey.repackaged.com.google.common.collect.Lists;
//6DBC5A495F0F2C5371D59DC89EB06F41
public class AccountActivityDao
{
private static String siteTranDB = "DEFAULT";
private String userTranDB = "DEFAULT"; // OracleDS<TRANS_DB> - <USER>VIS
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 profileId -fetch from UserInfoBean
......@@ -910,7 +922,7 @@ public class AccountActivityDao
try
{
// 1. Get Session object
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
System.out.println("Inside getLogDetails sessionId: [" + sessionIds + "] USER CODE ["+userCode+"]");
......@@ -945,7 +957,7 @@ public class AccountActivityDao
Employee result = new Employee();
try {
// 1. Get Session object
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
Query query = session.createQuery("FROM Employee e WHERE e.empCode IN ( "
+ " SELECT u.empCode "
......@@ -988,7 +1000,7 @@ public class AccountActivityDao
// 1. Get Session object
System.out.println("Inside getUserDetails userId: [" + userId + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 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)");
......@@ -1034,7 +1046,7 @@ public class AccountActivityDao
whereClausePart = " and userid in("+ userList +")";
}
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select count(1), DEVICE_TYPE"
+ " from logintrace"
......@@ -1097,7 +1109,7 @@ public class AccountActivityDao
whereClausePart = " and userid in("+ userList +")";
}
// 1. Get Session object
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select count(1), CLIENT_APP"
+ " from logintrace"
......@@ -1184,7 +1196,7 @@ public class AccountActivityDao
String userList = genUtil.getEnclosedString(userDataList);
whereClausePart = " and userid in("+ userList +")";
}
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select count(1), OS_NAME"
+ " from logintrace"
......@@ -1254,7 +1266,7 @@ public class AccountActivityDao
{
// 1. Get Session object
System.out.println("Inside getLoginUsers userId: [" + fromDate + "] toDate ["+toDate+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select userid ,trunc(LOGINTIME) logintime"
+ " from logintrace"
......@@ -1311,7 +1323,7 @@ public class AccountActivityDao
whereClausePart = " and userid in("+ userList +")";
}
System.out.println("Inside getMinMaxTime fromDate: [" + fromDate + "] toDate"+toDate+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(userTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace "
......@@ -1377,7 +1389,7 @@ public class AccountActivityDao
}
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
Query query = session.createSQLQuery("select A.userid, trunc(A.LOGINTIME) IN_TIME, "
+ " trunc(A.LOGOUTTIME) OUT_TIME, "
......
......@@ -24,7 +24,7 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
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.E12GenericUtility;
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 {
userId = userInfo.getLoginCode();
profileId = userInfo.getProfileId();
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)
{
......
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