public JobExecutionInfoResponse()

in ambari-infra-manager/src/main/java/org/apache/ambari/infra/model/JobExecutionInfoResponse.java [73:111]


  public JobExecutionInfoResponse(JobExecution jobExecution) {
    this.jobExecutionId = jobExecution.getId();
    this.jobInstanceId = jobExecution.getJobId();
    this.jobParameters = DEFAULT_JOB_PARAMETERS_CONVERTER.getProperties(jobExecution.getJobParameters());
    this.creationTime = toOffsetDateTime(jobExecution.getCreateTime());
    this.startTime = toOffsetDateTime(jobExecution.getStartTime());
    this.lastUpdatedTime = toOffsetDateTime(jobExecution.getLastUpdated());
    this.endTime = toOffsetDateTime(jobExecution.getEndTime());
    JobInstance jobInstance = jobExecution.getJobInstance();
    this.batchStatus = jobExecution.getStatus();
    this.restartable = batchStatus.isGreaterThan(BatchStatus.STOPPING) && batchStatus.isLessThan(BatchStatus.ABANDONED);
    this.abandonable = batchStatus.isGreaterThan(BatchStatus.STARTED) && batchStatus != BatchStatus.ABANDONED;
    this.stoppable = batchStatus.isLessThan(BatchStatus.STOPPING);

    if (jobExecution.getExitStatus() != null) {
      this.exitCode = jobExecution.getExitStatus().getExitCode();
      this.exitDescription = jobExecution.getExitStatus().getExitDescription();
    }
    else {
      this.exitCode = null;
      this.exitDescription = null;
    }

    if(jobInstance != null) {
      this.jobName = jobInstance.getJobName();
    } else {
      this.jobName = "?";
    }

    if(startTime != null && endTime != null) {
      this.duration = Duration.between(startTime, endTime);
    }
    else {
      this.duration = null;
    }

    this.failureExceptions = unmodifiableList(jobExecution.getFailureExceptions());
    this.jobConfigurationName = jobExecution.getJobConfigurationName();
  }