This question is locked. New answers and comments are not allowed.
Hi, I have encountered this problem when I run my project.
This is my jsp page.
Below is the GetComplianceCheck.java, which is called by the jsp.
How can I solve the problem??
Thanks in advance!
This is my jsp page.
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Compliance Check Report</title><script type="text/javascript" src="telerik/js/jquery.min.js"></script><script type="text/javascript" src="telerik/js/kendo.all.min.js"></script><script type="text/javascript" src="telerik/js/angular.min.js"></script><link href="telerik/styles/kendo.common.min.css" rel="stylesheet" /><link href="telerik/styles/kendo.dataviz.min.css" rel="stylesheet" /><link href="telerik/styles/kendo.blueopal.min.css" rel="stylesheet" /><link href="telerik/styles/kendo.dataviz.blueopal.min.css" rel="stylesheet" /><style scoped> .k-grid {font-size:10px} </style></head><body> <div id = "compliance_check"> <P> <label for="domain">Domain Name: </label><input id="domain_name" style="width: 300px" style="height:10px" /> <p> <p> <label for="from">From (m/dd/yyyy): </label><input id="date" style="width: 350px" /> </p> <p> <label for="to">To (m/dd/yyyy): </label><input id="date2" style="width: 300px" /> </p> <p><button class="k-button" id="submit">Submit</button></p> <p></p> <div id="complianceCheck"></div> </div> <script> $(document).ready(function() { function startChange() { var startDate = from.value(), endDate = to.value(); if (startDate) { startDate = new Date(startDate); startDate.setDate(startDate.getDate()); to.min(startDate); } else if (endDate) { from.max(new Date(endDate)); } else { endDate = new Date(); from.max(endDate); to.min(endDate); } } function endChange() { var endDate = to.value(), startDate = from.value(); if (endDate) { endDate = new Date(endDate); endDate.setDate(endDate.getDate()); from.max(endDate); } else if (startDate) { end.min(new Date(startDate)); } else { endDate = new Date(); from.max(endDate); to.min(endDate); } } var from=$("#date").kendoDatePicker({ change: startChange, parseFormats: ["yyyyMMdd"] }).data("kendoDatePicker"); var to = $("#date2").kendoDatePicker({ change: endChange, parseFormats: ["yyyyMMdd"] }).data("kendoDatePicker"); from.max(to.value()); to.max(to.value()); $("#submit").click(function() { var domain_name=$('#domain_name').val(); var date=kendo.toString(from.value(),"yyyyMMdd"); var date2 = kendo.toString(to.value(),"yyyyMMdd"); function createGrid(){ $("#complianceCheck").kendoGrid({ dataSource: { transport: { read: { dataType: "json", url: "http://cdctst1c:12010/complianceCheckReport/GetComplianceCheck", data: {domain_name:domain_name,date:date,date2:date2}, } }, schema: { data: "Compliance_Check", }, pageSize: 7, }, width: 800, height: 300, filterable: true, sortable: true, resizable: true, columns: [{ field:"group", title: "Group", filterable: true }, { field:"date1", title: "Date1", filterable: true }, { field:"date2", title: "Date2", filterable: true }] }); } $(document).ready(createGrid); $(document).bind("kendo:skinChange", createGrid); var complianceCheckHist = $("#complianceCheck").data("kendoGrid"); complianceCheckHist.dataSource.fetch(function(){ var element = document.getElementById("compliance_check"); if(this.data().length<=0){ var textnode = document.createTextNode("No Data"); if(element.firstChild.nodeValue!="No Data") element.insertBefore(textnode,element.childNodes[4]); else element.firstChild.nodeValue="No Data"; }else{ if(element.firstChild.nodeValue=="No Data"); element.firstChild.nodeValue=""; } }) }); }); </script> </div></body></html>Below is the GetComplianceCheck.java, which is called by the jsp.
package domain;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.Properties;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.json.simple.JSONArray;import org.json.simple.JSONObject;import splunk.SplunkConnect;import com.fasterxml.jackson.databind.ObjectMapper;import com.splunk.Event;import com.splunk.JobExportArgs;import com.splunk.MultiResultsReaderJson;import com.splunk.SearchResults;import com.splunk.Service;/** * Servlet implementation class GetDumpData */public class GetComplianceCheck extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public GetComplianceCheck() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ @Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ @Override protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { // login to splunk Service service = SplunkConnect.Connect(); String domain = req.getParameter("domain_name"); String earliest1 = req.getParameter("date"); String latest1 = req.getParameter("date2"); resp.setContentType("text/plain"); final PrintWriter out = resp.getWriter(); String json = ""; InputStream inputStream = null; InputStream input = null; Properties splunkProp = new Properties(); Properties prop = new Properties(); String search = ""; try { inputStream = new FileInputStream(new File("/appl/eap/project_files/complianceCheckReport/complianceCheckReport_conf.prop")); prop.load(inputStream); input = new FileInputStream(new File(prop.getProperty("splunk_conf"))); splunkProp.load(input); String query = splunkProp.getProperty("getComplianceCheck"); search = query.replaceAll("domain=a", domain); search = search.replaceAll("earliest=earliest1", "earliest=" + earliest1); search = search.replaceAll("latest=latest1", "latest=" + latest1); } catch (final IOException ex) { ex.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (final IOException e) { e.printStackTrace(); } } if (input != null) { try { input.close(); } catch (final IOException e) { e.printStackTrace(); } } } JobExportArgs jobArgs = new JobExportArgs(); jobArgs.setEarliestTime("-24h"); jobArgs.setOutputMode(JobExportArgs.OutputMode.JSON); InputStream exportStream = service.export(search, jobArgs); try { ObjectMapper mapper = new ObjectMapper(); MultiResultsReaderJson multiResultsReaderDomain = new MultiResultsReaderJson(exportStream); JSONArray arrays = new JSONArray(); int countset = 0; for (SearchResults searchResults : multiResultsReaderDomain) { int count = 0; String resultSetType = searchResults.isPreview() ? "Preview" : "Final"; if (resultSetType.equals("Final")) { for (Event event : searchResults) { String group = event.get("group"); String Date1 = event.get("DATE1"); String Date2 = event.get("DATE2"); JSONObject dump = new JSONObject(); dump.put("group", group); dump.put("DATE1", Date1); dump.put("DATE2", Date2); arrays.add(dump); } } } JSONObject data = new JSONObject(); data.put("data", arrays); json = data.toJSONString(); multiResultsReaderDomain.close(); resp.getWriter().write(json); } catch (final IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}How can I solve the problem??
Thanks in advance!