package com.thinkbiganalytics.spark.rest.model;
/*-
* #%L
* Spark Shell Service REST Model
* %%
* Copyright (C) 2017 ThinkBig Analytics
* %%
* 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.
* #L%
*/
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.thinkbiganalytics.discovery.model.DefaultQueryResult;
import com.thinkbiganalytics.discovery.schema.QueryResult;
import com.thinkbiganalytics.spark.dataprofiler.output.OutputRow;
import java.util.List;
/**
* The result of a Spark transformation.
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class TransformResponse {
/**
* Error message
*/
private String message;
/**
* Profiled column statistics.
*/
private List<OutputRow> profile;
/**
* Progress of the transformation
*/
private Double progress;
/**
* Result of a transformation
*/
@JsonDeserialize(as = DefaultQueryResult.class)
private QueryResult results;
/**
* Success status of a transformation
*/
private Status status;
/**
* Table name with the results
*/
private String table;
/**
* Gets the error message.
*
* @return the error message
*/
public String getMessage() {
return message;
}
/**
* Sets the error message.
*
* @param message the error message
*/
public void setMessage(String message) {
this.message = message;
}
/**
* Gets the column statistics.
*
* @return the column statistics
*/
public List<OutputRow> getProfile() {
return profile;
}
/**
* Sets the column statistics.
*
* @param profile the column statistics
*/
public void setProfile(List<OutputRow> profile) {
this.profile = profile;
}
/**
* Gets the progress of the transformation.
*
* @return the transformation progress
*/
public Double getProgress() {
return progress;
}
/**
* Sets the progress of the transformation.
*
* @param progress the transformation progress
*/
public void setProgress(Double progress) {
this.progress = progress;
}
/**
* Gets the results of this transformation.
*
* @return the results
*/
public QueryResult getResults() {
return results;
}
/**
* Sets the results of this transformation.
*
* @param results the results
*/
public void setResults(QueryResult results) {
this.results = results;
}
/**
* Gets the status of this transformation.
*
* @return the status
*/
public Status getStatus() {
return status;
}
/**
* Sets the status of this transformation.
*
* @param status the status
*/
public void setStatus(Status status) {
this.status = status;
}
/**
* Gets the table with the results.
*
* @return the table name
*/
public String getTable() {
return table;
}
/**
* Sets the table with the results.
*
* @param table the table name
*/
public void setTable(String table) {
this.table = table;
}
/**
* Success status of a transformation.
*/
public enum Status {
/**
* Transformation resulted in an error
*/
ERROR,
/**
* Transformation is in-progress
*/
PENDING,
/**
* Transformation was successful
*/
SUCCESS;
@Override
public String toString() {
return super.toString().toLowerCase();
}
}
}