package org.constellation.coverage.process;
import org.apache.sis.parameter.ParameterBuilder;
import org.constellation.database.api.jooq.tables.pojos.Data;
import org.constellation.database.api.jooq.tables.pojos.Dataset;
import org.constellation.process.AbstractCstlProcessDescriptor;
import org.constellation.process.provider.ProviderDescriptorConstant;
import org.geotoolkit.storage.coverage.CoverageReference;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterDescriptorGroup;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.util.InternationalString;
import java.io.File;
/**
* @author Quentin Boileau (Geomatys)
*/
public abstract class AbstractPyramidCoverageDescriptor extends AbstractCstlProcessDescriptor {
protected static final ParameterBuilder BUILDER = new ParameterBuilder();
public static final String IN_COVERAGE_REF_NAME = "in_coverage_ref";
private static final String IN_COVERAGE_REF_REMARKS = "Input coverage reference to pyramid.";
public static final ParameterDescriptor<CoverageReference> IN_COVERAGE_REF = BUILDER
.addName(IN_COVERAGE_REF_NAME)
.setRemarks(IN_COVERAGE_REF_REMARKS)
.setRequired(true)
.create(CoverageReference.class, null);
public static final String ORIGINAL_DATA_NAME = "orinial_data";
private static final String ORIGINAL_DATA_REMARKS = "Data linked to input CoverageReference in order to link with pyramid data.";
public static final ParameterDescriptor<Data> ORIGINAL_DATA = BUILDER
.addName(ORIGINAL_DATA_NAME)
.setRemarks(ORIGINAL_DATA_REMARKS)
.setRequired(false)
.create(Data.class, null);
public static final String PYRAMID_NAME_NAME = "pyramid_name";
private static final String PYRAMID_NAME_REMARKS = "Output pyramid reference name. (Optional, use input coverage reference name if not set.)";
public static final ParameterDescriptor<String> PYRAMID_NAME = BUILDER
.addName(PYRAMID_NAME_NAME)
.setRemarks(PYRAMID_NAME_REMARKS)
.setRequired(false)
.create(String.class, null);
public static final String PYRAMID_FOLDER_NAME = "pyramid_folder";
private static final String PYRAMID_FOLDER_REMARKS = "The path of the folder where the pyramid will be saved.";
public static final ParameterDescriptor<File> PYRAMID_FOLDER = BUILDER
.addName(PYRAMID_FOLDER_NAME)
.setRemarks(PYRAMID_FOLDER_REMARKS)
.setRequired(true)
.create(File.class, null);
public static final String PYRAMID_CRS_NAME = "pyramid_crs";
private static final String PYRAMID_CRS_REMARKS = "Output pyramid CRSs.";
public static final ParameterDescriptor<CoordinateReferenceSystem[]> PYRAMID_CRS = BUILDER
.addName(PYRAMID_CRS_NAME)
.setRemarks(PYRAMID_CRS_REMARKS)
.setRequired(false)
.create(CoordinateReferenceSystem[].class, null);
public static final String PROVIDER_OUT_ID_NAME = "pyramid_provider_identifer";
private static final String PROVIDER_OUT_ID_REMARKS = "The identifier of the output provider.";
public static final ParameterDescriptor<String> PROVIDER_OUT_ID = BUILDER
.addName(PROVIDER_OUT_ID_NAME)
.setRemarks(PROVIDER_OUT_ID_REMARKS)
.setRequired(true)
.create(String.class, null);
public static final String PYRAMID_DATASET_NAME = "pyramid_dataset";
private static final String PYRAMID_DATASET_REMARKS = "the name of the dataset where to add the datas.";
public static final ParameterDescriptor<Dataset> PYRAMID_DATASET = BUILDER
.addName(PYRAMID_DATASET_NAME)
.setRemarks(PYRAMID_DATASET_REMARKS)
.setRequired(true)
.create(Dataset.class, null);
public static final String DOMAIN_NAME = "domain";
private static final String DOMAIN_REMARKS = "Identifier of the domain to add data.";
public static final String UPDATE_NAME = "update";
private static final String UPDATE_REMARKS = "Flag that enable update of output pyramid tiles.";
public static final ParameterDescriptor<Boolean> UPDATE = BUILDER
.addName(UPDATE_NAME)
.setRemarks(UPDATE_REMARKS)
.setRequired(false)
.create(Boolean.class, Boolean.FALSE);
public static final String OUT_PYRAMID_PROVIDER_NAME = "out_pyramid_provider";
private static final String OUT_PYRAMID_PROVIDER_REMARKS = "A provider configuration.";
public static final ParameterDescriptor<ParameterValueGroup> OUT_PYRAMID_PROVIDER_CONF = BUILDER
.addName(OUT_PYRAMID_PROVIDER_NAME)
.setRemarks(OUT_PYRAMID_PROVIDER_REMARKS)
.setRequired(true)
.create(ParameterValueGroup.class, null);
public AbstractPyramidCoverageDescriptor(String name, InternationalString abs,
ParameterDescriptorGroup inputDesc,
ParameterDescriptorGroup outputdesc) {
super(name, ProviderDescriptorConstant.IDENTIFICATION_CSTL, abs, inputDesc, outputdesc);
}
}