Program: 89508
Project: 89508
Buggy source:
public void job(HttpServletRequest req,HttpServletResponse resp,List<Integer> numerics) throws IOException {
  Locale locale=resp.getLocale();
  resp.setContentType("String_Node_Str");
  ServletOutputStream out=resp.getOutputStream();
  Caching.caching_disable_headers(resp);
  TemplateBuilderFactory<MasterTemplateBuilder> masterTplBuilderFactory=TemplateBuilderFactory.getInstance(environment.templateMaster,"String_Node_Str","String_Node_Str",MasterTemplateBuilder.class);
  MasterTemplateBuilder masterTplBuilder=masterTplBuilderFactory.getTemplateBuilder();
  StringBuilder sb=new StringBuilder();
  long jobId=numerics.get(0);
  Heritrix3JobMonitor h3Job=environment.h3JobMonitorThread.getRunningH3Job(jobId);
  Job job;
  HarvestDefinitionDAO dao=HarvestDefinitionDAO.getInstance();
  if (h3Job != null && !h3Job.bInitialized) {
    h3Job.init();
  }
  if (h3Job != null && h3Job.isReady()) {
    String action=req.getParameter("String_Node_Str");
    if (action != null && action.length() > 0) {
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.buildJobConfiguration(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.launchJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.pauseJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.unpauseJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.checkpointJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.terminateJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.teardownJob(h3Job.jobname);
      }
    }
    h3Job.update();
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + h3Job.jobId + "String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    if (h3Job.jobResult != null && h3Job.jobResult.job != null) {
      sb.append("String_Node_Str");
      sb.append(h3Job.jobResult.job.crawlControllerState);
      sb.append("String_Node_Str");
    }
    String harvestName=dao.getHarvestName(h3Job.job.getOrigHarvestDefinitionID());
    sb.append("String_Node_Str" + harvestName.replace(' ','+') + "String_Node_Str");
    sb.append(harvestName);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getHarvestNum());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.isSnapshot());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getChannel());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + h3Job.jobId + "String_Node_Str");
    sb.append(h3Job.job.getOrderXMLName());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getCountDomains());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getMaxBytesPerDomain());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getMaxObjectsPerDomain());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getMaxJobRunningTime());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.hostUrl);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    URL url1=new URL(h3Job.hostUrl);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + url1.getHost() + "String_Node_Str"+ url1.getPort()+ "String_Node_Str");
    sb.append(h3Job.crawlLogFilePath);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    if (h3Job.jobResult != null && h3Job.jobResult.job != null) {
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      job=h3Job.jobResult.job;
      for (int i=0; i < job.availableActions.size(); ++i) {
        if (i > 0) {
          sb.append("String_Node_Str");
        }
        sb.append("String_Node_Str");
        String thisAction=job.availableActions.get(i);
        sb.append(thisAction);
        sb.append("String_Node_Str");
        if ("String_Node_Str".equals(thisAction) || "String_Node_Str".equals(thisAction)) {
          sb.append("String_Node_Str");
          sb.append(thisAction);
          sb.append("String_Node_Str");
          sb.append("String_Node_Str");
          sb.append("String_Node_Str");
        }
 else {
          sb.append("String_Node_Str");
        }
        sb.append(job.availableActions.get(i).substring(0,1).toUpperCase() + job.availableActions.get(i).substring(1));
        sb.append("String_Node_Str");
      }
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(NASEnvironment.servicePath);
      sb.append("String_Node_Str");
      sb.append(h3Job.jobId);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      File logDir=new File(h3Job.crawlLogFilePath);
      sb.append("String_Node_Str");
      URL url=new URL(h3Job.hostUrl);
      sb.append("String_Node_Str" + url.getHost() + "String_Node_Str"+ url.getPort()+ "String_Node_Str"+ logDir.getParentFile().getAbsolutePath()+ "String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.shortName);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.crawlControllerState);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.crawlExitStatus);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.statusDescription);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(h3Job.hostUrl + "String_Node_Str" + h3Job.jobname);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(h3Job.hostUrl + "String_Node_Str" + h3Job.jobname);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      if (job.jobLogTail != null) {
        for (int i=0; i < job.jobLogTail.size(); ++i) {
          sb.append("String_Node_Str");
          sb.append(i);
          sb.append("String_Node_Str");
          sb.append(job.jobLogTail.get(i));
          sb.append("String_Node_Str");
        }
      }
      if (job.uriTotalsReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.downloadedUriCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.queuedUriCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.totalUriCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.futureUriCount);
        sb.append("String_Node_Str");
      }
      if (job.sizeTotalsReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.dupByHash);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.dupByHashCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.novel);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.novelCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.notModified);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.notModifiedCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.total);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.totalCount);
        sb.append("String_Node_Str");
      }
      if (job.rateReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.rateReport.currentDocsPerSecond);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.rateReport.averageDocsPerSecond);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.rateReport.currentKiBPerSec);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.rateReport.averageKiBPerSec);
        sb.append("String_Node_Str");
      }
      if (job.loadReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.loadReport.busyThreads);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.totalThreads);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.congestionRatio);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.averageQueueDepth);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.deepestQueueDepth);
        sb.append("String_Node_Str");
      }
      if (job.elapsedReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.elapsedReport.elapsedPretty);
        sb.append("String_Node_Str");
        sb.append(job.elapsedReport.elapsedMilliseconds);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
      }
      if (job.threadReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.threadReport.toeCount);
        sb.append("String_Node_Str");
        if (job.threadReport.steps != null) {
          for (int i=0; i < job.threadReport.steps.size(); ++i) {
            sb.append("String_Node_Str");
            sb.append(i);
            sb.append("String_Node_Str");
            sb.append(job.threadReport.steps.get(i));
            sb.append("String_Node_Str");
          }
        }
        if (job.threadReport.processors != null) {
          for (int i=0; i < job.threadReport.processors.size(); ++i) {
            sb.append("String_Node_Str");
            sb.append(i);
            sb.append("String_Node_Str");
            sb.append(job.threadReport.processors.get(i));
            sb.append("String_Node_Str");
          }
        }
      }
      if (job.frontierReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.totalQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.inProcessQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.readyQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.snoozedQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.activeQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.inactiveQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.ineligibleQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.retiredQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.exhaustedQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.lastReachedState);
        sb.append("String_Node_Str");
      }
      if (job.crawlLogTail != null) {
        for (int i=0; i < job.crawlLogTail.size(); ++i) {
          sb.append("String_Node_Str");
          sb.append(i);
          sb.append("String_Node_Str");
          sb.append(job.crawlLogTail.get(i));
          sb.append("String_Node_Str");
        }
      }
      sb.append("String_Node_Str");
      sb.append(job.isRunning);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.isLaunchable);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.alertCount);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.alertLogFilePath);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.crawlLogFilePath);
      sb.append("String_Node_Str");
      if (job.heapReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.heapReport.usedBytes);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.heapReport.totalBytes);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.heapReport.maxBytes);
        sb.append("String_Node_Str");
      }
    }
  }
 else {
    sb.append("String_Node_Str");
    sb.append(jobId);
    sb.append("String_Node_Str");
  }
  StringBuilder menuSb=masterTplBuilder.buildMenu(new StringBuilder(),h3Job);
  masterTplBuilder.insertContent("String_Node_Str" + jobId,menuSb.toString(),environment.generateLanguageLinks(locale),"String_Node_Str" + jobId,sb.toString(),"String_Node_Str" + Settings.get(HarvesterSettings.HARVEST_MONITOR_REFRESH_INTERVAL) + "String_Node_Str").write(out);
  out.flush();
  out.close();
}

Fixed version (ground truth):
public void job(HttpServletRequest req,HttpServletResponse resp,List<Integer> numerics) throws IOException {
  Locale locale=resp.getLocale();
  resp.setContentType("String_Node_Str");
  ServletOutputStream out=resp.getOutputStream();
  Caching.caching_disable_headers(resp);
  TemplateBuilderFactory<MasterTemplateBuilder> masterTplBuilderFactory=TemplateBuilderFactory.getInstance(environment.templateMaster,"String_Node_Str","String_Node_Str",MasterTemplateBuilder.class);
  MasterTemplateBuilder masterTplBuilder=masterTplBuilderFactory.getTemplateBuilder();
  StringBuilder sb=new StringBuilder();
  long jobId=numerics.get(0);
  Heritrix3JobMonitor h3Job=environment.h3JobMonitorThread.getRunningH3Job(jobId);
  Job job;
  HarvestDefinitionDAO dao=HarvestDefinitionDAO.getInstance();
  if (h3Job != null && !h3Job.bInitialized) {
    h3Job.init();
  }
  if (h3Job != null && h3Job.isReady()) {
    String action=req.getParameter("String_Node_Str");
    if (action != null && action.length() > 0) {
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.buildJobConfiguration(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.launchJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.pauseJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.unpauseJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.checkpointJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.terminateJob(h3Job.jobname);
      }
      if ("String_Node_Str".equalsIgnoreCase(action)) {
        h3Job.h3wrapper.teardownJob(h3Job.jobname);
      }
    }
    h3Job.update();
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + h3Job.jobId + "String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    if (h3Job.jobResult != null && h3Job.jobResult.job != null) {
      sb.append("String_Node_Str");
      sb.append(h3Job.jobResult.job.crawlControllerState);
      sb.append("String_Node_Str");
    }
    String harvestName=dao.getHarvestName(h3Job.job.getOrigHarvestDefinitionID());
    sb.append("String_Node_Str" + harvestName.replace(' ','+') + "String_Node_Str");
    sb.append(harvestName);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getHarvestNum());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.isSnapshot());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getChannel());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getOrderXMLName());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getCountDomains());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getMaxBytesPerDomain());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getMaxObjectsPerDomain());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.job.getMaxJobRunningTime());
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.hostUrl);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    URL url1=new URL(h3Job.hostUrl);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str" + url1.getHost() + "String_Node_Str"+ url1.getPort()+ "String_Node_Str");
    sb.append(h3Job.crawlLogFilePath);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append(NASEnvironment.servicePath);
    sb.append("String_Node_Str");
    sb.append(h3Job.jobId);
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    sb.append("String_Node_Str");
    if (h3Job.jobResult != null && h3Job.jobResult.job != null) {
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      job=h3Job.jobResult.job;
      for (int i=0; i < job.availableActions.size(); ++i) {
        if (i > 0) {
          sb.append("String_Node_Str");
        }
        sb.append("String_Node_Str");
        String thisAction=job.availableActions.get(i);
        sb.append(thisAction);
        sb.append("String_Node_Str");
        if ("String_Node_Str".equals(thisAction) || "String_Node_Str".equals(thisAction)) {
          sb.append("String_Node_Str");
          sb.append(thisAction);
          sb.append("String_Node_Str");
          sb.append("String_Node_Str");
          sb.append("String_Node_Str");
        }
 else {
          sb.append("String_Node_Str");
        }
        sb.append(job.availableActions.get(i).substring(0,1).toUpperCase() + job.availableActions.get(i).substring(1));
        sb.append("String_Node_Str");
      }
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(NASEnvironment.servicePath);
      sb.append("String_Node_Str");
      sb.append(h3Job.jobId);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      File logDir=new File(h3Job.crawlLogFilePath);
      sb.append("String_Node_Str");
      URL url=new URL(h3Job.hostUrl);
      sb.append("String_Node_Str" + url.getHost() + "String_Node_Str"+ url.getPort()+ "String_Node_Str"+ logDir.getParentFile().getAbsolutePath()+ "String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.shortName);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.crawlControllerState);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.crawlExitStatus);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.statusDescription);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(h3Job.hostUrl + "String_Node_Str" + h3Job.jobname);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(h3Job.hostUrl + "String_Node_Str" + h3Job.jobname);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      if (job.jobLogTail != null) {
        for (int i=0; i < job.jobLogTail.size(); ++i) {
          sb.append("String_Node_Str");
          sb.append(i);
          sb.append("String_Node_Str");
          sb.append(job.jobLogTail.get(i));
          sb.append("String_Node_Str");
        }
      }
      if (job.uriTotalsReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.downloadedUriCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.queuedUriCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.totalUriCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.uriTotalsReport.futureUriCount);
        sb.append("String_Node_Str");
      }
      if (job.sizeTotalsReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.dupByHash);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.dupByHashCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.novel);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.novelCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.notModified);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.notModifiedCount);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.total);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.sizeTotalsReport.totalCount);
        sb.append("String_Node_Str");
      }
      if (job.rateReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.rateReport.currentDocsPerSecond);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.rateReport.averageDocsPerSecond);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.rateReport.currentKiBPerSec);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.rateReport.averageKiBPerSec);
        sb.append("String_Node_Str");
      }
      if (job.loadReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.loadReport.busyThreads);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.totalThreads);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.congestionRatio);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.averageQueueDepth);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.loadReport.deepestQueueDepth);
        sb.append("String_Node_Str");
      }
      if (job.elapsedReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.elapsedReport.elapsedPretty);
        sb.append("String_Node_Str");
        sb.append(job.elapsedReport.elapsedMilliseconds);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
      }
      if (job.threadReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.threadReport.toeCount);
        sb.append("String_Node_Str");
        if (job.threadReport.steps != null) {
          for (int i=0; i < job.threadReport.steps.size(); ++i) {
            sb.append("String_Node_Str");
            sb.append(i);
            sb.append("String_Node_Str");
            sb.append(job.threadReport.steps.get(i));
            sb.append("String_Node_Str");
          }
        }
        if (job.threadReport.processors != null) {
          for (int i=0; i < job.threadReport.processors.size(); ++i) {
            sb.append("String_Node_Str");
            sb.append(i);
            sb.append("String_Node_Str");
            sb.append(job.threadReport.processors.get(i));
            sb.append("String_Node_Str");
          }
        }
      }
      if (job.frontierReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.totalQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.inProcessQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.readyQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.snoozedQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.activeQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.inactiveQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.ineligibleQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.retiredQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.exhaustedQueues);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.frontierReport.lastReachedState);
        sb.append("String_Node_Str");
      }
      if (job.crawlLogTail != null) {
        for (int i=0; i < job.crawlLogTail.size(); ++i) {
          sb.append("String_Node_Str");
          sb.append(i);
          sb.append("String_Node_Str");
          sb.append(job.crawlLogTail.get(i));
          sb.append("String_Node_Str");
        }
      }
      sb.append("String_Node_Str");
      sb.append(job.isRunning);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.isLaunchable);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.alertCount);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.alertLogFilePath);
      sb.append("String_Node_Str");
      sb.append("String_Node_Str");
      sb.append(job.crawlLogFilePath);
      sb.append("String_Node_Str");
      if (job.heapReport != null) {
        sb.append("String_Node_Str");
        sb.append(job.heapReport.usedBytes);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.heapReport.totalBytes);
        sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(job.heapReport.maxBytes);
        sb.append("String_Node_Str");
      }
    }
  }
 else {
    sb.append("String_Node_Str");
    sb.append(jobId);
    sb.append("String_Node_Str");
  }
  StringBuilder menuSb=masterTplBuilder.buildMenu(new StringBuilder(),h3Job);
  masterTplBuilder.insertContent("String_Node_Str" + jobId,menuSb.toString(),environment.generateLanguageLinks(locale),"String_Node_Str" + jobId,sb.toString(),"String_Node_Str" + Settings.get(HarvesterSettings.HARVEST_MONITOR_REFRESH_INTERVAL) + "String_Node_Str").write(out);
  out.flush();
  out.close();
}