/** * 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()); } }