You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
248 lines
6.3 KiB
248 lines
6.3 KiB
/****************************************************************************** |
|
* |
|
* Copyright: Intellectual Property of Four Elements Capital Pte Ltd, Singapore. |
|
* All rights reserved. |
|
* |
|
******************************************************************************/ |
|
|
|
package com.fe.client; |
|
|
|
import java.util.Date; |
|
import java.util.Iterator; |
|
import java.util.List; |
|
import java.util.Map; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import org.json.JSONArray; |
|
import org.json.JSONObject; |
|
|
|
import com.fourelementscapital.db.InfrastructureDB; |
|
import com.fourelementscapital.db.RFunctionDB; |
|
import com.fourelementscapital.db.SchedulerDB; |
|
import com.fourelementscapital.scheduler.error.ClientError; |
|
|
|
|
|
|
|
/** |
|
* This class is used for making several XHR requests, for example jquery autocomplete and autosuggest feature. |
|
* @author Administrator |
|
* |
|
*/ |
|
public class JspXHRRequest extends Authenticated { |
|
|
|
/** |
|
* make sure you are not passing null request, otherwise it won't work properly |
|
* @param request |
|
* @throws Exception |
|
*/ |
|
public JspXHRRequest(HttpServletRequest request) throws Exception { |
|
super(request); |
|
} |
|
|
|
|
|
/** |
|
* Autocomplete search for scheduler name search on UI |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public String getXHRDataScheduler() throws Exception { |
|
|
|
SchedulerDB sdb=SchedulerDB.getSchedulerDB(); |
|
|
|
try{ |
|
sdb.connectDB(); |
|
JSONArray rtn=new JSONArray(); |
|
if( getRequest().getParameter("term")!=null){ |
|
if(getRequest().getParameter("term")!=null){ |
|
String kword=getRequest().getParameter("term"); |
|
List data=sdb.getAutoCompleteXHR(kword); |
|
for(Iterator<Map> it=data.iterator();it.hasNext(); ){ |
|
Map record=it.next(); |
|
//System.out.println("SchedulerMgmt.getXHRDataScheduler():data:"+record); |
|
rtn.put(record); |
|
} |
|
} |
|
} |
|
return rtn.toString(); |
|
|
|
}catch(Exception e){ |
|
ClientError.reportError(e, null); |
|
throw e; |
|
}finally{ |
|
sdb.closeDB(); |
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
* Generic XHR data returned |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public String getXHRDataR() throws Exception { |
|
|
|
RFunctionDB rfdb=RFunctionDB .getRFunctionDB(); |
|
|
|
try{ |
|
rfdb.connectDB(); |
|
JSONArray rtn=new JSONArray(); |
|
if( getRequest().getParameter("term")!=null){ |
|
if(getRequest().getParameter("term")!=null){ |
|
String kword=getRequest().getParameter("term"); |
|
List data=rfdb.autoCompleteFunctions(kword); |
|
for(Iterator<Map> it=data.iterator();it.hasNext(); ){ |
|
Map record=it.next(); |
|
rtn.put(record); |
|
} |
|
} |
|
} |
|
return rtn.toString(); |
|
|
|
}catch(Exception e){ |
|
ClientError.reportError(e, null); |
|
throw e; |
|
}finally{ |
|
rfdb.closeDB(); |
|
} |
|
} |
|
|
|
|
|
|
|
/** |
|
* Notification related data in JSON format. |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public String getNotificationData() throws Exception { |
|
|
|
SchedulerDB sdb=SchedulerDB.getSchedulerDB(); |
|
InfrastructureDB infrastructureDB = InfrastructureDB.getInfrastructureDB(); |
|
|
|
try{ |
|
sdb.connectDB(); |
|
JSONObject json=new JSONObject(); |
|
JSONArray rtn=new JSONArray(); |
|
|
|
infrastructureDB.connectDB(); |
|
List<String> themes = infrastructureDB.getThemeByUsernameAccess(getAuthenticatedUser()); |
|
|
|
List data=sdb.getFailedLast2Days(themes); |
|
for(Iterator<Map> it=data.iterator();it.hasNext(); ){ |
|
Map record=it.next(); |
|
rtn.put(record); |
|
} |
|
json.put("failed_scripts", rtn); |
|
return json.toString(); |
|
|
|
}catch(Exception e){ |
|
//ClientErrorMgmt.reportError(e, null); |
|
//throw e; |
|
//log.error(""); |
|
throw e; |
|
}finally{ |
|
sdb.closeDB(); |
|
infrastructureDB.closeDB(); |
|
} |
|
} |
|
|
|
|
|
/** |
|
* JSON formatted data. |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public String getJSON() throws Exception { |
|
String callback=getRequest().getParameter("callback"); |
|
SchedulerDB sdb=SchedulerDB.getSchedulerDB(); |
|
|
|
try{ |
|
sdb.connectDB(); |
|
JSONArray rtn=new JSONArray(); |
|
if( getRequest().getParameter("search_name")!=null || getRequest().getParameter("search_id")!=null){ |
|
String query=""; |
|
if(getRequest().getParameter("search_name")!=null){ |
|
String kword=getRequest().getParameter("search_name"); |
|
query = sdb.getTop20IdNameByNameQuery(kword); |
|
} |
|
if(getRequest().getParameter("search_id")!=null){ |
|
String kword=getRequest().getParameter("search_id"); |
|
query = sdb.getTop20IdNameByIdQuery(kword); |
|
} |
|
List data=sdb.getSingleColData(query); |
|
|
|
for(Iterator it=data.iterator();it.hasNext(); ){ |
|
String rec=(String)it.next(); |
|
rtn.put(rec); |
|
} |
|
} |
|
return callback+"("+rtn.toString()+");"; |
|
}catch(Exception e){ |
|
ClientError.reportError(e, null); |
|
throw e; |
|
}finally{ |
|
sdb.closeDB(); |
|
} |
|
} |
|
|
|
|
|
|
|
/** |
|
* returns execution logs for the selected log item in the queue |
|
* @param scheduler_id |
|
* @param trigger_time |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public String getExecutionLogs(int scheduler_id, long trigger_time) throws Exception { |
|
SchedulerDB sdb=SchedulerDB.getSchedulerDB(); |
|
try{ |
|
sdb.connectDB(); |
|
JSONArray rtn=new JSONArray(); |
|
List list=sdb.getSchedulerExeLogs(scheduler_id,trigger_time); |
|
rtn.put(list); |
|
return rtn.toString(); |
|
}catch(Exception e){ |
|
ClientError.reportError(e, null); |
|
throw e; |
|
}finally{ |
|
sdb.closeDB(); |
|
} |
|
|
|
} |
|
|
|
|
|
/** |
|
* List last 2 days failed details. |
|
* @param scheduelr_id |
|
* @param stat |
|
* @return |
|
* @throws Exception |
|
*/ |
|
public String listLast2DaysFailedDetails(long scheduelr_id, String stat) throws Exception { |
|
|
|
SchedulerDB sdb=SchedulerDB.getSchedulerDB(); |
|
try{ |
|
sdb.connectDB(); |
|
String datequery= sdb.getHistoryQueueLogsDateQuery(scheduelr_id, stat); |
|
Date now=new Date(); |
|
List list=sdb.listOfHistoryQueueLogs(now.getTime(),datequery); |
|
JSONObject json=new JSONObject(); |
|
json.put("list", list); |
|
return json.toString(); |
|
|
|
}catch(Exception e){ |
|
ClientError.reportError(e, null); |
|
throw e; |
|
}finally{ |
|
sdb.closeDB(); |
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|