Package org.platformlayer.client.cli.output

Source Code of org.platformlayer.client.cli.output.JobLogFormatter

package org.platformlayer.client.cli.output;

import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;

import org.platformlayer.jobs.model.JobExecutionData;
import org.platformlayer.jobs.model.JobLog;
import org.platformlayer.jobs.model.JobLogLine;

import com.fathomdb.cli.CliContext;
import com.fathomdb.cli.formatter.SimpleFormatter;
import com.fathomdb.cli.output.OutputSink;
import com.google.common.collect.Maps;

public class JobLogFormatter extends SimpleFormatter<JobLog> {

  public JobLogFormatter() {
    super(JobLog.class);
  }

  @Override
  public void visit(CliContext context, JobLog o, OutputSink sink) throws IOException {
    LinkedHashMap<String, Object> values = Maps.newLinkedHashMap();

    JobExecutionData execution = o.getExecution();
    if (execution != null) {
      values.put("jobId", execution.getJobKey().getItemIdString());
      values.put("executionId", execution.getExecutionId());

      values.put("start", o.getExecution().getStartedAt());
      values.put("end", o.getExecution().getEndedAt());

      values.put("state", execution.getState());
    }

    List<JobLogLine> lines = o.getLines();
    values.put("lines", lines.size());

    sink.outputRow(values);
  }
}
TOP

Related Classes of org.platformlayer.client.cli.output.JobLogFormatter

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.