Esempio n. 1
0
    @Override
    public void handle(HttpExchange arg0) throws IOException {

      try {
        JSONObject request =
            (JSONObject) JSONSerializer.toJSON(IOUtils.toString(arg0.getRequestBody()));
        String email = request.getString("email");
        String key = request.getString("key");

        for (int i = 0; i < jobs.size(); i++) {
          TnrsJob job = jobs.get(i);
          if (job.getRequest().getId().equals(key) && job.getRequest().getEmail().equals(email)) {
            JSONObject json = (JSONObject) JSONSerializer.toJSON(job.toJsonString());
            json.put("status", "incomplete");
            json.put("progress", job.progress());

            HandlerHelper.writeResponseRequest(arg0, 200, json.toString(), "application/json");
            return;
          }
        }
        if (JobHelper.jobFileExists(baseFolder, email, key)) {
          TnrsJob job = JobHelper.readJobInfo(baseFolder, email, key);

          HandlerHelper.writeResponseRequest(arg0, 200, job.toJsonString(), "application/json");
        } else {
          HandlerHelper.writeResponseRequest(
              arg0, 500, "No such job exists o it might have expired", "text/plain");
        }

      } catch (Exception ex) {
        log.error(ExceptionUtils.getFullStackTrace(ex));
        throw new IOException(ex);
      }
    }
Esempio n. 2
0
    @Override
    public void handle(HttpExchange arg0) throws IOException {
      try {
        JSONObject json =
            (JSONObject) JSONSerializer.toJSON(IOUtils.toString(arg0.getRequestBody()));

        JSONObject result = new JSONObject();

        String email = json.getString("email");
        String key = json.getString("key");

        for (int i = 0; i < jobs.size(); i++) {

          TnrsJob job = jobs.get(i);

          if (job.getRequest().getEmail().equals(email) && job.getRequest().getId().equals(key)) {
            if (job.status().equals("failed") || job.status().equals("error")) {
              result.put("type", "failed");
            } else {
              result.put("type", "incomplete");
              double progress = job.progress();
              if (job.progress() == 100.0) {
                progress = 99.0;
              }
              result.put("progress", progress);
            }
            HandlerHelper.writeResponseRequest(arg0, 200, result.toString(), "application/json");

            return;
          }
        }

        String filename = baseFolder + email.replace("@", "-").replace(".", "-") + "/result" + key;

        File results = new File(filename);

        if (!results.exists()) {
          result.put("type", "non-existent");
        } else {
          result.put("type", "complete");
          TnrsJob job = JobHelper.readJobInfo(baseFolder, email, key);

          result.put("job_type", job.getTypeString());
        }

        HandlerHelper.writeResponseRequest(arg0, 200, result.toString(), "application/json");

        return;
      } catch (Exception ex) {
        log.error(ExceptionUtils.getFullStackTrace(ex));
        throw new IOException(ex);
      }
    }
Esempio n. 3
0
    @Override
    public void handle(HttpExchange arg0) throws IOException {
      try {

        JSONObject json =
            (JSONObject) JSONSerializer.toJSON(IOUtils.toString(arg0.getRequestBody()));

        String email = json.getString("email");
        String key = json.getString("key");
        String session_id = json.getString("session_id");

        TnrsJob job = JobHelper.readJobInfo(baseFolder, email, key);

        if (job.getType() == TnrsJob.PARSING_JOB) {

          ParsingResultsFile results = new ParsingResultsFile(job, baseFolder);
          results.createFileForDownload(properties.getProperty("org.iplantc.folder.tmp"));

        } else {

          MatchingResultsFile results = new MatchingResultsFile(job, baseFolder, session_id, false);

          results.createFileForDownload(
              properties.getProperty("org.iplantc.tnrs.folder.tmp"), json);

          results.close();
        }

        String url = servicesUrl + "getcsv?id=" + key;

        HandlerHelper.writeResponseRequest(arg0, 200, url, null);
      } catch (Exception ex) {
        log.error(ExceptionUtils.getFullStackTrace(ex));
        ex.printStackTrace();
      }
    }