/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package eu.dnetlib.espas.sos.client;

import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.List;
import javax.xml.transform.TransformerException;

/**
 *
 * @author gathanas
 */

public interface SOSRequestServiceIF {
   
   public String submitDataRequest(SOSRequestInfo requestInfo, String userId, List<Vocabulary> licenses);

   public void resubmitDataRequest(String requestId, String userId);
   
   public String submitDataRequest(SOSRequestInfo requestInfo, String xsltName, InputStream xsltStream, String userId, List<Vocabulary> licenses);

   public SOSRequestStatus getDataRequestStatus(String requestId, String userId);
   
   public InputStream getDataRequestResponseStream(String requestId, String userId)throws IOException;
   
   public void transformResponseIn(String requestId, String xsltName, InputStream xsltRules, String userId)throws IOException;

   public InputStream getResponseStreamIn(String requestId, String xsltName, String userId)throws  TransformerException, IOException;

   public InputStream getSupportedXSLTStream(String name);
   
   public Collection<String> getSupportedTransformations();
}
