blob: c144cece8a944d87853cbd3d2018721b5e9227ca [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.hadoop.mapreduce.v2.util;
import org.apache.hadoop.mapreduce.v2.api.records.JobState;
import org.apache.hadoop.mapreduce.v2.api.records.Phase;
import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptCompletionEventStatus;
import org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptState;
import org.apache.hadoop.mapreduce.v2.api.records.TaskState;
import org.apache.hadoop.mapreduce.v2.api.records.TaskType;
import org.apache.hadoop.mapreduce.v2.proto.MRProtos.JobStateProto;
import org.apache.hadoop.mapreduce.v2.proto.MRProtos.PhaseProto;
import org.apache.hadoop.mapreduce.v2.proto.MRProtos.TaskAttemptCompletionEventStatusProto;
import org.apache.hadoop.mapreduce.v2.proto.MRProtos.TaskAttemptStateProto;
import org.apache.hadoop.mapreduce.v2.proto.MRProtos.TaskStateProto;
import org.apache.hadoop.mapreduce.v2.proto.MRProtos.TaskTypeProto;
public class MRProtoUtils {
/*
* JobState
*/
private static String JOB_STATE_PREFIX = "J_";
public static JobStateProto convertToProtoFormat(JobState e) {
return JobStateProto.valueOf(JOB_STATE_PREFIX + e.name());
}
public static JobState convertFromProtoFormat(JobStateProto e) {
return JobState.valueOf(e.name().replace(JOB_STATE_PREFIX, ""));
}
/*
* Phase
*/
private static String PHASE_PREFIX = "P_";
public static PhaseProto convertToProtoFormat(Phase e) {
return PhaseProto.valueOf(PHASE_PREFIX + e.name());
}
public static Phase convertFromProtoFormat(PhaseProto e) {
return Phase.valueOf(e.name().replace(PHASE_PREFIX, ""));
}
/*
* TaskAttemptCompletionEventStatus
*/
private static String TACE_PREFIX = "TACE_";
public static TaskAttemptCompletionEventStatusProto convertToProtoFormat(TaskAttemptCompletionEventStatus e) {
return TaskAttemptCompletionEventStatusProto.valueOf(TACE_PREFIX + e.name());
}
public static TaskAttemptCompletionEventStatus convertFromProtoFormat(TaskAttemptCompletionEventStatusProto e) {
return TaskAttemptCompletionEventStatus.valueOf(e.name().replace(TACE_PREFIX, ""));
}
/*
* TaskAttemptState
*/
private static String TASK_ATTEMPT_STATE_PREFIX = "TA_";
public static TaskAttemptStateProto convertToProtoFormat(TaskAttemptState e) {
return TaskAttemptStateProto.valueOf(TASK_ATTEMPT_STATE_PREFIX + e.name());
}
public static TaskAttemptState convertFromProtoFormat(TaskAttemptStateProto e) {
return TaskAttemptState.valueOf(e.name().replace(TASK_ATTEMPT_STATE_PREFIX, ""));
}
/*
* TaskState
*/
private static String TASK_STATE_PREFIX = "TS_";
public static TaskStateProto convertToProtoFormat(TaskState e) {
return TaskStateProto.valueOf(TASK_STATE_PREFIX + e.name());
}
public static TaskState convertFromProtoFormat(TaskStateProto e) {
return TaskState.valueOf(e.name().replace(TASK_STATE_PREFIX, ""));
}
/*
* TaskType
*/
public static TaskTypeProto convertToProtoFormat(TaskType e) {
return TaskTypeProto.valueOf(e.name());
}
public static TaskType convertFromProtoFormat(TaskTypeProto e) {
return TaskType.valueOf(e.name());
}
}