Package com.crawljax.web.jaxrs

Source Code of com.crawljax.web.jaxrs.CrawlHistoryResource

package com.crawljax.web.jaxrs;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import com.crawljax.web.fs.WorkDirManager;
import com.crawljax.web.model.CrawlRecord;
import com.crawljax.web.model.CrawlRecords;
import com.crawljax.web.runner.CrawlRunner;
import com.google.inject.Inject;
import com.google.inject.Singleton;

@Singleton
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Path("/rest/history")
public class CrawlHistoryResource {

  private final CrawlRecords crawlRecords;
  private final WorkDirManager workDirManager;
  private final CrawlRunner runner;

  @Inject
  CrawlHistoryResource(CrawlRecords crawlRecords, WorkDirManager workDirManager,
          CrawlRunner runner) {
    this.crawlRecords = crawlRecords;
    this.workDirManager = workDirManager;
    this.runner = runner;
  }

  @GET
  public Response getHistory(@QueryParam("config") String configId,
          @QueryParam("active") Boolean active) {
    List<CrawlRecord> list;
    if (configId != null)
      list = crawlRecords.getCrawlListByConfigID(configId);
    else if (active != null && active)
      list = crawlRecords.getActiveCrawlList();
    else
      list = crawlRecords.getCrawlList();
    return Response.ok(list).build();
  }

  @POST
  public Response addCrawlRecord(String configId) {
    CrawlRecord record = crawlRecords.add(configId);
    runner.queue(record);
    return Response.ok(record).build();
  }

  @GET
  @Path("{id}")
  public Response getCrawlRecord(@PathParam("id") int id) {
    Response r;
    CrawlRecord record = crawlRecords.findByID(id);
    if (record != null)
      r = Response.ok(record).build();
    else
      r = Response.serverError().build();
    return r;
  }

}
TOP

Related Classes of com.crawljax.web.jaxrs.CrawlHistoryResource

TOP
Copyright © 2018 www.massapi.com. 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.