dnet-core/dnet-core-components/src/main/java/eu/dnetlib/data/mdstore/MDStoreService.java

106 lines
3.2 KiB
Java

package eu.dnetlib.data.mdstore;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.wsaddressing.W3CEndpointReference;
import eu.dnetlib.common.rmi.BaseService;
@WebService(targetNamespace = "http://services.dnetlib.eu/")
public interface MDStoreService extends BaseService {
/**
* Identifies service and version.
*
* @return
*/
@Override
public String identify();
/**
* Returns ResultSet EPR for delivered mdstore records.
*
* @param mdId
* @param from
* @param until
* @param recordFilter
* REGEX on the metadata record
* @return ResultSet EPR
* @throws MDStoreServiceException
*/
public W3CEndpointReference deliverMDRecords(@WebParam(name = "mdId") final String mdId,
@WebParam(name = "from") final String from,
@WebParam(name = "until") final String until,
@WebParam(name = "recordsFilter") final String recordFilter) throws MDStoreServiceException;
/**
* Deliver single record from selected mdstore.
*
* @param mdId
* @param recordId
* @return record
* @throws MDStoreServiceException
*/
public String deliverRecord(@WebParam(name = "mdId") final String mdId, @WebParam(name = "recordId") final String recordId) throws MDStoreServiceException,
DocumentNotFoundException;
/**
* Returns list of all stored indices.
*
* @return list of all stored indices
*/
public List<String> getListOfMDStores() throws MDStoreServiceException;
public List<String> listMDStores(@WebParam(name = "format") final String format,
@WebParam(name = "layout") final String layout,
@WebParam(name = "interpretation") final String interpretation) throws MDStoreServiceException;
public W3CEndpointReference bulkDeliverMDRecords(@WebParam(name = "format") final String format,
@WebParam(name = "layout") final String layout,
@WebParam(name = "interpretation") final String interpretation) throws MDStoreServiceException;
/**
* Store md records from a result set
*
* @param mdId
* @param rsId
* @param storingType
* @return returns true immediately.
* @throws MDStoreServiceException
*/
@Deprecated
public boolean storeMDRecordsFromRS(@WebParam(name = "mdId") final String mdId,
@WebParam(name = "rsId") final String rsId,
@WebParam(name = "storingType") final String storingType) throws MDStoreServiceException;
/**
* Gets the size of the mdstore with the given identifier.
*
* @param mdId
* identifier of an mdstore
* @return the number of records in the store
*/
@WebMethod(operationName = "size")
public int size(@WebParam(name = "mdId") final String mdId) throws MDStoreServiceException;
/**
* Gets the sum of records stored in all mdstore with the given format, layout , interpretation
*
* @param format
* format
* @param layout
* layout
* @param interpretation
* interpretation
* @return the total number of records in the mdstores of the given type
*/
@WebMethod(operationName = "sizeByFormat")
public int size(@WebParam(name = "format") final String format,
@WebParam(name = "layout") final String layout,
@WebParam(name = "interpretation") final String interpretation) throws MDStoreServiceException;
}