package org.geotoolkit.pending.demo.datamodel.customdatastore; import java.util.Collections; import org.geotoolkit.data.AbstractFeatureStoreFactory; import org.geotoolkit.data.AbstractFileFeatureStoreFactory; import org.geotoolkit.data.FeatureStore; import org.apache.sis.metadata.iso.DefaultIdentifier; import org.apache.sis.metadata.iso.citation.DefaultCitation; import org.apache.sis.metadata.iso.identification.DefaultServiceIdentification; import org.apache.sis.parameter.ParameterBuilder; import org.apache.sis.storage.DataStoreException; import org.geotoolkit.storage.DataType; import org.geotoolkit.storage.DefaultFactoryMetadata; import org.geotoolkit.storage.FactoryMetadata; import org.opengis.metadata.Identifier; import org.opengis.metadata.identification.Identification; import org.opengis.parameter.ParameterDescriptor; import org.opengis.parameter.ParameterDescriptorGroup; import org.opengis.parameter.ParameterValueGroup; public class FishDatastoreFactory extends AbstractFileFeatureStoreFactory{ /** factory identification **/ public static final String NAME = "fish"; public static final DefaultServiceIdentification IDENTIFICATION; static { IDENTIFICATION = new DefaultServiceIdentification(); final Identifier id = new DefaultIdentifier(NAME); final DefaultCitation citation = new DefaultCitation(NAME); citation.setIdentifiers(Collections.singleton(id)); IDENTIFICATION.setCitation(citation); } public static final ParameterDescriptor<String> IDENTIFIER = new ParameterBuilder() .addName(AbstractFeatureStoreFactory.IDENTIFIER.getName().getCode()) .setRemarks(AbstractFeatureStoreFactory.IDENTIFIER.getRemarks()) .setRequired(true) .create(String.class, NAME); public static final ParameterDescriptorGroup PARAMETERS_DESCRIPTOR = new ParameterBuilder().addName("FishParameters").createGroup(IDENTIFIER, PATH,NAMESPACE); @Override public Identification getIdentification() { return IDENTIFICATION; } @Override public String getDescription() { return "Scientific fish files (*.fsh)"; } @Override public ParameterDescriptorGroup getParametersDescriptor() { return PARAMETERS_DESCRIPTOR; } @Override public FishFeatureStore open(ParameterValueGroup params) throws DataStoreException { ensureCanProcess(params); return new FishFeatureStore(params); } @Override public FishFeatureStore create(ParameterValueGroup params) throws DataStoreException { throw new DataStoreException("Not supported."); } @Override public String[] getFileExtensions() { return new String[]{".fsh"}; } @Override public FactoryMetadata getMetadata() { return new DefaultFactoryMetadata(DataType.VECTOR, true, false, false, false, GEOMS_ALL); } }