/* * Copyright © 2015 Cask Data, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package co.cask.cdap.proto; import java.util.List; import java.util.Map; import javax.annotation.Nullable; /** * Simplified (filtered) representation of a MapReduce Job. */ public class MRJobInfo { @Nullable private String state; @Nullable private Long startTime; @Nullable private Long stopTime; private final Float mapProgress; private final Float reduceProgress; private final Map<String, Long> counters; private final List<MRTaskInfo> mapTasks; private final List<MRTaskInfo> reduceTasks; // If false, the nullable fields in the MRTaskInfo in the mapTasks and reduceTasks will be null. private final boolean complete; public MRJobInfo(Float mapProcess, Float reduceProgress, Map<String, Long> counters, List<MRTaskInfo> mapTasks, List<MRTaskInfo> reduceTasks, boolean complete) { this.mapProgress = mapProcess; this.reduceProgress = reduceProgress; this.counters = counters; this.mapTasks = mapTasks; this.reduceTasks = reduceTasks; this.complete = complete; } public void setState(@Nullable String state) { this.state = state; } public void setStartTime(@Nullable Long startTime) { this.startTime = startTime; } public void setStopTime(@Nullable Long stopTime) { this.stopTime = stopTime; } @Nullable public String getState() { return state; } @Nullable public Long getStartTime() { return startTime; } @Nullable public Long getStopTime() { return stopTime; } public Float getMapProgress() { return mapProgress; } public Float getReduceProgress() { return reduceProgress; } public Map<String, Long> getCounters() { return counters; } public List<MRTaskInfo> getMapTasks() { return mapTasks; } public List<MRTaskInfo> getReduceTasks() { return reduceTasks; } public boolean isComplete() { return complete; } }