// Path: src/main/java/nl/esciencecenter/ahn/pointcloud/ScriptConfiguration.java
// public class ScriptConfiguration extends Configuration {
//     @Valid
//     @NotNull
//     @JsonProperty
//     private int srid;
// 
//     @NotEmpty
//     @JsonProperty
//     private String executable;
// 
//     @NotEmpty
//     @JsonProperty
//     private String dataset;
// 
//     @NotEmpty
//     @JsonProperty
//     private String basePath;
// 
//     @NotEmpty
//     @JsonProperty
//     private String baseUrl;
// 
//     public ScriptConfiguration() {
//     }
// 
//     public ScriptConfiguration(int srid, String executable, String dataset, String basePath, String baseUrl) {
//         this.srid = srid;
//         this.executable = executable;
//         this.dataset = dataset;
//         this.basePath = basePath;
//         this.baseUrl = baseUrl;
//     }
// 
//     public int getSrid() {
//         return srid;
//     }
// 
//     public String getExecutable() {
//         return executable;
//     }
// 
//     public String getDataset() {
//         return dataset;
//     }
// 
//     public String getBasePath() {
//         return basePath;
//     }
// 
//     public String getBaseUrl() {
//         return baseUrl;
//     }
// }


import javax.validation.constraints.NotNull;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Joiner;
import io.swagger.annotations.ApiModelProperty;
import nl.esciencecenter.ahn.pointcloud.ScriptConfiguration;
import nl.esciencecenter.xenon.jobs.JobDescription;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;
package nl.esciencecenter.ahn.pointcloud.core;




public class LazRequest extends Selection {

    @NotNull
    @NotBlank
    @Email
    @JsonProperty
    @ApiModelProperty(value="E-mail to send laz file url to", example = "someone@example.com")
    private String email;

    private LazRequest() {
    }

    public LazRequest(Double left, Double bottom, Double right, Double top, String email) {
        super(left, bottom, right, top);
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

// Path: src/main/java/nl/esciencecenter/ahn/pointcloud/ScriptConfiguration.java
// public class ScriptConfiguration extends Configuration {
//     @Valid
//     @NotNull
//     @JsonProperty
//     private int srid;
// 
//     @NotEmpty
//     @JsonProperty
//     private String executable;
// 
//     @NotEmpty
//     @JsonProperty
//     private String dataset;
// 
//     @NotEmpty
//     @JsonProperty
//     private String basePath;
// 
//     @NotEmpty
//     @JsonProperty
//     private String baseUrl;
// 
//     public ScriptConfiguration() {
//     }
// 
//     public ScriptConfiguration(int srid, String executable, String dataset, String basePath, String baseUrl) {
//         this.srid = srid;
//         this.executable = executable;
//         this.dataset = dataset;
//         this.basePath = basePath;
//         this.baseUrl = baseUrl;
//     }
// 
//     public int getSrid() {
//         return srid;
//     }
// 
//     public String getExecutable() {
//         return executable;
//     }
// 
//     public String getDataset() {
//         return dataset;
//     }
// 
//     public String getBasePath() {
//         return basePath;
//     }
// 
//     public String getBaseUrl() {
//         return baseUrl;
//     }
// }


// Path: src/main/java/nl/esciencecenter/ahn/pointcloud/core/LazRequest.java
import javax.validation.constraints.NotNull;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Joiner;
import io.swagger.annotations.ApiModelProperty;
import nl.esciencecenter.ahn.pointcloud.ScriptConfiguration;
import nl.esciencecenter.xenon.jobs.JobDescription;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;

package nl.esciencecenter.ahn.pointcloud.core;




public class LazRequest extends Selection {

    @NotNull
    @NotBlank
    @Email
    @JsonProperty
    @ApiModelProperty(value="E-mail to send laz file url to", example = "someone@example.com")
    private String email;

    private LazRequest() {
    }

    public LazRequest(Double left, Double bottom, Double right, Double top, String email) {
        super(left, bottom, right, top);
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public JobDescription toJobDescription(int level, ScriptConfiguration scriptConfig) {