package eu.dnetlib.espas.sosservice;

import java.io.PrintWriter;
import java.util.Map;

import eu.dnetlib.espas.exception.OwsException;
import eu.dnetlib.espas.exception.OwsExceptionCode;
import org.apache.log4j.Logger;


@SuppressWarnings({"UnusedParameters", "UnusedDeclaration"})
public class SOSWService {
    private SOSDataProvider dataProvider = null;
    private final Logger logger = Logger.getLogger(SOSWService.class);

    public void setDataProvider(SOSDataProvider dataProvider) {
        this.dataProvider = dataProvider;
    }

    public void getResultTemplate(PrintWriter pw, Map<String, String> parameters) throws OwsException {
        String espasResource = dataProvider.getResultTemplate(parameters);
        if (espasResource == null) {
            throw new OwsException("Resource is empty", OwsExceptionCode.NO_APPLICABLE_CODE);
        } else {
            pw.print(espasResource);
        }
    }

    public void getResult(PrintWriter pw, Map<String, String> parameters) throws OwsException {

        String espasResource = dataProvider.getResult(parameters);

        if (espasResource == null) {
            throw new OwsException("Resource is empty", OwsExceptionCode.NO_APPLICABLE_CODE);
        } else {
            pw.print(espasResource);
        }
    }
}