1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 package org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb;
20 
21 
22 import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskAttemptCompletionEventsRequest;
23 import org.apache.hadoop.mapreduce.v2.api.records.JobId;
24 import org.apache.hadoop.mapreduce.v2.api.records.impl.pb.JobIdPBImpl;
25 import org.apache.hadoop.mapreduce.v2.proto.MRProtos.JobIdProto;
26 import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetTaskAttemptCompletionEventsRequestProto;
27 import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetTaskAttemptCompletionEventsRequestProtoOrBuilder;
28 import org.apache.hadoop.yarn.api.records.impl.pb.ProtoBase;
29 
30 
31 
32 public class GetTaskAttemptCompletionEventsRequestPBImpl extends ProtoBase<GetTaskAttemptCompletionEventsRequestProto> implements GetTaskAttemptCompletionEventsRequest {
33   GetTaskAttemptCompletionEventsRequestProto proto = GetTaskAttemptCompletionEventsRequestProto.getDefaultInstance();
34   GetTaskAttemptCompletionEventsRequestProto.Builder builder = null;
35   boolean viaProto = false;
36 
37   private JobId jobId = null;
38 
39 
GetTaskAttemptCompletionEventsRequestPBImpl()40   public GetTaskAttemptCompletionEventsRequestPBImpl() {
41     builder = GetTaskAttemptCompletionEventsRequestProto.newBuilder();
42   }
43 
GetTaskAttemptCompletionEventsRequestPBImpl(GetTaskAttemptCompletionEventsRequestProto proto)44   public GetTaskAttemptCompletionEventsRequestPBImpl(GetTaskAttemptCompletionEventsRequestProto proto) {
45     this.proto = proto;
46     viaProto = true;
47   }
48 
getProto()49   public GetTaskAttemptCompletionEventsRequestProto getProto() {
50       mergeLocalToProto();
51     proto = viaProto ? proto : builder.build();
52     viaProto = true;
53     return proto;
54   }
55 
mergeLocalToBuilder()56   private void mergeLocalToBuilder() {
57     if (this.jobId != null) {
58       builder.setJobId(convertToProtoFormat(this.jobId));
59     }
60   }
61 
mergeLocalToProto()62   private void mergeLocalToProto() {
63     if (viaProto)
64       maybeInitBuilder();
65     mergeLocalToBuilder();
66     proto = builder.build();
67     viaProto = true;
68   }
69 
maybeInitBuilder()70   private void maybeInitBuilder() {
71     if (viaProto || builder == null) {
72       builder = GetTaskAttemptCompletionEventsRequestProto.newBuilder(proto);
73     }
74     viaProto = false;
75   }
76 
77 
78   @Override
getJobId()79   public JobId getJobId() {
80     GetTaskAttemptCompletionEventsRequestProtoOrBuilder p = viaProto ? proto : builder;
81     if (this.jobId != null) {
82       return this.jobId;
83     }
84     if (!p.hasJobId()) {
85       return null;
86     }
87     this.jobId = convertFromProtoFormat(p.getJobId());
88     return this.jobId;
89   }
90 
91   @Override
setJobId(JobId jobId)92   public void setJobId(JobId jobId) {
93     maybeInitBuilder();
94     if (jobId == null)
95       builder.clearJobId();
96     this.jobId = jobId;
97   }
98   @Override
getFromEventId()99   public int getFromEventId() {
100     GetTaskAttemptCompletionEventsRequestProtoOrBuilder p = viaProto ? proto : builder;
101     return (p.getFromEventId());
102   }
103 
104   @Override
setFromEventId(int fromEventId)105   public void setFromEventId(int fromEventId) {
106     maybeInitBuilder();
107     builder.setFromEventId((fromEventId));
108   }
109   @Override
getMaxEvents()110   public int getMaxEvents() {
111     GetTaskAttemptCompletionEventsRequestProtoOrBuilder p = viaProto ? proto : builder;
112     return (p.getMaxEvents());
113   }
114 
115   @Override
setMaxEvents(int maxEvents)116   public void setMaxEvents(int maxEvents) {
117     maybeInitBuilder();
118     builder.setMaxEvents((maxEvents));
119   }
120 
convertFromProtoFormat(JobIdProto p)121   private JobIdPBImpl convertFromProtoFormat(JobIdProto p) {
122     return new JobIdPBImpl(p);
123   }
124 
convertToProtoFormat(JobId t)125   private JobIdProto convertToProtoFormat(JobId t) {
126     return ((JobIdPBImpl)t).getProto();
127   }
128 
129 
130 
131 }
132