Commit 41232b47 authored by pborate's avatar pborate

Updated account activity component

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@180913 ce508802-f39f-4f6c-b175-0d175dae99d5
parent f02eafb5
......@@ -49,8 +49,8 @@ public class AccountActivityDao
*/
public JSONObject getUserActivityData(String loginCode, String profileId,String fromDate,String toDate, int startBattery)throws Exception
{
System.out.println("getUserActivityData>>>");
System.out.println("fromDate ["+fromDate+"] toDate ["+toDate+"]");
System.out.println("getUserActivityData>>> from common dashboard:::::");
System.out.println("fromDate ["+fromDate+"] toDate ["+toDate+"] startBattery ["+startBattery+"]");
JSONObject activityDataFinal = new JSONObject();
JSONArray activityDataFinalArray = new JSONArray();
profileId=profileId.trim();
......@@ -69,13 +69,14 @@ public class AccountActivityDao
if( "ADMIN".equalsIgnoreCase(profileId) || "ADM".equalsIgnoreCase(profileId) )
{
System.out.println("Account activity for Admin");
activityDataFinal=prepareAdminUserData(activityDataFinal,activityDataFinalArray,fromDate,toDate);
activityDataFinal=prepareAdminUserData(activityDataFinal,activityDataFinalArray,fromDate,toDate,startBattery);
}
/* For Profile Ids except ADMIN and ADM */
else
{
System.out.println("Account activity for user");
activityDataFinal=prepareUserData(activityDataFinal,activityDataFinalArray,fromDate,toDate,loginCode,profileId,dateListFile);
activityDataFinal=prepareUserData(activityDataFinal,activityDataFinalArray,fromDate,toDate,loginCode,profileId,dateListFile,startBattery);
}
return activityDataFinal;
}
......@@ -99,10 +100,12 @@ public class AccountActivityDao
* @param userDataList - user list in non admin case.(In admin user list will null)
* @return the method returns Client app list, devicetype lis and os name list.
*/
private JSONObject prepareDataForGraph(JSONObject activityData,String fromDate,String toDate,List<String> userDataList) throws JSONException {
JSONArray deviceTypeList= getDeviceType(fromDate,toDate,userDataList);
JSONObject clientAppList= getClientApp(activityData, fromDate,toDate,userDataList);
JSONObject osNameList= getOsName(activityData, fromDate,toDate,userDataList);
private JSONObject prepareDataForGraph(JSONObject activityData,String fromDate,String toDate,int startBattery, List<String> userDataList) throws JSONException {
/*TODO
JSONArray deviceTypeList= getDeviceType(fromDate,toDate,userDataList);
*/
JSONObject clientAppList= getClientApp(activityData, fromDate,toDate,startBattery,userDataList);
JSONObject osNameList= getOsName(activityData, fromDate,toDate,startBattery,userDataList);
return activityData;
}
......@@ -114,14 +117,12 @@ public class AccountActivityDao
* If logintrace user done some userActivity then session data read otherwise
* only user data will be read.
*/
private JSONObject prepareAdminUserData(JSONObject activityDataFinal,JSONArray activityDataFinalArray, String fromDate,String toDate) throws JSONException, IOException
private JSONObject prepareAdminUserData(JSONObject activityDataFinal,JSONArray activityDataFinalArray, String fromDate,String toDate,int startBattery) throws JSONException, IOException
{
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(fromDate,toDate,null);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(fromDate,toDate,null);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(fromDate,toDate,startBattery,null);
System.out.println("minmax time battery ["+minMaxTimeList+"] minMaxBatteryStatus ["+minMaxBatteryStatus+"]");
List<JSONObject> loginUserList = getLoginUsers(fromDate,toDate);
System.out.println("loginUserList in Admin case:::::"+loginUserList);
List<String> loginlist=new ArrayList<String>();
......@@ -138,7 +139,7 @@ public class AccountActivityDao
System.out.println("loginlist in Admin case>>>>"+loginlist);
JSONObject activityData = new JSONObject();
activityData=prepareDataForGraph(activityData,fromDate,toDate,null);
activityData=prepareDataForGraph(activityData,fromDate,toDate,startBattery,null);
System.out.println(" activityData Device data object::::"+activityData);
activityDataFinal.put("ACTIVITY_GRAPH_DATA",activityData);
......@@ -150,7 +151,15 @@ public class AccountActivityDao
if(loginlist != null){
for(String loginId : loginlist){
activityData=fileNotFoundUsers(activityData,minMaxTimeList,minMaxBatteryStatus,loginId);
activityDataFinalArray.put(activityData);
System.out.println("activityData LOGIN_BATTERY_STATUS:::"+activityData.getString("LOGIN_BATTERY_STATUS"));
if(startBattery != 0 && activityData.getString("LOGIN_BATTERY_STATUS") != "NA" && activityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
activityDataFinalArray.put(activityData);
}
if(startBattery == 0 )
{
activityDataFinalArray.put(activityData);
}
}
}
System.out.println("activityDataFinal for if"+activityDataFinal);
......@@ -170,7 +179,15 @@ public class AccountActivityDao
activityData = createActivityData(loginIdFormated, fileContents);
activityData = updateMinMaxTime(activityData, minMaxTimeList.get(loginIdFormated)) ;
activityData = checkUserForBatteryStatus(activityData, minMaxBatteryStatus,loginIdFormated) ;
activityDataFinalArray.put(activityData);
if(startBattery != 0 && activityData.getString("LOGIN_BATTERY_STATUS") != "NA" && activityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
activityDataFinalArray.put(activityData);
}
if(startBattery == 0 )
{
activityDataFinalArray.put(activityData);
}
}
loginlist.removeAll(fileUsersList); //For some user who didn't perform userActivity
System.out.println("loginUserList after:::"+loginlist);
......@@ -178,7 +195,14 @@ public class AccountActivityDao
for(String loginId : loginlist)
{
activityData=fileNotFoundUsers(activityData,minMaxTimeList,minMaxBatteryStatus,loginId);
activityDataFinalArray.put(activityData);
if(startBattery != 0 && activityData.getString("LOGIN_BATTERY_STATUS") != "NA" && activityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
activityDataFinalArray.put(activityData);
}
if(startBattery == 0 )
{
activityDataFinalArray.put(activityData);
}
}
}
}
......@@ -195,7 +219,7 @@ public class AccountActivityDao
* If users done some userActivity then session data read Otherwise
* only user data will be read on the basis of date and user id.
*/
private JSONObject prepareUserData(JSONObject activityDataFinal,JSONArray activityDataFinalArray, String fromDate,String toDate,String loginCode,String profileId,List<String> dateListFile) throws JSONException, IOException
private JSONObject prepareUserData(JSONObject activityDataFinal,JSONArray activityDataFinalArray, String fromDate,String toDate,String loginCode,String profileId,List<String> dateListFile,int startBattery) throws JSONException, IOException
{
List<String> userDataList = getUserDetails(loginCode,profileId); // For User who have team
System.out.println("userDataList AFTER>>>"+userDataList);
......@@ -209,10 +233,11 @@ public class AccountActivityDao
System.out.println("userList AFTER>>>"+userList);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(fromDate,toDate,userDataList);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(fromDate,toDate,userDataList);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(fromDate,toDate,startBattery,userDataList);
JSONObject selfActivityData = new JSONObject();
selfActivityData=prepareDataForGraph(selfActivityData,fromDate,toDate,userDataList);
selfActivityData=prepareDataForGraph(selfActivityData,fromDate,toDate,startBattery,userDataList);
System.out.println("ACTIVITY_GRAPH_DATA for userData::::"+selfActivityData);
activityDataFinal.put("ACTIVITY_GRAPH_DATA",selfActivityData);
List<JSONObject> fileDataList= getUserActivityFileData( userList);
......@@ -224,6 +249,7 @@ public class AccountActivityDao
{
JSONArray teamActivityData = new JSONArray();
selfActivityData=fileNotFoundUsers(selfActivityData,minMaxTimeList,minMaxBatteryStatus,loginCode+"_"+date);
userDataList.remove(loginCode);
System.out.println("userDataList in After removing logincode:::"+userDataList);
if(userDataList != null){
......@@ -232,7 +258,14 @@ public class AccountActivityDao
System.out.println("Inside userDataList in After removing logincode:::["+usersId+"] DATE ["+date+"]");
JSONObject teamMemberActivityData = new JSONObject();
teamMemberActivityData=fileNotFoundUsers(selfActivityData,minMaxTimeList,minMaxBatteryStatus,usersId+"_"+date);
teamActivityData.put(teamMemberActivityData);
if(startBattery != 0 && teamMemberActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && teamMemberActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
teamActivityData.put(teamMemberActivityData);
}
if(startBattery == 0 )
{
teamActivityData.put(teamMemberActivityData);
}
}
System.out.println("teamActivityData::::: ["+teamActivityData+"]");
if(teamActivityData.length()>0)
......@@ -240,7 +273,15 @@ public class AccountActivityDao
selfActivityData.put("TEAM", teamActivityData);
}
}
activityDataFinalArray.put(selfActivityData);
if(startBattery != 0 && selfActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && selfActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
activityDataFinalArray.put(selfActivityData);
}
if(startBattery == 0 )
{
activityDataFinalArray.put(selfActivityData);
}
}
activityDataFinal.put("ACTIVITY_DATA", activityDataFinalArray);
System.out.println("activityDataFinal for if"+activityDataFinal);
......@@ -248,7 +289,8 @@ public class AccountActivityDao
}
else //For users which is in userDataList perform userActivity.
{
for(String date : dateListFile){
for(String date : dateListFile)
{
List<String> userListNew=new ArrayList<String>();
for(String userId : userDataList){
String fileName = userId+"_"+date;
......@@ -269,13 +311,34 @@ public class AccountActivityDao
{
selfActivityData=fileNotFoundUsers(selfActivityData,minMaxTimeList,minMaxBatteryStatus,usersId);
System.out.println("selfActivityData after:::"+selfActivityData);
JSONObject selfActivityDataNew = new JSONObject();
if(startBattery != 0 && selfActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && selfActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
selfActivityData=selfActivityData;
}
else
{
selfActivityData=new JSONObject();
}
if(startBattery == 0 )
{
selfActivityData=selfActivityDataNew;
}
}
else
{
JSONObject teamMemberActivityData = new JSONObject();
teamMemberActivityData=fileNotFoundUsers(selfActivityData,minMaxTimeList,minMaxBatteryStatus,usersId);
teamActivityData.put(teamMemberActivityData);
if(startBattery != 0 && teamMemberActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && teamMemberActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
teamActivityData.put(teamMemberActivityData);
}
if(startBattery == 0 )
{
teamActivityData.put(teamMemberActivityData);
}
System.out.println("teamActivityData after:::"+teamActivityData);
}
}
......@@ -283,10 +346,9 @@ public class AccountActivityDao
{
selfActivityData.put("TEAM", teamActivityData);
}
}
if(fileDataListNew !=null)
else
{
JSONArray teamActivityData = new JSONArray();
List<String> fileUsersListNew = new ArrayList<String>();
......@@ -303,6 +365,20 @@ public class AccountActivityDao
selfActivityData = createActivityData(userId+"_"+activityDate, fileContents);
selfActivityData = checkUserForMinMaxTime(selfActivityData, minMaxTimeList,userId+"_"+activityDate) ;
selfActivityData = checkUserForBatteryStatus(selfActivityData, minMaxBatteryStatus,userId+"_"+activityDate) ;
System.out.println("selfActivityData ELSE FOR::::::::: "+selfActivityData);
JSONObject selfActivityDataNew = new JSONObject();
if(startBattery != 0 && selfActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && selfActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
selfActivityData=selfActivityData;
}
else
{
selfActivityData=new JSONObject();
}
if(startBattery == 0 )
{
selfActivityData=selfActivityDataNew;
}
}
else
{
......@@ -310,7 +386,14 @@ public class AccountActivityDao
teamMemberActivityData = createActivityData(userId+"_"+activityDate, fileContents);
teamMemberActivityData = checkUserForMinMaxTime(teamMemberActivityData,minMaxTimeList,userId+"_"+activityDate) ;
teamMemberActivityData = checkUserForBatteryStatus(teamMemberActivityData, minMaxBatteryStatus,userId+"_"+activityDate) ;
teamActivityData.put(teamMemberActivityData);
if(startBattery != 0 && teamMemberActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && teamMemberActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
teamActivityData.put(teamMemberActivityData);
}
if(startBattery == 0 )
{
teamActivityData.put(teamMemberActivityData);
}
}
System.out.println("fileUsersListNew in else::::::::: ["+fileUsersListNew+"]");
......@@ -325,6 +408,19 @@ public class AccountActivityDao
if( userCode.equalsIgnoreCase(loginCode))
{
selfActivityData=fileNotFoundUsers(selfActivityData,minMaxTimeList,minMaxBatteryStatus,usersId);
JSONObject selfActivityDataNew = new JSONObject();
if(startBattery != 0 && selfActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && selfActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
selfActivityData=selfActivityData;
}
else
{
selfActivityData=new JSONObject();
}
if(startBattery == 0 )
{
selfActivityData=selfActivityDataNew;
}
System.out.println("selfActivityData after:::"+selfActivityData);
}
else
......@@ -332,7 +428,14 @@ public class AccountActivityDao
JSONObject teamMemberActivityData = new JSONObject();
teamMemberActivityData=fileNotFoundUsers(selfActivityData,minMaxTimeList,minMaxBatteryStatus,usersId);
teamActivityData.put(teamMemberActivityData);
if(startBattery != 0 && teamMemberActivityData.getString("LOGIN_BATTERY_STATUS") != "NA" && teamMemberActivityData.getString("LOGOUT_BATTERY_STATUS") != "NA")
{
teamActivityData.put(teamMemberActivityData);
}
if(startBattery == 0 )
{
teamActivityData.put(teamMemberActivityData);
}
System.out.println("teamActivityData after:::"+teamActivityData);
}
}
......@@ -340,13 +443,14 @@ public class AccountActivityDao
{
selfActivityData.put("TEAM", teamActivityData);
}
activityDataFinalArray.put(selfActivityData);
System.out.println("selfActivityData beforeeeee :::"+selfActivityData);
if(selfActivityData.length() != 0){
System.out.println("selfActivityData final inside :::"+selfActivityData);
activityDataFinalArray.put(selfActivityData);
}
}
}
}
activityDataFinal.put("ACTIVITY_DATA", activityDataFinalArray);
return activityDataFinal;
......@@ -888,7 +992,7 @@ public class AccountActivityDao
// 2. Create Query
Query query = session.createSQLQuery("select count(1), DEVICE_TYPE"
+ " from logintrace"
+ " where to_date(LOGINTIME, 'dd-MM-yy') between '"+fromDate+"' and '"+toDate+"'"
+ " where trunc(LOGINTIME) between '"+fromDate+"' and '"+toDate+"'"
+ " and LOGIN_STATUS = 'T' "
+ whereClausePart
+ " and device_type is not null group by DEVICE_TYPE "
......@@ -927,11 +1031,16 @@ public class AccountActivityDao
* @return the method return client_app name and it's count on the basis of fromDate , toDate and
* userDataList if not null from logintrace table.
*/
public JSONObject getClientApp(JSONObject activityData,String fromDate,String toDate,List<String> userDataList) throws JSONException
public JSONObject getClientApp(JSONObject activityData,String fromDate,String toDate,int startBattery, List<String> userDataList) throws JSONException
{
try
{
String whereClausePart = "";
String startBatteryClause = "";
if( startBattery > 0 )
{
startBatteryClause = " and LOGIN_BATTERY_STAT < "+startBattery +" and login_battery_stat is not null and logout_battery_stat is not null ";
}
if(userDataList != null)
{
String userList = genUtil.getEnclosedString(userDataList);
......@@ -942,8 +1051,9 @@ public class AccountActivityDao
// 2. Create Query
Query query = session.createSQLQuery("select count(1), CLIENT_APP"
+ " from logintrace"
+ " where to_date(LOGINTIME, 'dd-MM-yy') between '"+fromDate+"' and '"+toDate+"'"
+ " where trunc(LOGINTIME) between '"+fromDate+"' and '"+toDate+"'"
+ " and LOGIN_STATUS = 'T'"
+ startBatteryClause
+ whereClausePart
+ " and DEVICE_TYPE = 'Browser'"
+ " group by (CLIENT_APP)"
......@@ -1003,13 +1113,18 @@ public class AccountActivityDao
* @return the method return os name and it's count on the basis of fromDate , toDate and
* userDataList if not null from logintrace table.
*/
public JSONObject getOsName(JSONObject activityData,String fromDate,String toDate,List<String> userDataList) throws JSONException
public JSONObject getOsName(JSONObject activityData,String fromDate,String toDate,int startBattery,List<String> userDataList) throws JSONException
{
try
{
// 1. Get Session object
String whereClausePart = "";
String startBatteryClause = "";
if( startBattery > 0 )
{
startBatteryClause = " and LOGIN_BATTERY_STAT < "+startBattery +" and login_battery_stat is not null and logout_battery_stat is not null ";
}
if(userDataList != null)
{
String userList = genUtil.getEnclosedString(userDataList);
......@@ -1019,8 +1134,9 @@ public class AccountActivityDao
// 2. Create Query
Query query = session.createSQLQuery("select count(1), OS_NAME"
+ " from logintrace"
+ " where to_date(LOGINTIME, 'dd-MM-yy') between '"+fromDate+"' and '"+toDate+"'"
+ " where trunc(LOGINTIME) between '"+fromDate+"' and '"+toDate+"'"
+ " and LOGIN_STATUS = 'T'"
+ startBatteryClause
+ whereClausePart
+ " and DEVICE_TYPE in ( 'Android Mobile' ,'Android Tablet','iOS Mobile' , 'iOS Tablet' )"
+ " group by (OS_NAME)");
......@@ -1082,11 +1198,11 @@ public class AccountActivityDao
System.out.println("Inside getLoginUsers userId: [" + fromDate + "] toDate ["+toDate+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select userid ,to_date(LOGINTIME, 'dd-MM-yy') logintime"
Query query = session.createSQLQuery("select userid ,trunc(LOGINTIME) logintime"
+ " from logintrace"
+ " where to_date(LOGINTIME, 'dd-MM-yy') between '"+fromDate+"' and '"+toDate+"'"
+ " where trunc(LOGINTIME) between '"+fromDate+"' and '"+toDate+"'"
+ " and LOGIN_STATUS = 'T'"
+ " group by userid, to_date(LOGINTIME, 'dd-MM-yy') "
+ " group by userid, trunc(LOGINTIME) "
+ " order by userid");
System.out.println("getLoginUsers query >>>>>"+query);
......@@ -1137,10 +1253,10 @@ public class AccountActivityDao
// 2. Create Query
Query query = session.createSQLQuery("select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace "
+ " where to_date(LOGINTIME, 'dd-MM-yy') between '"+fromDate+"' and '"+toDate+"'"
+ " where trunc(LOGINTIME) between '"+fromDate+"' and '"+toDate+"'"
+ " and LOGIN_STATUS = 'T' "
+ whereClausePart
+ "group by userid, to_date(LOGINTIME, 'dd-MM-yy') "
+ "group by userid, trunc(LOGINTIME) "
+ "order by userid");
System.out.println("query result>>>>>"+query);
SimpleDateFormat newFormat = new SimpleDateFormat("YYYYMMdd");
......@@ -1178,7 +1294,7 @@ public class AccountActivityDao
* @return the method return userid,minimum login and maximum logout battery status on the basis of fromDate , toDate and
* userDataList if not null from logintrace table.
*/
public HashMap<String, JSONObject> getBatteryStatus(String fromDate,String toDate,List<String> userDataList) throws JSONException
public HashMap<String, JSONObject> getBatteryStatus(String fromDate,String toDate,int startBattery,List<String> userDataList) throws JSONException
{
HashMap<String, JSONObject> minMaxBatteryStatus = new HashMap<String, JSONObject>();
try
......@@ -1186,29 +1302,35 @@ public class AccountActivityDao
// 1. Get Session object
String whereClausePart = "";
String startBatteryClause = "";
if( startBattery > 0 )
{
startBatteryClause = " and LOGIN_BATTERY_STAT < "+startBattery;
}
if(userDataList != null)
{
String userList = genUtil.getEnclosedString(userDataList);
whereClausePart = " and userid in("+ userList +")";
}
System.out.println("Inside getBatteryStatus fromDate: [" + fromDate + "] toDate ["+toDate+"]");
System.out.println("Inside getBatteryStatus fromDate: [" + fromDate + "] toDate ["+toDate+"] startBattery ["+startBattery+"]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select A.userid, to_date(A.LOGINTIME,'dd-MM-yy hh24:mi:ss') IN_TIME, "
+ " to_date(A.LOGOUTTIME,'dd-MM-yy hh24:mi:ss') OUT_TIME, "
Query query = session.createSQLQuery("select A.userid, trunc(A.LOGINTIME) IN_TIME, "
+ " trunc(A.LOGOUTTIME) OUT_TIME, "
+ " A.LOGIN_BATTERY_STAT, "
+ " A.LOGOUT_BATTERY_STAT"
+ " from logintrace A,"
+ "("
+ " select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace"
+ " where to_date(LOGINTIME, 'dd-MM-yy') between '"+fromDate+"' and '"+toDate+"'"
+ " where trunc(LOGINTIME) between '"+fromDate+"' and '"+toDate+"'"
+ " and LOGIN_STATUS = 'T'"
+ " and LOGIN_BATTERY_STAT is not null "
+ " and LOGOUT_BATTERY_STAT is not null"
+ whereClausePart
+ " group by userid, to_date(LOGINTIME, 'dd-MM-yy') "
+ startBatteryClause
+ whereClausePart
+ " group by userid, trunc(LOGINTIME) "
+ " )B"
+ " where A.userid= B.userid"
+ " and ( A.LOGINTIME = B.LOGINTIME"
......@@ -1222,21 +1344,26 @@ public class AccountActivityDao
List userList = new ArrayList<>();
for(Object[] batteryStatus: batteryStatusList){
String userId = (String)batteryStatus[0];
if(!userList.contains(userId)){
System.out.println("userList :::: "+userList);
Date loginTime = (Date) batteryStatus[1];
String loginDateFormat =newFormat.format(loginTime);
if(!userList.contains(userId+"_"+loginDateFormat)){
jsonObject=new JSONObject();
userList.add(userId);
Date loginTime = (Date) batteryStatus[1];
BigDecimal loginBatteryStatus = (BigDecimal) batteryStatus[3];
jsonObject.put("loginTime", loginTime);
jsonObject.put("loginBatteryStatus", loginBatteryStatus);
System.out.println("userList IN if :::: ["+userList+"] userId ::: ["+userId+"]");
Date loginTimeFirst = (Date) batteryStatus[1];
String loginDateFormat1 =newFormat.format(loginTimeFirst);
userList.add(userId+"_"+loginDateFormat1);
BigDecimal loginBatteryStatus = (BigDecimal) batteryStatus[3];
jsonObject.put("loginTime", loginTime);
jsonObject.put("loginBatteryStatus", loginBatteryStatus);
}
Date logoutTime = (Date) batteryStatus[2];
BigDecimal logoutBatteryStatus = (BigDecimal) batteryStatus[4];
jsonObject.put("logoutTime", logoutTime);
String logoutDateFormat =newFormat.format(logoutTime);
jsonObject.put("logoutBatteryStatus", logoutBatteryStatus);
minMaxBatteryStatus.put(userId+"_"+logoutDateFormat, jsonObject);
System.out.println("minMaxBatteryStatus query result userId ["+userId+"_"+logoutDateFormat+"] jsonObject ["+jsonObject+"]");
minMaxBatteryStatus.put(userId+"_"+loginDateFormat, jsonObject);
System.out.println("minMaxBatteryStatus query result userId ["+userId+"_"+loginDateFormat+"] jsonObject ["+jsonObject+"]");
}
session.close();
}
......
package ibase.dashboard.hibernate.util;
package ibase.dashboard.common.hibernate.utility;
import java.text.ParseException;
import java.text.SimpleDateFormat;
......
package ibase.dashboard.hibernate.util;
package ibase.dashboard.common.hibernate.utility;
import java.text.DateFormat;
import java.text.ParseException;
......
package ibase.dashboard.common.hibernate.utility;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
......@@ -11,92 +12,74 @@ 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 org.hibernate.service.ServiceRegistry;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class HibernateUtil {
//private static final SessionFactory sessionFactory = buildSessionFactory();
private static final SessionFactory sessionFactory;
//private static SessionFactory buildSessionFactory()
import ibase.utility.CommonConstants;
public class HibernateUtil
{
private static SessionFactory sessionFactory = null;
static
{
try
{
/*
// For Hibernate 4.x
// 1. configuring hibernate
Configuration configuration = new Configuration().configure("resource/hibernate.cfg.xml");
// 2. create sessionfactory
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
//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());
// Create the SessionFactory from hibernate.cfg.xml
return sessionFactory;
*/
/*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);*/
// For Hibernate 5.x
// 1. configuring hibernate
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure("resource/hibernate.cfg.xml").build();
// 2. create sessionfactory
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 (Throwable ex)
catch (Exception ex)
{
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
System.out.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
public static void shutdown()
{
// Close caches and connection pools
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
{
/*
// For Hibernate 4.x
// 1. configuring hibernate
Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
//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";
// 2. create sessionfactory
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
*/
System.out.println("path for cfg file is ===="+hibernetCfgPath);
// For Hibernate 5.x
// 1. configuring hibernate
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure("resource/hibernate.cfg.xml").build();
// 2. create sessionfactory
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure(new File(hibernetCfgPath)).build();
Metadata metaData = new MetadataSources(standardRegistry).getMetadataBuilder().build();
SessionFactory sessionFactory = metaData.getSessionFactoryBuilder().build();
sessionFactories.put(dbName,sessionFactory);
// Create the SessionFactory from hibernate.cfg.xml
return sessionFactory;
sessionFactory = metaData.getSessionFactoryBuilder().build();
sessionFactories.put(dbName,sessionFactory);
return sessionFactory;
}
catch (final HibernateException e)
{
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + e);
e.printStackTrace();
throw new ExceptionInInitializerError(e);
......@@ -112,18 +95,23 @@ public class HibernateUtil {
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 sessionFactory = sessionFactories.get(dbName);
if( sessionFactory == null || sessionFactory.isClosed() )
{
_sessionFactory = buildSessionFactory(dbName);
sessionFactory = buildSessionFactory(dbName);
}
return _sessionFactory;
return sessionFactory;
}
}
......@@ -133,6 +121,8 @@ public class HibernateUtil {
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";
......@@ -202,4 +192,7 @@ public class HibernateUtil {
}
return retDateStr;
}
/* Added By Saitej Dhaul On 18 Dec 2018 END */
}
\ No newline at end of file
......@@ -19,13 +19,9 @@
<!-- Drop and re-create the database schema on startup -->
<!-- <property name="hibernate.hbm2ddl.auto">update</property> -->
<!-- Map Entity Class -->
<mapping class="ibase.dashboard.hibernate.bean.DocContents"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.DocTransLink"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.RefSer"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.UserDocContent"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.Task"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.LoginTrace"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.Employee"></mapping>
<mapping class="ibase.dashboard.hibernate.bean.UserProfile"></mapping>
<mapping class="ibase.dashboard.common.hibernate.bean.LoginTrace"></mapping>
<mapping class="ibase.dashboard.common.hibernate.bean.Employee"></mapping>
<mapping class="ibase.dashboard.common.hibernate.bean.UserProfile"></mapping>
<mapping class="ibase.dashboard.common.hibernate.bean.UserDevice"></mapping>
</session-factory>
</hibernate-configuration>
......@@ -14,7 +14,7 @@ import javax.ws.rs.core.MediaType;
import org.json.JSONObject;
import ibase.dashboard.hibernate.dao.AccountActivityDao;
import ibase.dashboard.common.hibernate.dao.AccountActivityDao;
import ibase.utility.BaseException;
import ibase.utility.UserInfoBean;
......@@ -29,11 +29,11 @@ public class AccountActivityService {
public String getAccountActivityData(@QueryParam("fromDate") String fromDate,
@QueryParam("toDate") String toDate,
@QueryParam("date") String date,
@QueryParam("startBattery") int startBattery,
@QueryParam("startingBattery") int startBattery,
@QueryParam("USER_INFO") String userInfoString) throws Exception
{
JSONObject accountActivityData = new JSONObject();
System.out.println("getAccountActivityData fromDate date [" + fromDate + "]");
System.out.println("getAccountActivityData fromDate date from common dashboard [" + fromDate + "]");
System.out.println("getAccountActivityData toDate date [" + toDate + "]");
System.out.println("getAccountActivityData date [" + date + "]");
System.out.println("getAccountActivityData startBattery [" + startBattery + "]");
......@@ -55,11 +55,6 @@ public class AccountActivityService {
toDate = LocalDate.now().format(formatter1);
System.out.println("getAccountActivityData toDate is null [" + toDate + "]");
}
if (startBattery == 0)
{
startBattery = 100;
System.out.println("getAccountActivityData startBattery is null [" + startBattery + "]");
}
if( userInfoString == null )
{
......
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