Author: vinodkv
Date: Wed Jul 24 05:56:20 2013
New Revision: 1506403
URL: http://svn.apache.org/r1506403
Log:
YARN-947. Implementing the data objects to be used by the History reader and
writer interfaces. Contributed by Zhijie Shen.
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/server/application_history_server.proto
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptHistoryData.java
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerHistoryData.java
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationAttemptHistoryDataPBImpl.java
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationHistoryDataPBImpl.java
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ContainerHistoryDataPBImpl.java
Modified:
hadoop/common/branches/YARN-321/hadoop-yarn-project/CHANGES.txt
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
Modified: hadoop/common/branches/YARN-321/hadoop-yarn-project/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/CHANGES.txt?rev=1506403&r1=1506402&r2=1506403&view=diff
==============================================================================
--- hadoop/common/branches/YARN-321/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/YARN-321/hadoop-yarn-project/CHANGES.txt Wed Jul 24
05:56:20 2013
@@ -34,6 +34,9 @@ Branch YARN-321: Generic ApplicationHist
YARN-962. Fixed bug in application-history proto file and renamed it be just
a client proto file. (Zhijie Shen via vinodkv)
+ YARN-947. Implementing the data objects to be used by the History reader
+ and writer interfaces. (Zhijie Shen via vinodkv)
+
Release 2.1.1-beta - UNRELEASED
INCOMPATIBLE CHANGES
Modified:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml?rev=1506403&r1=1506402&r2=1506403&view=diff
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
(original)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/pom.xml
Wed Jul 24 05:56:20 2013
@@ -61,6 +61,7 @@
<include>server/yarn_server_resourcemanager_service_protos.proto</include>
<include>server/resourcemanager_administration_protocol.proto</include>
<include>application_history_client.proto</include>
+ <include>server/application_history_server.proto</include>
</includes>
</source>
<output>${project.build.directory}/generated-sources/java</output>
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/server/application_history_server.proto
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/server/application_history_server.proto?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/server/application_history_server.proto
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/server/application_history_server.proto
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,59 @@
+/**
+ * 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.
+ */
+
+option java_package = "org.apache.hadoop.yarn.proto";
+option java_outer_classname = "ApplicationHistoryServerProtos";
+option java_generic_services = true;
+option java_generate_equals_and_hash = true;
+
+import "yarn_protos.proto";
+
+message ApplicationHistoryDataProto {
+ optional ApplicationIdProto application_id = 1;
+ optional string application_name = 2;
+ optional string application_type = 3;
+ optional string user = 4;
+ optional string queue = 5;
+ optional int64 submit_time = 6;
+ optional int64 start_time = 7;
+ optional int64 finish_time = 8;
+ optional string diagnostics_info = 9;
+ optional FinalApplicationStatusProto final_application_status = 10;
+}
+
+message ApplicationAttemptHistoryDataProto {
+ optional ApplicationAttemptIdProto application_attempt_id = 1;
+ optional string host = 2;
+ optional int32 rpc_port = 3;
+ optional string tracking_url = 4;
+ optional string diagnostics_info = 5;
+ optional FinalApplicationStatusProto final_application_status = 6;
+ optional ContainerIdProto master_container_id = 7;
+}
+
+message ContainerHistoryDataProto {
+ optional ContainerIdProto container_id = 1;
+ optional ResourceProto allocated_resource = 2;
+ optional NodeIdProto assigned_node_id = 3;
+ optional PriorityProto priority = 4;
+ optional int64 start_time = 5;
+ optional int64 finish_time = 6;
+ optional string diagnostics_info = 7;
+ optional string log_url = 8;
+ optional ContainerStateProto final_container_status = 9;
+}
\ No newline at end of file
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptHistoryData.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptHistoryData.java?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptHistoryData.java
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptHistoryData.java
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,91 @@
+/**
+ * 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.yarn.server.applicationhistoryservice.records;
+
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
+
+/**
+ * The class contains all the fields that need to be stored persistently for
+ * <code>RMAppAttempt</code>.
+ */
+@Public
+@Unstable
+public interface ApplicationAttemptHistoryData {
+
+ @Public
+ @Unstable
+ ApplicationAttemptId getApplicationAttemptId();
+
+ @Public
+ @Unstable
+ void setApplicationAttemptId(ApplicationAttemptId applicationAttemptId);
+
+ @Public
+ @Unstable
+ String getHost();
+
+ @Public
+ @Unstable
+ void setHost(String host);
+
+ @Public
+ @Unstable
+ int getRPCPort();
+
+ @Public
+ @Unstable
+ void setRPCPort(int rpcPort);
+
+ @Public
+ @Unstable
+ String getTrackingURL();
+
+ @Public
+ @Unstable
+ void setTrackingURL(String trackingURL);
+
+ @Public
+ @Unstable
+ String getDiagnosticsInfo();
+
+ @Public
+ @Unstable
+ void setDiagnosticsInfo(String diagnosticsInfo);
+
+ @Public
+ @Unstable
+ FinalApplicationStatus getFinalApplicationStatus();
+
+ @Public
+ @Unstable
+ void setFinalApplicationStatus(FinalApplicationStatus
finalApplicationStatus);
+
+ @Public
+ @Unstable
+ ContainerId getMasterContainerId();
+
+ @Public
+ @Unstable
+ void setMasterContainerId(ContainerId masterContainerId);
+
+}
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,114 @@
+/**
+ * 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.yarn.server.applicationhistoryservice.records;
+
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
+
+/**
+ * The class contains all the fields that need to be stored persistently for
+ * <code>RMApp</code>.
+ */
+@Public
+@Unstable
+public interface ApplicationHistoryData {
+
+ @Public
+ @Unstable
+ ApplicationId getApplicationId();
+
+ @Public
+ @Unstable
+ void setApplicationId(ApplicationId applicationId);
+
+ @Public
+ @Unstable
+ String getApplicationName();
+
+ @Public
+ @Unstable
+ void setApplicationName(String applicationName);
+
+ @Public
+ @Unstable
+ String getApplicationType();
+
+ @Public
+ @Unstable
+ void setApplicationType(String applicationType);
+
+ @Public
+ @Unstable
+ String getUser();
+
+ @Public
+ @Unstable
+ void setUser(String user);
+
+ @Public
+ @Unstable
+ String getQueue();
+
+ @Public
+ @Unstable
+ void setQueue(String queue);
+
+ @Public
+ @Unstable
+ long getSubmitTime();
+
+ @Public
+ @Unstable
+ void setSubmitTime(long submitTime);
+
+ @Public
+ @Unstable
+ long getStartTime();
+
+ @Public
+ @Unstable
+ void setStartTime(long startTime);
+
+ @Public
+ @Unstable
+ long getFinishTime();
+
+ @Public
+ @Unstable
+ void setFinishTime(long finishTime);
+
+ @Public
+ @Unstable
+ String getDiagnosticsInfo();
+
+ @Public
+ @Unstable
+ void setDiagnosticsInfo(String diagnosticInfo);
+
+ @Public
+ @Unstable
+ FinalApplicationStatus getFinalApplicationStatus();
+
+ @Public
+ @Unstable
+ void setFinalApplicationStatus(FinalApplicationStatus
finalApplicationStatus);
+
+}
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerHistoryData.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerHistoryData.java?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerHistoryData.java
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerHistoryData.java
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,109 @@
+/**
+ * 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.yarn.server.applicationhistoryservice.records;
+
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.ContainerState;
+import org.apache.hadoop.yarn.api.records.NodeId;
+import org.apache.hadoop.yarn.api.records.Priority;
+import org.apache.hadoop.yarn.api.records.Resource;
+
+/**
+ * The class contains all the fields that need to be stored persistently for
+ * <code>RMContainer</code>.
+ */
+@Public
+@Unstable
+public interface ContainerHistoryData {
+
+ @Public
+ @Unstable
+ ContainerId getContainerId();
+
+ @Public
+ @Unstable
+ void setContainerId(ContainerId containerId);
+
+ @Public
+ @Unstable
+ Resource getAllocatedResource();
+
+ @Public
+ @Unstable
+ void setAllocatedResource(Resource resource);
+
+ @Public
+ @Unstable
+ NodeId getAssignedNode();
+
+ @Public
+ @Unstable
+ void setAssignedNode(NodeId nodeId);
+
+ @Public
+ @Unstable
+ Priority getPriority();
+
+ @Public
+ @Unstable
+ void setPriority(Priority priority);
+
+ @Public
+ @Unstable
+ long getStartTime();
+
+ @Public
+ @Unstable
+ void setStartTime(long startTime);
+
+ @Public
+ @Unstable
+ long getFinishTime();
+
+ @Public
+ @Unstable
+ void setFinishTime(long finishTime);
+
+ @Public
+ @Unstable
+ String getDiagnosticsInfo();
+
+ @Public
+ @Unstable
+ void setDiagnosticsInfo(String diagnosticInfo);
+
+ @Public
+ @Unstable
+ String getLogURL();
+
+ @Public
+ @Unstable
+ void setLogURL(String logURL);
+
+ @Public
+ @Unstable
+ ContainerState getFinalContainerStatus();
+
+ @Public
+ @Unstable
+ void setFinalContainerStatus(ContainerState finalContainerState);
+
+}
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationAttemptHistoryDataPBImpl.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationAttemptHistoryDataPBImpl.java?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationAttemptHistoryDataPBImpl.java
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationAttemptHistoryDataPBImpl.java
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,284 @@
+/**
+ * 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.yarn.server.applicationhistoryservice.records.pb.impl;
+
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
+import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationAttemptIdPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.ContainerIdPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.ProtoBase;
+import org.apache.hadoop.yarn.api.records.impl.pb.ProtoUtils;
+import
org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ApplicationAttemptHistoryDataProto;
+import
org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ApplicationAttemptHistoryDataProtoOrBuilder;
+import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationAttemptIdProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.ContainerIdProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.FinalApplicationStatusProto;
+import
org.apache.hadoop.yarn.server.applicationhistoryservice.records.ApplicationAttemptHistoryData;
+
+
+public class ApplicationAttemptHistoryDataPBImpl
+ extends ProtoBase<ApplicationAttemptHistoryDataProto>
+ implements ApplicationAttemptHistoryData {
+
+ ApplicationAttemptHistoryDataProto proto =
+ ApplicationAttemptHistoryDataProto.getDefaultInstance();
+ ApplicationAttemptHistoryDataProto.Builder builder = null;
+ boolean viaProto = false;
+
+ public ApplicationAttemptHistoryDataPBImpl() {
+ builder = ApplicationAttemptHistoryDataProto.newBuilder();
+ }
+
+ public ApplicationAttemptHistoryDataPBImpl(
+ ApplicationAttemptHistoryDataProto proto) {
+ this.proto = proto;
+ viaProto = true;
+ }
+
+ private ApplicationAttemptId applicationAttemptId;
+ private ContainerId masterContainerId;
+
+ @Override
+ public ApplicationAttemptId getApplicationAttemptId() {
+ if (this.applicationAttemptId != null) {
+ return this.applicationAttemptId;
+ }
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasApplicationAttemptId()) {
+ return null;
+ }
+ this.applicationAttemptId =
+ convertFromProtoFormat(p.getApplicationAttemptId());
+ return this.applicationAttemptId;
+ }
+
+ @Override
+ public void
+ setApplicationAttemptId(ApplicationAttemptId applicationAttemptId) {
+ maybeInitBuilder();
+ if (applicationAttemptId == null) {
+ builder.clearApplicationAttemptId();
+ }
+ this.applicationAttemptId = applicationAttemptId;
+ }
+
+ @Override
+ public String getHost() {
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasHost()) {
+ return null;
+ }
+ return p.getHost();
+ }
+
+ @Override
+ public void setHost(String host) {
+ maybeInitBuilder();
+ if (host == null) {
+ builder.clearHost();
+ return;
+ }
+ builder.setHost(host);
+ }
+
+ @Override
+ public int getRPCPort() {
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ return p.getRpcPort();
+ }
+
+ @Override
+ public void setRPCPort(int rpcPort) {
+ maybeInitBuilder();
+ builder.setRpcPort(rpcPort);
+ }
+
+ @Override
+ public String getTrackingURL() {
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasTrackingUrl()) {
+ return null;
+ }
+ return p.getTrackingUrl();
+ }
+
+ @Override
+ public void setTrackingURL(String trackingURL) {
+ maybeInitBuilder();
+ if (trackingURL == null) {
+ builder.clearTrackingUrl();
+ return;
+ }
+ builder.setTrackingUrl(trackingURL);
+ }
+
+ @Override
+ public String getDiagnosticsInfo() {
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasDiagnosticsInfo()) {
+ return null;
+ }
+ return p.getDiagnosticsInfo();
+ }
+
+ @Override
+ public void setDiagnosticsInfo(String diagnosticsInfo) {
+ maybeInitBuilder();
+ if (diagnosticsInfo == null) {
+ builder.clearDiagnosticsInfo();
+ return;
+ }
+ builder.setDiagnosticsInfo(diagnosticsInfo);
+ }
+
+ @Override
+ public FinalApplicationStatus getFinalApplicationStatus() {
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasFinalApplicationStatus()) {
+ return null;
+ }
+ return convertFromProtoFormat(p.getFinalApplicationStatus());
+ }
+
+ @Override
+ public void setFinalApplicationStatus(
+ FinalApplicationStatus finalApplicationStatus) {
+ maybeInitBuilder();
+ if (finalApplicationStatus == null) {
+ builder.clearFinalApplicationStatus();
+ return;
+ }
+ builder.setFinalApplicationStatus(
+ convertToProtoFormat(finalApplicationStatus));
+ }
+
+ @Override
+ public ContainerId getMasterContainerId() {
+ if (this.masterContainerId != null) {
+ return this.masterContainerId;
+ }
+ ApplicationAttemptHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasApplicationAttemptId()) {
+ return null;
+ }
+ this.masterContainerId =
+ convertFromProtoFormat(p.getMasterContainerId());
+ return this.masterContainerId;
+ }
+
+ @Override
+ public void setMasterContainerId(ContainerId masterContainerId) {
+ maybeInitBuilder();
+ if (masterContainerId == null) {
+ builder.clearMasterContainerId();
+ }
+ this.masterContainerId = masterContainerId;
+ }
+
+ @Override
+ public ApplicationAttemptHistoryDataProto getProto() {
+ mergeLocalToProto();
+ proto = viaProto ? proto : builder.build();
+ viaProto = true;
+ return proto;
+ }
+
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", "
");
+ }
+
+ private void mergeLocalToBuilder() {
+ if (this.applicationAttemptId != null && !((ApplicationAttemptIdPBImpl)
+ this.applicationAttemptId).getProto().equals(
+ builder.getApplicationAttemptId())) {
+ builder.setApplicationAttemptId(
+ convertToProtoFormat(this.applicationAttemptId));
+ }
+ if (this.masterContainerId != null && !((ContainerIdPBImpl)
+ this.masterContainerId).getProto().equals(
+ builder.getMasterContainerId())) {
+ builder.setMasterContainerId(
+ convertToProtoFormat(this.masterContainerId));
+ }
+ }
+
+ private void mergeLocalToProto() {
+ if (viaProto) {
+ maybeInitBuilder();
+ }
+ mergeLocalToBuilder();
+ proto = builder.build();
+ viaProto = true;
+ }
+
+ private void maybeInitBuilder() {
+ if (viaProto || builder == null) {
+ builder = ApplicationAttemptHistoryDataProto.newBuilder(proto);
+ }
+ viaProto = false;
+ }
+
+ private ApplicationAttemptIdPBImpl convertFromProtoFormat(
+ ApplicationAttemptIdProto applicationAttemptId) {
+ return new ApplicationAttemptIdPBImpl(applicationAttemptId);
+ }
+
+ private ApplicationAttemptIdProto convertToProtoFormat(
+ ApplicationAttemptId applicationAttemptId) {
+ return ((ApplicationAttemptIdPBImpl) applicationAttemptId).getProto();
+ }
+
+ private FinalApplicationStatus convertFromProtoFormat(
+ FinalApplicationStatusProto finalApplicationStatus) {
+ return ProtoUtils.convertFromProtoFormat(finalApplicationStatus);
+ }
+
+ private FinalApplicationStatusProto convertToProtoFormat(
+ FinalApplicationStatus finalApplicationStatus) {
+ return ProtoUtils.convertToProtoFormat(finalApplicationStatus);
+ }
+
+ private ContainerIdPBImpl convertFromProtoFormat(
+ ContainerIdProto containerId) {
+ return new ContainerIdPBImpl(containerId);
+ }
+
+ private ContainerIdProto convertToProtoFormat(
+ ContainerId masterContainerId) {
+ return ((ContainerIdPBImpl) masterContainerId).getProto();
+ }
+
+}
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationHistoryDataPBImpl.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationHistoryDataPBImpl.java?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationHistoryDataPBImpl.java
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ApplicationHistoryDataPBImpl.java
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,298 @@
+/**
+ * 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.yarn.server.applicationhistoryservice.records.pb.impl;
+
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
+import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationIdPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.ProtoBase;
+import org.apache.hadoop.yarn.api.records.impl.pb.ProtoUtils;
+import
org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ApplicationHistoryDataProto;
+import
org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ApplicationHistoryDataProtoOrBuilder;
+import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationIdProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.FinalApplicationStatusProto;
+import
org.apache.hadoop.yarn.server.applicationhistoryservice.records.ApplicationHistoryData;
+
+
+public class ApplicationHistoryDataPBImpl
+ extends ProtoBase<ApplicationHistoryDataProto>
+ implements ApplicationHistoryData {
+
+ ApplicationHistoryDataProto proto =
+ ApplicationHistoryDataProto.getDefaultInstance();
+ ApplicationHistoryDataProto.Builder builder = null;
+ boolean viaProto = false;
+
+ private ApplicationId applicationId;
+
+ public ApplicationHistoryDataPBImpl() {
+ builder = ApplicationHistoryDataProto.newBuilder();
+ }
+
+ public ApplicationHistoryDataPBImpl(ApplicationHistoryDataProto proto) {
+ this.proto = proto;
+ viaProto = true;
+ }
+
+ @Override
+ public ApplicationId getApplicationId() {
+ if (this.applicationId != null) {
+ return this.applicationId;
+ }
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasApplicationId()) {
+ return null;
+ }
+ this.applicationId = convertFromProtoFormat(p.getApplicationId());
+ return this.applicationId;
+ }
+
+ @Override
+ public void setApplicationId(ApplicationId applicationId) {
+ maybeInitBuilder();
+ if (applicationId == null) {
+ builder.clearApplicationId();
+ }
+ this.applicationId = applicationId;
+ }
+
+ @Override
+ public String getApplicationName() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasApplicationName()) {
+ return null;
+ }
+ return p.getApplicationName();
+ }
+
+ @Override
+ public void setApplicationName(String applicationName) {
+ maybeInitBuilder();
+ if (applicationName == null) {
+ builder.clearApplicationName();
+ return;
+ }
+ builder.setApplicationName(applicationName);
+ }
+
+ @Override
+ public String getApplicationType() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasApplicationType()) {
+ return null;
+ }
+ return p.getApplicationType();
+ }
+
+ @Override
+ public void setApplicationType(String applicationType) {
+ maybeInitBuilder();
+ if (applicationType == null) {
+ builder.clearApplicationType();
+ return;
+ }
+ builder.setApplicationType(applicationType);
+ }
+
+ @Override
+ public String getUser() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasUser()) {
+ return null;
+ }
+ return p.getUser();
+ }
+
+ @Override
+ public void setUser(String user) {
+ maybeInitBuilder();
+ if (user == null) {
+ builder.clearUser();
+ return;
+ }
+ builder.setUser(user);
+ }
+
+ @Override
+ public String getQueue() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasQueue()) {
+ return null;
+ }
+ return p.getQueue();
+ }
+
+ @Override
+ public void setQueue(String queue) {
+ maybeInitBuilder();
+ if (queue == null) {
+ builder.clearQueue();
+ return;
+ }
+ builder.setQueue(queue);
+ }
+
+ @Override
+ public long getSubmitTime() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ return p.getStartTime();
+ }
+
+ @Override
+ public void setSubmitTime(long submitTime) {
+ maybeInitBuilder();
+ builder.setSubmitTime(submitTime);
+ }
+
+ @Override
+ public long getStartTime() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ return p.getStartTime();
+ }
+
+ @Override
+ public void setStartTime(long startTime) {
+ maybeInitBuilder();
+ builder.setStartTime(startTime);
+ }
+
+ @Override
+ public long getFinishTime() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ return p.getFinishTime();
+ }
+
+ @Override
+ public void setFinishTime(long finishTime) {
+ maybeInitBuilder();
+ builder.setFinishTime(finishTime);
+ }
+
+ @Override
+ public String getDiagnosticsInfo() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasDiagnosticsInfo()) {
+ return null;
+ }
+ return p.getDiagnosticsInfo();
+ }
+
+ @Override
+ public void setDiagnosticsInfo(String diagnosticInfo) {
+ maybeInitBuilder();
+ if (diagnosticInfo == null) {
+ builder.clearDiagnosticsInfo();
+ return;
+ }
+ builder.setDiagnosticsInfo(diagnosticInfo);
+ }
+
+ @Override
+ public FinalApplicationStatus getFinalApplicationStatus() {
+ ApplicationHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasFinalApplicationStatus()) {
+ return null;
+ }
+ return convertFromProtoFormat(p.getFinalApplicationStatus());
+ }
+
+ @Override
+ public void setFinalApplicationStatus(
+ FinalApplicationStatus finalApplicationStatus) {
+ maybeInitBuilder();
+ if (finalApplicationStatus == null) {
+ builder.clearFinalApplicationStatus();
+ return;
+ }
+ builder.setFinalApplicationStatus(
+ convertToProtoFormat(finalApplicationStatus));
+ }
+
+ @Override
+ public ApplicationHistoryDataProto getProto() {
+ mergeLocalToProto();
+ proto = viaProto ? proto : builder.build();
+ viaProto = true;
+ return proto;
+ }
+
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", "
");
+ }
+
+ private void mergeLocalToBuilder() {
+ if (this.applicationId != null && !((ApplicationIdPBImpl)
+ this.applicationId).getProto().equals(builder.getApplicationId())) {
+ builder.setApplicationId(convertToProtoFormat(this.applicationId));
+ }
+ }
+
+ private void mergeLocalToProto() {
+ if (viaProto) {
+ maybeInitBuilder();
+ }
+ mergeLocalToBuilder();
+ proto = builder.build();
+ viaProto = true;
+ }
+
+ private void maybeInitBuilder() {
+ if (viaProto || builder == null) {
+ builder = ApplicationHistoryDataProto.newBuilder(proto);
+ }
+ viaProto = false;
+ }
+
+ private ApplicationIdProto convertToProtoFormat(
+ ApplicationId applicationId) {
+ return ((ApplicationIdPBImpl) applicationId).getProto();
+ }
+
+ private ApplicationIdPBImpl convertFromProtoFormat(
+ ApplicationIdProto applicationId) {
+ return new ApplicationIdPBImpl(applicationId);
+ }
+
+ private FinalApplicationStatus convertFromProtoFormat(
+ FinalApplicationStatusProto finalApplicationStatus) {
+ return ProtoUtils.convertFromProtoFormat(finalApplicationStatus);
+ }
+
+ private FinalApplicationStatusProto convertToProtoFormat(
+ FinalApplicationStatus finalApplicationStatus) {
+ return ProtoUtils.convertToProtoFormat(finalApplicationStatus);
+ }
+
+}
Added:
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ContainerHistoryDataPBImpl.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ContainerHistoryDataPBImpl.java?rev=1506403&view=auto
==============================================================================
---
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ContainerHistoryDataPBImpl.java
(added)
+++
hadoop/common/branches/YARN-321/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/pb/impl/ContainerHistoryDataPBImpl.java
Wed Jul 24 05:56:20 2013
@@ -0,0 +1,343 @@
+/**
+ * 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.yarn.server.applicationhistoryservice.records.pb.impl;
+
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.ContainerState;
+import org.apache.hadoop.yarn.api.records.NodeId;
+import org.apache.hadoop.yarn.api.records.Priority;
+import org.apache.hadoop.yarn.api.records.Resource;
+import org.apache.hadoop.yarn.api.records.impl.pb.ContainerIdPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.NodeIdPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.PriorityPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.ProtoBase;
+import org.apache.hadoop.yarn.api.records.impl.pb.ProtoUtils;
+import org.apache.hadoop.yarn.api.records.impl.pb.ResourcePBImpl;
+import
org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ContainerHistoryDataProto;
+import
org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ContainerHistoryDataProtoOrBuilder;
+import org.apache.hadoop.yarn.proto.YarnProtos.ContainerIdProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.ContainerStateProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.NodeIdProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.PriorityProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
+import
org.apache.hadoop.yarn.server.applicationhistoryservice.records.ContainerHistoryData;
+
+
+public class ContainerHistoryDataPBImpl
+ extends ProtoBase<ContainerHistoryDataProto>
+ implements ContainerHistoryData {
+
+ ContainerHistoryDataProto proto =
+ ContainerHistoryDataProto.getDefaultInstance();
+ ContainerHistoryDataProto.Builder builder = null;
+ boolean viaProto = false;
+
+ private ContainerId containerId;
+ private Resource resource;
+ private NodeId nodeId;
+ private Priority priority;
+
+ public ContainerHistoryDataPBImpl() {
+ builder = ContainerHistoryDataProto.newBuilder();
+ }
+
+ public ContainerHistoryDataPBImpl(ContainerHistoryDataProto proto) {
+ this.proto = proto;
+ viaProto = true;
+ }
+
+ @Override
+ public ContainerId getContainerId() {
+ if (this != null) {
+ return this.containerId;
+ }
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasContainerId()) {
+ return null;
+ }
+ this.containerId = convertFromProtoFormat(p.getContainerId());
+ return this.containerId;
+ }
+
+ @Override
+ public void setContainerId(ContainerId containerId) {
+ maybeInitBuilder();
+ if (containerId == null) {
+ builder.clearContainerId();
+ }
+ this.containerId = containerId;
+ }
+
+ @Override
+ public Resource getAllocatedResource() {
+ if (this != null) {
+ return this.resource;
+ }
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasAllocatedResource()) {
+ return null;
+ }
+ this.resource = convertFromProtoFormat(p.getAllocatedResource());
+ return this.resource;
+ }
+
+ @Override
+ public void setAllocatedResource(Resource resource) {
+ maybeInitBuilder();
+ if (resource == null) {
+ builder.clearAllocatedResource();
+ }
+ this.resource = resource;
+ }
+
+ @Override
+ public NodeId getAssignedNode() {
+ if (this != null) {
+ return this.nodeId;
+ }
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasAssignedNodeId()) {
+ return null;
+ }
+ this.nodeId = convertFromProtoFormat(p.getAssignedNodeId());
+ return this.nodeId;
+ }
+
+ @Override
+ public void setAssignedNode(NodeId nodeId) {
+ maybeInitBuilder();
+ if (nodeId == null) {
+ builder.clearAssignedNodeId();
+ }
+ this.nodeId = nodeId;
+ }
+
+ @Override
+ public Priority getPriority() {
+ if (this != null) {
+ return this.priority;
+ }
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasPriority()) {
+ return null;
+ }
+ this.priority = convertFromProtoFormat(p.getPriority());
+ return this.priority;
+ }
+
+ @Override
+ public void setPriority(Priority priority) {
+ maybeInitBuilder();
+ if (priority == null) {
+ builder.clearPriority();
+ }
+ this.priority = priority;
+ }
+
+ @Override
+ public long getStartTime() {
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ return p.getStartTime();
+ }
+
+ @Override
+ public void setStartTime(long startTime) {
+ maybeInitBuilder();
+ builder.setStartTime(startTime);
+ }
+
+ @Override
+ public long getFinishTime() {
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ return p.getFinishTime();
+ }
+
+ @Override
+ public void setFinishTime(long finishTime) {
+ maybeInitBuilder();
+ builder.setFinishTime(finishTime);
+ }
+
+ @Override
+ public String getDiagnosticsInfo() {
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasDiagnosticsInfo()) {
+ return null;
+ }
+ return p.getDiagnosticsInfo();
+ }
+
+ @Override
+ public void setDiagnosticsInfo(String diagnosticInfo) {
+ maybeInitBuilder();
+ if (diagnosticInfo == null) {
+ builder.clearDiagnosticsInfo();
+ return;
+ }
+ builder.setDiagnosticsInfo(diagnosticInfo);
+ }
+
+ @Override
+ public String getLogURL() {
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasLogUrl()) {
+ return null;
+ }
+ return p.getLogUrl();
+ }
+
+ @Override
+ public void setLogURL(String logURL) {
+ maybeInitBuilder();
+ if (logURL == null) {
+ builder.clearLogUrl();
+ return;
+ }
+ builder.setLogUrl(logURL);
+ }
+
+ @Override
+ public ContainerState getFinalContainerStatus() {
+ ContainerHistoryDataProtoOrBuilder p = viaProto ? proto : builder;
+ if (!p.hasFinalContainerStatus()) {
+ return null;
+ }
+ return convertFromProtoFormat(p.getFinalContainerStatus());
+ }
+
+ @Override
+ public void setFinalContainerStatus(
+ ContainerState finalContainerState) {
+ maybeInitBuilder();
+ if (finalContainerState == null) {
+ builder.clearFinalContainerStatus();
+ return;
+ }
+ builder.setFinalContainerStatus(
+ convertToProtoFormat(finalContainerState));
+ }
+
+ @Override
+ public ContainerHistoryDataProto getProto() {
+ mergeLocalToProto();
+ proto = viaProto ? proto : builder.build();
+ viaProto = true;
+ return proto;
+ }
+
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", "
");
+ }
+
+ private void mergeLocalToBuilder() {
+ if (this.containerId != null && !((ContainerIdPBImpl)
+ this.containerId).getProto().equals(builder.getContainerId())) {
+ builder.setContainerId(convertToProtoFormat(this.containerId));
+ }
+ if (this.resource != null && !((ResourcePBImpl)
+ this.resource).getProto().equals(builder.getAllocatedResource())) {
+ builder.setAllocatedResource(convertToProtoFormat(this.resource));
+ }
+ if (this.nodeId != null && !((NodeIdPBImpl)
+ this.nodeId).getProto().equals(builder.getAssignedNodeId())) {
+ builder.setAssignedNodeId(convertToProtoFormat(this.nodeId));
+ }
+ if (this.priority != null && !((PriorityPBImpl)
+ this.priority).getProto().equals(builder.getPriority())) {
+ builder.setPriority(convertToProtoFormat(this.priority));
+ }
+ }
+
+ private void mergeLocalToProto() {
+ if (viaProto) {
+ maybeInitBuilder();
+ }
+ mergeLocalToBuilder();
+ proto = builder.build();
+ viaProto = true;
+ }
+
+ private void maybeInitBuilder() {
+ if (viaProto || builder == null) {
+ builder = ContainerHistoryDataProto.newBuilder(proto);
+ }
+ viaProto = false;
+ }
+
+ private ContainerIdProto convertToProtoFormat(
+ ContainerId ContainerId) {
+ return ((ContainerIdPBImpl) containerId).getProto();
+ }
+
+ private ContainerIdPBImpl convertFromProtoFormat(
+ ContainerIdProto containerId) {
+ return new ContainerIdPBImpl(containerId);
+ }
+
+ private ResourceProto convertToProtoFormat(Resource resource) {
+ return ((ResourcePBImpl) resource).getProto();
+ }
+
+ private ResourcePBImpl convertFromProtoFormat(ResourceProto resource) {
+ return new ResourcePBImpl(resource);
+ }
+
+ private NodeIdProto convertToProtoFormat(NodeId nodeId) {
+ return ((NodeIdPBImpl) nodeId).getProto();
+ }
+
+ private NodeIdPBImpl convertFromProtoFormat(NodeIdProto nodeId) {
+ return new NodeIdPBImpl(nodeId);
+ }
+
+ private PriorityProto convertToProtoFormat(Priority priority) {
+ return ((PriorityPBImpl) priority).getProto();
+ }
+
+ private PriorityPBImpl convertFromProtoFormat(PriorityProto priority) {
+ return new PriorityPBImpl(priority);
+ }
+
+ private ContainerState convertFromProtoFormat(
+ ContainerStateProto finalContainerStatus) {
+ return ProtoUtils.convertFromProtoFormat(finalContainerStatus);
+ }
+
+ private ContainerStateProto convertToProtoFormat(
+ ContainerState finalContainerStatus) {
+ return ProtoUtils.convertToProtoFormat(finalContainerStatus);
+ }
+
+}