Package org.platformlayer.client.cli.output

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

package org.platformlayer.client.cli.output;

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

import org.platformlayer.core.model.Action;
import org.platformlayer.jobs.model.JobData;
import org.platformlayer.jobs.model.JobExecutionData;

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 JobExecutionDataFormatter extends SimpleFormatter<JobExecutionData> {

  public JobExecutionDataFormatter() {
    super(JobExecutionData.class);
  }

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

    values.put("jobId", o.getJobId());
    values.put("executionId", o.getExecutionId());
    JobData job = o.getJob();
    values.put("target", job != null ? job.getTargetItemKey() : null);

    Action action = null;
    if (job != null) {
      action = job.getAction();
    }
    values.put("action", action != null ? action.getType() : null);

    values.put("startedAt", o.getStartedAt());
    values.put("endedAt", o.getEndedAt());
    values.put("state", o.getState());

    sink.outputRow(values);
  }
}
TOP

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

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.