public String toString() { String ts; ts = "ReqState:\n"; ts += " serverClassName: '" + serverClassName + "'\n"; ts += " dataSet: '" + dataSetName + "'\n"; ts += " requestSuffix: '" + requestSuffix + "'\n"; //ts += " blobURL: '" + getDodsBlobURL() + "'\n"; ts += " CE: '" + CE + "'\n"; ts += " compressOK: " + getAcceptsCompressed() + "\n"; ts += " InitParameters:\n"; Enumeration e = getInitParameterNames(); while (e.hasMoreElements()) { String name = (String) e.nextElement(); String value = getInitParameter(name); ts += " " + name + ": '" + value + "'\n"; } return (ts); }
/** * Convenience wrapper for parseConstraint. * * @param rs * @throws ParseException * @throws opendap.dap.DAP2Exception * @throws NoSuchVariableException * @throws NoSuchFunctionException * @throws InvalidOperatorException * @throws InvalidParameterException * @throws SBHException * @throws WrongTypeException */ public void parseConstraint(ReqState rs) throws ParseException, opendap.dap.DAP2Exception, NoSuchVariableException, NoSuchFunctionException, InvalidOperatorException, InvalidParameterException, SBHException, WrongTypeException { parseConstraint(rs.getConstraintExpression(),rs.getRequestURL().toString()); }
throws opendap.dap.DAP2Exception, ParseException { if (_Debug) System.out.println("sendDIR request = " + rs.getRequest()); PrintWriter pw = new PrintWriter(new OutputStreamWriter(rs.getResponse().getOutputStream(), Util.UTF8)); String ddsCacheDir = rs.getDDSCache(rs.getRootPath()); String thisServer = rs.getRequest().getRequestURL().toString(); pw.println("<html>"); pw.println("<head>");
protected void printStatus(PrintWriter os) throws IOException { os.println("<h2>Server version = " + getServerVersion() + "</h2>"); os.println("<h2>Number of Requests Received = " + HitCounter + "</h2>"); if (track) { int n = prArr.size(); int pending = 0; String preqs = ""; for (int i = 0; i < n; i++) { ReqState rs = (ReqState) prArr.get(i); RequestDebug reqD = (RequestDebug) rs.getUserObject(); if ((rs != null) && !reqD.done) { preqs += "<pre>-----------------------\n"; preqs += "Request[" + reqD.reqno + "](" + reqD.threadDesc + ") is pending.\n"; preqs += rs.toString(); preqs += "</pre>"; pending++; } } os.println("<h2>" + pending + " Pending Request(s)</h2>"); os.println(preqs); } }
String ds = rs.getDataSet(); String suff = rs.getRequestSuffix(); isDebug = ((ds != null) && ds.equals("debug") && (suff != null) && suff.equals("")); if (track) { reqD = new RequestDebug(reqno, Thread.currentThread().toString()); rs.setUserObject(reqD); if (prArr == null) prArr = new ArrayList(10000); prArr.add((int) reqno, rs); log.debug("-------------------------------------------"); log.debug("Server: " + getServerName() + " Request #" + reqno); log.debug("Client: " + rs.getRequest().getRemoteHost()); log.debug(rs.toString()); log.debug("Request dataset: '" + rs.getDataSet() + "' suffix: '" + rs.getRequestSuffix() + "' CE: '" + rs.getConstraintExpression() + "'"); String dataSet = rs.getDataSet(); String requestSuffix = rs.getRequestSuffix();
log.debug("doGetBLOB For: " + rs.getDataSet()); if (null == ds) return; rs.getResponse().setContentType("application/octet-stream"); rs.getResponse().setHeader("XDODS-Server", getServerVersion()); rs.getResponse().setHeader("Content-Description", "dods-blob"); ServletOutputStream sOut = rs.getResponse().getOutputStream(); OutputStream bOut; DeflaterOutputStream dOut = null; if (rs.getAcceptsCompressed() && allowDeflate) { rs.getResponse().setHeader("Content-Encoding", "deflate"); dOut = new DeflaterOutputStream(sOut); bOut = new BufferedOutputStream(dOut); ce.parseConstraint(rs.getConstraintExpression(), rs.getRequestURL().toString()); bOut.flush(); rs.getResponse().setStatus(HttpServletResponse.SC_OK); parseExceptionHandler(pe, rs.getResponse()); } catch (DAP2Exception de) { dap2ExceptionHandler(de, rs.getResponse()); } catch (IOException ioe) { IOExceptionHandler(ioe, rs);
System.out.println("doGetDAP2Data For: " + rs.getDataSet()); OutputStream bOut; DeflaterOutputStream dOut = null; if (rs.getAcceptsCompressed() && allowDeflate) { response.setHeader("Content-Encoding", "deflate"); dOut = new DeflaterOutputStream(sOut); ce.parseConstraint(rs.getConstraintExpression());
infoDir = rs.getINFOCache(rs.getRootPath()); responseDoc = loadOverrideDoc(infoDir, rs.getDataSet()); String user_html = get_user_supplied_docs(rs.getServerClassName(), rs.getDataSet());
if(rs == null) throw new DAP2Exception("anyExceptionHandler: no request state provided"); log.error(rs.toString()); HttpServletResponse response = rs.getResponse(); log.error(rs.toString()); if (track) { RequestDebug reqD = (RequestDebug) rs.getUserObject(); log.error(" request number: " + reqD.reqno + " thread: " + reqD.threadDesc);
log.debug("doGetDDS for dataset: " + rs.getDataSet()); if (null == ds) return; rs.getResponse().setContentType("text/plain"); rs.getResponse().setHeader("XDODS-Server", getServerVersion()); rs.getResponse().setHeader("Content-Description", "dods-dds"); OutputStream Out = new BufferedOutputStream(rs.getResponse().getOutputStream()); if (rs.getConstraintExpression().equals("")) { // No Constraint Expression? rs.getResponse().setStatus(HttpServletResponse.SC_OK); if (Debug.isSet("showResponse")) { if (rs.getConstraintExpression().equals("")) { // No Constraint Expression? log.debug("Unconstrained DDS=\n"); parseExceptionHandler(pe, rs.getResponse()); } catch (DAP2Exception de) { dap2ExceptionHandler(de, rs.getResponse()); } catch (IOException pe) { IOExceptionHandler(pe, rs);
infoDir = rs.getINFOCache(); responseDoc = loadOverrideDoc(infoDir, rs.getDataSet()); String user_html = get_user_supplied_docs(rs.getServerClassName(), rs.getDataSet());
System.out.println("doGetDDS for dataset: " + rs.getDataSet()); if (rs.getConstraintExpression().equals("")) { // No Constraint Expression? ce.parseConstraint(rs.getConstraintExpression()); if (rs.getConstraintExpression().equals("")) { // No Constraint Expression? System.out.println("Unconstrained DDS=\n"); myDDS.print(System.out);
log.debug("doGetINFO For: " + rs.getDataSet()); if (null == ds) return; PrintWriter pw = new PrintWriter(new OutputStreamWriter(rs.getResponse().getOutputStream(), Util.UTF8)); rs.getResponse().setHeader("XDODS-Server", getServerVersion()); rs.getResponse().setContentType("text/html"); rs.getResponse().setHeader("Content-Description", "dods-description"); rs.getResponse().setStatus(HttpServletResponse.SC_OK); parseExceptionHandler(pe, rs.getResponse()); } catch (DAP2Exception de) { dap2ExceptionHandler(de, rs.getResponse()); } catch (IOException pe) { IOExceptionHandler(pe, rs);
rs.getResponse().setHeader("XDODS-Server", getServerVersion()); rs.getResponse().setContentType("text/html"); rs.getResponse().setHeader("Content-Description", "dods_debug"); PrintWriter pw = new PrintWriter(new OutputStreamWriter(rs.getResponse().getOutputStream(), Util.UTF8)); pw.println("<title>Debugging</title>"); pw.println("<body><pre>"); StringTokenizer tz = new StringTokenizer(rs.getConstraintExpression(), "=;"); while (tz.hasMoreTokens()) { String cmd = tz.nextToken(); pw.println(rs.toString()); rs.getResponse().setStatus(HttpServletResponse.SC_OK);
log.debug("doGetDAP2Data For: " + rs.getDataSet()); if (null == ds) return; rs.getResponse().setContentType("application/octet-stream"); rs.getResponse().setHeader("XDODS-Server", getServerVersion()); rs.getResponse().setHeader("Content-Description", "dods-data"); ServletOutputStream sOut = rs.getResponse().getOutputStream(); OutputStream bOut; DeflaterOutputStream dOut = null; if (rs.getAcceptsCompressed() && allowDeflate) { rs.getResponse().setHeader("Content-Encoding", "deflate"); dOut = new DeflaterOutputStream(sOut); bOut = new BufferedOutputStream(dOut); bOut.flush(); rs.getResponse().setStatus(HttpServletResponse.SC_OK); parseExceptionHandler(pe, rs.getResponse()); } catch (DAP2Exception de) { dap2ExceptionHandler(de, rs.getResponse()); } catch (IOException ioe) { IOExceptionHandler(ioe, rs);
/** * This method will attempt to get the INFO cache directory * name from the servlet's InitParameters. Failing this it * will return the default INFO cache directory name. * * @return The name of the INFO cache directory. */ public String getINFOCache() { String cacheDir = getInitParameter("INFOcache"); if (cacheDir == null) cacheDir = defaultINFOcache; return (cacheDir); }
if (Debug.isSet("showResponse")) System.out.println("Sending OPeNDAP ASCII Data For: " + dataSet + " CE: '" + rs.getConstraintExpression() + "'"); DataDDS dds; if (rs.getConstraintExpression() == null) { ce = ""; } else { ce = "?" + rs.getConstraintExpression(); int suffixIndex = rs.getRequestURL().toString().lastIndexOf("."); requestURL = rs.getRequestURL().substring(0, suffixIndex); if (_Debug) dds.print(System.out); PrintWriter pw = new PrintWriter(new OutputStreamWriter(rs.getResponse().getOutputStream(), Util.UTF8)); PrintWriter pwDebug = new PrintWriter(new OutputStreamWriter(System.out,Util.UTF8)); String betterURL = rs.getRequestURL().substring(0, rs.getRequestURL().lastIndexOf(".")) + ".dods?"+ rs.getConstraintExpression();
pw.println("<body><pre>"); StringTokenizer tz = new StringTokenizer(rs.getConstraintExpression(), "=;"); while (tz.hasMoreTokens()) { String cmd = tz.nextToken(); pw.println(rs.toString());
String ddxCacheDir = rs.getDDXCache(); String ddsCacheDir = rs.getDDSCache();
System.out.println("doGetINFO For: " + rs.getDataSet());