package incheon.ags.mrb.upload.service;

import java.io.IOException;
import java.util.Map;

import org.geotools.api.referencing.FactoryException;
import org.springframework.web.multipart.MultipartFile;

import incheon.ags.mrb.upload.vo.FileUploadRequestDTO;

public interface ProcessFileService {
    public Map<String, Object> processFile(FileUploadRequestDTO requestDTO) throws IOException;

    public boolean deleteLayer(String string, String tableName);

    public Map<String, Object> getShapeColumns(MultipartFile file, int previewCounter, String encoding)
            throws Exception;

    public Map<String, Object> previewShapeFile(MultipartFile file, int previewCounterShape, String coordinate,
            String encoding) throws FactoryException, IOException;

    public Map<String, Object> previewCsvFile(MultipartFile file, int previewCounter, String coordinate,
            String firstColumn, String secondColumn, String encoding) throws Exception;

    public Map<String, Object> previewCsvWktFile(MultipartFile file, int previewCounter, String coordinate,
            String wktColumn, String encoding) throws Exception;

    public Map<String, Object> previewDxfLayer(MultipartFile file, String layerName, String coordinate, int limit)
            throws IOException, InterruptedException;

    public Map<String, Object> analyzeDxfFile(MultipartFile file, String coordinate, int limit)
            throws IOException, InterruptedException;
}
