All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huawei.openstack4j.openstack.map.reduce.domain.MapReduceJobExecution Maven / Gradle / Ivy

 /*******************************************************************************
 * 	Copyright 2018 Huawei Technologies Co.,Ltd.                                         
 * 	                                                                                 
 * 	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 com.huawei.openstack4j.openstack.map.reduce.domain;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRootName;
import com.huawei.openstack4j.model.map.reduce.JobConfig;
import com.huawei.openstack4j.model.map.reduce.JobExecution;
import com.huawei.openstack4j.model.map.reduce.JobExecutionInfo;
import com.huawei.openstack4j.model.map.reduce.builder.JobExecutionBuilder;
import com.huawei.openstack4j.openstack.common.ListResult;

import lombok.ToString;

/**
 * Model represent attributes of JobExecution
 *
 * @author [email protected]
 * @author [email protected]
 */
@ToString
@JsonRootName("job_execution")
@JsonIgnoreProperties(value = { "jobIdForExecution" }, ignoreUnknown = true)
public class MapReduceJobExecution implements JobExecution {

	private static final long serialVersionUID = 1L;

	@JsonProperty("cluster_id")
	private String clusterId;
	@JsonProperty("input_id")
	private String inputId;
	@JsonProperty("output_id")
	private String outputId;
	@JsonProperty("job_configs")
	private MapReduceJobConfig jobConfigs;
	@JsonProperty("job_id")
	private String jobId;
	@JsonProperty("tenant_id")
	private String tenantId;
	@JsonProperty("start_time")
	@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
	private Date startTime;
	@JsonProperty("end_time")
	@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
	private Date endTime;
	@JsonProperty("created_at")
	@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
	private Date createdAt;
	@JsonProperty("updated_at")
	@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
	private Date updatedAt;
	@JsonProperty("oozie_job_id")
	private String oozieJobId;
	@JsonProperty("return_code")
	private String returnCode;
	@JsonProperty("progress")
	private String progress;
	@JsonProperty("id")
	private String id;
	@JsonProperty("info")
	private MapReduceJobExecutionInfo info;

	private String jobIdForExecute;

	@JsonProperty("data_source_urls")
	HashMap dataSourceUrls;

	@JsonProperty("engine_job_id")
	String engineJobId;
	@JsonProperty("is_protected")
	Boolean isProtected;
	@JsonProperty("is_public")
	Boolean isPublic;

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getJobIdForExecution() {
		return jobIdForExecute;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getClusterId() {
		return clusterId;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getInputId() {
		return inputId;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getOutputId() {
		return outputId;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public JobConfig getJobConfigs() {
		return jobConfigs;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getTenantId() {
		return tenantId;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Date getStartTime() {
		return startTime;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Date getEndTime() {
		return endTime;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Date getCreatedAt() {
		return createdAt;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public Date getUpdatedAt() {
		return updatedAt;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getReturnCode() {
		return returnCode;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getOozieJobId() {
		return oozieJobId;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getJobId() {
		return jobId;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getId() {
		return id;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getProgress() {
		return progress;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public JobExecutionInfo getInfo() {
		return info;
	}

	/*
	 * {@inheritDoc}
	 */
	@Override
	public HashMap getDataSourceUrls() {
		return dataSourceUrls;
	}

	public String getEngineJobId() {
		return engineJobId;
	}

	/*
	 * {@inheritDoc}
	 */
	@Override
	@JsonProperty(value="is_protected")   
	public Boolean isProtected() {
		return isProtected;
	}

	/*
	 * {@inheritDoc}
	 */
	@Override
	@JsonProperty(value="is_public")   
	public Boolean isPublic() {
		return isPublic;
	}

	public static class JobExecutions extends ListResult {

		private static final long serialVersionUID = 1L;

		@JsonProperty("job_executions")
		private List jobExecutions;

		public List value() {
			return jobExecutions;
		}
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public JobExecutionBuilder toBuilder() {
		return new ConcreteJobExecutionBuilder(this);
	}

	/**
	 * @return the job execution Builder
	 */
	public static JobExecutionBuilder builder() {
		return new ConcreteJobExecutionBuilder();
	}

	public static class ConcreteJobExecutionBuilder implements JobExecutionBuilder {

		MapReduceJobExecution m;

		ConcreteJobExecutionBuilder() {
			this(new MapReduceJobExecution());
		}

		ConcreteJobExecutionBuilder(MapReduceJobExecution m) {
			this.m = m;
		}

		@Override
		public JobExecution build() {
			return m;
		}

		@Override
		public JobExecutionBuilder from(JobExecution in) {
			m = (MapReduceJobExecution) in;
			return this;
		}

		@Override
		public JobExecutionBuilder clusterId(String clusterId) {
			m.clusterId = clusterId;
			return this;
		}

		@Override
		public JobExecutionBuilder inputId(String inputId) {
			m.inputId = inputId;
			return this;
		}

		@Override
		public JobExecutionBuilder outputId(String outputId) {
			m.outputId = outputId;
			return this;
		}

		@Override
		public JobExecutionBuilder setJobConfig(JobConfig jobConfig) {
			m.jobConfigs = (MapReduceJobConfig) jobConfig;
			return this;
		}

		@Override
		public JobExecutionBuilder jobId(String jobId) {
			m.jobIdForExecute = jobId;
			return this;
		}

		/*
		 * {@inheritDoc}
		 */
		@Override
		public JobExecutionBuilder isPublic(boolean isPublic) {
			m.isPublic = isPublic;
			return this;
		}

		/*
		 * {@inheritDoc}
		 */
		@Override
		public JobExecutionBuilder isProtect(boolean isProtected) {
			m.isProtected = isProtected;
			return this;
		}

		/*
		 * {@inheritDoc}
		 */
		@Override
		public JobExecutionBuilder engineJobId(String engineJobId) {
			m.engineJobId = engineJobId;
			return this;
		}

		/*
		 * {@inheritDoc}
		 */
		@Override
		public JobExecutionBuilder dataSourceUrls(HashMap dataSourceUrls) {
			m.dataSourceUrls = dataSourceUrls;
			return this;
		}
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy