Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/UnimplementedException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/UnimplementedException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/UnimplementedException.java	(nonexistent)
@@ -1,10 +0,0 @@
-package eu.dnetlib.common.rmi;
-
-public class UnimplementedException extends RuntimeException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 6040968020696349497L;
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/RMIException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/RMIException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/RMIException.java	(nonexistent)
@@ -1,28 +0,0 @@
-package eu.dnetlib.common.rmi;
-
-/**
- * 
- * All RMI exception thrown from the service remote method invocation interfaces inherit this class
- * 
- * @author marko
- * 
- */
-abstract public class RMIException extends Exception {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 428841258652765265L;
-
-	public RMIException(final Throwable exception) {
-		super(exception);
-	}
-
-	public RMIException(final String string) {
-		super(string);
-	}
-	
-	public RMIException(final String string, final Throwable exception) {
-		super(string, exception);
-	}
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/APIDeprecatedException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/APIDeprecatedException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/APIDeprecatedException.java	(nonexistent)
@@ -1,10 +0,0 @@
-package eu.dnetlib.common.rmi;
-
-public class APIDeprecatedException extends RuntimeException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -5606373588445519515L;
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/BaseService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/BaseService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/common/rmi/BaseService.java	(nonexistent)
@@ -1,34 +0,0 @@
-package eu.dnetlib.common.rmi;
-
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebService;
-
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface BaseService {
-
-	/**
-	 * All DRIVER services must implement method notify() in order to communicate with the IS_SN
-	 * 
-	 * @param subscriptionId
-	 * @param topic
-	 * @param isId
-	 * @param message
-	 */
-	@WebMethod(operationName = "notify")
-	public void notify(@WebParam(name = "subscrId") String subscriptionId,
-			@WebParam(name = "topic") String topic,
-			@WebParam(name = "is_id") String isId,
-			@WebParam(name = "message") String message);
-
-	/**
-	 * Identifies the service's version. Version syntax: ${NAME}-${MAJOR}.${MINOR}.${MICRO}[-${LABEL}]
-	 * 
-	 * @return the service's version
-	 */
-	@WebMethod(operationName = "identify")
-	public String identify();
-
-	public void start();
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/DocumentNotFoundException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/DocumentNotFoundException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/DocumentNotFoundException.java	(nonexistent)
@@ -1,29 +0,0 @@
-package eu.dnetlib.data.mdstore;
-
-/**
- * Signals that a metadata record cannot be found in a given MDStore.
- */
-public class DocumentNotFoundException extends MDStoreServiceException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 5188036989114250548L;
-
-	public DocumentNotFoundException(final String s, final Throwable e) {
-		super(s, e);
-	}
-
-	public DocumentNotFoundException(final String s) {
-		super(s);
-	}
-
-	public DocumentNotFoundException(final Throwable e) {
-		super(e);
-	}
-
-	public DocumentNotFoundException() {
-		super();
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/MDStoreServiceException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/MDStoreServiceException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/MDStoreServiceException.java	(nonexistent)
@@ -1,32 +0,0 @@
-package eu.dnetlib.data.mdstore;
-
-/**
- * General mdstore service exception.
- * @author claudio atzori
- * @version 1.0.0 
- *
- */
-public class MDStoreServiceException extends Exception {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -6772977735282310658L;
-
-	public MDStoreServiceException(String s, Throwable e) {
-		super(s, e);
-	}
-
-	public MDStoreServiceException(String s) {
-		super(s);
-	}
-
-	public MDStoreServiceException(Throwable e) {
-		super(e);
-	}
-
-	public MDStoreServiceException() {
-		super();
-	}
-	
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/MDStoreService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/MDStoreService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/mdstore/MDStoreService.java	(nonexistent)
@@ -1,105 +0,0 @@
-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;
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/utility/objectpackaging/rmi/ObjectPackagingException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/utility/objectpackaging/rmi/ObjectPackagingException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/utility/objectpackaging/rmi/ObjectPackagingException.java	(nonexistent)
@@ -1,28 +0,0 @@
-package eu.dnetlib.data.utility.objectpackaging.rmi;
-
-import javax.xml.ws.WebFault;
-
-import eu.dnetlib.common.rmi.RMIException;
-
-@WebFault
-public class ObjectPackagingException extends RMIException {
-
-	private static final long serialVersionUID = 3468254939586031822L;
-
-	/**
-	 * 
-	 */
-
-	public ObjectPackagingException(Throwable e) {
-		super(e);
-	}
-
-	public ObjectPackagingException(String message, Throwable e) {
-		super(message, e);
-	}
-
-	public ObjectPackagingException(String message) {
-		super(message);
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/utility/objectpackaging/rmi/ObjectPackagingService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/utility/objectpackaging/rmi/ObjectPackagingService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/utility/objectpackaging/rmi/ObjectPackagingService.java	(nonexistent)
@@ -1,35 +0,0 @@
-package eu.dnetlib.data.utility.objectpackaging.rmi;
-
-import java.util.List;
-
-import javax.jws.WebParam;
-import javax.jws.WebService;
-import javax.xml.ws.wsaddressing.W3CEndpointReference;
-
-import eu.dnetlib.common.rmi.BaseService;
-
-/** The Object Packaging Service is used to combine the records spread
- *  into one information package, namely an Object Record.
- */ 
-
-
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface ObjectPackagingService extends BaseService {
-	 /** Return the EPR of the resultSet containing the generated packages 
-     * 
-     * @param  eprs       A list of EPRs used to access the input resultSets. ResultSets MUST be ordered using an order key identified by xpath_ID 
-     * @param  xpath_ID   A valid xpath, used to access the ordered ID of the elements of the input resultSets. 
-     * @return            EPR of the generated resultset 
-     */
-	W3CEndpointReference generatePackages(@WebParam(name="eprs") List<W3CEndpointReference> eprs, 
-                                          @WebParam(name="xpath_ID") String xpath_ID) throws ObjectPackagingException;
-
-	/** Return the EPR of the resultSet containing the unpackaged element 
-     * 
-     * @param  epr       The epr used to access the resultset that contains input packages, packages are xml record in this format: <objectRecord><elem>REC1</elem><elem>REC2</elem><elem>REC3</elem></objectRecord>
-     * @return           EPR of the generated resultset 
-     */
-	W3CEndpointReference splitPackages(@WebParam(name="epr") W3CEndpointReference epr) throws ObjectPackagingException;
-
-	
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/collectionservice/rmi/CollectionServiceException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/collectionservice/rmi/CollectionServiceException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/collectionservice/rmi/CollectionServiceException.java	(nonexistent)
@@ -1,28 +0,0 @@
-package eu.dnetlib.data.information.collectionservice.rmi;
-
-
-import javax.xml.ws.WebFault;
-
-import eu.dnetlib.common.rmi.RMIException;
-
-@WebFault
-public class CollectionServiceException extends RMIException {
-	
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 8094008463553904905L;
-
-	public CollectionServiceException(Throwable e) {
-		super(e);
-	}
-
-	public CollectionServiceException(String message, Throwable e) {
-		super(message, e);
-	}
-
-	public CollectionServiceException(String message) {
-		super(message);
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/collectionservice/rmi/CollectionService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/collectionservice/rmi/CollectionService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/collectionservice/rmi/CollectionService.java	(nonexistent)
@@ -1,28 +0,0 @@
-package eu.dnetlib.data.information.collectionservice.rmi;
-
-import java.util.List;
-
-import javax.jws.WebParam;
-import javax.jws.WebService;
-
-import eu.dnetlib.common.rmi.BaseService;
-
-/**
- * The Collection Service is used to ...
- * 
- * 
- */
-
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface CollectionService extends BaseService {
-
-	public String getCollection(@WebParam(name = "collId") final String collId) throws CollectionServiceException;
-
-	public List<String> getCollections(@WebParam(name = "collIds") final List<String> collIds) throws CollectionServiceException;
-
-	public void updateCollection(@WebParam(name = "coll") final String coll) throws CollectionServiceException;
-
-	public void deleteCollection(@WebParam(name = "collId") final String collId) throws CollectionServiceException;
-
-	public String createCollection(@WebParam(name = "coll") final String coll) throws CollectionServiceException;
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/publisher/rmi/PublisherService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/publisher/rmi/PublisherService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/data/information/publisher/rmi/PublisherService.java	(nonexistent)
@@ -1,50 +0,0 @@
-package eu.dnetlib.data.information.publisher.rmi;
-
-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;
-
-/**
- * Publisher service. Provides access to metadata records and objects.
- * 
- * @author marko
- * 
- */
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface PublisherService extends BaseService {
-
-	/**
-	 * Get a (metadata) resource by ID.
-	 * 
-	 * @param id
-	 * @param format
-	 * @param layout
-	 * @param interpretation
-	 * @return
-	 */
-	@WebMethod
-	String getResourceById(@WebParam(name = "id") final String id,
-			@WebParam(name = "format") final String format,
-			@WebParam(name = "layout") final String layout,
-			@WebParam(name = "interpretation") final String interpretation);
-
-	/**
-	 * Get (metadata) resources by IDs.
-	 * 
-	 * @param ids
-	 * @param format
-	 * @param layout
-	 * @param interpretation
-	 * @return
-	 */
-	@WebMethod
-	W3CEndpointReference getResourcesByIds(@WebParam(name = "ids") final List<String> ids,
-			@WebParam(name = "format") final String format,
-			@WebParam(name = "layout") final String layout,
-			@WebParam(name = "interpretation") final String interpretation);
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/hnm/rmi/HostingNodeManagerService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/hnm/rmi/HostingNodeManagerService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/hnm/rmi/HostingNodeManagerService.java	(nonexistent)
@@ -1,16 +0,0 @@
-package eu.dnetlib.enabling.hnm.rmi;
-
-import javax.jws.WebParam;
-import javax.jws.WebService;
-
-import eu.dnetlib.common.rmi.BaseService;
-
-/**
- * The HostingNodeManager Service is used to ...
- */
-
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface HostingNodeManagerService extends BaseService {
-
-	public String echo(@WebParam(name = "s") String s);
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/resultset/rmi/ResultSetException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/resultset/rmi/ResultSetException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/resultset/rmi/ResultSetException.java	(nonexistent)
@@ -1,21 +0,0 @@
-package eu.dnetlib.enabling.resultset.rmi;
-
-import eu.dnetlib.common.rmi.RMIException;
-
-public class ResultSetException extends RMIException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = -7130554407601059627L;
-
-	public ResultSetException(Throwable e) {
-		super(e);
-		// TODO Auto-generated constructor stub
-	}
-
-	public ResultSetException(String string) {
-		super(string);
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/resultset/rmi/ResultSetService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/resultset/rmi/ResultSetService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/resultset/rmi/ResultSetService.java	(nonexistent)
@@ -1,132 +0,0 @@
-package eu.dnetlib.enabling.resultset.rmi;
-
-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;
-
-/**
- * ResultSet service interface.
- * <p>
- * TODO: implement other compatibility methods as needed.
- *
- * @author marko
- */
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface ResultSetService extends BaseService {
-
-	/**
-	 * create a new pull rs.
-	 *
-	 * @param bdId            bulk data identifier
-	 * @param initialPageSize page size for the polling on the server side.
-	 * @param expiryTime      RS expiry time
-	 * @return
-	 */
-	W3CEndpointReference createPullRSEPR(
-			@WebParam(name = "dataProviderServiceAddress") W3CEndpointReference dataProviderEPR,
-			@WebParam(name = "bdId") String bdId,
-			@WebParam(name = "initialPageSize") int initialPageSize,
-			@WebParam(name = "expiryTime") int expiryTime,
-			@WebParam(name = "styleSheet") String styleSheet,
-			@WebParam(name = "keepAliveTime") Integer keepAliveTime,
-			@WebParam(name = "total") Integer total);
-
-	/**
-	 * create a new pull rs.
-	 * <p>
-	 * compatibility version
-	 *
-	 * @param bdId            bulk data identifier
-	 * @param initialPageSize page size for the polling on the server side.
-	 * @param expiryTime      RS expiry time
-	 * @return
-	 */
-	W3CEndpointReference createPullRS(
-			@WebParam(name = "dataProviderServiceAddress") String dataProviderServiceAddress,
-			@WebParam(name = "bdId") String bdId,
-			@WebParam(name = "initialPageSize") int initialPageSize,
-			@WebParam(name = "expiryTime") int expiryTime,
-			@WebParam(name = "styleSheet") String styleSheet,
-			@WebParam(name = "keepAliveTime") Integer keepAliveTime,
-			@WebParam(name = "total") Integer total);
-
-	/**
-	 * close a result set. A closed resultset is guaranteed not to grow.
-	 *
-	 * @param rsId
-	 */
-	void closeRS(@WebParam(name = "rsId") String rsId);
-
-	/**
-	 * get one 'page' of results.
-	 * <p>
-	 * TODO: define how results are returned when the range is not present in the result set.
-	 *
-	 * @param fromPosition counting from 1
-	 * @param toPosition   included
-	 * @param requestMode
-	 * @return a page of data
-	 */
-	List<String> getResult(
-			@WebParam(name = "rsId") String rsId,
-			@WebParam(name = "fromPosition") int fromPosition,
-			@WebParam(name = "toPosition") int toPosition,
-			@WebParam(name = "requestMode") String requestMode) throws ResultSetException;
-
-	/**
-	 * get the number of result elements present in the resultset.
-	 *
-	 * @param rsId result set identifier
-	 * @return number of results available in the resultset
-	 * @throws ResultSetException
-	 */
-	int getNumberOfElements(@WebParam(name = "rsId") String rsId) throws ResultSetException;
-
-	/**
-	 * create a new push resultset.
-	 *
-	 * @param expiryTime    RS expiry time
-	 * @param keepAliveTime keep alive time
-	 * @return epr of new resultset
-	 * @throws ResultSetException
-	 */
-	W3CEndpointReference createPushRS(@WebParam(name = "expiryTime") int expiryTime, @WebParam(name = "keepAliveTime") int keepAliveTime)
-			throws ResultSetException;
-
-	/**
-	 * add new data to a push resultset.
-	 *
-	 * @param rsId     resultset id
-	 * @param elements list of elements to be addded
-	 * @return dummy value
-	 * @throws ResultSetException
-	 */
-	String populateRS(@WebParam(name = "rsId") String rsId, @WebParam(name = "elements") List<String> elements) throws ResultSetException;
-
-	/**
-	 * return current status of a resultset.
-	 *
-	 * @param rsId resultset id
-	 * @return status
-	 * @throws ResultSetException
-	 */
-	String getRSStatus(@WebParam(name = "rsId") String rsId) throws ResultSetException;
-
-	/**
-	 * read a resultset property.
-	 *
-	 * @param rsId resultset id
-	 * @param name property value
-	 * @return property value
-	 * @throws ResultSetException
-	 */
-	String getProperty(@WebParam(name = "rsId") String rsId, @WebParam(name = "name") String name) throws ResultSetException;
-
-	@WebMethod(operationName = "identify")
-	public String identify();
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/hcm/rmi/HostingContextManagerService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/hcm/rmi/HostingContextManagerService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/hcm/rmi/HostingContextManagerService.java	(nonexistent)
@@ -1,19 +0,0 @@
-package eu.dnetlib.enabling.hcm.rmi;
-
-import javax.jws.WebService;
-
-import eu.dnetlib.common.rmi.BaseService;
-
-/**
- * Like a HostingNodeManager, but any webapp (web context) can have its own.
- * <p>
- * useful for dispatching notifications shared by all the services local to a single context.
- * </p>
- *
- * @author marko
- * @author antonis
- */
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface HostingContextManagerService extends BaseService {
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/dlm/rmi/DlmService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/dlm/rmi/DlmService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/dlm/rmi/DlmService.java	(nonexistent)
@@ -1,18 +0,0 @@
-package eu.dnetlib.enabling.dlm.rmi;
-
-import javax.jws.WebService;
-
-import eu.dnetlib.common.rmi.BaseService;
-
-/**
- * Distributed lock manager. Currently is used mostly to start the underlying lock manager (e.g. zookeeper) and let
- * client interface directly with it.
- * <p>
- * <p>The DLM service profile contains the entry point of the underlying locking service.</p>
- *
- * @author marko
- */
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface DlmService extends BaseService {
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/SubscriptionRequestRejectedException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/SubscriptionRequestRejectedException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/SubscriptionRequestRejectedException.java	(nonexistent)
@@ -1,20 +0,0 @@
-package eu.dnetlib.enabling.is.sn.rmi;
-
-/**
- * Thrown when a subscription request is rejected.
- *
- * @author claudio
- */
-public class SubscriptionRequestRejectedException extends ISSNException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = 263095606953662098L;
-
-	public SubscriptionRequestRejectedException(String message) {
-		super(message);
-		// TODO Auto-generated constructor stub
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/ISSNException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/ISSNException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/ISSNException.java	(nonexistent)
@@ -1,24 +0,0 @@
-package eu.dnetlib.enabling.is.sn.rmi;
-
-import eu.dnetlib.common.rmi.RMIException;
-
-public class ISSNException extends RMIException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = -7384073901457430004L;
-
-	public ISSNException(final Throwable e) {
-		super(e);
-	}
-
-	public ISSNException(final String message) {
-		super(message);
-	}
-
-	public ISSNException(final String message, final Throwable e) {
-		super(message, e);
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/ISSNService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/ISSNService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/sn/rmi/ISSNService.java	(nonexistent)
@@ -1,117 +0,0 @@
-package eu.dnetlib.enabling.is.sn.rmi;
-
-import java.util.List;
-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 ISSNService extends BaseService {
-
-	/**
-	 * fossil.
-	 *
-	 * @param topic
-	 * @return
-	 * @throws ISSNException
-	 */
-	String getCurrentMessage(@WebParam(name = "topic") String topic) throws ISSNException;
-
-	/**
-	 * puts a subcription in a paused state. paused subscription are not notified even when triggered.
-	 *
-	 * @param subscrId subscription identifier
-	 * @return returns false if the subscription is already paused.
-	 * @throws ISSNException may happen
-	 */
-	boolean pauseSubscription(@WebParam(name = "subscrId") String subscrId) throws ISSNException;
-
-	/**
-	 * Used to renew the subscription before it expires.
-	 * <p>
-	 * <p>
-	 * In practice it resets the ttl to another value, so it can be used to reset a infinte ttl subscription to a finite
-	 * value.
-	 * </p>
-	 *
-	 * @param subscrId        subscription id
-	 * @param terminationTime new ttl (from now), or 0 (infinite)
-	 * @return true if successful
-	 * @throws ISSNException may happen
-	 */
-	boolean renew(@WebParam(name = "subscrId") String subscrId, @WebParam(name = "terminationTime") int terminationTime) throws ISSNException;
-
-	/**
-	 * resumes a paused subscription.
-	 *
-	 * @param subscrId subscription id
-	 * @return true if resumed. false if it was not paused.
-	 * @throws ISSNException may happen
-	 */
-	boolean resumeSubscription(@WebParam(name = "subscrId") String subscrId) throws ISSNException;
-
-	/**
-	 * @param consumerReference      epr to be called when the notification is triggered
-	 * @param topicExpression        topic expression to register
-	 * @param initialTerminationTime ttl in seconds (0 = infinite)
-	 * @return subscription id
-	 * @throws ISSNException may happen
-	 */
-	String subscribe(
-			@WebParam(name = "consumerReference") W3CEndpointReference consumerReference,
-			@WebParam(name = "topicExpression") String topicExpression,
-			@WebParam(name = "initialTerminationTime") int initialTerminationTime) throws ISSNException, SubscriptionRequestRejectedException;
-
-	boolean unsubscribe(@WebParam(name = "subscrId") String subscrId) throws ISSNException;
-
-	/**
-	 * fossil.
-	 *
-	 * @param resourceType
-	 * @param profileId
-	 * @param profile
-	 * @return
-	 * @throws ISSNException
-	 */
-	boolean actionCreatePerformed(
-			@WebParam(name = "resourceType") String resourceType,
-			@WebParam(name = "profileId") String profileId,
-			@WebParam(name = "profile") String profile) throws ISSNException;
-
-	/**
-	 * fossil.
-	 *
-	 * @param resourceType
-	 * @param profileId
-	 * @param profileBefore
-	 * @param profileAfter
-	 * @return
-	 * @throws ISSNException
-	 */
-	boolean actionUpdatePerformed(
-			@WebParam(name = "resourceType") String resourceType,
-			@WebParam(name = "profileId") String profileId,
-			@WebParam(name = "profileBefore") String profileBefore,
-			@WebParam(name = "profileAfter") String profileAfter) throws ISSNException;
-
-	/**
-	 * fossil.
-	 *
-	 * @param resourceType
-	 * @param profileId
-	 * @return
-	 * @throws ISSNException
-	 */
-	boolean actionDeletePerformed(@WebParam(name = "resourceType") String resourceType, @WebParam(name = "profileId") String profileId)
-			throws ISSNException;
-
-	/**
-	 * list all subscriptions. Mostly for debug reasons.
-	 *
-	 * @return list of subscription ids.
-	 */
-	List<String> listSubscriptions();
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpException.java	(nonexistent)
@@ -1,27 +0,0 @@
-package eu.dnetlib.enabling.is.lookup.rmi;
-
-import javax.xml.ws.WebFault;
-
-import eu.dnetlib.common.rmi.RMIException;
-
-@WebFault
-public class ISLookUpException extends RMIException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = -5626136963653382533L;
-
-	public ISLookUpException(Throwable e) {
-		super(e);
-	}
-
-	public ISLookUpException(String message, Throwable e) {
-		super(message, e);
-	}
-
-	public ISLookUpException(String message) {
-		super(message);
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpService.java	(nonexistent)
@@ -1,33 +0,0 @@
-package eu.dnetlib.enabling.is.lookup.rmi;
-
-import java.util.List;
-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 ISLookUpService extends BaseService {
-
-	String retrieveCollection(@WebParam(name = "profId") String profId) throws ISLookUpException;
-
-	String getResourceProfile(@WebParam(name = "profId") String profId) throws ISLookUpException, ISLookUpDocumentNotFoundException;
-
-	String getResourceProfileByQuery(@WebParam(name = "XQuery") String XQuery) throws ISLookUpException, ISLookUpDocumentNotFoundException;
-
-	String getResourceQoSParams(@WebParam(name = "id") String id) throws ISLookUpException;
-
-	String getResourceTypeSchema(@WebParam(name = "resourceType") String resourceType) throws ISLookUpException;
-
-	List<String> listResourceTypes() throws ISLookUpException;
-
-	/**
-	 * Like searchProfile(), but bypassing the resultset. Useful for short xquery results.
-	 *
-	 * @param xquery xquery to be executed
-	 * @return list of strings (never null)
-	 * @throws ISLookUpException could happen
-	 */
-	List<String> quickSearchProfile(@WebParam(name = "XQuery") String xquery) throws ISLookUpException;
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpDocumentNotFoundException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpDocumentNotFoundException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/lookup/rmi/ISLookUpDocumentNotFoundException.java	(nonexistent)
@@ -1,46 +0,0 @@
-package eu.dnetlib.enabling.is.lookup.rmi;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Thrown when a given document is not found.
- *
- * @author marko
- */
-@WebFault
-public class ISLookUpDocumentNotFoundException extends ISLookUpException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = 2295995755165801937L;
-
-	/**
-	 * exception chain + message.
-	 *
-	 * @param message message
-	 * @param e
-	 */
-	public ISLookUpDocumentNotFoundException(String message, Throwable e) {
-		super(message, e);
-	}
-
-	/**
-	 * exception chain constructor.
-	 *
-	 * @param e
-	 */
-	public ISLookUpDocumentNotFoundException(Throwable e) {
-		super(e);
-	}
-
-	/**
-	 * exception message.
-	 *
-	 * @param message
-	 */
-	public ISLookUpDocumentNotFoundException(String message) {
-		super(message);
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/rmi/ISRegistryService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/rmi/ISRegistryService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/rmi/ISRegistryService.java	(nonexistent)
@@ -1,72 +0,0 @@
-package eu.dnetlib.enabling.is.registry.rmi;
-
-import java.util.List;
-import javax.jws.WebService;
-
-import eu.dnetlib.common.rmi.BaseService;
-import eu.dnetlib.enabling.is.registry.ISRegistryDocumentNotFoundException;
-
-@WebService(targetNamespace = "http://services.dnetlib.eu/")
-public interface ISRegistryService extends BaseService {
-
-	boolean addOrUpdateResourceType(String resourceType, String resourceSchema) throws ISRegistryException;
-
-	boolean addResourceType(String resourceType, String resourceSchema) throws ISRegistryException;
-
-	boolean deleteProfile(String profId) throws ISRegistryException, ISRegistryDocumentNotFoundException;
-
-	@Deprecated
-	boolean deleteProfiles(List<String> arrayprofId) throws ISRegistryException;
-
-	/**
-	 * @param resourceType
-	 * @param hierarchical remove subscription topics
-	 * @return
-	 * @throws ISRegistryException
-	 */
-	boolean deleteResourceType(String resourceType, Boolean hierarchical) throws ISRegistryException;
-
-	boolean executeXUpdate(String XQuery) throws ISRegistryException;
-
-	String insertProfileForValidation(String resourceType, String resourceProfile) throws ISRegistryException;
-
-	String invalidateProfile(String profId) throws ISRegistryException;
-
-	boolean refreshProfile(String profId, String resourceType) throws ISRegistryException;
-
-	/**
-	 * register a XML Profile.
-	 *
-	 * @param resourceProfile xml profile
-	 * @return profile id
-	 * @throws ISRegistryException
-	 */
-	String registerProfile(String resourceProfile) throws ISRegistryException;
-
-	String registerSecureProfile(String resourceProfId, String secureProfId) throws ISRegistryException;
-
-	boolean updateProfile(String profId, String resourceProfile, String resourceType) throws ISRegistryException;
-
-	@Deprecated
-	String updateProfileDHN(String resourceProfile) throws ISRegistryException;
-
-	boolean addProfileNode(String profId, String xpath, String node) throws ISRegistryException;
-
-	boolean updateProfileNode(String profId, String xpath, String node) throws ISRegistryException;
-
-	boolean removeProfileNode(String profId, String nodeId) throws ISRegistryException;
-
-	@Deprecated
-	boolean updateRegionDescription(String profId, String resourceProfile) throws ISRegistryException;
-
-	String validateProfile(String profId) throws ISRegistryException;
-
-	@Deprecated
-	List<String> validateProfiles(List<String> profIds) throws ISRegistryException;
-
-	void addBlackBoardMessage(String profId, String messageId, String message) throws ISRegistryException;
-
-	void replyBlackBoardMessage(String profId, String message) throws ISRegistryException;
-
-	void deleteBlackBoardMessage(String profId, String messageId) throws ISRegistryException;
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/rmi/ISRegistryException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/rmi/ISRegistryException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/rmi/ISRegistryException.java	(nonexistent)
@@ -1,24 +0,0 @@
-package eu.dnetlib.enabling.is.registry.rmi;
-
-import eu.dnetlib.common.rmi.RMIException;
-
-public class ISRegistryException extends RMIException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = -3347405941287624771L;
-
-	public ISRegistryException(Throwable e) {
-		super(e);
-	}
-
-	public ISRegistryException(String string) {
-		super(string);
-	}
-
-	public ISRegistryException(String string, Throwable e) {
-		super(string, e);
-	}
-
-}
\ No newline at end of file
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/ISRegistryDocumentNotFoundException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/ISRegistryDocumentNotFoundException.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/is/registry/ISRegistryDocumentNotFoundException.java	(nonexistent)
@@ -1,27 +0,0 @@
-package eu.dnetlib.enabling.is.registry;
-
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
-
-public class ISRegistryDocumentNotFoundException extends ISRegistryException {
-
-	/**
-	 *
-	 */
-	private static final long serialVersionUID = -1304948213334188538L;
-
-	public ISRegistryDocumentNotFoundException(String string, Throwable e) {
-		super(string, e);
-		// TODO Auto-generated constructor stub
-	}
-
-	public ISRegistryDocumentNotFoundException(String string) {
-		super(string);
-		// TODO Auto-generated constructor stub
-	}
-
-	public ISRegistryDocumentNotFoundException(Throwable e) {
-		super(e);
-		// TODO Auto-generated constructor stub
-	}
-
-}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/BaseService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/BaseService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/BaseService.java	(revision 41733)
@@ -0,0 +1,34 @@
+package eu.dnetlib.rmi.common;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface BaseService {
+
+	/**
+	 * All DRIVER services must implement method notify() in order to communicate with the IS_SN
+	 * 
+	 * @param subscriptionId
+	 * @param topic
+	 * @param isId
+	 * @param message
+	 */
+	@WebMethod(operationName = "notify")
+	public void notify(@WebParam(name = "subscrId") String subscriptionId,
+			@WebParam(name = "topic") String topic,
+			@WebParam(name = "is_id") String isId,
+			@WebParam(name = "message") String message);
+
+	/**
+	 * Identifies the service's version. Version syntax: ${NAME}-${MAJOR}.${MINOR}.${MICRO}[-${LABEL}]
+	 * 
+	 * @return the service's version
+	 */
+	@WebMethod(operationName = "identify")
+	public String identify();
+
+	public void start();
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/MDStoreService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/MDStoreService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/MDStoreService.java	(revision 41733)
@@ -0,0 +1,105 @@
+package eu.dnetlib.rmi.data;
+
+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.rmi.common.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;
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/DocumentNotFoundException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/DocumentNotFoundException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/DocumentNotFoundException.java	(revision 41733)
@@ -0,0 +1,29 @@
+package eu.dnetlib.rmi.data;
+
+/**
+ * Signals that a metadata record cannot be found in a given MDStore.
+ */
+public class DocumentNotFoundException extends MDStoreServiceException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 5188036989114250548L;
+
+	public DocumentNotFoundException(final String s, final Throwable e) {
+		super(s, e);
+	}
+
+	public DocumentNotFoundException(final String s) {
+		super(s);
+	}
+
+	public DocumentNotFoundException(final Throwable e) {
+		super(e);
+	}
+
+	public DocumentNotFoundException() {
+		super();
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameResolverCompatibilityTest.java
===================================================================
--- modules/dnet-core-components/trunk/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameResolverCompatibilityTest.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameResolverCompatibilityTest.java	(revision 41733)
@@ -5,8 +5,8 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
-import eu.dnetlib.enabling.resultset.rmi.ResultSetService;
+import eu.dnetlib.rmi.data.ResultSetService;
+import eu.dnetlib.rmi.enabling.ISRegistryService;
 
 public class InterfaceServiceNameResolverCompatibilityTest {
 
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/CollectionServiceException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/CollectionServiceException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/CollectionServiceException.java	(revision 41733)
@@ -0,0 +1,28 @@
+package eu.dnetlib.rmi.data;
+
+
+import javax.xml.ws.WebFault;
+
+import eu.dnetlib.rmi.common.RMIException;
+
+@WebFault
+public class CollectionServiceException extends RMIException {
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 8094008463553904905L;
+
+	public CollectionServiceException(Throwable e) {
+		super(e);
+	}
+
+	public CollectionServiceException(String message, Throwable e) {
+		super(message, e);
+	}
+
+	public CollectionServiceException(String message) {
+		super(message);
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/CollectionService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/CollectionService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/CollectionService.java	(revision 41733)
@@ -0,0 +1,28 @@
+package eu.dnetlib.rmi.data;
+
+import java.util.List;
+
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+import eu.dnetlib.rmi.common.BaseService;
+
+/**
+ * The Collection Service is used to ...
+ * 
+ * 
+ */
+
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface CollectionService extends BaseService {
+
+	public String getCollection(@WebParam(name = "collId") final String collId) throws CollectionServiceException;
+
+	public List<String> getCollections(@WebParam(name = "collIds") final List<String> collIds) throws CollectionServiceException;
+
+	public void updateCollection(@WebParam(name = "coll") final String coll) throws CollectionServiceException;
+
+	public void deleteCollection(@WebParam(name = "collId") final String collId) throws CollectionServiceException;
+
+	public String createCollection(@WebParam(name = "coll") final String coll) throws CollectionServiceException;
+}
Index: modules/dnet-core-components/trunk/src/test/java/eu/dnetlib/enabling/locators/DefaultUniqueServiceLocatorTest.java
===================================================================
--- modules/dnet-core-components/trunk/src/test/java/eu/dnetlib/enabling/locators/DefaultUniqueServiceLocatorTest.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/test/java/eu/dnetlib/enabling/locators/DefaultUniqueServiceLocatorTest.java	(revision 41733)
@@ -23,15 +23,13 @@
 import org.mockito.runners.MockitoJUnit44Runner;
 import org.springframework.context.ApplicationContext;
 
-
-
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
 import eu.dnetlib.enabling.locators.comparators.PreferLocalRunningInstanceComparator;
-import eu.dnetlib.enabling.resultset.rmi.ResultSetService;
 import eu.dnetlib.enabling.tools.OpaqueResource;
 import eu.dnetlib.enabling.tools.registration.ServiceNameResolver;
 import eu.dnetlib.enabling.tools.registration.ServiceRegistrationManager;
+import eu.dnetlib.rmi.data.ResultSetService;
+import eu.dnetlib.rmi.enabling.ISLookUpException;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
 
 @RunWith(MockitoJUnit44Runner.class)
 public class DefaultUniqueServiceLocatorTest {
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/MDStoreServiceException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/MDStoreServiceException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/MDStoreServiceException.java	(revision 41733)
@@ -0,0 +1,32 @@
+package eu.dnetlib.rmi.data;
+
+/**
+ * General mdstore service exception.
+ * @author claudio atzori
+ * @version 1.0.0 
+ *
+ */
+public class MDStoreServiceException extends Exception {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -6772977735282310658L;
+
+	public MDStoreServiceException(String s, Throwable e) {
+		super(s, e);
+	}
+
+	public MDStoreServiceException(String s) {
+		super(s);
+	}
+
+	public MDStoreServiceException(Throwable e) {
+		super(e);
+	}
+
+	public MDStoreServiceException() {
+		super();
+	}
+	
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/blackboard/BlackboardClientHandlerImpl.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/blackboard/BlackboardClientHandlerImpl.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/blackboard/BlackboardClientHandlerImpl.java	(revision 41733)
@@ -9,11 +9,12 @@
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
 import eu.dnetlib.enabling.locators.UniqueServiceLocator;
 import eu.dnetlib.enabling.tools.OpaqueResource;
 import eu.dnetlib.miscutils.jaxb.JaxbFactory;
+import eu.dnetlib.rmi.enabling.ISRegistryException;
+import eu.dnetlib.rmi.enabling.ISRegistryService;
+
 import org.springframework.beans.factory.annotation.Required;
 import org.w3c.dom.Element;
 
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/blackboard/BlackboardHandlerImpl.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/blackboard/BlackboardHandlerImpl.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/blackboard/BlackboardHandlerImpl.java	(revision 41733)
@@ -9,11 +9,12 @@
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
 import eu.dnetlib.enabling.locators.UniqueServiceLocator;
 import eu.dnetlib.enabling.tools.OpaqueResource;
 import eu.dnetlib.miscutils.jaxb.JaxbFactory;
+import eu.dnetlib.rmi.enabling.ISRegistryException;
+import eu.dnetlib.rmi.enabling.ISRegistryService;
+
 import org.springframework.beans.factory.annotation.Required;
 import org.w3c.dom.Element;
 
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/AbstractBaseService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/AbstractBaseService.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/AbstractBaseService.java	(revision 41733)
@@ -6,7 +6,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.springframework.context.Lifecycle;
 
-import eu.dnetlib.common.rmi.BaseService;
+import eu.dnetlib.rmi.common.BaseService;
 
 /**
  * This class contains default definition for BaseService contract and basic service lifecycle.
@@ -30,7 +30,7 @@
 	/**
 	 * {@inheritDoc}
 	 * 
-	 * @see eu.dnetlib.common.rmi.BaseService#identify()
+	 * @see eu.dnetlib.rmi.common.BaseService#identify()
 	 */
 	@Override
 	public String identify() {
@@ -40,7 +40,7 @@
 	/**
 	 * {@inheritDoc}
 	 * 
-	 * @see eu.dnetlib.common.rmi.BaseService#notify(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
+	 * @see eu.dnetlib.rmi.common.BaseService#notify(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
 	 */
 	@Override
 	public void notify(final String subscriptionId, final String topic, final String isId, final String message) {
@@ -50,7 +50,7 @@
 	/**
 	 * {@inheritDoc}
 	 * 
-	 * @see eu.dnetlib.common.rmi.BaseService#start()
+	 * @see eu.dnetlib.rmi.common.BaseService#start()
 	 */
 	@Override
 	public void start() {
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrator.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrator.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrator.java	(revision 41733)
@@ -16,23 +16,23 @@
 import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Required;
 
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpDocumentNotFoundException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
-import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
 import eu.dnetlib.enabling.locators.UniqueServiceLocator;
 import eu.dnetlib.enabling.tools.HNMLocator;
 import eu.dnetlib.enabling.tools.NullHNMLocator;
+import eu.dnetlib.rmi.enabling.ISLookUpDocumentNotFoundException;
+import eu.dnetlib.rmi.enabling.ISLookUpException;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
+import eu.dnetlib.rmi.enabling.ISRegistryException;
+import eu.dnetlib.rmi.enabling.ISRegistryService;
 import eu.dnetlib.soap.EndpointReferenceBuilder;
 
 /**
  * This class takes care of registering a service.
- * 
+ *
  * TODO: merge the implementation
- * 
+ *
  * @author marko
- * 
+ *
  */
 public class ServiceRegistrator {
 
@@ -44,13 +44,7 @@
 	/**
 	 * logger.
 	 */
-	private static final Log log = LogFactory.getLog(ServiceRegistrator.class); // NOPMD
-	// by
-	// marko
-	// on
-	// 11/24/08
-	// 5:02
-	// PM
+	private static final Log log = LogFactory.getLog(ServiceRegistrator.class);
 
 	/**
 	 * locator.
@@ -84,17 +78,17 @@
 
 	/**
 	 * Register a service schema for a given service.
-	 * 
+	 *
 	 * @param service
 	 *            service
 	 */
 	public void registerServiceSchema(final Object service) {
-		registerServiceSchema(serviceNameResolver.getName(service));
+		registerServiceSchema(this.serviceNameResolver.getName(service));
 	}
 
 	/**
 	 * Register a service schema for a particular service.
-	 * 
+	 *
 	 * @param serviceName
 	 *            service name
 	 */
@@ -110,11 +104,11 @@
 			final String resourceType = serviceName + "ResourceType";
 			schema.setAttribute("resourceType", resourceType);
 
-			if (serviceLocator == null) {
+			if (this.serviceLocator == null) {
 				log.error("************* SERVICE LOCATOR IS NULL:" + serviceName);
 				return;
 			}
-			final ISRegistryService registry = serviceLocator.getService(ISRegistryService.class, true);
+			final ISRegistryService registry = this.serviceLocator.getService(ISRegistryService.class, true);
 			if (registry == null) {
 				log.error("************* REGISTRY SERVICE IS NULL");
 				return;
@@ -130,7 +124,7 @@
 
 	/**
 	 * register a given service.
-	 * 
+	 *
 	 * @param service
 	 *            infers the service name from the class or annotations
 	 * @param endpoint
@@ -138,13 +132,13 @@
 	 * @return service profile id
 	 */
 	public String registerService(final Object service, final Endpoint endpoint) {
-		return registerService(serviceNameResolver.getName(service), endpoint);
+		return registerService(this.serviceNameResolver.getName(service), endpoint);
 	}
 
 	/**
 	 * register a service with a given service name. Return null if the service cannot be registered, for example because it's blocked if
 	 * the HNM is missing.
-	 * 
+	 *
 	 * @param serviceName
 	 *            service name
 	 * @param endpoint
@@ -152,12 +146,12 @@
 	 * @return service profile id, or null if the service cannot be registered because blocked
 	 */
 	public String registerService(final String serviceName, final Endpoint endpoint) {
-		return registerService(serviceName, eprBuilder.getEndpointReference(endpoint));
+		return registerService(serviceName, this.eprBuilder.getEndpointReference(endpoint));
 	}
 
 	/**
 	 * register a service with a given service name.
-	 * 
+	 *
 	 * @param serviceName
 	 *            service name
 	 * @param epr
@@ -183,7 +177,7 @@
 			final String resourceType = serviceName + "ResourceType";
 
 			final String address = result.getNode().getChildNodes().item(0).getChildNodes().item(0).getTextContent();
-			final String hnmId = hnmLocator.getHNMForUrl(address);
+			final String hnmId = this.hnmLocator.getHNMForUrl(address);
 
 			// skip registration if there is no HNM yet.
 			if (hnmId == null) { return null; }
@@ -193,11 +187,11 @@
 			templ.setAttribute("address", address);
 			templ.setAttribute("protocols", getExtraProtocols());
 			templ.setAttribute("parentId", hnmId);
-			templ.setAttribute("properties", serviceProperties);
+			templ.setAttribute("properties", this.serviceProperties);
 
 			log.debug("template: " + templ.toString());
 
-			final String res = serviceLocator.getService(ISRegistryService.class, true).insertProfileForValidation(resourceType, templ.toString());
+			final String res = this.serviceLocator.getService(ISRegistryService.class, true).insertProfileForValidation(resourceType, templ.toString());
 			Thread.sleep(SECOND);
 			return res;
 		} catch (final IOException e) {
@@ -212,13 +206,13 @@
 
 	/**
 	 * Check that the service schema for this service already exists, and create it if it doesn't.
-	 * 
+	 *
 	 * @param serviceName
 	 *            service name
 	 */
 	protected void ensureSchemaExists(final String serviceName) {
 		try {
-			serviceLocator.getService(ISLookUpService.class).getResourceProfileByQuery(
+			this.serviceLocator.getService(ISLookUpService.class).getResourceProfileByQuery(
 					"//*[local-name() = 'complexType' and @name = 'RESOURCE_TYPEType']//*[local-name() = 'enumeration' and @value = '" + serviceName
 							+ "ResourceType']");
 			log.warn("schema for " + serviceName + " appears to exist");
@@ -232,10 +226,10 @@
 
 	/**
 	 * validate the registered profile.
-	 * 
+	 *
 	 * TODO: XXX: huge hack. used right now to automatically register the blackboard. It won't work anymore once the services are validated
 	 * from the GUI
-	 * 
+	 *
 	 * @param profId
 	 *            profile id
 	 * @param endpoint
@@ -250,7 +244,7 @@
 		}
 
 		try {
-			return serviceLocator.getService(ISRegistryService.class, true).validateProfile(profId);
+			return this.serviceLocator.getService(ISRegistryService.class, true).validateProfile(profId);
 		} catch (final ISRegistryException e) {
 			throw new IllegalStateException("cannot validate service profile", e);
 		}
@@ -258,7 +252,7 @@
 
 	/**
 	 * validate the registered profile.
-	 * 
+	 *
 	 * @param profId
 	 *            old profile identifier
 	 * @return new profile identifier
@@ -268,7 +262,7 @@
 	}
 
 	public EndpointReferenceBuilder<Endpoint> getEprBuilder() {
-		return eprBuilder;
+		return this.eprBuilder;
 	}
 
 	@Required
@@ -277,7 +271,7 @@
 	}
 
 	public HNMLocator getHnmLocator() {
-		return hnmLocator;
+		return this.hnmLocator;
 	}
 
 	public void setHnmLocator(final HNMLocator hnmLocator) {
@@ -285,7 +279,7 @@
 	}
 
 	public ServiceNameResolver getServiceNameGen() {
-		return serviceNameResolver;
+		return this.serviceNameResolver;
 	}
 
 	public void setServiceNameGen(final ServiceNameResolver serviceNameGen) {
@@ -293,7 +287,7 @@
 	}
 
 	public ServiceNameResolver getServiceNameResolver() {
-		return serviceNameResolver;
+		return this.serviceNameResolver;
 	}
 
 	public void setServiceNameResolver(final ServiceNameResolver serviceNameRes) {
@@ -301,7 +295,7 @@
 	}
 
 	public Map<String, String> getServiceProperties() {
-		return serviceProperties;
+		return this.serviceProperties;
 	}
 
 	public void setServiceProperties(final Map<String, String> serviceProperties) {
@@ -309,7 +303,7 @@
 	}
 
 	public Map<String, String> getExtraProtocols() {
-		return extraProtocols;
+		return this.extraProtocols;
 	}
 
 	public void setExtraProtocols(final Map<String, String> extraProtocols) {
@@ -317,7 +311,7 @@
 	}
 
 	public UniqueServiceLocator getServiceLocator() {
-		return serviceLocator;
+		return this.serviceLocator;
 	}
 
 	@Required
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrationManagerImpl.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrationManagerImpl.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrationManagerImpl.java	(revision 41733)
@@ -16,12 +16,12 @@
 import org.springframework.beans.factory.annotation.Required;
 import org.xml.sax.SAXException;
 
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpDocumentNotFoundException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
 import eu.dnetlib.enabling.locators.UniqueServiceLocator;
 import eu.dnetlib.enabling.tools.OpaqueResource;
 import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.rmi.enabling.ISLookUpDocumentNotFoundException;
+import eu.dnetlib.rmi.enabling.ISLookUpException;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
 
 /**
  * Simple service registration manager implementation.
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/BlackboardServiceRegistrator.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/BlackboardServiceRegistrator.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/tools/registration/BlackboardServiceRegistrator.java	(revision 41733)
@@ -2,10 +2,10 @@
 
 import javax.xml.ws.Endpoint;
 
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
-import eu.dnetlib.enabling.is.sn.rmi.ISSNService;
 import eu.dnetlib.enabling.tools.OpaqueResource;
 import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
+import eu.dnetlib.rmi.enabling.ISSNService;
 
 /**
  * This service registrator also subscribes the service to it's own blackboard.
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/soap/DataStructureLookupEndpointReferenceBuilder.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/soap/DataStructureLookupEndpointReferenceBuilder.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/soap/DataStructureLookupEndpointReferenceBuilder.java	(revision 41733)
@@ -7,10 +7,10 @@
 
 import org.springframework.beans.factory.annotation.Required;
 
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
 import eu.dnetlib.enabling.locators.UniqueServiceLocator;
 import eu.dnetlib.enabling.tools.OpaqueResource;
 import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
 import eu.dnetlib.soap.AbstractEndpointReferenceBuilder;
 import eu.dnetlib.soap.EndpointReferenceBuilder;
 
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/DefaultUniqueServiceLocator.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/DefaultUniqueServiceLocator.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/DefaultUniqueServiceLocator.java	(revision 41733)
@@ -19,11 +19,11 @@
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 
-import eu.dnetlib.common.rmi.BaseService;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
 import eu.dnetlib.enabling.tools.registration.ServiceNameResolver;
 import eu.dnetlib.enabling.tools.registration.ValidatingServiceRegistrationManagerImpl;
+import eu.dnetlib.rmi.common.BaseService;
+import eu.dnetlib.rmi.enabling.ISLookUpException;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
 import eu.dnetlib.soap.cxf.StandaloneCxfEndpointReferenceBuilder;
 
 import static org.apache.commons.lang3.StringUtils.isBlank;
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/ServiceRunningInstance.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/ServiceRunningInstance.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/ServiceRunningInstance.java	(revision 41733)
@@ -6,7 +6,7 @@
 import javax.xml.ws.WebServiceFeature;
 import javax.xml.ws.wsaddressing.W3CEndpointReference;
 
-import eu.dnetlib.common.rmi.BaseService;
+import eu.dnetlib.rmi.common.BaseService;
 import eu.dnetlib.soap.cxf.StandaloneCxfEndpointReferenceBuilder;
 
 /**
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/UniqueServiceLocator.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/UniqueServiceLocator.java	(revision 41732)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/enabling/locators/UniqueServiceLocator.java	(revision 41733)
@@ -3,7 +3,7 @@
 import java.util.Comparator;
 import java.util.Set;
 
-import eu.dnetlib.common.rmi.BaseService;
+import eu.dnetlib.rmi.common.BaseService;
 
 public interface UniqueServiceLocator {
 	<T extends BaseService> T getService(Class<T> clazz);
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryDocumentNotFoundException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryDocumentNotFoundException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryDocumentNotFoundException.java	(revision 41733)
@@ -0,0 +1,25 @@
+package eu.dnetlib.rmi.enabling;
+
+public class ISRegistryDocumentNotFoundException extends ISRegistryException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -1304948213334188538L;
+
+	public ISRegistryDocumentNotFoundException(String string, Throwable e) {
+		super(string, e);
+		// TODO Auto-generated constructor stub
+	}
+
+	public ISRegistryDocumentNotFoundException(String string) {
+		super(string);
+		// TODO Auto-generated constructor stub
+	}
+
+	public ISRegistryDocumentNotFoundException(Throwable e) {
+		super(e);
+		// TODO Auto-generated constructor stub
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpDocumentNotFoundException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpDocumentNotFoundException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpDocumentNotFoundException.java	(revision 41733)
@@ -0,0 +1,46 @@
+package eu.dnetlib.rmi.enabling;
+
+import javax.xml.ws.WebFault;
+
+/**
+ * Thrown when a given document is not found.
+ *
+ * @author marko
+ */
+@WebFault
+public class ISLookUpDocumentNotFoundException extends ISLookUpException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = 2295995755165801937L;
+
+	/**
+	 * exception chain + message.
+	 *
+	 * @param message message
+	 * @param e
+	 */
+	public ISLookUpDocumentNotFoundException(String message, Throwable e) {
+		super(message, e);
+	}
+
+	/**
+	 * exception chain constructor.
+	 *
+	 * @param e
+	 */
+	public ISLookUpDocumentNotFoundException(Throwable e) {
+		super(e);
+	}
+
+	/**
+	 * exception message.
+	 *
+	 * @param message
+	 */
+	public ISLookUpDocumentNotFoundException(String message) {
+		super(message);
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/SubscriptionRequestRejectedException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/SubscriptionRequestRejectedException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/SubscriptionRequestRejectedException.java	(revision 41733)
@@ -0,0 +1,20 @@
+package eu.dnetlib.rmi.enabling;
+
+/**
+ * Thrown when a subscription request is rejected.
+ *
+ * @author claudio
+ */
+public class SubscriptionRequestRejectedException extends ISSNException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = 263095606953662098L;
+
+	public SubscriptionRequestRejectedException(String message) {
+		super(message);
+		// TODO Auto-generated constructor stub
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryException.java	(revision 41733)
@@ -0,0 +1,24 @@
+package eu.dnetlib.rmi.enabling;
+
+import eu.dnetlib.rmi.common.RMIException;
+
+public class ISRegistryException extends RMIException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -3347405941287624771L;
+
+	public ISRegistryException(Throwable e) {
+		super(e);
+	}
+
+	public ISRegistryException(String string) {
+		super(string);
+	}
+
+	public ISRegistryException(String string, Throwable e) {
+		super(string, e);
+	}
+
+}
\ No newline at end of file
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpException.java	(revision 41733)
@@ -0,0 +1,27 @@
+package eu.dnetlib.rmi.enabling;
+
+import javax.xml.ws.WebFault;
+
+import eu.dnetlib.rmi.common.RMIException;
+
+@WebFault
+public class ISLookUpException extends RMIException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -5626136963653382533L;
+
+	public ISLookUpException(Throwable e) {
+		super(e);
+	}
+
+	public ISLookUpException(String message, Throwable e) {
+		super(message, e);
+	}
+
+	public ISLookUpException(String message) {
+		super(message);
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISRegistryService.java	(revision 41733)
@@ -0,0 +1,71 @@
+package eu.dnetlib.rmi.enabling;
+
+import java.util.List;
+import javax.jws.WebService;
+
+import eu.dnetlib.rmi.common.BaseService;
+
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface ISRegistryService extends BaseService {
+
+	boolean addOrUpdateResourceType(String resourceType, String resourceSchema) throws ISRegistryException;
+
+	boolean addResourceType(String resourceType, String resourceSchema) throws ISRegistryException;
+
+	boolean deleteProfile(String profId) throws ISRegistryException, ISRegistryDocumentNotFoundException;
+
+	@Deprecated
+	boolean deleteProfiles(List<String> arrayprofId) throws ISRegistryException;
+
+	/**
+	 * @param resourceType
+	 * @param hierarchical remove subscription topics
+	 * @return
+	 * @throws ISRegistryException
+	 */
+	boolean deleteResourceType(String resourceType, Boolean hierarchical) throws ISRegistryException;
+
+	boolean executeXUpdate(String XQuery) throws ISRegistryException;
+
+	String insertProfileForValidation(String resourceType, String resourceProfile) throws ISRegistryException;
+
+	String invalidateProfile(String profId) throws ISRegistryException;
+
+	boolean refreshProfile(String profId, String resourceType) throws ISRegistryException;
+
+	/**
+	 * register a XML Profile.
+	 *
+	 * @param resourceProfile xml profile
+	 * @return profile id
+	 * @throws ISRegistryException
+	 */
+	String registerProfile(String resourceProfile) throws ISRegistryException;
+
+	String registerSecureProfile(String resourceProfId, String secureProfId) throws ISRegistryException;
+
+	boolean updateProfile(String profId, String resourceProfile, String resourceType) throws ISRegistryException;
+
+	@Deprecated
+	String updateProfileDHN(String resourceProfile) throws ISRegistryException;
+
+	boolean addProfileNode(String profId, String xpath, String node) throws ISRegistryException;
+
+	boolean updateProfileNode(String profId, String xpath, String node) throws ISRegistryException;
+
+	boolean removeProfileNode(String profId, String nodeId) throws ISRegistryException;
+
+	@Deprecated
+	boolean updateRegionDescription(String profId, String resourceProfile) throws ISRegistryException;
+
+	String validateProfile(String profId) throws ISRegistryException;
+
+	@Deprecated
+	List<String> validateProfiles(List<String> profIds) throws ISRegistryException;
+
+	void addBlackBoardMessage(String profId, String messageId, String message) throws ISRegistryException;
+
+	void replyBlackBoardMessage(String profId, String message) throws ISRegistryException;
+
+	void deleteBlackBoardMessage(String profId, String messageId) throws ISRegistryException;
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISLookUpService.java	(revision 41733)
@@ -0,0 +1,33 @@
+package eu.dnetlib.rmi.enabling;
+
+import java.util.List;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import eu.dnetlib.rmi.common.BaseService;
+
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface ISLookUpService extends BaseService {
+
+	String retrieveCollection(@WebParam(name = "profId") String profId) throws ISLookUpException;
+
+	String getResourceProfile(@WebParam(name = "profId") String profId) throws ISLookUpException, ISLookUpDocumentNotFoundException;
+
+	String getResourceProfileByQuery(@WebParam(name = "XQuery") String XQuery) throws ISLookUpException, ISLookUpDocumentNotFoundException;
+
+	String getResourceQoSParams(@WebParam(name = "id") String id) throws ISLookUpException;
+
+	String getResourceTypeSchema(@WebParam(name = "resourceType") String resourceType) throws ISLookUpException;
+
+	List<String> listResourceTypes() throws ISLookUpException;
+
+	/**
+	 * Like searchProfile(), but bypassing the resultset. Useful for short xquery results.
+	 *
+	 * @param xquery xquery to be executed
+	 * @return list of strings (never null)
+	 * @throws ISLookUpException could happen
+	 */
+	List<String> quickSearchProfile(@WebParam(name = "XQuery") String xquery) throws ISLookUpException;
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISSNException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISSNException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISSNException.java	(revision 41733)
@@ -0,0 +1,24 @@
+package eu.dnetlib.rmi.enabling;
+
+import eu.dnetlib.rmi.common.RMIException;
+
+public class ISSNException extends RMIException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -7384073901457430004L;
+
+	public ISSNException(final Throwable e) {
+		super(e);
+	}
+
+	public ISSNException(final String message) {
+		super(message);
+	}
+
+	public ISSNException(final String message, final Throwable e) {
+		super(message, e);
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/HostingContextManagerService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/HostingContextManagerService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/HostingContextManagerService.java	(revision 41733)
@@ -0,0 +1,23 @@
+package eu.dnetlib.rmi.enabling;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+import eu.dnetlib.rmi.common.BaseService;
+
+/**
+ * Like a HostingNodeManager, but any webapp (web context) can have its own.
+ * <p>
+ * useful for dispatching notifications shared by all the services local to a single context.
+ * </p>
+ *
+ * @author marko
+ * @author antonis
+ */
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface HostingContextManagerService extends BaseService {
+
+	@WebMethod(operationName = "echo")
+	public String echo(@WebParam(name = "message") String message);
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISSNService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISSNService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/enabling/ISSNService.java	(revision 41733)
@@ -0,0 +1,117 @@
+package eu.dnetlib.rmi.enabling;
+
+import java.util.List;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import eu.dnetlib.rmi.common.BaseService;
+
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface ISSNService extends BaseService {
+
+	/**
+	 * fossil.
+	 *
+	 * @param topic
+	 * @return
+	 * @throws ISSNException
+	 */
+	String getCurrentMessage(@WebParam(name = "topic") String topic) throws ISSNException;
+
+	/**
+	 * puts a subcription in a paused state. paused subscription are not notified even when triggered.
+	 *
+	 * @param subscrId subscription identifier
+	 * @return returns false if the subscription is already paused.
+	 * @throws ISSNException may happen
+	 */
+	boolean pauseSubscription(@WebParam(name = "subscrId") String subscrId) throws ISSNException;
+
+	/**
+	 * Used to renew the subscription before it expires.
+	 * <p>
+	 * <p>
+	 * In practice it resets the ttl to another value, so it can be used to reset a infinte ttl subscription to a finite
+	 * value.
+	 * </p>
+	 *
+	 * @param subscrId        subscription id
+	 * @param terminationTime new ttl (from now), or 0 (infinite)
+	 * @return true if successful
+	 * @throws ISSNException may happen
+	 */
+	boolean renew(@WebParam(name = "subscrId") String subscrId, @WebParam(name = "terminationTime") int terminationTime) throws ISSNException;
+
+	/**
+	 * resumes a paused subscription.
+	 *
+	 * @param subscrId subscription id
+	 * @return true if resumed. false if it was not paused.
+	 * @throws ISSNException may happen
+	 */
+	boolean resumeSubscription(@WebParam(name = "subscrId") String subscrId) throws ISSNException;
+
+	/**
+	 * @param consumerReference      epr to be called when the notification is triggered
+	 * @param topicExpression        topic expression to register
+	 * @param initialTerminationTime ttl in seconds (0 = infinite)
+	 * @return subscription id
+	 * @throws ISSNException may happen
+	 */
+	String subscribe(
+			@WebParam(name = "consumerReference") W3CEndpointReference consumerReference,
+			@WebParam(name = "topicExpression") String topicExpression,
+			@WebParam(name = "initialTerminationTime") int initialTerminationTime) throws ISSNException, SubscriptionRequestRejectedException;
+
+	boolean unsubscribe(@WebParam(name = "subscrId") String subscrId) throws ISSNException;
+
+	/**
+	 * fossil.
+	 *
+	 * @param resourceType
+	 * @param profileId
+	 * @param profile
+	 * @return
+	 * @throws ISSNException
+	 */
+	boolean actionCreatePerformed(
+			@WebParam(name = "resourceType") String resourceType,
+			@WebParam(name = "profileId") String profileId,
+			@WebParam(name = "profile") String profile) throws ISSNException;
+
+	/**
+	 * fossil.
+	 *
+	 * @param resourceType
+	 * @param profileId
+	 * @param profileBefore
+	 * @param profileAfter
+	 * @return
+	 * @throws ISSNException
+	 */
+	boolean actionUpdatePerformed(
+			@WebParam(name = "resourceType") String resourceType,
+			@WebParam(name = "profileId") String profileId,
+			@WebParam(name = "profileBefore") String profileBefore,
+			@WebParam(name = "profileAfter") String profileAfter) throws ISSNException;
+
+	/**
+	 * fossil.
+	 *
+	 * @param resourceType
+	 * @param profileId
+	 * @return
+	 * @throws ISSNException
+	 */
+	boolean actionDeletePerformed(@WebParam(name = "resourceType") String resourceType, @WebParam(name = "profileId") String profileId)
+			throws ISSNException;
+
+	/**
+	 * list all subscriptions. Mostly for debug reasons.
+	 *
+	 * @return list of subscription ids.
+	 */
+	List<String> listSubscriptions();
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/UnimplementedException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/UnimplementedException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/UnimplementedException.java	(revision 41733)
@@ -0,0 +1,10 @@
+package eu.dnetlib.rmi.common;
+
+public class UnimplementedException extends RuntimeException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6040968020696349497L;
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/RMIException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/RMIException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/RMIException.java	(revision 41733)
@@ -0,0 +1,28 @@
+package eu.dnetlib.rmi.common;
+
+/**
+ * 
+ * All RMI exception thrown from the service remote method invocation interfaces inherit this class
+ * 
+ * @author marko
+ * 
+ */
+abstract public class RMIException extends Exception {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 428841258652765265L;
+
+	public RMIException(final Throwable exception) {
+		super(exception);
+	}
+
+	public RMIException(final String string) {
+		super(string);
+	}
+	
+	public RMIException(final String string, final Throwable exception) {
+		super(string, exception);
+	}
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/APIDeprecatedException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/APIDeprecatedException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/common/APIDeprecatedException.java	(revision 41733)
@@ -0,0 +1,10 @@
+package eu.dnetlib.rmi.common;
+
+public class APIDeprecatedException extends RuntimeException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -5606373588445519515L;
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ResultSetException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ResultSetException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ResultSetException.java	(revision 41733)
@@ -0,0 +1,21 @@
+package eu.dnetlib.rmi.data;
+
+import eu.dnetlib.rmi.common.RMIException;
+
+public class ResultSetException extends RMIException {
+
+	/**
+	 *
+	 */
+	private static final long serialVersionUID = -7130554407601059627L;
+
+	public ResultSetException(Throwable e) {
+		super(e);
+		// TODO Auto-generated constructor stub
+	}
+
+	public ResultSetException(String string) {
+		super(string);
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ObjectPackagingException.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ObjectPackagingException.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ObjectPackagingException.java	(revision 41733)
@@ -0,0 +1,28 @@
+package eu.dnetlib.rmi.data;
+
+import javax.xml.ws.WebFault;
+
+import eu.dnetlib.rmi.common.RMIException;
+
+@WebFault
+public class ObjectPackagingException extends RMIException {
+
+	private static final long serialVersionUID = 3468254939586031822L;
+
+	/**
+	 * 
+	 */
+
+	public ObjectPackagingException(Throwable e) {
+		super(e);
+	}
+
+	public ObjectPackagingException(String message, Throwable e) {
+		super(message, e);
+	}
+
+	public ObjectPackagingException(String message) {
+		super(message);
+	}
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ResultSetService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ResultSetService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ResultSetService.java	(revision 41733)
@@ -0,0 +1,132 @@
+package eu.dnetlib.rmi.data;
+
+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.rmi.common.BaseService;
+
+/**
+ * ResultSet service interface.
+ * <p>
+ * TODO: implement other compatibility methods as needed.
+ *
+ * @author marko
+ */
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface ResultSetService extends BaseService {
+
+	/**
+	 * create a new pull rs.
+	 *
+	 * @param bdId            bulk data identifier
+	 * @param initialPageSize page size for the polling on the server side.
+	 * @param expiryTime      RS expiry time
+	 * @return
+	 */
+	W3CEndpointReference createPullRSEPR(
+			@WebParam(name = "dataProviderServiceAddress") W3CEndpointReference dataProviderEPR,
+			@WebParam(name = "bdId") String bdId,
+			@WebParam(name = "initialPageSize") int initialPageSize,
+			@WebParam(name = "expiryTime") int expiryTime,
+			@WebParam(name = "styleSheet") String styleSheet,
+			@WebParam(name = "keepAliveTime") Integer keepAliveTime,
+			@WebParam(name = "total") Integer total);
+
+	/**
+	 * create a new pull rs.
+	 * <p>
+	 * compatibility version
+	 *
+	 * @param bdId            bulk data identifier
+	 * @param initialPageSize page size for the polling on the server side.
+	 * @param expiryTime      RS expiry time
+	 * @return
+	 */
+	W3CEndpointReference createPullRS(
+			@WebParam(name = "dataProviderServiceAddress") String dataProviderServiceAddress,
+			@WebParam(name = "bdId") String bdId,
+			@WebParam(name = "initialPageSize") int initialPageSize,
+			@WebParam(name = "expiryTime") int expiryTime,
+			@WebParam(name = "styleSheet") String styleSheet,
+			@WebParam(name = "keepAliveTime") Integer keepAliveTime,
+			@WebParam(name = "total") Integer total);
+
+	/**
+	 * close a result set. A closed resultset is guaranteed not to grow.
+	 *
+	 * @param rsId
+	 */
+	void closeRS(@WebParam(name = "rsId") String rsId);
+
+	/**
+	 * get one 'page' of results.
+	 * <p>
+	 * TODO: define how results are returned when the range is not present in the result set.
+	 *
+	 * @param fromPosition counting from 1
+	 * @param toPosition   included
+	 * @param requestMode
+	 * @return a page of data
+	 */
+	List<String> getResult(
+			@WebParam(name = "rsId") String rsId,
+			@WebParam(name = "fromPosition") int fromPosition,
+			@WebParam(name = "toPosition") int toPosition,
+			@WebParam(name = "requestMode") String requestMode) throws ResultSetException;
+
+	/**
+	 * get the number of result elements present in the resultset.
+	 *
+	 * @param rsId result set identifier
+	 * @return number of results available in the resultset
+	 * @throws ResultSetException
+	 */
+	int getNumberOfElements(@WebParam(name = "rsId") String rsId) throws ResultSetException;
+
+	/**
+	 * create a new push resultset.
+	 *
+	 * @param expiryTime    RS expiry time
+	 * @param keepAliveTime keep alive time
+	 * @return epr of new resultset
+	 * @throws ResultSetException
+	 */
+	W3CEndpointReference createPushRS(@WebParam(name = "expiryTime") int expiryTime, @WebParam(name = "keepAliveTime") int keepAliveTime)
+			throws ResultSetException;
+
+	/**
+	 * add new data to a push resultset.
+	 *
+	 * @param rsId     resultset id
+	 * @param elements list of elements to be addded
+	 * @return dummy value
+	 * @throws ResultSetException
+	 */
+	String populateRS(@WebParam(name = "rsId") String rsId, @WebParam(name = "elements") List<String> elements) throws ResultSetException;
+
+	/**
+	 * return current status of a resultset.
+	 *
+	 * @param rsId resultset id
+	 * @return status
+	 * @throws ResultSetException
+	 */
+	String getRSStatus(@WebParam(name = "rsId") String rsId) throws ResultSetException;
+
+	/**
+	 * read a resultset property.
+	 *
+	 * @param rsId resultset id
+	 * @param name property value
+	 * @return property value
+	 * @throws ResultSetException
+	 */
+	String getProperty(@WebParam(name = "rsId") String rsId, @WebParam(name = "name") String name) throws ResultSetException;
+
+	@WebMethod(operationName = "identify")
+	public String identify();
+
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ObjectPackagingService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ObjectPackagingService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/ObjectPackagingService.java	(revision 41733)
@@ -0,0 +1,35 @@
+package eu.dnetlib.rmi.data;
+
+import java.util.List;
+
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import eu.dnetlib.rmi.common.BaseService;
+
+/** The Object Packaging Service is used to combine the records spread
+ *  into one information package, namely an Object Record.
+ */ 
+
+
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface ObjectPackagingService extends BaseService {
+	 /** Return the EPR of the resultSet containing the generated packages 
+     * 
+     * @param  eprs       A list of EPRs used to access the input resultSets. ResultSets MUST be ordered using an order key identified by xpath_ID 
+     * @param  xpath_ID   A valid xpath, used to access the ordered ID of the elements of the input resultSets. 
+     * @return            EPR of the generated resultset 
+     */
+	W3CEndpointReference generatePackages(@WebParam(name="eprs") List<W3CEndpointReference> eprs, 
+                                          @WebParam(name="xpath_ID") String xpath_ID) throws ObjectPackagingException;
+
+	/** Return the EPR of the resultSet containing the unpackaged element 
+     * 
+     * @param  epr       The epr used to access the resultset that contains input packages, packages are xml record in this format: <objectRecord><elem>REC1</elem><elem>REC2</elem><elem>REC3</elem></objectRecord>
+     * @return           EPR of the generated resultset 
+     */
+	W3CEndpointReference splitPackages(@WebParam(name="epr") W3CEndpointReference epr) throws ObjectPackagingException;
+
+	
+}
Index: modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/PublisherService.java
===================================================================
--- modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/PublisherService.java	(nonexistent)
+++ modules/dnet-core-components/trunk/src/main/java/eu/dnetlib/rmi/data/PublisherService.java	(revision 41733)
@@ -0,0 +1,50 @@
+package eu.dnetlib.rmi.data;
+
+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.rmi.common.BaseService;
+
+/**
+ * Publisher service. Provides access to metadata records and objects.
+ * 
+ * @author marko
+ * 
+ */
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public interface PublisherService extends BaseService {
+
+	/**
+	 * Get a (metadata) resource by ID.
+	 * 
+	 * @param id
+	 * @param format
+	 * @param layout
+	 * @param interpretation
+	 * @return
+	 */
+	@WebMethod
+	String getResourceById(@WebParam(name = "id") final String id,
+			@WebParam(name = "format") final String format,
+			@WebParam(name = "layout") final String layout,
+			@WebParam(name = "interpretation") final String interpretation);
+
+	/**
+	 * Get (metadata) resources by IDs.
+	 * 
+	 * @param ids
+	 * @param format
+	 * @param layout
+	 * @param interpretation
+	 * @return
+	 */
+	@WebMethod
+	W3CEndpointReference getResourcesByIds(@WebParam(name = "ids") final List<String> ids,
+			@WebParam(name = "format") final String format,
+			@WebParam(name = "layout") final String layout,
+			@WebParam(name = "interpretation") final String interpretation);
+}
