/** * Constructor. * * @param rq request * @param rs response * @throws IOException I/O exception */ public HTTPContext(final HttpServletRequest rq, final HttpServletResponse rs) throws IOException { req = rq; res = rs; final String m = rq.getMethod(); method = HTTPMethod.get(m); final StringBuilder uri = new StringBuilder(req.getRequestURL()); final String qs = req.getQueryString(); if (qs != null) uri.append('?').append(qs); log(false, m, uri); // set UTF8 as default encoding (can be overwritten) res.setCharacterEncoding(UTF8); segments = toSegments(req.getPathInfo()); path = join(0); user = System.getProperty(DBUSER); pass = System.getProperty(DBPASS); // set session-specific credentials final String auth = req.getHeader(AUTHORIZATION); if (auth != null) { final String[] values = auth.split(" "); if (values[0].equals(BASIC)) { final String[] cred = Base64.decode(values[1]).split(":", 2); if (cred.length != 2) throw new LoginException(NOPASSWD); user = cred[0]; pass = cred[1]; } else { throw new LoginException(WHICHAUTH, values[0]); } } }
/** * Parse the case id from the url and then delete it. Finally redirects the response and the * request to admCase.jsp * * @see DatabaseMethods#caseDelete(int) * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); DatabaseMethods dbPoint = new DatabaseMethods(); HttpSession userSession = request.getSession(); if (Integer.parseInt(userSession.getAttribute("isadmin").toString()) == 1) { int caseId = Integer.parseInt(request.getParameter("caseId")); int success = dbPoint.caseDelete(caseId); if (success != 0) { userSession.setAttribute("caseDelete", "1"); } else { userSession.setAttribute("caseDelete", "0"); } } RequestDispatcher rd = getServletContext().getRequestDispatcher("/admCase.jsp"); if (rd != null) { rd.forward(request, response); } }
/** Initializes the output. Sets the expected encoding and content type. */ public void initResponse() { // set content type and encoding final SerializerOptions opts = sopts(); final String enc = opts.get(SerializerOptions.ENCODING); res.setCharacterEncoding(enc); final String ct = mediaType(opts); res.setContentType(new TokenBuilder(ct).add(CHARSET).add(enc).toString()); }
/** * 输出json到HTML * * @param response * @param jsonString 要输出的字符串 */ public void outJson(HttpServletResponse response, String jsonString) { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache, must-revalidate"); response.setHeader("Pragma", "no-cache"); try { response.getWriter().println(jsonString); response.getWriter().flush(); response.getWriter().close(); } catch (IOException e) { e.printStackTrace(); } }
private void setContentType(HttpServletResponse pResp, String pContentType) { boolean encodingDone = false; try { pResp.setCharacterEncoding("utf-8"); pResp.setContentType(pContentType); encodingDone = true; } catch (NoSuchMethodError error) { /* Servlet 2.3 */ } catch (UnsupportedOperationException error) { /* Equinox HTTP Service */ } if (!encodingDone) { // For a Servlet 2.3 container or an Equinox HTTP Service, set the charset by hand pResp.setContentType(pContentType + "; charset=utf-8"); } }
private InputStream getReport( HttpServletRequest request, HttpServletResponse response, Tab tab, TableModel tableModel, Integer columnCountLimit) throws ServletException, IOException { StringBuffer suri = new StringBuffer(); suri.append("/xava/jasperReport"); suri.append("?language="); suri.append(Locales.getCurrent().getLanguage()); suri.append("&widths="); suri.append(Arrays.toString(getWidths(tableModel))); if (columnCountLimit != null) { suri.append("&columnCountLimit="); suri.append(columnCountLimit); } response.setCharacterEncoding(XSystem.getEncoding()); return Servlets.getURIAsStream(request, response, suri.toString()); }
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String fName = req.getParameter("fName"); String lName = req.getParameter("lName"); String party = req.getParameter("party"); String area = req.getParameter("area"); Connection c = null; try { DriverManager.registerDriver(new AppEngineDriver()); c = DriverManager.getConnection( "jdbc:google:rdbms://netivalimised2013:netivalimised/evalimised"); String statement; if ((fName.equals("") || fName == null) && (lName.equals("") || lName == null) && (party.equals("") || party == null) && (area.equals("") || area == null)) { System.out.println("Getting all candidates"); statement = "SELECT Person.FirstName, Person.LastName, Party.PartyName, Area.AreaName " + "FROM Person JOIN Party ON Person.PartyID = Party.Party_Id JOIN Area ON Person.AreaID = Area.Area_Id"; } else statement = createQuery(fName, lName, party, area); PreparedStatement stmt = c.prepareStatement(statement); ResultSet rs = stmt.executeQuery(); String jsonData = createJSON(rs, party, area); resp.setContentType("application/json"); resp.setCharacterEncoding("UTF-8"); resp.getWriter().write(jsonData); } catch (SQLException e) { e.printStackTrace(); } finally { if (c != null) { try { c.close(); } catch (SQLException ignore) { } } } // resp.setHeader("Refresh","3; url=/evalimised.jsp"); }
/** * Constructor. * * @param rq request * @param rs response * @param servlet calling servlet instance * @throws IOException I/O exception */ public HTTPContext( final HttpServletRequest rq, final HttpServletResponse rs, final BaseXServlet servlet) throws IOException { req = rq; res = rs; params = new HTTPParams(this); method = rq.getMethod(); final StringBuilder uri = new StringBuilder(req.getRequestURL()); final String qs = req.getQueryString(); if (qs != null) uri.append('?').append(qs); log('[' + method + "] " + uri, null); // set UTF8 as default encoding (can be overwritten) res.setCharacterEncoding(UTF8); segments = decode(toSegments(req.getPathInfo())); // adopt servlet-specific credentials or use global ones final GlobalOptions mprop = context().globalopts; user = servlet.user != null ? servlet.user : mprop.get(GlobalOptions.USER); pass = servlet.pass != null ? servlet.pass : mprop.get(GlobalOptions.PASSWORD); // overwrite credentials with session-specific data final String auth = req.getHeader(AUTHORIZATION); if (auth != null) { final String[] values = auth.split(" "); if (values[0].equals(BASIC)) { final String[] cred = org.basex.util.Base64.decode(values[1]).split(":", 2); if (cred.length != 2) throw new LoginException(NOPASSWD); user = cred[0]; pass = cred[1]; } else { throw new LoginException(WHICHAUTH, values[0]); } } }
/** * Initializes the output. Sets the expected encoding and content type. * * @param sprop serialization properties */ public void initResponse(final SerializerProp sprop) { // set encoding final String encoding = sprop.get(SerializerProp.S_ENCODING); res.setCharacterEncoding(encoding); // set content type String type = sprop.get(SerializerProp.S_MEDIA_TYPE); if (type.isEmpty()) { // determine content type dependent on output method final String mt = sprop.get(SerializerProp.S_METHOD); if (mt.equals(M_RAW)) { type = APP_OCTET; } else if (mt.equals(M_XML)) { type = APP_XML; } else if (eq(mt, M_JSON, M_JSONML)) { type = APP_JSON; } else if (eq(mt, M_XHTML, M_HTML5, M_HTML)) { type = TEXT_HTML; } else { type = TEXT_PLAIN; } } res.setContentType(type + MimeTypes.CHARSET + encoding); }
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; PageContext _jspx_page_context = null; try { _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; /* * Copyright 2006 Pentaho Corporation. All rights reserved. * This software was developed by Pentaho Corporation and is provided under the terms * of the Mozilla Public License, Version 1.1, or any later version. You may not use * this file except in compliance with the license. If you need a copy of the license, * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho * BI Platform. The Initial Developer is Pentaho Corporation. * * Software distributed under the Mozilla Public License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to * the license for the specific language governing your rights and limitations. * * Created Feb 16, 2006 * @author James Dixon modified by Kurtis Cruzada */ /* * This JSP is an example of how to use Pentaho components to build a dashboard. * The script in this file controls the layout and content generation of the dashboard. * See the document 'Dashboard Builder Guide' for more details */ // set the character encoding e.g. UFT-8 response.setCharacterEncoding(LocaleHelper.getSystemEncoding()); // create a new Pentaho session IPentahoSession userSession = PentahoHttpSessionHelper.getPentahoSession(request); out.write("\t\r\n"); out.write("\t"); // See if we have a 'territory' parameter String territory = request.getParameter("territory"); // See if we have a 'productline' parameter String productline = request.getParameter("productline"); // Create the title for the top of the page String title = "Revenue Analysis"; if (productline != null) { title = "Sales for " + territory + ", " + productline; } else if (territory != null) { title = "Sales for " + territory; } out.write("\r\n"); out.write("\t<html>\n"); out.write("\t<head>\r\n"); out.write("\t\t<title>Steel Wheels - Revenue Analysis</title>\r\n"); out.write("\t</head>\r\n"); out.write("\t<body>\r\n"); out.write(" \t<table background=\"/sw-style/active/logo_backup.png\">\n"); out.write(" \t\t<tr>\r\n"); out.write( " \t\t\t<td width=\"750\" height=\"40\" align=\"right\" valign=\"middle\" style=\"font-family:Arial;font-weight:bold\" border=\"0\"/>"); out.print(title); out.write("</td>\n"); out.write(" \t\t</tr>\t\t\n"); out.write(" \t</table>\t\r\n"); out.write( " \t<table class=\"homeDashboard\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" >\r\n"); out.write("\t<tr>\r\n"); out.write("\t\t<td valign=\"top\" align=\"center\">\r\n"); out.write("\t"); // Make a pie chart showing the territories // create the parameres for the pie chart SimpleParameterProvider parameters = new SimpleParameterProvider(); // define the click url template parameters.setParameter("drill-url", "SWDashboard?territory={TERRITORY}"); // define the slices of the pie chart parameters.setParameter("inner-param", "TERRITORY"); // $NON-NLS-1$ //$NON-NLS-2$ // set the width and the height parameters.setParameter("image-width", "350"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("image-height", "200"); // $NON-NLS-1$ //$NON-NLS-2$ StringBuffer content = new StringBuffer(); ArrayList messages = new ArrayList(); // call the chart helper to generate the pie chart image and to get the HTML content // use the chart definition in 'steel-wheels/dashboard/territory.widget.xml' ChartHelper.doPieChart( "steel-wheels", "dashboards", "territory.widget.xml", parameters, content, userSession, messages, null); out.write("\r\n"); out.write("\t\t"); out.print(content.toString()); out.write("\r\n"); out.write("\t\t</td>\t\t\t\r\n"); out.write("\t\t<td valign=\"top\" align=\"center\">\r\n"); out.write("\t"); if (territory == null) { // if the user has clicked on a slice of the pie chart we should have a territory to work // with out.write("\t\t\t\r\n"); out.write("\t"); // Make a bar chart showing the department // create the parameres for the bar chart parameters = new SimpleParameterProvider(); // define the click url template parameters.setParameter( "drill-url", "SWDashboard?territory=" + territory + "&productline={SERIES}"); parameters.setParameter("TERRITORY", territory); parameters.setParameter("outer-params", "TERRITORY"); // define the category axis of the bar chart parameters.setParameter("inner-param", "TERRITORY"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("inner-param", "PRODUCTLINE"); // $NON-NLS-1$ //$NON-NLS-2$ // set the width and the height parameters.setParameter("image-width", "400"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("image-height", "200"); // $NON-NLS-1$ //$NON-NLS-2$ content = new StringBuffer(); messages = new ArrayList(); // call the chart helper to generate the pie chart image and to get the HTML content // use the chart definition in 'steel-wheels/dashboard/productline.widget.xml' ChartHelper.doChart( "steel-wheels", "dashboards", "productline_all.widget.xml", parameters, content, userSession, messages, null); out.write("\t\t\r\n"); out.write("\t\t"); out.print(content.toString()); out.write("\r\n"); out.write("\t\t"); } out.write('\r'); out.write('\n'); out.write(' '); if (territory != null) { // if the user has clicked on a slice of the pie chart we should have a territory to work // with out.write("\t\t\t\r\n"); out.write("\t"); // Make a bar chart showing the department // create the parameres for the bar chart parameters = new SimpleParameterProvider(); // define the click url template parameters.setParameter( "drill-url", "SWDashboard?territory=" + territory + "&productline={SERIES}"); parameters.setParameter("TERRITORY", territory); parameters.setParameter("outer-params", "TERRITORY"); // define the category axis of the bar chart parameters.setParameter("inner-param", "TERRITORY"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("inner-param", "PRODUCTLINE"); // $NON-NLS-1$ //$NON-NLS-2$ // set the width and the height parameters.setParameter("image-width", "400"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("image-height", "200"); // $NON-NLS-1$ //$NON-NLS-2$ content = new StringBuffer(); messages = new ArrayList(); // call the chart helper to generate the pie chart image and to get the HTML content // use the chart definition in 'steel-wheels/dashboard/productline.widget.xml' ChartHelper.doChart( "steel-wheels", "dashboards", "productline.widget.xml", parameters, content, userSession, messages, null); out.write("\r\n"); out.write("\t\t\t"); out.print(content.toString()); out.write('\r'); out.write('\n'); out.write(' '); } out.write("\r\n"); out.write("\t\t</td>\r\n"); out.write("\t</tr> \t\r\n"); out.write(" </table>\n"); out.write( " \t<table class=\"homeDashboard\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" >\n"); out.write(" \t<tr>\r\n"); out.write(" \t\t<td valign=\"top\" align=\"center\"> \t \t\t\t\t\r\n"); out.write(" \t"); if (productline != null) { // if the user has clicked on a bar of the bar chart we should have a territory and // productline to work with // create a dial and supply a value we create from the current time // create the parameters for the line chart parameters = new SimpleParameterProvider(); parameters.setParameter("TERRITORY", territory); parameters.setParameter("outer-params", "TERRITORY"); parameters.setParameter("PRODUCTLINE", productline); parameters.setParameter("outer-params", "PRODUCTLINE"); // define the category axis of the bar chart parameters.setParameter("inner-param", "PRODUCTLINE"); // $NON-NLS-1$ //$NON-NLS-2$ // set the width and the height parameters.setParameter("image-width", "750"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("image-height", "200"); // $NON-NLS-1$ //$NON-NLS-2$ content = new StringBuffer(); messages = new ArrayList(); // call the chart helper to generate the pie chart image and to get the HTML content // use the chart definition in 'steel-wheels/dashboard/regions.widget.xml' ChartHelper.doChart( "steel-wheels", "dashboards", "SalesOvertime.widget.xml", parameters, content, userSession, messages, null); out.write("\r\n"); out.write(" \t"); out.print(content.toString()); out.write("\r\n"); out.write(" \t"); } out.write("\r\n"); out.write(" \t"); if (productline == null) { // if the user has clicked on a bar of the bar chart we should have a territory and // productline to work with // create a dial and supply a value we create from the current time // create the parameters for the line chart parameters = new SimpleParameterProvider(); parameters.setParameter("TERRITORY", territory); parameters.setParameter("outer-params", "TERRITORY"); // define the category axis of the bar chart parameters.setParameter("inner-param", "PRODUCTLINE"); // $NON-NLS-1$ //$NON-NLS-2$ // set the width and the height parameters.setParameter("image-width", "750"); // $NON-NLS-1$ //$NON-NLS-2$ parameters.setParameter("image-height", "200"); // $NON-NLS-1$ //$NON-NLS-2$ content = new StringBuffer(); messages = new ArrayList(); // call the chart helper to generate the pie chart image and to get the HTML content // use the chart definition in 'steel-wheels/dashboard/regions.widget.xml' ChartHelper.doChart( "steel-wheels", "dashboards", "SalesOvertime_All.widget.xml", parameters, content, userSession, messages, null); out.write(" \t\t\r\n"); out.write(" \t\t"); out.print(content.toString()); out.write("\r\n"); out.write(" \t"); } out.write("\t\r\n"); out.write(" \t\t</td>\r\n"); out.write(" \t</tr>\r\n"); out.write(" </table>\r\n"); out.write("</body>\r\n"); out.write("</html>\r\n"); } catch (Throwable t) { if (!(t instanceof SkipPageException)) { out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); } } finally { if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context); } }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(XML_RESPONSE_HEADER); // Talkback happens in XML form. response.setCharacterEncoding("UTF-8"); // Unicode++ request.setCharacterEncoding("UTF-8"); PrintWriter out = null; // The talkback buffer. // handle startrecord Integer startRecord = 0; if (!(request.getParameter("startRecord") == null)) { try { startRecord = Integer.parseInt(request.getParameter("startRecord")) - 1; } catch (NumberFormatException e) { startRecord = 0; } } // maximumrecords Integer maximumRecords = Integer.parseInt(this.config.getProperty("default_maximumRecords")); if (!(request.getParameter("maximumRecords") == null)) { maximumRecords = Integer.parseInt(request.getParameter("maximumRecords")); } // operation String operation = request.getParameter("operation"); // x_collection String x_collection = request.getParameter("x-collection"); if (x_collection == null) x_collection = this.config.getProperty("default_x_collection"); if (x_collection == null) operation = null; // sortkeys String sortKeys = request.getParameter("sortKeys"); // sortorder String sortOrder = request.getParameter("sortOrder"); // recordschema String recordSchema = request.getParameter("recordSchema"); if (recordSchema == null) recordSchema = "dc"; if (recordSchema.equalsIgnoreCase("dcx")) { recordSchema = "dcx"; } if (recordSchema.equalsIgnoreCase("solr")) { recordSchema = "solr"; } // query request String query = request.getParameter("query"); String q = request.getParameter("q"); // who is requestor ? String remote_ip = request.getHeader("X-FORWARDED-FOR"); if (remote_ip == null) { remote_ip = request.getRemoteAddr().trim(); } else { remote_ip = request.getHeader("X-FORWARDED-FOR"); } // handle debug Boolean debug = Boolean.parseBoolean(request.getParameter("debug")); if (!debug) { out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF8"), true); } // handle query if ((query == null) && (q != null)) { query = q; } else { if ((query != null) && (q == null)) { q = query; } else { operation = null; } } // handle operation if (operation == null) { if (query != null) { operation = "searchRetrieve"; } else { operation = "explain"; } } // searchRetrieve if (operation.equalsIgnoreCase("searchRetrieve")) { if (query == null) { operation = "explain"; log.debug(operation + ":" + query); } } // start talking back. String[] sq = {""}; String solrquery = ""; // facet String facet = null; List<FacetField> fct = null; if (request.getParameter("facet") != null) { facet = request.getParameter("facet"); log.debug("facet : " + facet); } if (operation == null) { operation = "searchretrieve"; } else { // explain response if (operation.equalsIgnoreCase("explain")) { log.debug("operation = explain"); out.write("<srw:explainResponse xmlns:srw=\"http://www.loc.gov/zing/srw/\">"); out.write("</srw:explainResponse>"); } else { // DEBUG routine operation = "searchretrieve"; String triplequery = null; if (query.matches(".*?\\[.+?\\].*?")) { // New symantic syntax triplequery = symantic_query(query); query = query.split("\\[")[0] + " " + triplequery; log.fatal(triplequery); solrquery = CQLtoLucene.translate(query, log, config); } else { solrquery = CQLtoLucene.translate(query, log, config); } log.debug(solrquery); if (debug == true) { response.setContentType(HTML_RESPONSE_HEADER); out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF8"), true); out.write("<html><body>\n\n"); out.write("'" + remote_ip + "'<br>\n"); out.write("<form action='http://www.kbresearch.nl/kbSRU'>"); out.write("<input type=text name=q value='" + query + "' size=120>"); out.write("<input type=hidden name=debug value=True>"); out.write("<input type=submit>"); out.write("<table border=1><tr><td>"); out.write("q</td><td>" + query + "</td></tr><tr>"); out.write("<td>query out</td><td>" + URLDecoder.decode(solrquery) + "</td></tr>"); out.write( "<tr><td>SOLR_URL</td><td> <a href='" + this.config.getProperty( "collection." + x_collection.toLowerCase() + ".solr_baseurl") + "/?q=" + solrquery + "'>" + this.config.getProperty( "collection." + x_collection.toLowerCase() + ".solr_baseurl") + "/select/?q=" + solrquery + "</a><br>" + this.config.getProperty("solr_url") + solrquery + "</td></tr>"); out.write( "<b>SOLR_QUERY</b> : <BR> <iframe width=900 height=400 src='" + this.config.getProperty( "collection." + x_collection.toLowerCase() + ".solr_baseurl") + "/../?q=" + solrquery + "'></iframe><BR>"); out.write( "<b>SRU_QUERY</b> : <BR> <a href=" + this.config.getProperty("baseurl") + "?q=" + query + "'>" + this.config.getProperty("baseurl") + "?q=" + query + "</a><br><iframe width=901 height=400 src='http://www.kbresearch.nl/kbSRU/?q=" + query + "'></iframe><BR>"); out.write( "<br><b>JSRU_QUERY</b> : <BR><a href='http://jsru.kb.nl/sru/?query=" + query + "&x-collection=" + x_collection + "'>http://jsru.kb.nl/sru/?query=" + query + "&x-collection=GGC</a><br><iframe width=900 height=400 src='http://jsru.kb.nl/sru/?query=" + query + "&x-collection=GGC'></iframe>"); } else { // XML SearchRetrieve response String url = this.config.getProperty("collection." + x_collection.toLowerCase() + ".solr_baseurl"); String buffer = ""; CommonsHttpSolrServer server = null; server = new CommonsHttpSolrServer(url); log.fatal("URSING " + url); server.setParser(new XMLResponseParser()); int numfound = 0; try { SolrQuery do_query = new SolrQuery(); do_query.setQuery(solrquery); do_query.setRows(maximumRecords); do_query.setStart(startRecord); if ((sortKeys != null) && (sortKeys.length() > 1)) { if (sortOrder != null) { if (sortOrder.equals("asc")) { do_query.setSortField(sortKeys, SolrQuery.ORDER.asc); } if (sortOrder.equals("desc")) { do_query.setSortField(sortKeys, SolrQuery.ORDER.desc); } } else { for (String str : sortKeys.trim().split(",")) { str = str.trim(); if (str.length() > 1) { if (str.equals("date")) { do_query.setSortField("date_date", SolrQuery.ORDER.desc); log.debug("SORTORDERDEBUG | DATE! " + str + " | "); break; } else { do_query.setSortField(str + "_str", SolrQuery.ORDER.asc); log.debug("SORTORDERDEBUG | " + str + " | "); break; } } } } } if (facet != null) { if (facet.indexOf(",") > 1) { for (String str : facet.split(",")) { if (str.indexOf("date") > 1) { do_query.addFacetField(str); } else { do_query.addFacetField(str); } // do_query.setParam("facet.method", "enum"); } // q.setFacetSort(false); } else { do_query.addFacetField(facet); } do_query.setFacet(true); do_query.setFacetMinCount(1); do_query.setFacetLimit(-1); } log.fatal(solrquery); QueryResponse rsp = null; boolean do_err = false; boolean do_sugg = false; SolrDocumentList sdl = null; String diag = ""; StringBuffer suggest = new StringBuffer(""); String content = "1"; SolrQuery spellq = do_query; try { rsp = server.query(do_query); } catch (SolrServerException e) { String header = this.SRW_HEADER.replaceAll("\\$numberOfRecords", "0"); out.write(header); diag = this.SRW_DIAG.replaceAll("\\$error", e.getMessage()); do_err = true; rsp = null; } log.fatal("query done.."); if (!(do_err)) { // XML dc response SolrDocumentList docs = rsp.getResults(); numfound = (int) docs.getNumFound(); int count = startRecord; String header = this.SRW_HEADER.replaceAll("\\$numberOfRecords", Integer.toString(numfound)); out.write(header); out.write("<srw:records>"); Iterator<SolrDocument> iter = rsp.getResults().iterator(); while (iter.hasNext()) { count += 1; if (recordSchema.equalsIgnoreCase("dc")) { SolrDocument resultDoc = iter.next(); content = (String) resultDoc.getFieldValue("id"); out.write("<srw:record>"); out.write("<srw:recordPacking>xml</srw:recordPacking>"); out.write("<srw:recordSchema>info:srw/schema/1/dc-v1.1</srw:recordSchema>"); out.write( "<srw:recordData xmlns:srw_dc=\"info:srw/schema/1/dc-v1.1\" xmlns:mods=\"http://www.loc.gov/mods\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:dcx=\"http://krait.kb.nl/coop/tel/handbook/telterms.html\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:marcrel=\"http://www.loc.gov/loc.terms/relators/OTH\" xmlns:facets=\"info:srw/extension/4/facets\" >"); StringBuffer result = new StringBuffer(""); construct_lucene_dc(result, resultDoc); out.write(result.toString()); out.write("</srw:recordData>"); out.write( "<srw:recordPosition>" + Integer.toString(count) + "</srw:recordPosition>"); out.write("</srw:record>"); } if (recordSchema.equalsIgnoreCase("solr")) { SolrDocument resultDoc = iter.next(); content = (String) resultDoc.getFieldValue("id"); out.write("<srw:record>"); out.write("<srw:recordPacking>xml</srw:recordPacking>"); out.write("<srw:recordSchema>info:srw/schema/1/solr</srw:recordSchema>"); out.write("<srw:recordData xmlns:expand=\"http://www.kbresearch.nl/expand\">"); StringBuffer result = new StringBuffer(""); construct_lucene_solr(result, resultDoc); out.write(result.toString()); out.write("</srw:recordData>"); out.write( "<srw:recordPosition>" + Integer.toString(count) + "</srw:recordPosition>"); out.write("</srw:record>"); } if (recordSchema.equalsIgnoreCase("dcx")) { // XML dcx response out.write("<srw:record>"); out.write("<srw:recordPacking>xml</srw:recordPacking>"); out.write("<srw:recordSchema>info:srw/schema/1/dc-v1.1</srw:recordSchema>"); out.write( "<srw:recordData><srw_dc:dc xmlns:srw_dc=\"info:srw/schema/1/dc-v1.1\" xmlns:mods=\"http://www.loc.gov/mods\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:dcx=\"http://krait.kb.nl/coop/tel/handbook/telterms.html\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:marcrel=\"http://www.loc.gov/marc.relators/\" xmlns:expand=\"http://www.kbresearch.nl/expand\" xmlns:skos=\"http://www.w3.org/2004/02/skos/core#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" >"); SolrDocument resultDoc = iter.next(); content = (String) resultDoc.getFieldValue("id"); String dcx_data = helpers.getOAIdcx( "http://services.kb.nl/mdo/oai?verb=GetRecord&identifier=" + content, log); if (x_collection.equalsIgnoreCase("ggc-thes")) { dcx_data = helpers.getOAIdcx( "http://serviceso.kb.nl/mdo/oai?verb=GetRecord&identifier=" + content, log); } if (!(dcx_data.length() == 0)) { out.write(dcx_data); } else { // Should not do this!! out.write("<srw:record>"); out.write("<srw:recordPacking>xml</srw:recordPacking>"); out.write("<srw:recordSchema>info:srw/schema/1/dc-v1.1</srw:recordSchema>"); out.write( "<srw:recordData xmlns:srw_dc=\"info:srw/schema/1/dc-v1.1\" xmlns:mods=\"http://www.loc.gov/mods\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:dcx=\"http://krait.kb.nl/coop/tel/handbook/telterms.html\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:marcrel=\"http://www.loc.gov/loc.terms/relators/OTH\" >"); StringBuffer result = new StringBuffer(""); construct_lucene_dc(result, resultDoc); out.write(result.toString()); out.write("</srw:recordData>"); out.write( "<srw:recordPosition>" + Integer.toString(count) + "</srw:recordPosition>"); out.write("</srw:record>"); } out.write("</srw_dc:dc>"); StringBuffer expand_data; boolean expand = false; if (content.startsWith("GGC-THES:AC:")) { String tmp_content = ""; tmp_content = content.replaceFirst("GGC-THES:AC:", ""); log.fatal("calling get"); expand_data = new StringBuffer( helpers.getExpand( "http://www.kbresearch.nl/general/lod_new/get/" + tmp_content + "?format=rdf", log)); log.fatal("get finini"); if (expand_data.toString().length() > 4) { out.write( "<srw_dc:expand xmlns:srw_dc=\"info:srw/schema/1/dc-v1.1\" xmlns:expand=\"http://www.kbresearch.nl/expand\" xmlns:skos=\"http://www.w3.org/2004/02/skos/core#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" >"); out.write(expand_data.toString()); expand = true; } } else { expand_data = new StringBuffer( helpers.getExpand( "http://www.kbresearch.nl/ANP.cgi?q=" + content, log)); if (expand_data.toString().length() > 0) { if (!expand) { out.write( "<srw_dc:expand xmlns:srw_dc=\"info:srw/schema/1/dc-v1.1\" xmlns:expand=\"http://www.kbresearch.nl/expand\" xmlns:skos=\"http://www.w3.org/2004/02/skos/core#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" >"); expand = true; } out.write(expand_data.toString()); } } if (expand) { out.write("</srw_dc:expand>"); } out.write("</srw:recordData>"); out.write( "<srw:recordPosition>" + Integer.toString(count) + "</srw:recordPosition>"); out.write("</srw:record>"); } } } if ((do_err) || (numfound == 0)) { log.fatal("I haz suggestions"); try { spellq.setParam("spellcheck", true); spellq.setQueryType("/spell"); server = new CommonsHttpSolrServer(url); rsp = server.query(spellq); sdl = rsp.getResults(); SpellCheckResponse spell; spell = rsp.getSpellCheckResponse(); List<SpellCheckResponse.Suggestion> suggestions = spell.getSuggestions(); if (suggestions.isEmpty() == false) { suggest.append("<srw:extraResponseData>"); suggest.append("<suggestions>"); for (SpellCheckResponse.Suggestion sugg : suggestions) { suggest.append("<suggestionfor>" + sugg.getToken() + "</suggestionfor>"); for (String item : sugg.getSuggestions()) { suggest.append("<suggestion>" + item + "</suggestion>"); } suggest.append("</suggestions>"); suggest.append("</srw:extraResponseData>"); } do_sugg = true; } } catch (Exception e) { rsp = null; // log.fatal(e.toString()); } ; } ; if (!do_err) { if (facet != null) { try { fct = rsp.getFacetFields(); out.write("<srw:facets>"); for (String str : facet.split(",")) { out.write("<srw:facet>"); out.write("<srw:facetType>"); out.write(str); out.write("</srw:facetType>"); for (FacetField f : fct) { log.debug(f.getName()); // if (f.getName().equals(str+"_str") || (f.getName().equals(str+"_date")) ) { List<FacetField.Count> facetEnties = f.getValues(); for (FacetField.Count fcount : facetEnties) { out.write("<srw:facetValue>"); out.write("<srw:valueString>"); out.write(helpers.xmlEncode(fcount.getName())); out.write("</srw:valueString>"); out.write("<srw:count>"); out.write(Double.toString(fcount.getCount())); out.write("</srw:count>"); out.write("</srw:facetValue>"); // } } } out.write("</srw:facet>"); } out.write("</srw:facets>"); startRecord += 1; } catch (Exception e) { } // log.fatal(e.toString()); } } } else { out.write(diag); } out.write("</srw:records>"); // SearchRetrieve response footer String footer = this.SRW_FOOTER.replaceAll("\\$query", helpers.xmlEncode(query)); footer = footer.replaceAll("\\$startRecord", (startRecord).toString()); footer = footer.replaceAll("\\$maximumRecords", maximumRecords.toString()); footer = footer.replaceAll("\\$recordSchema", recordSchema); if (do_sugg) { out.write(suggest.toString()); } out.write(footer); } catch (MalformedURLException e) { out.write(e.getMessage()); } catch (IOException e) { out.write("TO ERR is Human"); } } } } out.close(); }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Locales.setCurrent(request); if (Users.getCurrent() == null) { // for a bug in websphere portal 5.1 with Domino LDAP Users.setCurrent((String) request.getSession().getAttribute("xava.user")); } request.getParameter("application"); // for a bug in websphere 5.1 request.getParameter("module"); // for a bug in websphere 5.1 Tab tab = (Tab) request.getSession().getAttribute("xava_reportTab"); int[] selectedRowsNumber = (int[]) request.getSession().getAttribute("xava_selectedRowsReportTab"); Map[] selectedKeys = (Map[]) request.getSession().getAttribute("xava_selectedKeysReportTab"); int[] selectedRows = getSelectedRows(selectedRowsNumber, selectedKeys, tab); request.getSession().removeAttribute("xava_selectedRowsReportTab"); Integer columnCountLimit = (Integer) request.getSession().getAttribute("xava_columnCountLimitReportTab"); request.getSession().removeAttribute("xava_columnCountLimitReportTab"); setDefaultSchema(request); String user = (String) request.getSession().getAttribute("xava_user"); request.getSession().removeAttribute("xava_user"); Users.setCurrent(user); String uri = request.getRequestURI(); if (uri.endsWith(".pdf")) { InputStream is; JRDataSource ds; Map parameters = new HashMap(); synchronized (tab) { tab.setRequest(request); parameters.put("Title", tab.getTitle()); parameters.put("Organization", getOrganization()); parameters.put("Date", getCurrentDate()); for (String totalProperty : tab.getTotalPropertiesNames()) { parameters.put(totalProperty + "__TOTAL__", getTotal(request, tab, totalProperty)); } TableModel tableModel = getTableModel(request, tab, selectedRows, false, true, null); tableModel.getValueAt(0, 0); if (tableModel.getRowCount() == 0) { generateNoRowsPage(response); return; } is = getReport(request, response, tab, tableModel, columnCountLimit); ds = new JRTableModelDataSource(tableModel); } JasperPrint jprint = JasperFillManager.fillReport(is, parameters, ds); response.setContentType("application/pdf"); response.setHeader( "Content-Disposition", "inline; filename=\"" + getFileName(tab) + ".pdf\""); JasperExportManager.exportReportToPdfStream(jprint, response.getOutputStream()); } else if (uri.endsWith(".csv")) { String csvEncoding = XavaPreferences.getInstance().getCSVEncoding(); if (!Is.emptyString(csvEncoding)) { response.setCharacterEncoding(csvEncoding); } response.setContentType("text/x-csv"); response.setHeader( "Content-Disposition", "inline; filename=\"" + getFileName(tab) + ".csv\""); synchronized (tab) { tab.setRequest(request); response .getWriter() .print( TableModels.toCSV( getTableModel(request, tab, selectedRows, true, false, columnCountLimit))); } } else { throw new ServletException( XavaResources.getString("report_type_not_supported", "", ".pdf .csv")); } } catch (Exception ex) { log.error(ex.getMessage(), ex); throw new ServletException(XavaResources.getString("report_error")); } finally { request.getSession().removeAttribute("xava_reportTab"); } }
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("utf-8"); if (jjNumber.isDigit(jjTools.getParameter(request, "maxSize"))) { maxSize = Long.parseLong(jjTools.getParameter(request, "maxSize")); } response.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); name = name == null ? "" : name; response.setContentType("text/plain"); super.init(getServletConfig()); // response.setContentType("text/plain"); PrintWriter out = response.getWriter(); // out.println(); DiskFileItemFactory fileItemFactory = new DiskFileItemFactory(); // fileItemFactory.setSizeThreshold(1024 * 1024); //1 MB try { ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory); List items = uploadHandler.parseRequest(request); Iterator itr = items.iterator(); while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); if (item.isFormField()) { /* * Field */ // out.println("Field Name=" + item.getFieldName() + ", Value=" + // item.getString()); data.put(item.getFieldName(), item.getString()); } else { /* * File */ File folderAddress = new File(request.getServletContext().getRealPath(Save_Folder_Name)); // "/" + String extension = ""; String nameWithoutExtension = item.getName(); if (item.getName().lastIndexOf(".") > -1) { extension = item.getName().substring(item.getName().lastIndexOf(".")); nameWithoutExtension = item.getName() .substring( item.getName().lastIndexOf("\\") + 1, item.getName().lastIndexOf(".")); } folderAddress.mkdirs(); nameWithoutExtension = "P"; File file = new File( folderAddress + "/" + nameWithoutExtension.toLowerCase() + jjNumber.getRandom(10) + extension.toLowerCase()); String i = "0000000000"; while (file.exists()) { i = jjNumber.getRandom(10); file = new File( folderAddress + "/" + nameWithoutExtension.toLowerCase() + i + extension.toLowerCase()); } if (!name.equals("")) { file = new File(folderAddress + "/" + name); } // out.println("File Name=" + item.getName() // + ", Field Name=" + item.getFieldName() // + ", Content type=" + item.getContentType() // + ", File Size=" + item.getSize() // + ", Save Address=" + file); // out.println(file); // String urlPath = // request.getRequestURL().toString().replace("Upload2", "Upload") + "/" + // file.getName().replace("\\", "/"); // out.println("<html><head><meta http-equiv='Content-Type' // content='text/html; charset=utf-8'></head><body><input type='text' name='T1' size='58' // value='" + urlPath + "'></body></html>"); data.put(item.getFieldName(), file.getAbsolutePath()); if (!file.getName().toLowerCase().endsWith(".exe")) { item.write(file); } long size = file.length(); ServerLog.Print("?>>>>>>" + file + " - Size:" + size); if (size > maxSize) { file.delete(); out.print("big"); } else { out.print( file.getName() .replace(" ", "%20") .replace("<pre style=\"word-wrap: break-word; white-space: pre-wrap;\">", "")); ServerLog.Print("Write pic in: " + file + " size:" + file.length()); String name2 = file.getName().substring(0, file.getName().lastIndexOf(".")); String extension2 = file.getName() .substring(file.getName().lastIndexOf(".") + 1, file.getName().length()); File file2 = new File(file.getParent() + "/" + name2 + "_small." + extension2); if (extension2.toLowerCase().equals("jpg") || extension2.toLowerCase().equals("png") || extension2.toLowerCase().equals("gif")) { jjPicture.doChangeSizeOfPic(file, file2, 250); } } } } } catch (Exception ex) { Server.ErrorHandler(ex); } out.flush(); out.close(); }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("UTF-8"); String task = request.getParameter("task"); Element data = null; // process help request if (request.getParameter("help") != null) data = getDescription(task); // redirect to home page if there is no task if (data == null && task == null) { response.setContentType("text/html"); response .getWriter() .append( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><html><head><meta http-equiv=\"REFRESH\" content=\"0;url=" + context.getInitParameter("server_path") + "></head><body></body></html>"); return; } // process definition request if (data == null && task.equals("define")) { int id = resolveIntegerArg(request.getParameter("id"), -1); int length = resolveIntegerArg(request.getParameter("length"), definer.getDefaultLength()); int format = resolveIntegerArg(request.getParameter("format"), definer.getDefaultFormat()); int maxImageWidth = resolveIntegerArg( request.getParameter("maxImageWidth"), definer.getDefaultMaxImageWidth()); int maxImageHeight = resolveIntegerArg( request.getParameter("maxImageHeight"), definer.getDefaultMaxImageHeight()); int linkDestination = resolveIntegerArg( request.getParameter("linkDestination"), definer.getDefaultLinkDestination()); boolean getImages = resolveBooleanArg(request.getParameter("getImages"), false); data = definer.getDefinition( id, length, format, linkDestination, getImages, maxImageWidth, maxImageHeight); } // all of the remaining tasks require data to be cached, so lets make sure that is finished // before continuing. if (!cachingThread.isOk()) throw new ServletException("Could not cache wikipedia data"); double progress = cachingThread.getProgress(); if (data == null && (progress < 1 || task.equals("progress"))) { // still caching up data, not ready to return a response yet. data = doc.createElement("loading"); data.setAttribute("progress", df.format(progress)); task = "loading"; } // process search request if (data == null && task.equals("search")) { String term = request.getParameter("term"); String id = request.getParameter("id"); int linkLimit = resolveIntegerArg(request.getParameter("linkLimit"), searcher.getDefaultMaxLinkCount()); int senseLimit = resolveIntegerArg( request.getParameter("senseLimit"), searcher.getDefaultMaxSenseCount()); if (id == null) data = searcher.doSearch(term, linkLimit, senseLimit); else data = searcher.doSearch(Integer.parseInt(id), linkLimit); } // process compare request if (data == null && task.equals("compare")) { String term1 = request.getParameter("term1"); String term2 = request.getParameter("term2"); int linkLimit = resolveIntegerArg(request.getParameter("linkLimit"), comparer.getDefaultMaxLinkCount()); boolean details = resolveBooleanArg(request.getParameter("details"), comparer.getDefaultShowDetails()); data = comparer.getRelatedness(term1, term2, details, linkLimit); } // process wikify request if (data == null && task.equals("wikify")) { if (this.wikifier == null) throw new ServletException( "Wikifier is not available. You must configure the servlet so that it has access to link detection and disambiguation models."); String source = request.getParameter("source"); int sourceMode = resolveIntegerArg(request.getParameter("sourceMode"), Wikifier.SOURCE_AUTODETECT); String linkColor = request.getParameter("linkColor"); String baseColor = request.getParameter("baseColor"); double minProb = resolveDoubleArg( request.getParameter("minProbability"), wikifier.getDefaultMinProbability()); int repeatMode = resolveIntegerArg(request.getParameter("repeatMode"), wikifier.getDefaultRepeatMode()); boolean showTooltips = resolveBooleanArg( request.getParameter("showTooltips"), wikifier.getDefaultShowTooltips()); String bannedTopics = request.getParameter("bannedTopics"); boolean wrapInXml = resolveBooleanArg(request.getParameter("wrapInXml"), true); if (wrapInXml) { data = wikifier.wikifyAndWrapInXML( source, sourceMode, minProb, repeatMode, bannedTopics, baseColor, linkColor, showTooltips); } else { response.setContentType("text/html"); response .getWriter() .append( wikifier.wikify( source, sourceMode, minProb, repeatMode, bannedTopics, baseColor, linkColor, showTooltips)); return; } } if (data == null) throw new Exception("Unknown Task"); // wrap data Element wrapper = doc.createElement("WikipediaMinerResponse"); wrapper.setAttribute("server_path", context.getInitParameter("server_path")); wrapper.setAttribute("service_name", context.getInitParameter("service_name")); wrapper.appendChild(data); data = wrapper; // Transform or serialize xml data as appropriate Transformer tf = null; if (request.getParameter("xml") == null) { // we need to transform the data into html tf = transformersByName.get(task); if (request.getParameter("help") != null) tf = transformersByName.get("help"); } if (tf == null) { // we need to serialize the data as xml tf = transformersByName.get("serializer"); response.setContentType("application/xml"); } else { // output will be transformed to html response.setContentType("text/html"); response .getWriter() .append( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n"); } tf.transform(new DOMSource(data), new StreamResult(response.getWriter())); } catch (Exception error) { response.reset(); response.setContentType("application/xml"); response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("UTF8"); Element xmlError = doc.createElement("Error"); if (error.getMessage() != null) xmlError.setAttribute("message", error.getMessage()); Element xmlStackTrace = doc.createElement("StackTrace"); xmlError.appendChild(xmlStackTrace); for (StackTraceElement ste : error.getStackTrace()) { Element xmlSte = doc.createElement("StackTraceElement"); xmlSte.setAttribute("message", ste.toString()); xmlStackTrace.appendChild(xmlSte); } try { transformersByName .get("serializer") .transform(new DOMSource(xmlError), new StreamResult(response.getWriter())); } catch (Exception e) { // TODO: something for when an error is thrown processing an error???? } ; } }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); HttpSession session = request.getSession(true); // ��� �������� ������� ������ ������������� ����� true request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String phoneToDelete = request.getParameter("phoneToDelete"); String currentName = request.getParameter("name"); // �������� ������ String newPrice = request.getParameter("finPrice"); // �������� ���� ������ String number = request.getParameter("number"); // ���������� ������ String phonesRequestLine = (String) session.getAttribute("phonesRequestLine"); StringTokenizer tok = null; iPhonePageBean[] iPhones = (iPhonePageBean[]) session.getAttribute("iPhones"); int summary = 0; // �������� ���� ������� boolean isNew = true; if (phonesRequestLine != null) { phonesRequestLine = rebuildStringWithException(phonesRequestLine, "null"); tok = new StringTokenizer(phonesRequestLine); } if (currentName != null && newPrice != null && number != null) if (isNumber(Integer.parseInt(number)) && isNumber(Integer.parseInt(newPrice))) { for (int i = 0; i < iPhones.length; ++i) if (iPhones[i].getName().equals(currentName)) { iPhones[i].setNumber(number); iPhones[i].setFinalPrice(newPrice); break; } } for (int i = 0; i < iPhones.length; ++i) if (!iPhones[i].getNumber().equals("0")) { isNew = false; break; } if (isNew) { while (tok.hasMoreElements()) { String temp = tok.nextToken(); for (int i = 0; i < iPhones.length; ++i) if (iPhones[i].getName().equals(temp)) { iPhones[i].setNumber("1"); summary += iPhones[i].getPrice(); } } } else { for (int i = 0; i < iPhones.length; ++i) { summary += (Integer.parseInt(iPhones[i].getNumber()) * iPhones[i].getPrice()); } } //////////////////////////////////////////////////////////////////////// if (phoneToDelete != null && phonesRequestLine != null) { phonesRequestLine = rebuildStringWithException(phonesRequestLine, phoneToDelete); int tempID = idOfSpecPhone(iPhones, phoneToDelete); if (tempID >= 0) { summary = summary - (iPhones[tempID].getPrice() * Integer.parseInt(iPhones[tempID].getNumber())); } iPhones[tempID].setNumber("0"); session.setAttribute("phonesRequestLine", phonesRequestLine); } session.setAttribute("summary", summary); RequestDispatcher dispatcher = request.getRequestDispatcher("cart.jsp?lang=" + (String) session.getAttribute("lang")); dispatcher.forward(request, response); }
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { int index; DatastoreService ds; MemcacheService ms; BlobstoreService bs; URLFetchService us; FileService fs; Map<String, List<BlobKey>> blobMap; BlobKey blobKey; BlobInfoFactory blobInfoFactory; BlobInfo blobInfo; int postCount; int postIndex; String postType; String postText; String postDelpw; String postShowgallery; DataObj dataObj; String filelink; String picUrl; HTTPResponse picRes; List<HTTPHeader> headerList; String picMime; String[] fileNamePart; AppEngineFile picFile; FileWriteChannel writeChannel; PostObj postObj; List<PostObj> postObjList; String linkID; resp.setCharacterEncoding("UTF-8"); resp.setContentType("text/plain"); try { ds = DatastoreServiceFactory.getDatastoreService(); ms = MemcacheServiceFactory.getMemcacheService(); bs = BlobstoreServiceFactory.getBlobstoreService(); us = URLFetchServiceFactory.getURLFetchService(); fs = FileServiceFactory.getFileService(); blobInfoFactory = new BlobInfoFactory(ds); blobMap = bs.getUploads(req); postCount = Integer.valueOf(req.getParameter("input_post_count")); postObjList = new ArrayList<PostObj>(); for (postIndex = 0; postIndex < postCount; postIndex++) { try { postType = req.getParameter("input_post_type_" + postIndex); if (postType == null) { continue; } postText = req.getParameter("input_post_text_" + postIndex); postDelpw = req.getParameter("input_post_delpw_" + postIndex); postShowgallery = req.getParameter("input_post_showgallery_" + postIndex); if (postShowgallery == null) { postShowgallery = ""; } if (postType.equals("file") == true) { blobKey = blobMap.get("input_post_file_" + postIndex).get(0); if (blobKey == null) { throw new Exception(); } dataObj = new DataObj(); dataObj.fileid = createUID(); dataObj.posttime = new Date().getTime(); dataObj.delpw = postDelpw; dataObj.blobkey = blobKey; dataObj.putDB(ds); blobInfo = blobInfoFactory.loadBlobInfo(dataObj.blobkey); filelink = "http://" + req.getServerName() + "/down/" + dataObj.fileid + "/" + blobInfo.getFilename(); postObj = new PostObj( dataObj.fileid, filelink, blobInfo.getSize(), dataObj.posttime, dataObj.delpw, postShowgallery); postObjList.add(postObj); } else if (postType.equals("url") == true) { picUrl = postText; picRes = us.fetch(new URL(picUrl)); headerList = picRes.getHeaders(); picMime = "application/octet-stream"; for (index = 0; index < headerList.size(); index++) { if (headerList.get(index).getName().compareToIgnoreCase("Content-Type") == 0) { picMime = headerList.get(index).getValue(); break; } } fileNamePart = picUrl.split("/"); picFile = fs.createNewBlobFile(picMime, fileNamePart[fileNamePart.length - 1]); writeChannel = fs.openWriteChannel(picFile, true); writeChannel.write(ByteBuffer.wrap(picRes.getContent())); writeChannel.closeFinally(); dataObj = new DataObj(); dataObj.fileid = createUID(); dataObj.posttime = new Date().getTime(); dataObj.delpw = postDelpw; dataObj.blobkey = fs.getBlobKey(picFile); dataObj.putDB(ds); blobInfo = blobInfoFactory.loadBlobInfo(dataObj.blobkey); filelink = "http://" + req.getServerName() + "/down/" + dataObj.fileid + "/" + blobInfo.getFilename(); postObj = new PostObj( dataObj.fileid, filelink, blobInfo.getSize(), dataObj.posttime, dataObj.delpw, postShowgallery); postObjList.add(postObj); } } catch (Exception e) { } } linkID = postFile(us, postObjList); if (req.getParameter("specflag") != null) { resp.getWriter().print("http://tnfshmoe.appspot.com/link.jsp?linkid=" + linkID); } else { resp.sendRedirect("http://tnfshmoe.appspot.com/link.jsp?linkid=" + linkID); } } catch (Exception e) { } }
@Override /** * This method handles the voting on answers * * @param request request from user * @param response response back send to the user */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { WebAppDB db = new WebAppDB(); ResultSet answer1; db.createConnection(); try { db.setAutoCommit(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } StringBuilder sb = new StringBuilder(); BufferedReader br = request.getReader(); String str = null; while ((str = br.readLine()) != null) { sb.append(str); } String data = new Gson().fromJson(sb.toString(), String.class); String upVotestr = data.substring(1, 2); String idstr = data.substring(3, data.length() - 1); Integer id = Integer.parseInt(idstr); Integer upVote = Integer.parseInt(upVotestr); ResultSet numOfLikesSet = db.executeQuery("select Likes as A from ANSWERS where AID = " + id.intValue()); ResultSet QIDSet = db.executeQuery("select QID as A from ANSWERS where AID = " + id.intValue()); String numOfLikesStr = ""; String QIDStr = ""; try { if (numOfLikesSet.next()) numOfLikesStr = numOfLikesSet.getString("A"); if (QIDSet.next()) QIDStr = QIDSet.getString("A"); int numOfLikesInt = Integer.parseInt( numOfLikesStr); // numOfLikesInt contains the number of likes at the current moment if (upVote == 1) numOfLikesInt++; else if (upVote == 0) numOfLikesInt--; if (upVote != null && id != null) { db.executeUpdate( "update ANSWERS set likes =" + numOfLikesInt + "where AID = " + id.intValue()); } List<Answer> answersToPresent = new ArrayList<Answer>(); answer1 = db.executeQuery( "select * from " + tableName + " WHERE QID=" + QIDStr + " order by Likes desc, Time asc"); while (answer1.next()) { // there is such an answer Answer A = new Answer(-1, -1, "", ""); A.setQID(Integer.parseInt(QIDStr)); A.setText(answer1.getString("Text")); A.setTime(answer1.getString("Time")); A.setUID(answer1.getString("UID")); A.setAID(answer1.getInt("AID")); A.setLikes(answer1.getInt("Likes")); answersToPresent.add(A); } answer1.close(); String json = new Gson().toJson(answersToPresent); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); response.getWriter().close(); db.closeConnection(); } catch (SQLException e) { e.printStackTrace(); } finally { db.closeConnection(); } }
/** * Process HTTP request. * * @param act Action. * @param req Http request. * @param res Http response. */ private void processRequest(String act, HttpServletRequest req, HttpServletResponse res) { res.setContentType("application/json"); res.setCharacterEncoding("UTF-8"); GridRestCommand cmd = command(req); if (cmd == null) { res.setStatus(HttpServletResponse.SC_BAD_REQUEST); return; } if (!authChecker.apply(req.getHeader("X-Signature"))) { res.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return; } GridRestResponse cmdRes; Map<String, Object> params = parameters(req); try { GridRestRequest cmdReq = createRequest(cmd, params, req); if (log.isDebugEnabled()) log.debug("Initialized command request: " + cmdReq); cmdRes = hnd.handle(cmdReq); if (cmdRes == null) throw new IllegalStateException("Received null result from handler: " + hnd); byte[] sesTok = cmdRes.sessionTokenBytes(); if (sesTok != null) cmdRes.setSessionToken(U.byteArray2HexString(sesTok)); res.setStatus(HttpServletResponse.SC_OK); } catch (Exception e) { res.setStatus(HttpServletResponse.SC_OK); U.error(log, "Failed to process HTTP request [action=" + act + ", req=" + req + ']', e); cmdRes = new GridRestResponse(STATUS_FAILED, e.getMessage()); } catch (Throwable e) { U.error(log, "Failed to process HTTP request [action=" + act + ", req=" + req + ']', e); throw e; } JsonConfig cfg = new GridJettyJsonConfig(); // Workaround for not needed transformation of string into JSON object. if (cmdRes.getResponse() instanceof String) cfg.registerJsonValueProcessor(cmdRes.getClass(), "response", SKIP_STR_VAL_PROC); if (cmdRes.getResponse() instanceof GridClientTaskResultBean && ((GridClientTaskResultBean) cmdRes.getResponse()).getResult() instanceof String) cfg.registerJsonValueProcessor(cmdRes.getResponse().getClass(), "result", SKIP_STR_VAL_PROC); JSON json; try { json = JSONSerializer.toJSON(cmdRes, cfg); } catch (JSONException e) { U.error(log, "Failed to convert response to JSON: " + cmdRes, e); json = JSONSerializer.toJSON(new GridRestResponse(STATUS_FAILED, e.getMessage()), cfg); } try { if (log.isDebugEnabled()) log.debug("Parsed command response into JSON object: " + json.toString(2)); res.getWriter().write(json.toString()); if (log.isDebugEnabled()) log.debug( "Processed HTTP request [action=" + act + ", jsonRes=" + cmdRes + ", req=" + req + ']'); } catch (IOException e) { U.error(log, "Failed to send HTTP response: " + json.toString(2), e); } }
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { int index; DatastoreService ds; MemcacheService ms; Cookie[] cookies; boolean insideFlag; String delpw; String paramOffset; String paramSize; int offset; int size; Key postObjGroupKey; Query q; List<Entity> postObjList; PostObj postObj; Gson gson; List<String> filelinkList; resp.setCharacterEncoding("UTF-8"); resp.setContentType("text/plain"); ds = DatastoreServiceFactory.getDatastoreService(); ms = MemcacheServiceFactory.getMemcacheService(); insideFlag = false; try { cookies = req.getCookies(); if (cookies.length > 0) { if (ms.contains(cookies[0].getValue()) == true) { insideFlag = true; } } } catch (Exception e) { insideFlag = false; } delpw = req.getParameter("delpw"); if (delpw != null) { if (delpw.equals("") == true) { delpw = null; } } paramOffset = req.getParameter("offset"); if (paramOffset != null) { offset = Integer.valueOf(paramOffset); } else { offset = 0; } paramSize = req.getParameter("size"); if (paramSize != null) { size = Integer.valueOf(paramSize); } else { size = 4096; } postObjGroupKey = KeyFactory.createKey("PostObjGroup", 1L); q = new Query("PostObj", postObjGroupKey); if (delpw != null) { q.addFilter("delpw", FilterOperator.EQUAL, delpw); q.addSort("delpw"); } q.addSort("posttime", SortDirection.DESCENDING); postObjList = ds.prepare(q).asList(FetchOptions.Builder.withOffset(offset).limit(size)); postObj = new PostObj(); filelinkList = new ArrayList<String>(); for (index = 0; index < postObjList.size(); index++) { postObj.getDB(postObjList.get(index)); if ((postObj.flag.equals("showgallery") == false && insideFlag == true) || (postObj.flag.equals("showgallery") == true && insideFlag == false) || delpw != null) { filelinkList.add(postObj.filelink); } } gson = new Gson(); resp.getWriter().print(gson.toJson(filelinkList)); }