Package org.archive.wayback.core

Examples of org.archive.wayback.core.WaybackRequest


  protected String bodyInsertContent(ReplayParseContext context) {
    if (jspInsertPath == null)
      return null;
    JSPExecutor jspExec = context.getJspExec();
    // FIXME bad chain of references. add method to ReplayParseContext?
    WaybackRequest wbRequest = jspExec.getUiResults().getWbRequest();
    // isAnyEmbeddedContext() used as shorthand for (isFrameWrapperContext()
    // && isIFrameWrapperContext()).
    if (wbRequest.isAnyEmbeddedContext())
      return null;
    try {
      return jspExec.jspToString(jspInsertPath);
    } catch (ServletException ex) {
      LOGGER.log(Level.WARNING, "execution of " + jspInsertPath +
View Full Code Here


  public WaybackRequest parse(HttpServletRequest httpRequest,
      AccessPoint accessPoint)
    throws BadQueryException, BetterRequestException {

    String requestPath = accessPoint.translateRequestPathQuery(httpRequest);
    WaybackRequest wbRequest = parse(requestPath, accessPoint);
    if(wbRequest != null) {
      wbRequest.setResultsPerPage(getMaxRecords());
    }

    return wbRequest;
  }
View Full Code Here

   * @see org.archive.wayback.RequestParser#parse(javax.servlet.http.HttpServletRequest)
   */
  public WaybackRequest parse(HttpServletRequest httpRequest,
      AccessPoint wbContext) throws BadQueryException, BetterRequestException {

    WaybackRequest wbRequest = null;

    for(int i = 0; i < parsers.length; i++) {
      wbRequest = parsers[i].parse(httpRequest, wbContext);
      if(wbRequest != null) {
        break;
View Full Code Here

   * info from the httpRequest object.
   */
  public WaybackRequest parse(HttpServletRequest httpRequest,
    AccessPoint wbContext) throws BadQueryException {
   
    WaybackRequest wbRequest = null;
    @SuppressWarnings("unchecked")
    Map<String,String[]> queryMap = httpRequest.getParameterMap();
    String query = AccessPoint.getMapParam(queryMap, SEARCH_QUERY);
    if (query == null) {
      return null;
    }
    wbRequest = new WaybackRequest();
   
    String base = wbContext.translateRequestPath(httpRequest);
    if (base.startsWith(REPLAY_BASE)) {
      wbRequest.setReplayRequest();
    } else if(base.startsWith(QUERY_BASE)){
      wbRequest.setCaptureQueryRequest();
    } else if(base.startsWith(XQUERY_BASE)){
      wbRequest.setCaptureQueryRequest();
      wbRequest.setXMLMode(true);
     
    } else {
      return null;
    }
   
    String numResults = AccessPoint.getMapParam(queryMap, SEARCH_RESULTS);
    String startPage = AccessPoint.getMapParam(queryMap, START_PAGE);

    if (numResults != null) {
      int nr = Integer.parseInt(numResults);
      wbRequest.setResultsPerPage(nr);
    } else {
      wbRequest.setResultsPerPage(getMaxRecords());
    }
    if (startPage != null) {
      int sp = Integer.parseInt(startPage);
      wbRequest.setPageNum(sp);
    } else {
      wbRequest.setPageNum(1);
    }

    // first try the entire line_tokens:
    for (int i = 0; i < lineTokens.length; i++) {
      String token = lineTokens[i] + ":";
      int index = query.indexOf(token);
      if (index > -1) {
        // found it, take value as the remainder of the query
        String value = query.substring(index + token.length());
        // TODO: trim trailing whitespace?
        wbRequest.put(lineTokens[i], value);
        query = query.substring(0, index);
      }
    }

    // now split whatever is left on whitespace:
    String[] parts = WHITESPACE_PATTERN.split(query);
    for (int i = 0; i < parts.length; i++) {
      String token = parts[i];
      int colonIndex = token.indexOf(":");
      if (colonIndex == -1) {
        throw new BadQueryException("Bad search token(" + token + ")");
      }
      try {
        String key = URLDecoder.decode(token.substring(0, colonIndex),
            "UTF-8");
        String value = URLDecoder.decode(
            token.substring(colonIndex + 1), "UTF-8");
        // TODO: make sure key is in singleTokens?
        // let's just let em all thru for now:
        wbRequest.put(key, value);
      } catch (UnsupportedEncodingException e) {
        throw new BadQueryException("Unsupported encoding: UTF-8");
      }
    }
    if (wbRequest.getStartTimestamp() == null) {
      wbRequest.setStartTimestamp(getEarliestTimestamp());
    }
    if (wbRequest.getEndTimestamp() == null) {
      wbRequest.setEndTimestamp(getLatestTimestamp());
    }

    return wbRequest;
  }
View Full Code Here

   * WaybackRequest object, except the Submit button argument.
   */
  public WaybackRequest parse(HttpServletRequest httpRequest,
      AccessPoint accessPoint) throws BetterRequestException {

    WaybackRequest wbRequest = null;
    @SuppressWarnings("unchecked")
    Map<String, String[]> queryMap = httpRequest.getParameterMap();
    if (queryMap.size() > 0) {
      wbRequest = new WaybackRequest();

      String base = accessPoint.translateRequestPath(httpRequest);
      if (base.startsWith(REPLAY_BASE)) {
        wbRequest.setReplayRequest();
      } else if (base.startsWith(QUERY_BASE)) {
        wbRequest.setCaptureQueryRequest();
      } else if (base.startsWith(XQUERY_BASE)) {
        wbRequest.setCaptureQueryRequest();
        wbRequest.setXMLMode(true);

      } else {
        return null;
      }
      wbRequest.setResultsPerPage(getMaxRecords());
      Set<String> keys = queryMap.keySet();
      Iterator<String> itr = keys.iterator();
      while (itr.hasNext()) {
        String key = itr.next();
        if (key.equals(SUBMIT_BUTTON)) {
          continue;
        }
        // just jam everything else in:
        String val = AccessPoint.getMapParam(queryMap, key);
        if (key.equals(WaybackRequest.REQUEST_URL)) {
          String scheme = UrlOperations.urlToScheme(val);
          if (scheme == null) {
            val = UrlOperations.HTTP_SCHEME + val;
          }
        }
        wbRequest.put(key, val);
      }
      String partialTS = wbRequest.getReplayTimestamp();
      if (partialTS != null) {
        if (wbRequest.getStartTimestamp() == null) {
          String startTS = Timestamp.parseBefore(partialTS)
              .getDateStr();
          wbRequest.setStartTimestamp(startTS);
        }
        if (wbRequest.getEndTimestamp() == null) {
          String endTS = Timestamp.parseAfter(partialTS).getDateStr();
          wbRequest.setEndTimestamp(endTS);
        }
      } else {
        if (wbRequest.getStartTimestamp() == null) {
          wbRequest.setStartTimestamp(getEarliestTimestamp());
        }
        if (wbRequest.getEndTimestamp() == null) {
          wbRequest.setEndTimestamp(getLatestTimestamp());
        }
      }
    }
    return wbRequest;
  }
View Full Code Here

  }

  private void testFindRange(final AlphaPartitionedIndex apIndex,
      final String url, final String wantGroup) throws URIException,
      BadQueryException, ResourceIndexNotAvailableException {
    WaybackRequest r = new WaybackRequest();
    r.setRequestUrl(apIndex.canonicalize(url));
    RangeGroup g = apIndex.getRangeGroupForRequest(r);
    assertEquals(g.getName(),wantGroup);   
  }
View Full Code Here

    resource.parseHeaders();
    return resource;
  }

  public void testMimeTypeFromIndex() throws Exception {
    WaybackRequest wbRequest = new WaybackRequest();
    CaptureSearchResult result = new CaptureSearchResult();
    result.setMimeType("text/javascript");
    Resource resource = createTestTextResource("text/javascript", "var i=1;".getBytes("UTF-8"));
    ReplayRenderer rr = cut.getRenderer(wbRequest, result, resource);
View Full Code Here

    assertEquals("js", ((TestReplayRenderer)rr).name);   
  }

  public void testMimeTypeForced() throws Exception {
    WaybackRequest wbRequest = new WaybackRequest();
    wbRequest.setJSContext(true);
    CaptureSearchResult result = new CaptureSearchResult();
    result.setMimeType("text/plain");
    Resource resource = createTestTextResource("text/plain", "a".getBytes("UTF-8"));
    ReplayRenderer rr = cut.getRenderer(wbRequest, result, resource);
View Full Code Here

  /**
   * capture search. basic options.
   * @throws Exception
   */
  public void testQuery() throws Exception {
    WaybackRequest wbr = new WaybackRequest();
    wbr.setRequestUrl("http://example.com/");
    wbr.setCaptureQueryRequest();
   
    // urlkey, timestamp, original, mimetype, statuscode, digest, redirect, robotflags,
    // length, offset, filename.
    FieldSplitFormat fmt = CDXFieldConstants.CDX_ALL_NAMES;
    testCDXServer.cdxLines = new CDXLine[] {
View Full Code Here

        setupRequestStub("/", "/", null);
       
        // as we mock-ify RequestParser, WaybackRequest can be independent of httpRequest.
        // it suggests HttpServletRequest method calls above are better be made through
        // RequestParser (TODO)
        wbRequest = new WaybackRequest();
        parser = EasyMock.createMock(RequestParser.class);
        cut.setParser(parser);
        EasyMock.expect(parser.parse(httpRequest, cut)).andReturn(wbRequest);
        EasyMock.replay(parser);
       
View Full Code Here

TOP

Related Classes of org.archive.wayback.core.WaybackRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.