Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/pom.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/pom.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/pom.xml	(revision 47801)
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<parent>
+		<groupId>eu.dnetlib</groupId>
+		<artifactId>dnet45-parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath />
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>eu.dnetlib</groupId>
+	<artifactId>cnr-enabling-services</artifactId>
+	<packaging>jar</packaging>
+	<version>2.2.2</version>
+	<scm>
+		<developerConnection>scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet45/modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2</developerConnection>
+	</scm>
+	<dependencies>
+		<dependency>
+			<groupId>commons-beanutils</groupId>
+			<artifactId>commons-beanutils</artifactId>
+			<version>1.8.0</version>
+		</dependency>
+		<dependency>
+			<groupId>apache</groupId>
+			<artifactId>oro</artifactId>
+			<version>2.0.8</version>
+		</dependency>
+		<dependency>
+			<groupId>com.google.guava</groupId>
+			<artifactId>guava</artifactId>
+			<version>${google.guava.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.quartz-scheduler</groupId>
+			<artifactId>quartz</artifactId>
+			<version>${quartz.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-beans</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-jdbc</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-tx</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-orm</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.postgresql</groupId>
+			<artifactId>jdbc4driver</artifactId>
+			<version>8.3</version>
+		</dependency>
+		<dependency>
+			<groupId>org.xerial</groupId>
+			<artifactId>sqlite-jdbc</artifactId>
+			<version>3.7.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-core</artifactId>
+			<version>4.3.2.Final</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>antlr</artifactId>
+					<groupId>antlr</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>commons-collections</groupId>
+			<artifactId>commons-collections</artifactId>
+			<version>${commons.collections.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-dbcp</groupId>
+			<artifactId>commons-dbcp</artifactId>
+			<version>1.4</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-rmi-api</artifactId>
+			<version>[2.0.0,3.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-misc-utils</artifactId>
+			<version>[1.0.0,2.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-service-utils</artifactId>
+			<version>[1.0.0,2.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-blackboard-common</artifactId>
+			<version>[2.1.0,3.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-xmldb</artifactId>
+			<version>[2.0.0,3.0.0)</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>commons-collections</artifactId>
+					<groupId>apache</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+			<version>${google.gson.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sun.xml.messaging.saaj</groupId>
+			<artifactId>saaj-impl</artifactId>
+			<version>1.3</version>
+		</dependency>
+		<dependency>
+			<groupId>jaxen</groupId>
+			<artifactId>jaxen</artifactId>
+			<version>1.1.6</version>
+		</dependency>
+
+		<!-- TEST DEPS -->
+		<dependency>
+			<groupId>hsqldb</groupId>
+			<artifactId>hsqldb</artifactId>
+			<version>1.8.0.7</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.aspectj</groupId>
+			<artifactId>aspectjrt</artifactId>
+			<version>1.6.3</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.aspectj</groupId>
+			<artifactId>aspectjweaver</artifactId>
+			<version>1.6.3</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-annotations</artifactId>
+			<version>3.3.1</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>xerces</groupId>
+			<artifactId>xercesImpl</artifactId>
+			<version>2.11.0</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-test-utils</artifactId>
+			<version>[1.0.0,2.0.0)</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-webmvc</artifactId>
+			<version>${spring.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-test</artifactId>
+			<version>${spring.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.cxf</groupId>
+			<artifactId>cxf-rt-frontend-jaxws</artifactId>
+			<version>${cxf.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.cxf</groupId>
+			<artifactId>cxf-rt-ws-policy</artifactId>
+			<version>${cxf.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.cxf</groupId>
+			<artifactId>cxf-rt-frontend-jaxrs</artifactId>
+			<scope>test</scope>
+			<version>${cxf.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.cxf</groupId>
+			<artifactId>cxf-rt-transports-local</artifactId>
+			<version>${cxf.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.cxf</groupId>
+			<artifactId>cxf-rt-ws-rm</artifactId>
+			<version>${cxf.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+			<version>${mockito.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>${junit.version}</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+</project>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/lookup/ISLookUpServiceImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/lookup/ISLookUpServiceImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/lookup/ISLookUpServiceImpl.java	(revision 47801)
@@ -0,0 +1,394 @@
+package eu.dnetlib.enabling.is.lookup;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.jws.WebService;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
+
+import com.sun.xml.messaging.saaj.util.Base64;
+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.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.enabling.tools.*;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.springframework.beans.factory.annotation.Required;
+import org.xml.sax.SAXException;
+
+/**
+ * ISLookUpService implementation.
+ * 
+ * @author marko
+ * @author michele
+ * 
+ */
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public class ISLookUpServiceImpl extends AbstractBaseService implements ISLookUpService { // NOPMD
+
+	/**
+	 * error message when the given collection cannot be fetched.
+	 */
+	private static final String COLLECTION_ERROR = "cannot get collection";
+
+	/**
+	 * base xmldb directory.
+	 */
+	private static final String DB_BASE_DIR = "/db/DRIVER";
+
+	/**
+	 * error message when the profile is not present in the db.
+	 */
+	private static final String PROFILE_NOT_FOUND = "Profile not found";
+
+	private ISStoreService isStore;
+
+	// NOPMD by marko on 11/24/08
+	// 5:02 PM
+	/**
+	 * logger.
+	 */
+	public static final Log log = LogFactory.getLog(ISLookUpServiceImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * resource identifier resolver. Resolves identifiers to xmldb file and collection names.
+	 */
+	private ResourceIdentifierResolver resIdManager = new CompatResourceIdentifierResolverImpl();
+
+	/**
+	 * xquery utils. Used to obtain the xmldb collection mapping for resources.
+	 */
+	private XQueryUtils xqueryUtils;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#flushCachedResultSets()
+	 */
+	@Override
+	public Boolean flushCachedResultSets() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#retrieveCollection(java.lang.String)
+	 */
+	@Override
+	public String retrieveCollection(final String profId) throws ISLookUpException {
+		try {
+			String profile = this.getResourceProfile(profId);
+			final List<String> list = quickSearchProfile("for $x in collection('/db/DRIVER/CollectionDSResources') where $x//FATHER/@id = '" + profId
+					+ "' return $x//RESOURCE_IDENTIFIER/@value/string()");
+
+			if (!list.isEmpty()) {
+				final SAXReader reader = new SAXReader();
+				final Document doc = reader.read(new StringReader(profile));
+				final Element childrenNode = (Element) doc.selectSingleNode("//CHILDREN"); // NOPMD
+				for (final String idC : list) {
+					childrenNode.addElement("CHILD").addAttribute("id", idC);
+				}
+				profile = doc.asXML();
+			}
+
+			return profile;
+		} catch (final Exception e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#getCollection(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public String getCollection(final String profId, final String format) throws ISLookUpException {
+		OpaqueResource prof;
+		try {
+			prof = new StringOpaqueResource(profId);
+
+			final StringBuilder query = new StringBuilder();
+			if (format != null && format.equals("ui")) {
+				query.append("doc('");
+				query.append(xqueryUtils.getCollectionAbsPath(prof));
+				query.append('/');
+				query.append(prof.getResourceId().split("_")[0]);
+				query.append("')");
+			} else {
+				query.append("let $x := doc('");
+				query.append(xqueryUtils.getCollectionAbsPath(prof));
+				query.append('/');
+				query.append(prof.getResourceId().split("_")[0]);
+				query.append("') return <COLLECTION name='{$x//NAME}' id='{$x//RESOURCE_IDENTIFIER/@value/string()}'>");
+				query.append("<STATUS private='{$x//PRIVATE}' visible='{$x//VISIBLE}' container='{$x//CONTAINER}'");
+				query.append("count_docs='{$x//COUNT_DOCS/@number/string()}' last_update='{$x//COUNT_DOCS/@last_update/string()}' />");
+				query.append("{$x//IMAGE_URL}{$x//DESCRIPTION}{$x//OWNER}{$x//FATHER}{$x//SUBJECT}{$x//CHILDREN}{$x//MEMBERSHIP_CONDITION}{$x//RETRIEVAL_CONDITION}</COLLECTION>");
+			}
+
+			return isStore.getXMLbyQuery(query.toString());
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		} catch (final XPathExpressionException e) {
+			throw new ISLookUpException(COLLECTION_ERROR, e);
+		} catch (final SAXException e) {
+			throw new ISLookUpException(COLLECTION_ERROR, e);
+		} catch (final IOException e) {
+			throw new ISLookUpException(COLLECTION_ERROR, e);
+		} catch (final ParserConfigurationException e) {
+			throw new ISLookUpException(COLLECTION_ERROR, e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#getResourceProfile(java.lang.String)
+	 */
+	@Override
+	public String getResourceProfile(final String profId) throws ISLookUpException {
+		if (profId == null || profId.isEmpty()) { throw new ISLookUpException("Invalid null profile ID: " + profId); }
+
+		try {
+			final String res = isStore.getXML(getFileNameForId(profId),
+					xqueryUtils.getRootCollection() + getFileCollForId(profId));
+			if (res == null) { throw new ISLookUpDocumentNotFoundException("document " + profId + " not found"); }
+			return res;
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * obtain the xmldb file name from the profile identifier.
+	 * 
+	 * @param profId
+	 *            profile id
+	 * @return xml db file name
+	 */
+	String getFileNameForId(final String profId) {
+		return resIdManager.getFileName(profId);
+	}
+
+	/**
+	 * obtain the xmldb collection name from the profile identifier.
+	 * 
+	 * @param profId
+	 *            profile id
+	 * @return plaintext xmldb collection name
+	 */
+	String getFileCollForId(final String profId) {
+		return resIdManager.getCollectionName(profId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#getResourceProfileByQuery(java.lang.String)
+	 */
+	@Override
+	public String getResourceProfileByQuery(final String xquery) throws ISLookUpException {
+		String resource;
+		//TODO remove following hack as soon as https://issue.openaire.research-infrastructures.eu/issues/2774 is closed.
+		if (StringUtils.isNotBlank(xquery) && xquery.trim().startsWith("//*[local-name() = 'complexType'")) {
+			final Pattern p = Pattern.compile(".*value = '([a-zA-z]+)']");
+			final Matcher m = p.matcher(xquery);
+			if (m.matches()) {
+				final String serviceName = m.group(1);
+				log.debug(String.format("found service '%s', hacking response for xquery: %s", serviceName, xquery));
+				return getResourceTypeSchema(serviceName);
+			}
+		}
+		try {
+			resource = isStore.getXMLbyQuery(xquery);
+			if (resource == null || resource.isEmpty()) { throw new ISLookUpDocumentNotFoundException(PROFILE_NOT_FOUND); }
+			return resource;
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#getResourceQoSParams(java.lang.String)
+	 */
+	@Override
+	public String getResourceQoSParams(final String profId) throws ISLookUpException {
+		final String query = "for $x in collection('/db/DRIVER/ServiceResources') where $x//RESOURCE_IDENTIFIER/@value = '" + profId + "' return $x//QOS";
+		return getResourceProfileByQuery(query);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#getResourceTypeSchema(java.lang.String)
+	 */
+	@Override
+	public String getResourceTypeSchema(final String resourceType) throws ISLookUpException, ISLookUpDocumentNotFoundException {
+		if (resourceType == null || resourceType.isEmpty()) { throw new ISLookUpException("Invalid resourceType"); }
+
+		try {
+			final String resource = isStore.getXML(resourceType, xqueryUtils.getRootCollection() + ResourceType.RESOURCE_TYPES);
+			if (resource == null || resource.isEmpty()) { throw new ISLookUpDocumentNotFoundException(PROFILE_NOT_FOUND); }
+			return resource;
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#listCollections(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public List<String> listCollections(final String format, final String idfatherParam, final String owner) throws ISLookUpException {
+		String idfather = idfatherParam; // PMD
+		if (idfather == null || idfather.length() == 0) {
+			idfather = "InfoSpace";
+		}
+		final String fileColl = xqueryUtils.getRootCollection() + "CollectionDSResources/CollectionDSResourceType";
+
+		final StringBuilder query = new StringBuilder();
+		query.append("for $x in collection('" + fileColl + "') where $x//FATHER[@id='" + idfather + "'] "); // NOPMD
+		if (owner != null && owner.length() > 0) {
+			query.append("and $x//OWNER[@id='" + owner + "'] ");
+		}
+		if (format != null && format.equals("short")) {
+			query.append("return $x//RESOURCE_IDENTIFIER/@value/string()");
+		} else {
+			query.append("return $x");
+		}
+
+		return quickSearchProfile(query.toString());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#listDHNIDs()
+	 */
+	@Override
+	public List<String> listDHNIDs() throws ISLookUpException {
+		final String fileColl = DB_BASE_DIR + "/InfrastructureResources/DRIVERHostingNodeDSResourceType";
+
+		final ArrayList<String> ret = new ArrayList<String>();
+		try {
+			for (final String i : isStore.getFileNames(fileColl)) {
+				ret.add(i + ":" + fileColl);
+			}
+			return ret;
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#listResourceTypes()
+	 */
+	@Override
+	public List<String> listResourceTypes() throws ISLookUpException {
+		try {
+			return isStore.getFileNames(DB_BASE_DIR + "/" + ResourceType.RESOURCE_TYPES);
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#listServiceIDs(java.lang.String)
+	 */
+	@Override
+	public List<String> listServiceIDs(final String serviceType) throws ISLookUpException {
+		final String fileColl = "ServiceResources/" + serviceType;
+		final String encodedColl = "_" + new String(Base64.encode(fileColl.getBytes())); // NOPMD
+
+		final List<String> ret = new ArrayList<String>();
+		try {
+			for (final String i : isStore.getFileNames(DB_BASE_DIR + "/" + fileColl)) {
+				ret.add(i + encodedColl);
+			}
+			return ret;
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#listServiceTypes()
+	 */
+	@Override
+	public List<String> listServiceTypes() throws ISLookUpException {
+		final List<String> ret = new ArrayList<String>();
+		try {
+			for (final String i : isStore.getFileColls()) {
+				if (i.startsWith("ServiceResources/")) {
+					ret.add(i.substring("ServiceResources/".length()));
+				}
+			}
+			return ret;
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService#quickSearchProfile(java.lang.String)
+	 */
+	@Override
+	public List<String> quickSearchProfile(final String xquery) throws ISLookUpException {
+		try {
+			return isStore.quickSearchXML(xquery);
+		} catch (final ISStoreException e) {
+			throw new ISLookUpException(e);
+		}
+	}
+
+	public ResourceIdentifierResolver getResIdManager() {
+		return resIdManager;
+	}
+
+	public void setResIdManager(final ResourceIdentifierResolver resIdManager) {
+		this.resIdManager = resIdManager;
+	}
+
+	@Required
+	public void setXqueryUtils(final XQueryUtils xqueryUtils) {
+		this.xqueryUtils = xqueryUtils;
+	}
+
+	public XQueryUtils getXqueryUtils() {
+		return xqueryUtils;
+	}
+
+	public ISStoreService getIsStore() {
+		return isStore;
+	}
+
+	@Required
+	public void setIsStore(final ISStoreService isStore) {
+		this.isStore = isStore;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AsynchronousNotificationSenderImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AsynchronousNotificationSenderImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AsynchronousNotificationSenderImpl.java	(revision 47801)
@@ -0,0 +1,119 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Asynchronous but in-order delivery of notifications.
+ * 
+ * @author marko
+ * 
+ */
+public class AsynchronousNotificationSenderImpl extends AbstractNotificationSender implements Runnable { // NOPMD
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(AsynchronousNotificationSenderImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * Encapsulates an notification job.
+	 * 
+	 * @author marko
+	 *
+	 */
+	class NotificationJob {
+		/**
+		 * notification destination.
+		 */
+		private final transient W3CEndpointReference destination;
+		
+		/**
+		 * notification message. 
+		 */
+		private final transient NotificationMessage message;
+
+		/**
+		 * construct a new notification job.
+		 * 
+		 * @param destination destination
+		 * @param message message
+		 */
+		public NotificationJob(final W3CEndpointReference destination, final NotificationMessage message) {
+			super();
+			this.destination = destination;
+			this.message = message;
+		}
+
+		public W3CEndpointReference getDestination() {
+			return destination;
+		}
+
+		public NotificationMessage getMessage() {
+			return message;
+		}
+
+	}
+
+	/**
+	 * job queue.
+	 */
+	private BlockingQueue<NotificationJob> jobQueue = new LinkedBlockingQueue<NotificationJob>();
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.NotificationSender#send(javax.xml.ws.wsaddressing.W3CEndpointReference,
+	 *      eu.dnetlib.enabling.is.sn.NotificationMessage)
+	 */
+	@Override
+	public void send(final W3CEndpointReference destination, final NotificationMessage message) {
+		log.debug("queuing asynchronous notification");
+		try {
+			jobQueue.put(new NotificationJob(destination, message));
+		} catch (InterruptedException e) {
+			log.warn("possibly lost notification", e);
+		}
+	}
+
+	/**
+	 * start this notification sender (called by spring lifecycle).
+	 */
+	void start() {
+		new Thread(this).start(); // NOPMD
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see java.lang.Runnable#run()
+	 */
+	@Override
+	public void run() {
+		while (true) {
+			try {
+				final NotificationJob job = jobQueue.take();
+
+				try {
+					getInvoker().send(job.getDestination(), job.getMessage(), 0);
+				} catch (javax.xml.ws.soap.SOAPFaultException t) {
+					log.fatal("error sending notification to " + job.getDestination().toString(), t);
+				}
+			} catch (InterruptedException e) {
+				log.warn("possibly lost notification", e);
+			}
+		}
+	}
+
+	public BlockingQueue<NotificationJob> getJobQueue() {
+		return jobQueue;
+	}
+
+	public void setJobQueue(final BlockingQueue<NotificationJob> jobQueue) {
+		this.jobQueue = jobQueue;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/ISStoreServiceImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/ISStoreServiceImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/ISStoreServiceImpl.java	(revision 47801)
@@ -0,0 +1,323 @@
+package eu.dnetlib.enabling.is.store;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import javax.annotation.Resource;
+import javax.jws.WebService;
+import javax.xml.ws.Endpoint;
+
+import com.google.common.collect.Iterators;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.enabling.tools.AbstractBaseService;
+import eu.dnetlib.soap.EndpointReferenceBuilder;
+import eu.dnetlib.xml.database.XMLDatabase;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.quartz.Job;
+import org.quartz.JobExecutionException;
+import org.xmldb.api.base.XMLDBException;
+
+/**
+ * ISStore service implementation.
+ * 
+ * @author marko
+ * 
+ */
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public class ISStoreServiceImpl extends AbstractBaseService implements ISStoreService { // NOPMD by marko on 11/24/08
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(ISStoreServiceImpl.class); // NOPMD by marko on 11/24/08 4:46 PM
+
+	/**
+	 * xml database used by the ISStore.
+	 */
+	private XMLDatabase xmlDatabase;
+
+	/**
+	 * Service endpoint.
+	 */
+	private Endpoint endpoint;
+
+	/**
+	 * injected EPR builder.
+	 */
+	@Resource(name = "jaxwsEndpointReferenceBuilder")
+	private EndpointReferenceBuilder<Endpoint> eprBuilder;
+
+	/**
+	 * initializer job
+	 */
+	private Job contentInitializerJob;
+
+	@Override
+	public void start() {
+		super.start();
+
+		new Thread(new Runnable() {
+
+			@Override
+			public void run() {
+				try {
+					Thread.sleep(500);
+					contentInitializerJob.execute(null);
+				} catch (JobExecutionException e) {
+					log.fatal("failed to initialize xmldb", e);
+				} catch (InterruptedException e) {
+					log.fatal("failed to initialize xmldb", e);
+				}
+			}
+		}).start();
+
+	}
+
+	/**
+	 * web service context (not really useful right now).
+	 */
+	// @Resource
+	// private WebServiceContext context;
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#createFileColl(java.lang.String)
+	 */
+	@Override
+	public boolean createFileColl(final String fileColl) throws ISStoreException {
+		try {
+			xmlDatabase.createCollection(fileColl);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#deleteFileColl(java.lang.String)
+	 */
+	@Override
+	public boolean deleteFileColl(final String fileColl) throws ISStoreException {
+		try {
+			xmlDatabase.removeCollection(fileColl);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#deleteXML(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean deleteXML(final String fileName, final String fileColl) throws ISStoreException {
+		try {
+			return xmlDatabase.remove(fileName, fileColl);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#executeXUpdate(java.lang.String)
+	 */
+	@Override
+	public boolean executeXUpdate(final String query) throws ISStoreException {
+		getXMLbyQuery(query);
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#getFileColls()
+	 */
+	@Override
+	public List<String> getFileColls() throws ISStoreException {
+		try {
+			return xmlDatabase.listChildCollections(xmlDatabase.getRootCollection());
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#getFileNames(java.lang.String)
+	 */
+	@Override
+	public List<String> getFileNames(final String fileColl) throws ISStoreException {
+		try {
+			return xmlDatabase.list(fileColl);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#getXML(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public String getXML(final String fileName, final String fileColl) throws ISStoreException {
+		try {
+			return xmlDatabase.read(fileName, fileColl);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#getXMLbyQuery(java.lang.String)
+	 */
+	@Override
+	public String getXMLbyQuery(final String query) throws ISStoreException {
+		log.debug(query);
+
+		try {
+			final Iterator<String> res = xmlDatabase.xquery(query);
+			if (res == null) return null;
+			if (!res.hasNext()) return null;
+			return res.next();
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#insertXML(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean insertXML(final String fileName, final String fileColl, final String file) throws ISStoreException {
+		try {
+			xmlDatabase.create(fileName, fileColl, file);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#quickSearchXML(java.lang.String)
+	 */
+	@Override
+	public List<String> quickSearchXML(final String query) throws ISStoreException {
+		log.debug(query);
+		try {
+			final Iterator<String> res = xmlDatabase.xquery(query);
+			if (res == null) return new ArrayList<>();
+
+			final ArrayList<String> ans = new ArrayList<String>();
+			Iterators.addAll(ans, res);
+			return ans;
+		} catch (XMLDBException e) {
+			log.fatal("searching", e);
+			throw new ISStoreException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#reindex()
+	 */
+	@Override
+	public boolean reindex() {
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#sync()
+	 */
+	@Override
+	public boolean sync() {
+		log.info("TEST: " + endpoint);
+
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#updateXML(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean updateXML(final String fileName, final String fileColl, final String file) throws ISStoreException {
+		try {
+			xmlDatabase.update(fileName, fileColl, file);
+		} catch (XMLDBException e) {
+			throw new ISStoreException(e);
+		}
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.store.rmi.ISStoreService#backup()
+	 */
+	@Override
+	public String backup() throws ISStoreException {
+		try {
+			return xmlDatabase.backup();
+		} catch (Exception e) {
+			throw new ISStoreException(e);
+		}
+	}
+
+	public XMLDatabase getXmlDatabase() {
+		return xmlDatabase;
+	}
+
+	public void setXmlDatabase(final XMLDatabase xmlDatabase) {
+		this.xmlDatabase = xmlDatabase;
+	}
+
+	@Override
+	public boolean isRunning() {
+		return true;
+	}
+
+	public Endpoint getEndpoint() {
+		return endpoint;
+	}
+
+	public void setEndpoint(final Endpoint endpoint) {
+		this.endpoint = endpoint;
+	}
+
+	protected EndpointReferenceBuilder<Endpoint> getEprBuilder() {
+		return eprBuilder;
+	}
+
+	protected void setEprBuilder(final EndpointReferenceBuilder<Endpoint> eprBuilder) {
+		this.eprBuilder = eprBuilder;
+	}
+
+	public Job getContentInitializerJob() {
+		return contentInitializerJob;
+	}
+
+	public void setContentInitializerJob(final Job contentInitializerJob) {
+		this.contentInitializerJob = contentInitializerJob;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/MemoryNotificationInvocationLogger.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/MemoryNotificationInvocationLogger.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/MemoryNotificationInvocationLogger.java	(revision 47801)
@@ -0,0 +1,263 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/**
+ * In memory implementation of a notification invocation logger.
+ *
+ * @author marko
+ *
+ */
+public class MemoryNotificationInvocationLogger implements NotificationInvocationLogger {
+
+	/**
+	 * default log size.
+	 */
+	private static final int DEFAULT_SIZE = 100;
+
+	/**
+	 * Entry.
+	 *
+	 * @author marko
+	 *
+	 */
+	public class MemoryEntry implements Entry {
+
+		/**
+		 * logged message.
+		 */
+		private NotificationMessage message;
+
+		/**
+		 * message status.
+		 */
+		private Status status = Status.Queued;
+
+		/**
+		 * saved exception in case of Failed state.
+		 */
+		private Throwable exception;
+
+		/**
+		 * destination.
+		 */
+		private W3CEndpointReference destinationEpr;
+
+		/**
+		 * start date time.
+		 */
+		private Date start;
+
+		/**
+		 * finish date time.
+		 */
+		private Date finish;
+
+		/**
+		 * construct a new message.
+		 *
+		 * @param endpointReference
+		 *            destination
+		 *
+		 * @param message
+		 *            message
+		 */
+		public MemoryEntry(final W3CEndpointReference endpointReference, final NotificationMessage message) {
+			this.destinationEpr = endpointReference;
+			this.message = message;
+			this.start = new Date();
+		}
+
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry#ongoing()
+		 */
+		@Override
+		public void ongoing() {
+			status = Status.Ongoing;
+		}
+
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry#failure(java.lang.Throwable)
+		 */
+		@Override
+		public void failure(final Throwable exc) {
+			status = Status.Failed;
+			this.exception = exc;
+			commit();
+		}
+
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry#success()
+		 */
+		@Override
+		public void success() {
+			status = Status.Succeeded;
+			commit();
+		}
+
+		/**
+		 * finalize log entry.
+		 */
+		protected void commit() {
+			this.finish = new Date();
+		}
+
+		@Override
+		public NotificationMessage getMessage() {
+			return message;
+		}
+
+		public void setMessage(final NotificationMessage message) {
+			this.message = message;
+		}
+
+		@Override
+		public Throwable getException() {
+			return exception;
+		}
+
+		public void setException(final Throwable exception) {
+			this.exception = exception;
+		}
+
+		@Override
+		public Status getStatus() {
+			return status;
+		}
+
+		public void setStatus(final Status status) {
+			this.status = status;
+		}
+
+		public W3CEndpointReference getDestinationEpr() {
+			return destinationEpr;
+		}
+
+		public void setDestinationEpr(final W3CEndpointReference destinationEpr) {
+			this.destinationEpr = destinationEpr;
+		}
+
+		@Override
+		public String getDestination() {
+			return EPRUtil.getAddress(destinationEpr);
+		}
+
+		/**
+		 * {@inheritDoc}
+		 *
+		 * @see eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry#getErrorMessage()
+		 */
+		@Override
+		public String getErrorMessage() {
+			if (getException() == null)
+				return "";
+			return getException().getMessage();
+		}
+
+		@Override
+		public Date getStart() {
+			return start;
+		}
+
+		public void setStart(final Date start) {
+			this.start = start;
+		}
+
+		@Override
+		public Date getFinish() {
+			return finish;
+		}
+
+		public void setFinish(final Date finish) {
+			this.finish = finish;
+		}
+
+		/**
+		 * {@inheritDoc}
+		 * @see eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry#getDuration()
+		 */
+		@Override
+		public String getDuration() {
+			if (finish == null || start == null)
+				return "-";
+			return (finish.getTime() - start.getTime()) + " ms";
+		}
+	}
+
+	/**
+	 * the actual log storage.
+	 */
+	private ConcurrentLinkedQueue<Entry> queue = new ConcurrentLinkedQueue<Entry>();
+
+	/**
+	 * max log size.
+	 */
+	private int size = DEFAULT_SIZE;
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.NotificationInvocationLogger#startLogging(eu.dnetlib.enabling.is.sn.NotificationMessage)
+	 */
+	@Override
+	public Entry startLogging(final W3CEndpointReference dest, final NotificationMessage message) {
+		final Entry entry = createLoggingEntry(dest, message);
+		queue.add(entry);
+		ensureQueueLength();
+		return entry;
+	}
+
+	/**
+	 * ensure that the queue doesn't grow beyond size.
+	 */
+	private void ensureQueueLength() {
+		if (queue.size() > size)
+			queue.poll();
+	}
+
+	/**
+	 * create a new memory log object.
+	 *
+	 * @param dest
+	 *            destination
+	 *
+	 * @param message
+	 *            message to be logged
+	 * @return new entry instance
+	 */
+	protected Entry createLoggingEntry(final W3CEndpointReference dest, final NotificationMessage message) {
+		return new MemoryEntry(dest, message);
+	}
+
+	public ConcurrentLinkedQueue<Entry> getQueue() {
+		return queue;
+	}
+
+	public void setQueue(final ConcurrentLinkedQueue<Entry> queue) {
+		this.queue = queue;
+	}
+
+	public int getSize() {
+		return size;
+	}
+
+	public void setSize(final int size) {
+		this.size = size;
+	}
+
+	@Override
+	public Collection<Entry> getEntries() {
+		return getQueue();
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManagerImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManagerImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManagerImpl.java	(revision 47801)
@@ -0,0 +1,257 @@
+package eu.dnetlib.enabling.is.registry;
+
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Required;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.enabling.tools.blackboard.BlackboardMessage;
+import eu.dnetlib.miscutils.datetime.DateUtils;
+import eu.dnetlib.miscutils.jaxb.JaxbFactory;
+
+/**
+ * Simple registry blackboard manager implementation.
+ * 
+ * @author marko
+ * 
+ */
+public class RegistryBlackboardManagerImpl implements RegistryBlackboardManager { // NOPMD
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(RegistryBlackboardManagerImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * timestamp padding.
+	 */
+	private static final String PADDING = "000";
+
+	/**
+	 * milliseconds in a second.
+	 */
+	private static final int MILLIS = 1000;
+
+	/**
+	 * IS Lookup
+	 */
+	private ISLookUpService isLookup;
+
+	/**
+	 * the registry which is bound with this registry blackboard manager implementation.
+	 */
+	private ISRegistryService registryService;
+
+	/**
+	 * blackboard message factory.
+	 */
+	private JaxbFactory<BlackboardMessage> messageFactory;
+
+	/**
+	 * provides the current date. Testers can override.
+	 */
+	private MessageDater messageDater = new MessageDater();
+
+	/**
+	 * Testers can override.
+	 * 
+	 * @author marko
+	 * 
+	 */
+	public static class MessageDater {
+
+		public String getCurrentDate() {
+			return DateUtils.now_ISO8601();
+		}
+
+		public String getNumericStamp() {
+			return Long.toString(System.currentTimeMillis() / MILLIS) + "." + System.currentTimeMillis() % MILLIS + PADDING;
+		}
+	}
+
+	/**
+	 * LAST_REQUEST or LAST_RESPONSE blackboard time stamp holders.
+	 * 
+	 * @author marko
+	 * 
+	 */
+	public enum LastStamp {
+		/**
+		 * LAST_REQUEST, used when the blackboard message flows from the client to the server.
+		 */
+		REQUEST,
+
+		/**
+		 * LAST_RESPONSE, used when the blackboard message flows from the server to the client, signaling the completion/progress of the
+		 * action..
+		 */
+		RESPONSE
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.RegistryBlackboardManager#addMessage(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public void addMessage(final String profId, final String messageId, final String message) { // NOPMD
+		try {
+			final BlackboardMessage bbm = messageFactory.parse(message);
+			bbm.setDate(messageDater.getCurrentDate()); // preserve compatibility.
+
+			if (bbm.getId() == null || !bbm.getId().equals(messageId)) { throw new IllegalArgumentException("invalid blackboard message id"); }
+
+			synchronized (this) {
+				final OpaqueResource serviceProfile = new StringOpaqueResource(isLookup.getResourceProfile(profId));
+
+				final Document doc = serviceProfile.asDom();
+				final Node bboard = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD", doc, XPathConstants.NODE);
+
+				// delete current element if exists
+				final Node messageElement = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/MESSAGE[@id='" + messageId + "']", doc,
+						XPathConstants.NODE);
+
+				if (messageElement != null) {
+					bboard.removeChild(messageElement);
+				}
+
+				// append the serialized node to the blackboard node
+				messageFactory.serialize(bbm, new DOMResult(bboard));
+
+				updateLastStamps(doc, LastStamp.REQUEST, messageId);
+
+				registryService.updateProfile(profId, serviceProfile.asString(), serviceProfile.getResourceType());
+			}
+		} catch (Exception e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	/**
+	 * Helper method which updates the LAST_* stamps in the blackboard header.
+	 * 
+	 * @param doc
+	 *            profile DOM document
+	 * @param stamp
+	 *            which stamp to modify
+	 * @param messageId
+	 *            message id to point the stamp to
+	 * @throws XPathExpressionException
+	 *             could happen
+	 */
+	protected void updateLastStamps(final Document doc, final LastStamp stamp, final String messageId) throws XPathExpressionException {
+		final Element lastRequest = (Element) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/LAST_" + stamp, doc, XPathConstants.NODE);
+		lastRequest.setTextContent(messageId);
+		lastRequest.setAttribute("date", messageDater.getNumericStamp());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.RegistryBlackboardManager#deleteMessage(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public void deleteMessage(final String profId, final String messageId) {
+		try {
+			synchronized (this) {
+				final OpaqueResource serviceProfile = new StringOpaqueResource(isLookup.getResourceProfile(profId));
+				final Document doc = serviceProfile.asDom();
+
+				final Node message = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/MESSAGE[@id='" + messageId + "']", doc,
+						XPathConstants.NODE);
+
+				message.getParentNode().removeChild(message);
+
+				registryService.updateProfile(profId, serviceProfile.asString(), serviceProfile.getResourceType());
+			}
+			log.debug("Deleted bb message " + messageId + " from profile " + profId);
+		} catch (Exception e) {
+			log.error("Error deleting bb message " + messageId + " from profile " + profId, e);
+			throw new IllegalStateException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.RegistryBlackboardManager#replyMessage(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public void replyMessage(final String profId, final String message) {
+		try {
+			final BlackboardMessage bbm = messageFactory.parse(message);
+			bbm.setDate(messageDater.getCurrentDate()); // preserve compatibility.
+
+			final String messageId = bbm.getId();
+
+			synchronized (this) {
+				final OpaqueResource serviceProfile = new StringOpaqueResource(isLookup.getResourceProfile(profId));
+				final Document doc = serviceProfile.asDom();
+
+				final Node messageElement = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/MESSAGE[@id='" + messageId + "']", doc,
+						XPathConstants.NODE);
+
+				if (messageElement == null) { throw new IllegalArgumentException("no such blackboard message " + messageId + ". Unably to reply"); }
+
+				final Node bboard = messageElement.getParentNode();
+				bboard.removeChild(messageElement);
+
+				// append the serialized node to the blackboard node
+				messageFactory.serialize(bbm, new DOMResult(bboard));
+
+				updateLastStamps(doc, LastStamp.RESPONSE, messageId);
+
+				registryService.updateProfile(profId, serviceProfile.asString(), serviceProfile.getResourceType());
+			}
+		} catch (Exception e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	public ISRegistryService getRegistryService() {
+		return registryService;
+	}
+
+	@Required
+	public void setRegistryService(final ISRegistryService registryService) {
+		this.registryService = registryService;
+	}
+
+	public JaxbFactory<BlackboardMessage> getMessageFactory() {
+		return messageFactory;
+	}
+
+	@Required
+	public void setMessageFactory(final JaxbFactory<BlackboardMessage> messageFactory) {
+		this.messageFactory = messageFactory;
+	}
+
+	public MessageDater getMessageDater() {
+		return messageDater;
+	}
+
+	public void setMessageDater(final MessageDater messageDater) {
+		this.messageDater = messageDater;
+	}
+
+	public ISLookUpService getIsLookup() {
+		return isLookup;
+	}
+
+	@Required
+	public void setIsLookup(final ISLookUpService isLookup) {
+		this.isLookup = isLookup;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractNotificationSender.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractNotificationSender.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractNotificationSender.java	(revision 47801)
@@ -0,0 +1,30 @@
+package eu.dnetlib.enabling.is.sn;
+
+
+/**
+ * NotificationSender interface defines an injection point for the NotificationInvoker instance.
+ * 
+ * <p>
+ * It will be fairly common for implementors of NotificationSender to back the invoker reference into an instance
+ * variable. This abstract class offers this for free. </p>
+ * 
+ * @author marko
+ * 
+ */
+public abstract class AbstractNotificationSender implements NotificationSender {
+
+	/**
+	 * notification invoker used to send messages to destinations.
+	 */
+	private NotificationInvoker invoker;
+
+	public NotificationInvoker getInvoker() {
+		return invoker;
+	}
+
+	@Override
+	public void setInvoker(final NotificationInvoker invoker) {
+		this.invoker = invoker;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationDetector.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationDetector.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationDetector.java	(revision 47801)
@@ -0,0 +1,17 @@
+package eu.dnetlib.enabling.is.sn;
+
+
+/**
+ * Implementors of this interface are able to detect events which will trigger notifications.
+ * @author marko
+ *
+ */
+public interface NotificationDetector {
+
+	/**
+	 * injection point for NotificationSender.
+	 * 
+	 * @param sender sender
+	 */
+	void setSender(NotificationSender sender);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationTriggerImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationTriggerImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationTriggerImpl.java	(revision 47801)
@@ -0,0 +1,80 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.w3c.dom.Document;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector;
+import eu.dnetlib.enabling.tools.DOMOpaqueResource;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import eu.dnetlib.xml.database.LoggingTrigger;
+
+/**
+ * This trigger generates notification events for the subscription notification layer. 
+ * 
+ * @author marko
+ *
+ */
+public class NotificationTriggerImpl extends LoggingTrigger {
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(NotificationTriggerImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * notification detector to notify on events.
+	 */
+	private ResourceStateNotificationDetector<OpaqueResource> detector;
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.xml.database.LoggingTrigger#created(java.lang.String, java.lang.String, org.w3c.dom.Document)
+	 */
+	@Override
+	public void created(final String file, final String collection, final Document newDoc) {
+		super.created(file, collection, newDoc);
+		try {
+			getDetector().resourceCreated(new DOMOpaqueResource(newDoc));
+		} catch (XPathExpressionException e) {
+			log.fatal("cannot detect notification because of xpath error; notification possibly missed", e);
+		}
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.xml.database.LoggingTrigger#deleted(java.lang.String, java.lang.String, org.w3c.dom.Document)
+	 */
+	@Override
+	public void deleted(final String file, final String collection, final Document oldDoc) {
+		super.deleted(file, collection, oldDoc);
+		try {
+			getDetector().resourceDeleted(new DOMOpaqueResource(oldDoc));
+		} catch (XPathExpressionException e) {
+			log.fatal("cannot detect notification because of xpath error; notification possibly missed", e);
+		}
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.xml.database.LoggingTrigger#updated(java.lang.String, java.lang.String, org.w3c.dom.Document, org.w3c.dom.Document)
+	 */
+	@Override
+	public void updated(final String file, final String collection, final Document oldDoc, final Document newDoc) {
+		super.updated(file, collection, oldDoc, newDoc);
+		try {
+			getDetector().resourceUpdated(new DOMOpaqueResource(oldDoc), new DOMOpaqueResource(newDoc));
+		} catch (XPathExpressionException e) {
+			log.fatal("cannot detect notification because of xpath error; notification possibly missed", e);
+		}
+	}
+	
+	public ResourceStateNotificationDetector<OpaqueResource> getDetector() {
+		return detector;
+	}
+
+	public void setDetector(final ResourceStateNotificationDetector<OpaqueResource> detector) {
+		this.detector = detector;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SynchronousNotificationSenderImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SynchronousNotificationSenderImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SynchronousNotificationSenderImpl.java	(revision 47801)
@@ -0,0 +1,40 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * This implementation of NotificationSender simply sends notification synchronously.
+ * 
+ * NOTE: this is only for testing. Real-wold cases should use AsynchrnonousNotificationSender, because we have to 
+ * get out the thread serving eXist queries.
+ * 
+ * @author marko
+ * 
+ */
+public class SynchronousNotificationSenderImpl extends AbstractNotificationSender {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(SynchronousNotificationSenderImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.NotificationSender#send(javax.xml.ws.wsaddressing.W3CEndpointReference,
+	 *      eu.dnetlib.enabling.is.sn.NotificationMessage)
+	 */
+	@Override
+	public void send(final W3CEndpointReference destination, final NotificationMessage message) {
+		log.info("synchronously sending message " + message.getSubscriptionId() + ", " + message.getTopic() + ", " + message.getResourceId() + ", "
+				+ message.getBody());
+		try {
+			getInvoker().send(destination, message, 0);
+		} catch (javax.xml.ws.soap.SOAPFaultException t) {
+			log.fatal("error sending notification to " + destination.toString(), t);
+		}
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/EPRUtil.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/EPRUtil.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/EPRUtil.java	(revision 47801)
@@ -0,0 +1,65 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+/**
+ * Extracts useful low level informations from an EPR, so that these can be encoded in the OAI
+ * resumption token.
+ *
+ * @author michele
+ *
+ */
+public final class EPRUtil {
+
+	/**
+	 * prevents instantiation.
+	 */
+	private EPRUtil() {
+		// prevents instantiation
+	}
+
+	/**
+	 * Extracts the service address out of the EPR.
+	 *
+	 * @param epr epr
+	 * @return address
+	 */
+	public static String getAddress(final W3CEndpointReference epr) {
+		return getValue(epr, "Address");
+	}
+
+	/**
+	 * Extracts the resource identifier out of the EPR.
+	 * @param epr epr
+	 * @return resource identifier
+	 */
+	public static String getResourceIdentifier(final W3CEndpointReference epr) {
+		return getValue(epr, "ResourceIdentifier");
+	}
+
+	/**
+	 * Extracts an element with a given local name out of the resource identifier.
+	 *
+	 * @param epr epr
+	 * @param name element name
+	 * @return element value
+	 */
+	private static String getValue(final W3CEndpointReference epr, final String name) {
+		final DOMResult dom = new DOMResult();
+		epr.writeTo(dom);
+
+		try {
+			return XPathFactory.newInstance().newXPath().evaluate("//*[local-name() = '" + name + "']", dom.getNode());
+		} catch (final XPathExpressionException e) {
+			throw new IllegalStateException("cannot construct xpath expression", e);
+		}
+	}
+
+
+
+
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/PermissiveOpaqueResourceValidatorImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/PermissiveOpaqueResourceValidatorImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/PermissiveOpaqueResourceValidatorImpl.java	(revision 47801)
@@ -0,0 +1,36 @@
+package eu.dnetlib.enabling.is.registry.schema;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * Unlike the OpaqueResourceValidatorImpl, this implementation only logs an error but accepts every resource as valid.
+ * 
+ * Use only during testing/development!
+ * 
+ * @author marko
+ * 
+ */
+public class PermissiveOpaqueResourceValidatorImpl extends OpaqueResourceValidatorImpl {
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(PermissiveOpaqueResourceValidatorImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.schema.OpaqueResourceValidatorImpl#validate(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void validate(final OpaqueResource resource) throws ValidationException {
+		try {
+			super.validate(resource);
+		} catch (ValidationException e) {
+			log.fatal("validation error, continuing (permissive mode)", e);
+		}
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationMessage.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationMessage.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationMessage.java	(revision 47801)
@@ -0,0 +1,85 @@
+package eu.dnetlib.enabling.is.sn;
+
+/**
+ * This class encapsulates the notification message sent to ISSN subscribers.
+ * 
+ * @author marko
+ * 
+ */
+public class NotificationMessage {
+
+	/**
+	 * subscription identifier.
+	 */
+	private String subscriptionId;
+
+	/**
+	 * subscription topic that triggered the notification.
+	 */
+	private String topic;
+
+	/**
+	 * resource identifier that triggered the notification.
+	 */
+	private String resourceId;
+
+	/**
+	 * message body.
+	 */
+	private String body;
+
+	/**
+	 * default constructor.
+	 */
+	public NotificationMessage() {
+		// no operation
+	}
+	
+	/**
+	 * constructor with full parameters.
+	 * 
+	 * @param subscriptionId subscription identifier
+	 * @param topic produced topic
+	 * @param resourceId resource identifier of the resource which triggered the notification, or null
+	 * @param body body of the document which triggered the notification, or null
+	 */
+	public NotificationMessage(final String subscriptionId, final String topic, final String resourceId, final String body) {
+		super();
+		this.subscriptionId = subscriptionId;
+		this.topic = topic;
+		this.resourceId = resourceId;
+		this.body = body;
+	}
+
+	public String getSubscriptionId() {
+		return subscriptionId;
+	}
+
+	public void setSubscriptionId(final String subscriptionId) {
+		this.subscriptionId = subscriptionId;
+	}
+
+	public String getTopic() {
+		return topic;
+	}
+
+	public void setTopic(final String topic) {
+		this.topic = topic;
+	}
+
+	public String getResourceId() {
+		return resourceId;
+	}
+
+	public void setResourceId(final String resourceId) {
+		this.resourceId = resourceId;
+	}
+
+	public String getBody() {
+		return body;
+	}
+
+	public void setBody(final String body) {
+		this.body = body;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ISRegistryServiceImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ISRegistryServiceImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ISRegistryServiceImpl.java	(revision 47801)
@@ -0,0 +1,595 @@
+package eu.dnetlib.enabling.is.registry; // NOPMD
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+import javax.jws.WebService;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Required;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+import com.sun.xml.messaging.saaj.util.Base64;
+
+import eu.dnetlib.common.rmi.APIDeprecatedException;
+import eu.dnetlib.common.rmi.UnimplementedException;
+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.is.registry.schema.OpaqueResourceValidator;
+import eu.dnetlib.enabling.is.registry.schema.ValidationException;
+import eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy;
+import eu.dnetlib.enabling.is.registry.validation.RegistrationPhase;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.enabling.tools.AbstractBaseService;
+import eu.dnetlib.enabling.tools.CompatResourceIdentifierResolverImpl;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import eu.dnetlib.enabling.tools.ResourceIdentifierResolver;
+import eu.dnetlib.enabling.tools.ResourceType;
+import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.enabling.tools.UniqueIdentifierGenerator;
+import eu.dnetlib.enabling.tools.UniqueIdentifierGeneratorImpl;
+import eu.dnetlib.enabling.tools.XQueryUtils;
+
+/**
+ * Registry service implementation.
+ * 
+ * @author marko
+ * 
+ */
+@WebService(targetNamespace = "http://services.dnetlib.eu/")
+public class ISRegistryServiceImpl extends AbstractBaseService implements ISRegistryService { // NOPMD by marko on
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(ISRegistryServiceImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * error message: secure profile registration.
+	 */
+	private static final String ERROR_SEC_PROFILE = "cannot register secure profile";
+
+	/**
+	 * error message: trying to retrieve the current stored version of the resource profile.
+	 */
+	private static final String CANT_FETCH = "cannot fetch original profile";
+
+	/**
+	 * error message: cannot create a resource.
+	 */
+	private static final String CANT_CREATE = "cannot create resource";
+
+	/**
+	 * IS Store
+	 */
+	private ISStoreService isStore;
+
+	/**
+	 * IS Lookup
+	 */
+	private ISLookUpService isLookup;
+
+	/**
+	 * uuid generator.
+	 */
+	@Resource
+	private UniqueIdentifierGenerator uuidGenerator = new UniqueIdentifierGeneratorImpl();
+
+	/**
+	 * manages the pending state of resource. Different implementations can be plugged in.
+	 */
+	private PendingResourceManager pendingManager = new CompatPendingResourceManagerImpl();
+
+	/**
+	 * manages resource identifier mappings with the abstract xmldb namespace (files/collections).
+	 */
+	@Resource
+	private ResourceIdentifierResolver resIdResolver = new CompatResourceIdentifierResolverImpl();
+
+	/**
+	 * used to validate resources.
+	 */
+	private OpaqueResourceValidator resourceValidator;
+
+	/**
+	 * used to validate resources w.r.t. a set of defined properties.
+	 */
+	@Resource
+	private ProfileValidationStrategy profileValidationStrategy;
+
+	/**
+	 * query utils. Used to obtain xmldb collection names and other things useful for interacting with the IS_Store.
+	 */
+	private XQueryUtils xqueryUtils;
+
+	/**
+	 * the blackboard management stuff is factored out here.
+	 */
+	@Resource
+	private RegistryBlackboardManager blackboardManager;
+
+	@Override
+	public void start() {
+		super.start();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#addBlackBoardMessage(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public void addBlackBoardMessage(final String profId, final String messageId, final String message) throws ISRegistryException {
+		blackboardManager.addMessage(profId, messageId, message);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#addOrUpdateResourceType(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean addOrUpdateResourceType(final String resourceType, final String resourceSchema) throws ISRegistryException {
+		return addResourceType(resourceType, resourceSchema);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#addProfileNode(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean addProfileNode(final String profId, final String xpath, final String node) throws ISRegistryException {
+		// TODO Auto-generated method stub
+		throw new UnimplementedException();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#addResourceType(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean addResourceType(final String resourceType, final String resourceSchema) throws ISRegistryException {
+		try {
+			return isStore.insertXML(resourceType, xqueryUtils.getRootCollection() + ResourceType.RESOURCE_TYPES,
+					resourceSchema);
+		} catch (ISStoreException e) {
+			throw new ISRegistryException("cannot add resource type", e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#deleteBlackBoardMessage(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public void deleteBlackBoardMessage(final String profId, final String messageId) throws ISRegistryException {
+		blackboardManager.deleteMessage(profId, messageId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#deleteProfile(java.lang.String)
+	 */
+	@Override
+	public boolean deleteProfile(final String resId) throws ISRegistryException {
+		try {
+			final boolean res = isStore.deleteXML(resIdResolver.getFileName(resId),
+					"/db/DRIVER/" + resIdResolver.getCollectionName(resId));
+			if (!res) { throw new ISRegistryDocumentNotFoundException("document " + resId + " not found"); }
+
+			return true;
+		} catch (ISStoreException e) {
+			throw new ISRegistryException("cannot delete profile " + resId, e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#deleteProfiles(java.util.List)
+	 */
+	@Override
+	public boolean deleteProfiles(final List<String> arrayprofId) throws ISRegistryException {
+		throw new APIDeprecatedException();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#deleteResourceType(java.lang.String, java.lang.Boolean)
+	 */
+	@Override
+	public boolean deleteResourceType(final String resourceType, final Boolean hierarchical) throws ISRegistryException {
+		try {
+			return isStore.deleteXML(resourceType, xqueryUtils.getRootCollection() + ResourceType.RESOURCE_TYPES);
+		} catch (ISStoreException e) {
+			throw new ISRegistryException("error deleting resource type " + resourceType, e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#executeXUpdate(java.lang.String)
+	 */
+	@Override
+	public boolean executeXUpdate(final String xquery) throws ISRegistryException {
+		try {
+			return isStore.executeXUpdate(xquery);
+		} catch (ISStoreException e) {
+			throw new ISRegistryException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#insertProfileForValidation(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public String insertProfileForValidation(final String resourceType, final String resourceProfile) throws ISRegistryException {
+		try {
+			final OpaqueResource resource = new StringOpaqueResource(resourceProfile);
+			if (!resourceType.equals(resource.getResourceType())) { throw new ISRegistryException("expected resource type doesn't match to resource"); }
+
+			pendingManager.setPending(resource, true);
+
+			return registerProfile(resource.asString());
+		} catch (XPathExpressionException e) {
+			throw new ISRegistryException(e);
+		} catch (SAXException e) {
+			throw new ISRegistryException(e);
+		} catch (IOException e) {
+			throw new ISRegistryException(e);
+		} catch (ParserConfigurationException e) {
+			throw new ISRegistryException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#refreshProfile(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean refreshProfile(final String profId, final String resourceType) throws ISRegistryException {
+		// TODO Auto-generated method stub
+		throw new UnimplementedException();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#registerProfile(java.lang.String)
+	 */
+	@Override
+	public String registerProfile(final String resourceProfile) throws ISRegistryException {
+		log.debug("registering profile");
+
+		try {
+			final OpaqueResource resource = new StringOpaqueResource(resourceProfile);
+
+			// TODO: factor this out (possibly not within the OpaqueResource class)
+			final String coll = xqueryUtils.getCollectionPath(resource);
+			final String fileName = uuidGenerator.generateIdentifier();
+			final String newId = fileName + "_" + new String(Base64.encode(coll.getBytes()));
+			resource.setResourceId(newId);
+
+			resource.setModificationDate(new Date());
+
+			// log.info("validating to xml schema: " + resource.asString());
+			resourceValidator.validate(resource);
+
+			profileValidationStrategy.accept(resource, RegistrationPhase.Register);
+
+			// TODO: factor out ResourceType class
+			isStore.insertXML(fileName, xqueryUtils.getRootCollection() + coll, resource.asString());
+
+			return resource.getResourceId();
+		} catch (XPathExpressionException e) {
+			throw new ISRegistryException(e);
+		} catch (SAXException e) {
+			throw new ISRegistryException(e);
+		} catch (IOException e) {
+			throw new ISRegistryException(e);
+		} catch (ParserConfigurationException e) {
+			throw new ISRegistryException(e);
+		} catch (ISStoreException e) {
+			throw new ISRegistryException(e);
+		} catch (ValidationException e) {
+			throw new ISRegistryException("profile is not conforming to the schema: " + e.getMessage(), e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#registerSecureProfile(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public String registerSecureProfile(final String resourceProfId, final String secureProfId) throws ISRegistryException {
+		try {
+			synchronized (this) {
+				final String secureProfSrc;
+				try {
+					secureProfSrc = isLookup.getResourceProfile(secureProfId); // NOPMD
+				} catch (ISLookUpDocumentNotFoundException e) {
+					throw new ISRegistryException("cannot register secure profile, the given secure profile doesn't exist", e);
+				}
+				final OpaqueResource secureProf = new StringOpaqueResource(secureProfSrc);
+
+				final String profId = validateProfile(resourceProfId);
+
+				final XPath xpath = XPathFactory.newInstance().newXPath();
+				final Element idEl = (Element) xpath.evaluate("/RESOURCE_PROFILE/BODY/CONFIGURATION/resourceId", secureProf.asDom(), XPathConstants.NODE);
+				idEl.setTextContent(profId);
+
+				if (!updateProfile(secureProfId, secureProf.asString(), secureProf.getResourceType())) { throw new ISRegistryException(
+						"cannot update security profile (updateProfile returned false)"); }
+
+				return profId;
+			}
+		} catch (XPathExpressionException e) {
+			throw new ISRegistryException(ERROR_SEC_PROFILE, e);
+		} catch (SAXException e) {
+			throw new ISRegistryException(ERROR_SEC_PROFILE, e);
+		} catch (IOException e) {
+			throw new ISRegistryException(ERROR_SEC_PROFILE, e);
+		} catch (ParserConfigurationException e) {
+			throw new ISRegistryException(ERROR_SEC_PROFILE, e);
+		} catch (ISLookUpException e) {
+			throw new ISRegistryException("cannot register secure profile, problem fetching the given secure profile", e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#removeProfileNode(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean removeProfileNode(final String profId, final String nodeId) throws ISRegistryException {
+		// TODO Auto-generated method stub
+		throw new UnimplementedException();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#replyBlackBoardMessage(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public void replyBlackBoardMessage(final String profId, final String message) throws ISRegistryException {
+		blackboardManager.replyMessage(profId, message);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#updateProfile(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean updateProfile(final String resId, final String resourceProfile, final String resourceType) throws ISRegistryException {
+		try {
+			final String fileName = resIdResolver.getFileName(resId);
+			final String fileColl = "/db/DRIVER/" + resIdResolver.getCollectionName(resId);
+
+			final String oldProfileSrc = isStore.getXML(fileName, fileColl);
+
+			if (oldProfileSrc == null) { throw new ISRegistryException("cannot update a non existing profile " + resId); }
+
+			final OpaqueResource oldResource = new StringOpaqueResource(oldProfileSrc);
+
+			final StringOpaqueResource newResource = new StringOpaqueResource(resourceProfile);
+			newResource.setResourceId(oldResource.getResourceId());
+			newResource.setResourceKind(oldResource.getResourceKind());
+			newResource.setResourceType(oldResource.getResourceType());
+			newResource.setModificationDate(new Date());
+
+			getResourceValidator().validate(newResource);
+
+			return isStore.updateXML(fileName, fileColl, newResource.asString());
+		} catch (ISStoreException e) {
+			throw new ISRegistryException(e);
+		} catch (XPathExpressionException e) {
+			throw new ISRegistryException(e);
+		} catch (ValidationException e) {
+			throw new ISRegistryException("profile not conforming to xml schema", e);
+		} catch (SAXException e) {
+			throw new ISRegistryException(e);
+		} catch (IOException e) {
+			throw new ISRegistryException(e);
+		} catch (ParserConfigurationException e) {
+			throw new ISRegistryException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#updateProfileDHN(java.lang.String)
+	 */
+	@Override
+	public String updateProfileDHN(final String resourceProfile) throws ISRegistryException {
+		// TODO Auto-generated method stub
+		throw new UnimplementedException();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#updateProfileNode(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean updateProfileNode(final String profId, final String xpath, final String node) throws ISRegistryException {
+		return executeXUpdate("for $x in collection('/db/DRIVER')//RESOURCE_PROFILE[.//RESOURCE_IDENTIFIER/@value eq '" + profId + "']" + xpath
+				+ " return update replace $x with " + node);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#updateRegionDescription(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean updateRegionDescription(final String profId, final String resourceProfile) throws ISRegistryException {
+		// TODO Auto-generated method stub
+		throw new UnimplementedException();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#validateProfile(java.lang.String)
+	 */
+	@Override
+	public String validateProfile(final String profId) throws ISRegistryException {
+		try {
+			final String resourceProfile = isLookup.getResourceProfile(profId);
+			final OpaqueResource resource = new StringOpaqueResource(resourceProfile);
+			pendingManager.setValid(resource);
+
+			return resource.getResourceId();
+		} catch (ISLookUpException e) {
+			throw new ISRegistryException(CANT_FETCH, e);
+		} catch (XPathExpressionException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		} catch (SAXException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		} catch (IOException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		} catch (ParserConfigurationException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#invalidateProfile(java.lang.String)
+	 */
+	@Override
+	public String invalidateProfile(final String profId) throws ISRegistryException {
+		try {
+			final String resourceProfile = isLookup.getResourceProfile(profId);
+			final OpaqueResource resource = new StringOpaqueResource(resourceProfile);
+			pendingManager.setPending(resource);
+
+			return resource.getResourceId();
+		} catch (ISLookUpException e) {
+			throw new ISRegistryException(CANT_FETCH, e);
+		} catch (XPathExpressionException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		} catch (SAXException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		} catch (IOException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		} catch (ParserConfigurationException e) {
+			throw new ISRegistryException(CANT_CREATE, e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.rmi.ISRegistryService#validateProfiles(java.util.List)
+	 */
+	@Override
+	public List<String> validateProfiles(final List<String> profIds) throws ISRegistryException {
+		throw new APIDeprecatedException();
+	}
+
+	public UniqueIdentifierGenerator getUuidGenerator() {
+		return uuidGenerator;
+	}
+
+	public void setUuidGenerator(final UniqueIdentifierGenerator uuidGenerator) {
+		this.uuidGenerator = uuidGenerator;
+	}
+
+	public PendingResourceManager getPendingManager() {
+		return pendingManager;
+	}
+
+	public void setPendingManager(final PendingResourceManager pendingManager) {
+		this.pendingManager = pendingManager;
+	}
+
+	public ResourceIdentifierResolver getResIdResolver() {
+		return resIdResolver;
+	}
+
+	public void setResIdResolver(final ResourceIdentifierResolver resIdResolver) {
+		this.resIdResolver = resIdResolver;
+	}
+
+	public OpaqueResourceValidator getResourceValidator() {
+		return resourceValidator;
+	}
+
+	@Required
+	public void setResourceValidator(final OpaqueResourceValidator resourceValidator) {
+		this.resourceValidator = resourceValidator;
+	}
+
+	@Required
+	public void setXqueryUtils(final XQueryUtils xqueryUtils) {
+		this.xqueryUtils = xqueryUtils;
+	}
+
+	public XQueryUtils getXqueryUtils() {
+		return xqueryUtils;
+	}
+
+	public RegistryBlackboardManager getBlackboardManager() {
+		return blackboardManager;
+	}
+
+	public void setBlackboardManager(final RegistryBlackboardManager blackboardManager) {
+		this.blackboardManager = blackboardManager;
+	}
+
+	public ProfileValidationStrategy getProfileValidationStrategy() {
+		return profileValidationStrategy;
+	}
+
+	public void setProfileValidationStrategy(final ProfileValidationStrategy profileValidationStrategy) {
+		this.profileValidationStrategy = profileValidationStrategy;
+	}
+
+	public ISStoreService getIsStore() {
+		return isStore;
+	}
+
+	@Required
+	public void setIsStore(final ISStoreService isStore) {
+		this.isStore = isStore;
+	}
+
+	public ISLookUpService getIsLookup() {
+		return isLookup;
+	}
+
+	@Required
+	public void setIsLookup(final ISLookUpService isLookup) {
+		this.isLookup = isLookup;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAOImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAOImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAOImpl.java	(revision 47801)
@@ -0,0 +1,65 @@
+package eu.dnetlib.enabling.is.registry.schema;
+
+import java.io.StringReader;
+
+import javax.xml.XMLConstants;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Required;
+import org.xml.sax.SAXException;
+
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+
+/**
+ * manages the resource schemas through the registry service.
+ * 
+ * @author marko
+ * 
+ */
+public class ResourceSchemaDAOImpl implements ResourceSchemaDAO {
+
+	private ISLookUpService isLookup;
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(ResourceSchemaDAOImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.schema.ResourceSchemaDAO#getResourceSchema(java.lang.String)
+	 */
+	@Override
+	public Schema getResourceSchema(final String resourceType) {
+		try {
+			final String schemaSource = isLookup.getResourceTypeSchema(resourceType);
+			if (schemaSource == null || schemaSource.isEmpty()) {
+				log.warn("cannot find resource type " + resourceType);
+				return null;
+			}
+			return SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(new StreamSource(new StringReader(schemaSource)));
+		} catch (ISLookUpException e) {
+			log.warn("cannot find resource type" + resourceType, e);
+			return null;
+		} catch (SAXException e) {
+			log.fatal("cannot parse resource type schema", e);
+			return null;
+		}
+	}
+
+	public ISLookUpService getIsLookup() {
+		return isLookup;
+	}
+
+	@Required
+	public void setIsLookup(final ISLookUpService isLookup) {
+		this.isLookup = isLookup;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ResourceKindResolver.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ResourceKindResolver.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ResourceKindResolver.java	(revision 47801)
@@ -0,0 +1,8 @@
+package eu.dnetlib.enabling.is.registry;
+
+import javax.xml.xpath.XPathExpressionException;
+
+public interface ResourceKindResolver {
+	String getNormalKindForType(final String resourceType) throws XPathExpressionException;
+	String getPendingKindForType(final String resourceType) throws XPathExpressionException;
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAO.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAO.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAO.java	(revision 47801)
@@ -0,0 +1,21 @@
+package eu.dnetlib.enabling.is.registry.schema;
+
+import javax.xml.validation.Schema;
+
+/**
+ * data access object for managing resource schemas.
+ * 
+ * @author marko
+ *
+ */
+public interface ResourceSchemaDAO {
+
+	/**
+	 * obtain a resource schema instance for a given resource type.
+	 * 
+	 * @param resourceType resource type
+	 * @return schema instance
+	 */
+	Schema getResourceSchema(String resourceType);
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ApplicationProfileResourceKindResolver.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ApplicationProfileResourceKindResolver.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ApplicationProfileResourceKindResolver.java	(revision 47801)
@@ -0,0 +1,77 @@
+package eu.dnetlib.enabling.is.registry;
+
+import java.io.IOException;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/**
+ * Resolves resource kinds (pending and normal from the application profile xml file).
+ * 
+ * @author marko
+ * 
+ */
+public class ApplicationProfileResourceKindResolver implements ResourceKindResolver {
+
+	/**
+	 * information space application profile. Contains, among others, mappings for the.. TODO: move to a DAO.
+	 * 
+	 */
+	private Document appProfile;
+
+	public ApplicationProfileResourceKindResolver() {
+		try {
+			appProfile = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(
+					getClass().getResourceAsStream("DRIVERInformationSpaceApplicationProfile.xml"));
+		} catch (SAXException e) {
+			throw new IllegalStateException("cannot parse information space application profile", e);
+		} catch (IOException e) {
+			throw new IllegalStateException("cannot parse information space application profile", e);
+		} catch (ParserConfigurationException e) {
+			throw new IllegalStateException("cannot parse information space application profile", e);
+		}
+	}
+
+	/**
+	 * get the default resource kind associated with a given resource type.
+	 * 
+	 * @param resourceType
+	 *            resource type
+	 * @return resourceType
+	 * @throws XPathExpressionException
+	 *             happens?
+	 */
+	@Override
+	public String getNormalKindForType(final String resourceType) throws XPathExpressionException {
+		final XPath xpath = XPathFactory.newInstance().newXPath();
+		final String res = xpath.evaluate("//RESOURCE_TYPE[text() = '" + resourceType + "']/../../RESOURCE_KIND", appProfile);
+		if (res.isEmpty())
+			return null;
+		return res;
+	}
+
+	/**
+	 * find the associated pending typology for a given resource type.
+	 * 
+	 * @param resourceType
+	 *            resource type
+	 * @return pending resource kind
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 */
+	@Override
+	public String getPendingKindForType(final String resourceType) throws XPathExpressionException {
+		final XPath xpath = XPathFactory.newInstance().newXPath();
+		final String res = xpath.evaluate("//RESOURCE_TYPE[text() = '" + resourceType + "']/../../PENDING_TYPOLOGY", appProfile);
+		if (res.isEmpty())
+			throw new NoSuchPendingCategoryException("no pending category for " + resourceType);
+		return res;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/CompatPendingResourceManagerImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/CompatPendingResourceManagerImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/CompatPendingResourceManagerImpl.java	(revision 47801)
@@ -0,0 +1,141 @@
+package eu.dnetlib.enabling.is.registry;
+
+import javax.annotation.Resource;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
+import eu.dnetlib.enabling.is.registry.schema.ValidationException;
+import eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy;
+import eu.dnetlib.enabling.is.registry.validation.RegistrationPhase;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * implement the compatibility pending profile policy.
+ * 
+ * <p>
+ * pending profiles receive their own special resource kind and are 'moved' to a different collection
+ * </p>
+ * 
+ * @author marko
+ * 
+ */
+public class CompatPendingResourceManagerImpl implements PendingResourceManager, ResourceKindResolver {
+
+	/**
+	 * IS Registry
+	 */
+	private ISRegistryService isRegistry;
+
+	/**
+	 * This bean resolver
+	 */
+	private ResourceKindResolver resourceKindResolver;
+
+	/**
+	 * used to validate resources w.r.t. a set of defined properties.
+	 */
+	@Resource
+	private ProfileValidationStrategy profileValidationStrategy;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.PendingResourceManager#setPending(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void setPending(final OpaqueResource resource, final boolean local) {
+		try {
+			resource.setResourceKind(getPendingKindForType(resource.getResourceType()));
+
+			if (!local) {
+				isRegistry.deleteProfile(resource.getResourceId());
+				final String newId = isRegistry.registerProfile(resource.asString());
+				resource.setResourceId(newId);
+			}
+
+		} catch (XPathExpressionException e) {
+			throw new IllegalStateException(e);
+		} catch (ISRegistryException e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.PendingResourceManager#setPending(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void setPending(final OpaqueResource resource) {
+		setPending(resource, false);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.PendingResourceManager#setValid(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void setValid(final OpaqueResource resource) {
+		try {
+			if (resource.getResourceKind() != null && resource.getResourceKind().equals(getNormalKindForType(resource.getResourceType()))) { throw new IllegalArgumentException(
+					"trying to validate an already valid resource"); }
+
+			profileValidationStrategy.accept(resource, RegistrationPhase.Validate);
+
+			resource.setResourceKind(getNormalKindForType(resource.getResourceType()));
+
+			isRegistry.deleteProfile(resource.getResourceId());
+
+			final String newId = isRegistry.registerProfile(resource.asString());
+			resource.setResourceId(newId);
+
+		} catch (XPathExpressionException e) {
+			throw new IllegalStateException(e);
+		} catch (ISRegistryException e) {
+			throw new IllegalStateException(e);
+		} catch (ValidationException e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	@Override
+	public String getNormalKindForType(final String resourceType) throws XPathExpressionException {
+		return resourceKindResolver.getNormalKindForType(resourceType);
+	}
+
+	@Override
+	public String getPendingKindForType(final String resourceType) throws XPathExpressionException {
+		return resourceKindResolver.getPendingKindForType(resourceType);
+	}
+
+	public ResourceKindResolver getResourceKindResolver() {
+		return resourceKindResolver;
+	}
+
+	@Required
+	public void setResourceKindResolver(final ResourceKindResolver resourceKindResolver) {
+		this.resourceKindResolver = resourceKindResolver;
+	}
+
+	public ProfileValidationStrategy getProfileValidationStrategy() {
+		return profileValidationStrategy;
+	}
+
+	public void setProfileValidationStrategy(final ProfileValidationStrategy profileValidationStrategy) {
+		this.profileValidationStrategy = profileValidationStrategy;
+	}
+
+	public ISRegistryService getIsRegistry() {
+		return isRegistry;
+	}
+
+	@Required
+	public void setIsRegistry(final ISRegistryService isRegistry) {
+		this.isRegistry = isRegistry;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/TestContentInitializerJob.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/TestContentInitializerJob.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/TestContentInitializerJob.java	(revision 47801)
@@ -0,0 +1,180 @@
+package eu.dnetlib.enabling.is.store;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Required;
+import org.springframework.core.io.Resource;
+import org.xml.sax.SAXException;
+
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
+import eu.dnetlib.enabling.tools.ResourceLoaderHelper;
+import eu.dnetlib.miscutils.coupling.StaticCondition;
+
+/**
+ * This job is scheduled at startup of a test environment to load some data into the store.
+ * 
+ * <p>
+ * You should configure this bean with paths to the profile and schema files you want to add. This can be done setting
+ * the 'resources' and 'schemas' properties using the syntax documented <a
+ * href="http://static.springframework.org/spring/docs/
+ * 2.5.x/reference/resources.html#resources-app-ctx-wildcards-in-resource-paths">here</a>
+ * </p>
+ * 
+ * @author marko
+ * 
+ */
+public class TestContentInitializerJob extends AbstractContentInitializer implements Job {
+	/**
+	 * milliseconds in a second.
+	 */
+	private static final double MILLIS = 1000.0;
+
+	/**
+	 * logger.
+	 */
+	static final Log log = LogFactory.getLog(TestContentInitializerJob.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * hackish way of communicating to the integration tester that we have finished.
+	 */
+	private static boolean initialized = false;
+	
+	/**
+	 * resourceLoader compatible pattern matching all files to load.
+	 */
+	private String resources;
+
+	/**
+	 * resourceLoader compatible pattern matching all xsd files to load.
+	 */
+	private String schemas;
+
+	/**
+	 * resource loader helper. we cannot implement the ResourceLoaderAware interface.
+	 */
+	private ResourceLoaderHelper resourceLoader;
+
+	/**
+	 * set to true in order to disable notification detection. Useful for bulk profile insertion.
+	 */
+	private StaticCondition snDisable;
+
+	public TestContentInitializerJob() {
+		super();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.quartz.Job#execute(org.quartz.JobExecutionContext)
+	 */
+	@Override
+	public void execute(final JobExecutionContext arg0) throws JobExecutionException {
+		initialize();
+		setInitialized(true);
+	}
+
+	public void initialize() throws JobExecutionException {
+		log.info("Initializing store with some profiles and collections for test and development ...");
+
+		if (!getBulkImporter().isEnabled()) {
+			log.info("skipping store initialization because the database already exists");
+			return;
+		}
+
+		log.info("loading resources: " + getResources());
+
+		try {
+			String type = "schema/profile"; // NOPMD
+			String name = "none"; // NOPMD
+			try {
+				final long start = System.currentTimeMillis();
+
+				type = "schema"; // NOPMD
+				for (Resource res : resourceLoader.getResourcePatternResolver().getResources(schemas)) {
+					name = res.getURL().toString(); // NOPMD
+					registerSchema(res.getURL());
+				}
+
+				try {
+					snDisable.setCondition(true);
+					type = "profile";
+					for (Resource res : resourceLoader.getResourcePatternResolver().getResources(resources)) {
+						name = res.getURL().toString(); // NOPMD
+						registerProfile(res.getURL());
+					}
+				} finally {
+					snDisable.setCondition(false);
+				}
+
+				log.info("bulk registration finished in: " + ((System.currentTimeMillis() - start) / MILLIS) + "s");
+			} catch (ISRegistryException e) {
+				log.fatal("cannot register " + type + ": " + name, e);
+				throw new JobExecutionException("registry exception", e);
+			} catch (IOException e) {
+				throw new JobExecutionException("io exception", e);
+			} catch (XPathExpressionException e) {
+				throw new JobExecutionException("xpath exception", e);
+			} catch (SAXException e) {
+				throw new JobExecutionException("sax exception", e);
+			} catch (ParserConfigurationException e) {
+				throw new JobExecutionException("parser exception", e);
+			}
+		} finally {
+			log.info("INITIALIZED");
+			setInitialized(true);
+		}
+	}
+
+	public static void setInitialized(final boolean initialized) {
+		TestContentInitializerJob.initialized = initialized;
+	}
+
+	public static boolean isInitialized() {
+		return initialized;
+	}
+
+	public void setResources(final String resources) {
+		this.resources = resources;
+	}
+
+	public String getResources() {
+		return resources;
+	}
+
+	@Required
+	public ResourceLoaderHelper getResourceLoader() {
+		return resourceLoader;
+	}
+
+	@Required
+	public void setResourceLoader(final ResourceLoaderHelper resourceLoader) {
+		this.resourceLoader = resourceLoader;
+	}
+
+	@Required
+	public void setSchemas(final String schemas) {
+		this.schemas = schemas;
+	}
+
+	public String getSchemas() {
+		return schemas;
+	}
+
+	public void setSnDisable(final StaticCondition snDisable) {
+		this.snDisable = snDisable;
+	}
+
+	public StaticCondition getSnDisable() {
+		return snDisable;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ResourceKindResolverChain.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ResourceKindResolverChain.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/ResourceKindResolverChain.java	(revision 47801)
@@ -0,0 +1,62 @@
+package eu.dnetlib.enabling.is.registry;
+
+import java.util.List;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Required;
+
+/**
+ * Returns the first resource resolver
+ * 
+ * @author marko
+ * 
+ */
+public class ResourceKindResolverChain implements ResourceKindResolver {
+
+	private static final Log log = LogFactory.getLog(ResourceKindResolverChain.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * resolvers.
+	 */
+	private List<ResourceKindResolver> resolvers;
+
+	@Override
+	public String getNormalKindForType(final String resourceType) throws XPathExpressionException {
+		for (final ResourceKindResolver resolver : resolvers) {
+			final String res = resolver.getNormalKindForType(resourceType);
+			if (res != null)
+				return res;
+		}
+		return null;
+
+	}
+
+	@Override
+	public String getPendingKindForType(final String resourceType) throws XPathExpressionException {
+		for (final ResourceKindResolver resolver : resolvers) {
+			try {
+				final String res = resolver.getPendingKindForType(resourceType);
+				if (res != null)
+					return res;
+			} catch (NoSuchPendingCategoryException e) {
+				log.debug("resolver didn't find pending category", e);
+				continue;
+			}
+		}
+		log.debug("cannot find pending category because no resolver found a pending category");
+		throw new NoSuchPendingCategoryException("no pending category for " + resourceType);
+	}
+
+	public List<ResourceKindResolver> getResolvers() {
+		return resolvers;
+	}
+
+	@Required
+	public void setResolvers(final List<ResourceKindResolver> resolvers) {
+		this.resolvers = resolvers;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/xquery/dnet.xqm
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/xquery/dnet.xqm	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/store/xquery/dnet.xqm	(revision 47801)
@@ -0,0 +1,10 @@
+xquery version "1.0";
+
+module namespace dnet="http://namespace.dnetlib.eu/xquery/dnet";
+declare namespace xmldb="http://exist-db.org/xquery/xmldb";
+
+declare function dnet:deleteDocument($x as element()) {
+
+ xmldb:remove(replace($x/base-uri(),'/[^/]*$', ''), replace($x/base-uri(),'^.*/([^/]*)$', '$1'))
+
+};
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/ProfileValidator.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/ProfileValidator.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/ProfileValidator.java	(revision 47801)
@@ -0,0 +1,23 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+public interface ProfileValidator {
+	/**
+	 * True if this validator will handle this profile, false otherwise. 
+	 * 'accept' will be invoked only if 'handle' returns true
+	 * 
+	 * @param resource
+	 * @param phase
+	 * @return
+	 */
+	public boolean handle(OpaqueResource resource, RegistrationPhase phase);
+
+	/**
+	 * true if accept, false reject.
+	 * 
+	 * @param resource
+	 * @return
+	 */
+	public boolean accept(OpaqueResource resource);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/NameBasedResourceKindResolver.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/NameBasedResourceKindResolver.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/NameBasedResourceKindResolver.java	(revision 47801)
@@ -0,0 +1,44 @@
+package eu.dnetlib.enabling.is.registry;
+
+import javax.xml.xpath.XPathExpressionException;
+
+/**
+ * Uses current driver convention and tries to guess the correct resource kinds (both normal and pending) depending on
+ * the resource type name.
+ * 
+ * @author marko
+ * 
+ */
+public class NameBasedResourceKindResolver implements ResourceKindResolver {
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.is.registry.ResourceKindResolver#getNormalKindForType(java.lang.String)
+	 */
+	@Override
+	public String getNormalKindForType(final String resourceType) throws XPathExpressionException {
+		if (isService(resourceType))
+			return "ServiceResources";
+		return generateKind(resourceType);
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.is.registry.ResourceKindResolver#getPendingKindForType(java.lang.String)
+	 */
+	@Override
+	public String getPendingKindForType(final String resourceType) throws XPathExpressionException {
+		if (isService(resourceType))
+			return "PendingServiceResources";
+		return "PendingDSResources";
+	}
+
+	private boolean isService(final String resourceType) {
+		return resourceType.matches(".*ServiceResourceType$");
+	}
+
+	private String generateKind(final String resourceType) {
+		return resourceType.replaceAll("ResourceType$", "Resources");
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/RegistrationPhase.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/RegistrationPhase.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/RegistrationPhase.java	(revision 47801)
@@ -0,0 +1,12 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+/**
+ * Resources registration phases.
+ * 
+ * @author claudio
+ *
+ */
+public enum RegistrationPhase {
+	Register,
+	Validate // as in 'validateProfile', not this 'validation'.
+}
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/PendingResourceManager.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/PendingResourceManager.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/PendingResourceManager.java	(revision 47801)
@@ -0,0 +1,41 @@
+package eu.dnetlib.enabling.is.registry;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * The IS registry has to handle the 'pending' state of the resources in several ways.
+ * 
+ * <p>Implementors of this interface will change the profiles according to the pending profile management policy.</p>
+ * 
+ * <p>See implementors.</p>
+ * 
+ * @author marko
+ *
+ */
+public interface PendingResourceManager {
+
+	/**
+	 * change a profile to a pending state.
+	 * 
+	 * @param resource opaque resource
+	 */
+	void setPending(OpaqueResource resource);
+
+	/**
+	 * change a profile to a valid state.
+	 * 
+	 * same as setPending(resource, false);
+	 *  
+	 * @param resource opaque resource
+	 */
+	void setValid(OpaqueResource resource);
+
+	/**
+	 * change a profile to a valid state.
+	 * 
+	 * @param resource resource
+	 * @param local true if the resource is not persistent
+	 */
+	void setPending(OpaqueResource resource, boolean local);
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/XQueryUtilsImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/XQueryUtilsImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/XQueryUtilsImpl.java	(revision 47801)
@@ -0,0 +1,52 @@
+package eu.dnetlib.enabling.tools;
+
+
+/**
+ * Standard DNet-1.0 compat xquery utils.
+ * 
+ * @author marko
+ *
+ */
+public class XQueryUtilsImpl implements XQueryUtils {
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.tools.XQueryUtils#getCollectionAbsPath(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public String getCollectionAbsPath(final OpaqueResource resource) {
+		return getRootCollection() + getCollectionPath(resource);
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.tools.XQueryUtils#getCollectionPath(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public String getCollectionPath(final OpaqueResource resource) {
+		final StringBuilder buffer = new StringBuilder();
+		buffer.append(resource.getResourceKind());
+		buffer.append('/');
+		buffer.append(resource.getResourceType());
+		return buffer.toString();
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.tools.XQueryUtils#getRootCollection()
+	 */
+	@Override
+	public String getRootCollection() {
+		return "/db/DRIVER/";
+	}
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.tools.XQueryUtils#getFileName(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public String getFileName(final OpaqueResource resource) {
+		return resource.getResourceId().split("_")[0];
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/AlwaysAcceptProfileValidator.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/AlwaysAcceptProfileValidator.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/AlwaysAcceptProfileValidator.java	(revision 47801)
@@ -0,0 +1,34 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * Dummy bean used to populate the ProfileValidator list.
+ * @see eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy
+ *
+ * @author claudio
+ *
+ */
+public class AlwaysAcceptProfileValidator implements ProfileValidator {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.registry.validation.ProfileValidator#accept(OpaqueResource)
+	 */
+	@Override
+	public boolean accept(OpaqueResource resource) {
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.registry.validation.ProfileValidator#handle(OpaqueResource, RegistrationPhase)
+	 */
+	@Override
+	public boolean handle(OpaqueResource resource, RegistrationPhase phase) {
+		return false;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/TypeAwareProfileValidator.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/TypeAwareProfileValidator.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/TypeAwareProfileValidator.java	(revision 47801)
@@ -0,0 +1,25 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+public abstract class TypeAwareProfileValidator extends AbstractProfileValidator {
+	
+	private String resourceType;
+
+	@Override
+	public boolean handle(OpaqueResource resource, RegistrationPhase phase) {
+		return super.handle(resource, phase) && getResourceType().equals(resource.getResourceType());
+	}
+	
+	@Required
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}
+
+	public String getResourceType() {
+		return resourceType;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/EnsurePropertyExistsProfileValidator.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/EnsurePropertyExistsProfileValidator.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/EnsurePropertyExistsProfileValidator.java	(revision 47801)
@@ -0,0 +1,38 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+public class EnsurePropertyExistsProfileValidator extends TypeAwareProfileValidator {
+
+	private String name; // property name
+
+	@Override
+	public boolean accept(OpaqueResource resource) {
+		try {
+			final XPath xpath = XPathFactory.newInstance().newXPath();
+			
+			final String xquery = "//EXTRA_FIELDS/FIELD[./key = '" + getName() + "']/value/text()";
+			final String value = xpath.evaluate(xquery, resource.asDom().getDocumentElement()) + "";
+			
+			if (value.isEmpty())
+				return false;
+			
+			return true;
+
+		} catch (XPathExpressionException e) {
+			return false;
+		}
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/ProfileValidationStrategy.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/ProfileValidationStrategy.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/ProfileValidationStrategy.java	(revision 47801)
@@ -0,0 +1,34 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import eu.dnetlib.enabling.is.registry.schema.ValidationException;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * ProfileValidationStrategy iterates all the profile validators,
+ * once a suitable validator is found, it's called to accept or 
+ * reject the given resource.
+ * 
+ * @author claudio
+ *
+ */
+public class ProfileValidationStrategy {
+	
+	@Resource
+	private List<ProfileValidator> profileValidators;
+
+	public boolean accept(OpaqueResource resource, RegistrationPhase phase) throws ValidationException {
+		for(ProfileValidator validator : profileValidators) {
+			if (validator.handle(resource, phase)) {
+				if (validator.accept(resource))
+					return true; 
+				else throw new ValidationException("Cannot validate the given resource: " + resource.asString());				
+			}
+		}
+		// if no validator handles the resource 
+		return true;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/ResourceIdentifierComposer.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/ResourceIdentifierComposer.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/ResourceIdentifierComposer.java	(revision 47801)
@@ -0,0 +1,18 @@
+package eu.dnetlib.enabling.tools;
+
+/**
+ * Abstracts the creation of a resource identifier from xmldb file name and xmldb collection name.
+ * 
+ * @author marko
+ * 
+ */
+public interface ResourceIdentifierComposer {
+	/**
+	 * Create a resId from a xmldb filename and collection name.
+	 * 
+	 * @param fileName
+	 * @param coll
+	 * @return
+	 */
+	String createResourceId(final String fileName, final String coll);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/CompatResourceIdentifierResolverImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/CompatResourceIdentifierResolverImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/CompatResourceIdentifierResolverImpl.java	(revision 47801)
@@ -0,0 +1,46 @@
+package eu.dnetlib.enabling.tools;
+
+import com.sun.xml.messaging.saaj.util.Base64;
+
+/**
+ * resolve resource file and collection names from the resource identifier according to the DNet 1.0 policy, by encoding
+ * the collection path in the identifier itself (as base64).
+ * 
+ * @author marko
+ * 
+ */
+public class CompatResourceIdentifierResolverImpl implements ResourceIdentifierResolver, ResourceIdentifierComposer {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.tools.ResourceIdentifierResolver#getCollectionName(java.lang.String)
+	 */
+	@Override
+	public String getCollectionName(final String resId) {
+		final String[] components = resId.split("_");
+		if (components.length == 1)
+			return "DefaultCollection";
+		return Base64.base64Decode(components[1]);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.tools.ResourceIdentifierResolver#getFileName(java.lang.String)
+	 */
+	@Override
+	public String getFileName(final String resId) {
+		return resId.split("_")[0];
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.tools.ResourceIdentifierComposer#createResourceId(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public String createResourceId(final String fileName, final String coll) {
+		return fileName + "_" + new String(Base64.encode(coll.getBytes()));
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImpl.java	(revision 47801)
@@ -0,0 +1,148 @@
+package eu.dnetlib.enabling.is.sn.resourcestate.hib;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.Criteria;
+import org.hibernate.SessionFactory;
+import org.hibernate.criterion.Example;
+import org.springframework.beans.factory.annotation.Required;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionDAO;
+
+/**
+ * Hibernate storage for resource state subscriptions.
+ * 
+ * @author marko
+ * 
+ */
+public class HibernateResourceStateSubscriptionDAOImpl implements ResourceStateSubscriptionDAO {
+
+	private static final Log log = LogFactory.getLog(HibernateResourceStateSubscriptionDAOImpl.class);
+
+	private SessionFactory sessionFactory;
+
+	private Collection<ResourceStateSubscription> transformToSubscription(final List<Object> inputList) {
+		return Collections2.transform(inputList, new Function<Object, ResourceStateSubscription>() {
+
+			@Override
+			public ResourceStateSubscription apply(final Object input) {
+
+				return (ResourceStateSubscription) input;
+			}
+
+		});
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionDAO#listSubscriptions(java.lang.String, java.lang.String,
+	 *      java.lang.String)
+	 */
+	@Override
+	@Transactional(readOnly = true)
+	public Collection<ResourceStateSubscription> listSubscriptions(final String prefix, final String resourceType, final String resourceId) {
+
+		final ResourceStateSubscription exampleEntity = new ResourceStateSubscription();
+		exampleEntity.setPrefix(prefix);
+		exampleEntity.setType(resourceType);
+		exampleEntity.setResourceId(resourceId);
+
+		return transformToSubscription(queryByCriteria(exampleEntity));
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#addSubscription(java.lang.Object)
+	 */
+	@Override
+	@Transactional
+	public void addSubscription(final ResourceStateSubscription subscription) {
+
+		log.debug("evict cached subscriptions");
+
+		getSessionFactory().getCurrentSession().save(subscription);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#getSubscription(java.lang.String)
+	 */
+	@Override
+	@Transactional(readOnly = true)
+	public ResourceStateSubscription getSubscription(final String subscriptionId) {
+		return (ResourceStateSubscription) getSessionFactory().getCurrentSession().get(ResourceStateSubscription.class, subscriptionId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#listSubscriptions()
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	@Transactional(readOnly = true)
+	public Collection<ResourceStateSubscription> listSubscriptions() {
+		return getSessionFactory().getCurrentSession().createQuery("from subscriptions").list();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#listSubscriptions(java.lang.String)
+	 */
+	@Override
+	@Transactional(readOnly = true)
+	public Collection<ResourceStateSubscription> listSubscriptions(final String prefix) {
+		final ResourceStateSubscription exampleEntity = new ResourceStateSubscription();
+		exampleEntity.setPrefix(prefix);
+
+		return transformToSubscription(queryByCriteria(exampleEntity));
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#removeSubscription(java.lang.String)
+	 */
+	@Override
+	@Transactional
+	public boolean removeSubscription(final String subscriptionId) {
+		if (StringUtils.isBlank(subscriptionId)) return false;
+
+		final ResourceStateSubscription entity = getSubscription(subscriptionId);
+
+		if (entity == null) return false;
+
+		getSessionFactory().getCurrentSession().delete(entity);
+		return true;
+	}
+
+	@SuppressWarnings("unchecked")
+	private List<Object> queryByCriteria(final ResourceStateSubscription exampleEntity) {
+		Criteria criteria = getSessionFactory().getCurrentSession().createCriteria(ResourceStateSubscription.class).add(Example.create(exampleEntity));
+		return criteria.list();
+	}
+
+	public SessionFactory getSessionFactory() {
+		return sessionFactory;
+	}
+
+	@Required
+	public void setSessionFactory(SessionFactory sessionFactory) {
+		this.sessionFactory = sessionFactory;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/applicationContext-isstore.properties
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/applicationContext-isstore.properties	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/applicationContext-isstore.properties	(revision 47801)
@@ -0,0 +1,2 @@
+services.is.store.enable.java=true
+services.is.store.initializer.timetosleep = 4000
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/org/hibernate/dialect/SQLiteDialect.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/org/hibernate/dialect/SQLiteDialect.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/org/hibernate/dialect/SQLiteDialect.java	(revision 47801)
@@ -0,0 +1,293 @@
+/*
+ * The author disclaims copyright to this source code. In place of a legal notice, here is a blessing:
+ * 
+ * May you do good and not evil. May you find forgiveness for yourself and forgive others. May you share freely, never taking more than you
+ * give.
+ */
+package org.hibernate.dialect;
+
+import java.sql.SQLException;
+import java.sql.Types;
+
+import org.hibernate.JDBCException;
+import org.hibernate.dialect.function.AbstractAnsiTrimEmulationFunction;
+import org.hibernate.dialect.function.NoArgSQLFunction;
+import org.hibernate.dialect.function.SQLFunction;
+import org.hibernate.dialect.function.SQLFunctionTemplate;
+import org.hibernate.dialect.function.StandardSQLFunction;
+import org.hibernate.dialect.function.VarArgsSQLFunction;
+import org.hibernate.exception.ConstraintViolationException;
+import org.hibernate.exception.DataException;
+import org.hibernate.exception.GenericJDBCException;
+import org.hibernate.exception.JDBCConnectionException;
+import org.hibernate.exception.LockAcquisitionException;
+import org.hibernate.exception.spi.SQLExceptionConverter;
+import org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtracter;
+import org.hibernate.exception.spi.ViolatedConstraintNameExtracter;
+import org.hibernate.internal.util.JdbcExceptionHelper;
+import org.hibernate.type.StandardBasicTypes;
+
+public class SQLiteDialect extends Dialect {
+
+	public SQLiteDialect() {
+		registerColumnType(Types.BIT, "boolean");
+		registerColumnType(Types.TINYINT, "tinyint");
+		registerColumnType(Types.SMALLINT, "smallint");
+		registerColumnType(Types.INTEGER, "integer");
+		registerColumnType(Types.BIGINT, "bigint");
+		registerColumnType(Types.FLOAT, "float");
+		registerColumnType(Types.REAL, "real");
+		registerColumnType(Types.DOUBLE, "double");
+		registerColumnType(Types.NUMERIC, "numeric($p, $s)");
+		registerColumnType(Types.DECIMAL, "decimal");
+		registerColumnType(Types.CHAR, "char");
+		registerColumnType(Types.VARCHAR, "varchar($l)");
+		registerColumnType(Types.LONGVARCHAR, "longvarchar");
+		registerColumnType(Types.DATE, "date");
+		registerColumnType(Types.TIME, "time");
+		registerColumnType(Types.TIMESTAMP, "datetime");
+		registerColumnType(Types.BINARY, "blob");
+		registerColumnType(Types.VARBINARY, "blob");
+		registerColumnType(Types.LONGVARBINARY, "blob");
+		registerColumnType(Types.BLOB, "blob");
+		registerColumnType(Types.CLOB, "clob");
+		registerColumnType(Types.BOOLEAN, "boolean");
+
+		registerFunction("concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", ""));
+		registerFunction("mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2"));
+		registerFunction("quote", new StandardSQLFunction("quote", StandardBasicTypes.STRING));
+		registerFunction("random", new NoArgSQLFunction("random", StandardBasicTypes.INTEGER));
+		registerFunction("round", new StandardSQLFunction("round"));
+		registerFunction("substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING));
+		registerFunction("trim", new AbstractAnsiTrimEmulationFunction() {
+
+			@Override
+			protected SQLFunction resolveBothSpaceTrimFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1)");
+			}
+
+			@Override
+			protected SQLFunction resolveBothSpaceTrimFromFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?2)");
+			}
+
+			@Override
+			protected SQLFunction resolveLeadingSpaceTrimFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1)");
+			}
+
+			@Override
+			protected SQLFunction resolveTrailingSpaceTrimFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1)");
+			}
+
+			@Override
+			protected SQLFunction resolveBothTrimFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1, ?2)");
+			}
+
+			@Override
+			protected SQLFunction resolveLeadingTrimFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1, ?2)");
+			}
+
+			@Override
+			protected SQLFunction resolveTrailingTrimFunction() {
+				return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1, ?2)");
+			}
+		});
+	}
+
+	@Override
+	public boolean supportsIdentityColumns() {
+		return true;
+	}
+
+	/*
+	 * public boolean supportsInsertSelectIdentity() { return true; // As specified in NHibernate dialect }
+	 */
+
+	@Override
+	public boolean hasDataTypeInIdentityColumn() {
+		return false; // As specified in NHibernate dialect
+	}
+
+	/*
+	 * public String appendIdentitySelectToInsert(String insertString) { return new StringBuffer(insertString.length()+30). // As specified
+	 * in NHibernate dialect append(insertString). append("; ").append(getIdentitySelectString()). toString(); }
+	 */
+
+	@Override
+	public String getIdentityColumnString() {
+		// return "integer primary key autoincrement";
+		return "integer";
+	}
+
+	@Override
+	public String getIdentitySelectString() {
+		return "select last_insert_rowid()";
+	}
+
+	@Override
+	public boolean supportsLimit() {
+		return true;
+	}
+
+	@Override
+	public boolean bindLimitParametersInReverseOrder() {
+		return true;
+	}
+
+	@Override
+	protected String getLimitString(final String query, final boolean hasOffset) {
+		return query + (hasOffset ? " limit ? offset ?" : " limit ?");
+	}
+
+	@Override
+	public boolean supportsTemporaryTables() {
+		return true;
+	}
+
+	@Override
+	public String getCreateTemporaryTableString() {
+		return "create temporary table if not exists";
+	}
+
+	@Override
+	public Boolean performTemporaryTableDDLInIsolation() {
+		return Boolean.FALSE;
+	}
+
+	/*
+	 * @Override public boolean dropTemporaryTableAfterUse() { return true; // temporary tables are only dropped when the connection is
+	 * closed. If the connection is pooled... }
+	 */
+
+	@Override
+	public boolean supportsCurrentTimestampSelection() {
+		return true;
+	}
+
+	@Override
+	public boolean isCurrentTimestampSelectStringCallable() {
+		return false;
+	}
+
+	@Override
+	public String getCurrentTimestampSelectString() {
+		return "select current_timestamp";
+	}
+
+	private static final int SQLITE_BUSY = 5;
+	private static final int SQLITE_LOCKED = 6;
+	private static final int SQLITE_IOERR = 10;
+	private static final int SQLITE_CORRUPT = 11;
+	private static final int SQLITE_NOTFOUND = 12;
+	private static final int SQLITE_FULL = 13;
+	private static final int SQLITE_CANTOPEN = 14;
+	private static final int SQLITE_PROTOCOL = 15;
+	private static final int SQLITE_TOOBIG = 18;
+	private static final int SQLITE_CONSTRAINT = 19;
+	private static final int SQLITE_MISMATCH = 20;
+	private static final int SQLITE_NOTADB = 26;
+
+	@Override
+	public SQLExceptionConverter buildSQLExceptionConverter() {
+		return new SQLExceptionConverter() {
+
+			@Override
+			public JDBCException convert(final SQLException sqlException, final String message, final String sql) {
+				final int errorCode = JdbcExceptionHelper.extractErrorCode(sqlException);
+				if (errorCode == SQLITE_CONSTRAINT) {
+					final String constraintName = EXTRACTER.extractConstraintName(sqlException);
+					return new ConstraintViolationException(message, sqlException, sql, constraintName);
+				} else if ((errorCode == SQLITE_TOOBIG) || (errorCode == SQLITE_MISMATCH)) return new DataException(message, sqlException, sql);
+				else if ((errorCode == SQLITE_BUSY) || (errorCode == SQLITE_LOCKED)) return new LockAcquisitionException(message, sqlException, sql);
+				else if (((errorCode >= SQLITE_IOERR) && (errorCode <= SQLITE_PROTOCOL)) || (errorCode == SQLITE_NOTADB))
+					return new JDBCConnectionException(message, sqlException, sql);
+				return new GenericJDBCException(message, sqlException, sql);
+			}
+		};
+	}
+
+	public static final ViolatedConstraintNameExtracter EXTRACTER = new TemplatedViolatedConstraintNameExtracter() {
+
+		@Override
+		public String extractConstraintName(final SQLException sqle) {
+			return extractUsingTemplate("constraint ", " failed", sqle.getMessage());
+		}
+	};
+
+	@Override
+	public boolean supportsUnionAll() {
+		return true;
+	}
+
+	@Override
+	public boolean hasAlterTable() {
+		return false; // As specified in NHibernate dialect
+	}
+
+	@Override
+	public boolean dropConstraints() {
+		return false;
+	}
+
+	@Override
+	public String getAddColumnString() {
+		return "add column";
+	}
+
+	@Override
+	public String getForUpdateString() {
+		return "";
+	}
+
+	@Override
+	public boolean supportsOuterJoinForUpdate() {
+		return false;
+	}
+
+	@Override
+	public String getDropForeignKeyString() {
+		throw new UnsupportedOperationException("No drop foreign key syntax supported by SQLiteDialect");
+	}
+
+	@Override
+	public String getAddForeignKeyConstraintString(final String constraintName,
+			final String[] foreignKey,
+			final String referencedTable,
+			final String[] primaryKey,
+			final boolean referencesPrimaryKey) {
+		throw new UnsupportedOperationException("No add foreign key syntax supported by SQLiteDialect");
+	}
+
+	@Override
+	public String getAddPrimaryKeyConstraintString(final String constraintName) {
+		throw new UnsupportedOperationException("No add primary key syntax supported by SQLiteDialect");
+	}
+
+	@Override
+	public boolean supportsIfExistsBeforeTableName() {
+		return true;
+	}
+
+	/*
+	 * public boolean supportsCascadeDelete() { return true; }
+	 */
+
+	/*
+	 * not case insensitive for unicode characters by default (ICU extension needed) public boolean supportsCaseInsensitiveLike() { return
+	 * true; }
+	 */
+
+	@Override
+	public boolean supportsTupleDistinctCounts() {
+		return false;
+	}
+
+	@Override
+	public String getSelectGUIDString() {
+		return "select hex(randomblob(16))";
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/applicationContext-issn-hib.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/applicationContext-issn-hib.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/applicationContext-issn-hib.xml	(revision 47801)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
+	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
+	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
+		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
+		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+
+	<bean id="verifyPath" class="eu.dnetlib.enabling.is.sn.DnetPathVerifier">
+		<constructor-arg value="${services.issn.path}"/>
+	</bean>
+
+	<!-- DATASOURCE -->
+	<bean id="issnDataSource"
+		class="org.springframework.jdbc.datasource.DriverManagerDataSource"
+		p:driverClassName="${services.issn.hib.driverName}" p:url="${services.issn.hib.issndb.url}"
+		p:username="${services.issn.hib.issndb.username}" p:password="${services.issn.hib.issndb.password}"
+		depends-on="verifyPath"
+		 />
+
+	<!-- Hibernate SessionFactory -->
+	<bean id="issnSessionFactory"
+		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
+		p:dataSource-ref="issnDataSource"
+		depends-on="verifyPath"
+		>
+		<property name="annotatedClasses">
+			<list>
+				<value>eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription</value>
+			</list>
+		</property>
+		<property name="hibernateProperties">
+			<props>
+				<prop key="hibernate.dialect">${services.issn.hib.issndb.dialect}</prop>
+				<prop key="hibernate.show_sql">false</prop>
+				<prop key="hibernate.hbm2ddl.auto">${services.issn.hibernate.hbm.auto}</prop>
+			</props>
+		</property>
+	</bean>
+	<!-- Transaction manager for a single Hibernate SessionFactory (alternative 
+		to JTA) -->
+	<tx:annotation-driven transaction-manager="issnTransactionManager" />
+
+	<bean id="issnTransactionManager"
+		class="org.springframework.orm.hibernate4.HibernateTransactionManager"
+		p:sessionFactory-ref="issnSessionFactory" />
+
+	<bean id="hibernateResourceStateSubscriptionDAO"
+		class="eu.dnetlib.enabling.is.sn.resourcestate.hib.HibernateResourceStateSubscriptionDAOImpl"
+		p:sessionFactory-ref="issnSessionFactory" />
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/applicationContext-issn.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/applicationContext-issn.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/applicationContext-issn.xml	(revision 47801)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:wsa="http://cxf.apache.org/ws/addressing"
+	xmlns:p="http://www.springframework.org/schema/p" xmlns:http="http://cxf.apache.org/transports/http/configuration"
+	xmlns:util="http://www.springframework.org/schema/util" xmlns:t="http://dnetlib.eu/springbeans/t"
+	xmlns:template="http://dnetlib.eu/springbeans/template" xmlns:cache="http://www.springframework.org/schema/cache"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+						http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
+                        http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+                        http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
+                        http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+                        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+                        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
+                        http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd">
+
+	<!-- beans -->
+	<bean name="isSNService" class="eu.dnetlib.enabling.is.sn.ISSNServiceImpl"
+		p:endpoint-ref="isSNServiceEndpoint" p:core-ref="isSNServiceCore"
+		init-method="start" destroy-method="stop" />
+
+	<bean name="isSNServiceCore" class="eu.dnetlib.enabling.is.sn.ISSNServiceCore"
+		p:registry-ref="issResourceStateNotificationRegistry"
+		p:backupDir="${services.is.sn.data.path}/backups"/>
+
+	<bean name="issnNotificationDetector" class="eu.dnetlib.enabling.is.sn.NotificationDetectorImpl"
+		p:sender-ref="issnNotificationSender" p:registry-ref="issResourceStateNotificationRegistry" />
+
+	<bean id="issnNotificationDetectorPendingSupport"
+		class="eu.dnetlib.enabling.is.sn.resourcestate.PendingResourceStateNotificationDetectorFilter"
+		p:delegate-ref="issnNotificationDetector" />
+
+	<bean id="subscriptionRequestFilter" class="eu.dnetlib.enabling.is.sn.resourcestate.SubscriptionRequestFilter" />
+	
+	<!--
+		set this condition to true to globally inhibit notification processing
+	-->
+	<bean id="issnInhibitionCondition" class="eu.dnetlib.miscutils.coupling.StaticCondition" />
+
+	<bean id="issnNotificationDetectorConditional"
+		class="eu.dnetlib.enabling.is.sn.resourcestate.ConditionalResourceStateNotificationDetectorFilter"
+		p:inhibitionCondition-ref="issnInhibitionCondition" p:delegate-ref="issnNotificationDetectorPendingSupport" />
+
+	<bean id="issResourceStateNotificationRegistry"
+		class="eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionRegistry"
+		p:subscriptionDao-ref="hibernateResourceStateSubscriptionDAO" />
+
+	<bean name="issnNotificationSender"
+		class="eu.dnetlib.enabling.is.sn.AsynchronousNotificationSenderImpl"
+		p:invoker-ref="issnNotificationInvoker" init-method="start" />
+
+	<bean name="issnNotificationInvocationLogger"
+		class="eu.dnetlib.enabling.is.sn.MemoryNotificationInvocationLogger" />
+
+	<bean name="issnNotificationInvoker" class="eu.dnetlib.enabling.is.sn.NotificationInvokerImpl"
+		p:invocationLogger-ref="issnNotificationInvocationLogger" />
+
+	<bean name="issnIntegrationTrigger" class="eu.dnetlib.enabling.is.sn.NotificationTriggerImpl"
+		p:name="issnIntegrationTrigger" p:detector-ref="issnNotificationDetectorConditional" />
+
+
+	<bean id="issnCacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
+	      p:cacheManager-ref="issnCacheManagerFactory" />
+
+	<bean id="issnCacheManagerFactory"
+	      class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
+	      p:cacheManagerName="issnCacheManager" />
+
+	<bean id="issnCache"
+	      class="org.springframework.cache.ehcache.EhCacheFactoryBean"
+	      p:eternal="false" p:timeToLive="${services.is.sn.subscriptions.cache.ttl}"
+	      p:timeToIdle="${services.is.sn.subscriptions.cache.ttl}"
+	      p:overflowToDisk="false"
+	      p:maxElementsInMemory="${services.is.sn.subscriptions.cache.size}"
+	      p:cacheManager-ref="issnCacheManagerFactory"
+	      p:cacheName="issnCache" p:name="subscriptions" />
+
+	<!-- endpoints -->
+	<jaxws:endpoint id="isSNServiceEndpoint" implementor="#isSNService"
+		implementorClass="eu.dnetlib.enabling.is.sn.rmi.ISSNService" address="/isSN" />
+
+	<template:instance name="serviceRegistrationManager"
+		t:serviceRegistrationManagerClass="eu.dnetlib.enabling.tools.registration.ValidatingServiceRegistrationManagerImpl"
+		t:name="isSNServiceRegistrationManager" t:service="isSNService"
+		t:endpoint="isSNServiceEndpoint" t:jobScheduler="jobScheduler" />
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/lookup/applicationContext-islookup.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/lookup/applicationContext-islookup.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/lookup/applicationContext-islookup.xml	(revision 47801)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:wsa="http://cxf.apache.org/ws/addressing"
+	xmlns:p="http://www.springframework.org/schema/p" xmlns:http="http://cxf.apache.org/transports/http/configuration"
+	xmlns:t="http://dnetlib.eu/springbeans/t" xmlns:template="http://dnetlib.eu/springbeans/template"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+                                    http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+                                    http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
+                                    http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+                            http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd">
+
+	<!--  beans -->
+	<bean id="isLookUpService" class="eu.dnetlib.enabling.is.lookup.ISLookUpServiceImpl"
+		init-method="start" destroy-method="stop" p:isStore-ref="isStoreService" 
+		p:xqueryUtils-ref="xqueryUtils"/>
+
+	<!-- endpoints -->
+	<jaxws:endpoint id="isLookUpServiceEndpoint"
+		implementor="#isLookUpService" implementorClass="eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService"
+		address="/isLookUp" />
+
+	<template:instance name="serviceRegistrationManager"
+	  t:serviceRegistrationManagerClass="eu.dnetlib.enabling.tools.registration.ValidatingServiceRegistrationManagerImpl"
+		t:name="isLookUpServiceRegistrationManager" t:service="isLookUpService" t:endpoint="isLookUpServiceEndpoint"
+		t:jobScheduler="jobScheduler"/>
+
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/DRIVERInformationSpaceApplicationProfile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/DRIVERInformationSpaceApplicationProfile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/DRIVERInformationSpaceApplicationProfile.xml	(revision 47801)
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Sample XML file generated by XMLSpy v2007 sp1 (http://www.altova.com)-->
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value=""/>
+		<RESOURCE_TYPE value="SystemManagementDSResourceType"/>
+		<RESOURCE_KIND value="SystemManagementDSResources"/>
+		<RESOURCE_URI value="00000000000000000000000000000000000000000"/>
+		<DATE_OF_CREATION value="10/04/2007"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<NAME>DRIVER Information Space Application</NAME>
+			<MANAGER_SERVICE_ID value="000000000000000000000000000000000000"/>
+			<QoSTHRESHOLDS>
+			</QoSTHRESHOLDS>
+			<MAPPINGS>
+				<MAPPING>
+					<PENDING_TYPOLOGY>PendingRepositoryResources</PENDING_TYPOLOGY>
+					<RESOURCE_KIND>RepositoryServiceResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>RepositoryServiceResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>				
+				<MAPPING>
+					<PENDING_TYPOLOGY>PendingServiceResources</PENDING_TYPOLOGY>
+					<RESOURCE_KIND>ServiceResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>IS_StoreServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>IS_SNServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>IS_LookUpServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>IS_UIServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>IS_RegistryServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>MS_RMServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>MS_ROServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>HostingNodeManagerServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>HostingContextManagerServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>MDStoreServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>DepotServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>DataAccessServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>AggregatorServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>HarvestingServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>HarvestingManagerServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>TransformationServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>TransformationManagerServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>TransformationRuleEditorServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>FeatureExtractionServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>IndexServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>BrowseServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>DownloadServiceResourceType</RESOURCE_TYPE>
+                                                <RESOURCE_TYPE>CS_EngineServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>CS_UIServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>ResultSetServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>OAIServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>A2ServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>ObjectPackagingServiceResourceType</RESOURCE_TYPE>
+				                <RESOURCE_TYPE>DLMServiceResourceType</RESOURCE_TYPE>
+				                <RESOURCE_TYPE>TextEngineServiceResourceType</RESOURCE_TYPE>
+				                <RESOURCE_TYPE>PublisherServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>DriverTesterServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>SearchServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>CollectionServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>CommunityServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>ForumServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>RatingServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>RecommendationServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>UserProfileServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>ValidatorServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>ValidatorUserInterfaceServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>WebInterfaceServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>CitationServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>SimilarityServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>DLMSConnectionServiceResourceType</RESOURCE_TYPE>
+						
+						<RESOURCE_TYPE>TagSessionManagerServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>TagStoreServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>PIDBridgeServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>PIDAssignerServiceResourceType</RESOURCE_TYPE>
+						<RESOURCE_TYPE>CleanerServiceResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+					<PENDING_TYPOLOGY>PendingDSResources</PENDING_TYPOLOGY>
+					<RESOURCE_KIND>DRIVERHostingNodeDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>DRIVERHostingNodeDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+			    <MAPPING>
+				    <PENDING_TYPOLOGY>PendingDSResources</PENDING_TYPOLOGY>
+					<RESOURCE_KIND>UserDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>UserDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+			    <MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>CommunityDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>CommunityDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+			    <MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>DriverTestDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>DriverTestDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+			  <MAPPING>
+				    <PENDING_TYPOLOGY>PendingDSResources</PENDING_TYPOLOGY>
+					<RESOURCE_KIND>DriverPendingTestDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>DriverPendingTestDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>CollectionDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>CollectionDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>HarvestingInstanceDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>HarvestingInstanceDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+                                <MAPPING>
+                                    <PENDING_TYPOLOGY/>
+                                        <RESOURCE_KIND>HarvestingDSResources</RESOURCE_KIND>
+                                        <RESOURCE_TYPES>
+                                                <RESOURCE_TYPE>HarvestingDSResourceType</RESOURCE_TYPE>
+                                        </RESOURCE_TYPES>
+                                </MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>IndexDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>IndexDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>MDStoreDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>MDStoreDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+                                   <PENDING_TYPOLOGY/>
+                                       <RESOURCE_KIND>StoreDSResources</RESOURCE_KIND>
+                                       <RESOURCE_TYPES>
+                                               <RESOURCE_TYPE>StoreDSResourceType</RESOURCE_TYPE>
+                                       </RESOURCE_TYPES>
+                                </MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>ResultSetDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>ResultSetDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>RecommendationDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>RecommendationResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+                                <MAPPING>
+                                    <PENDING_TYPOLOGY/>
+                                        <RESOURCE_KIND>TransformationDSResources</RESOURCE_KIND>
+                                        <RESOURCE_TYPES>
+                                                <RESOURCE_TYPE>TransformationDSResourceType</RESOURCE_TYPE>
+                                        </RESOURCE_TYPES>
+                                </MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>VocabularyDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>VocabularyDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+				<MAPPING>
+				    <PENDING_TYPOLOGY/>
+					<RESOURCE_KIND>SystemManagementDSResources</RESOURCE_KIND>
+					<RESOURCE_TYPES>
+						<RESOURCE_TYPE>SystemManagementDSResourceType</RESOURCE_TYPE>
+					</RESOURCE_TYPES>
+				</MAPPING>
+			</MAPPINGS>
+			<FIELD_SETTINGS>
+				<FIELD_SETTING name="DMF">
+							<NAME>dr:CobjContentSynthesis</NAME>
+							<NAME>dr:CobjTypology</NAME>
+							<NAME>dr:CobjIdentifier</NAME>
+							<NAME>dr:CobjModel</NAME>
+							<NAME>dr:CobjMDFormats</NAME>
+							<NAME>dr:CobjDescriptionSynthesis</NAME>
+							<NAME>dr:repositoryName</NAME>
+							<NAME>dr:repositoryLink</NAME>
+							<NAME>dr:repositoryCountry</NAME>
+							<NAME>dr:repositoryInstitution</NAME>
+							<NAME>dc:creator</NAME>
+							<NAME>dc:title</NAME>
+							<NAME>dc:subject</NAME>
+							<NAME>dr:CobjCategory</NAME>
+							<NAME>dc:language</NAME>
+							<NAME>dc:dateAccepted</NAME>
+							<NAME>dc:identifier</NAME>
+							<NAME>dc:publisher </NAME>
+							<NAME>dc:source </NAME>
+							<NAME>dc:contributor </NAME>
+							<NAME>dc:relation</NAME> 
+							<NAME>dc:description</NAME>
+				</FIELD_SETTING>			
+				<FIELD_SETTING name="Index Configuration Fields">
+					<NAME>dr:repositoryCountry</NAME>
+				</FIELD_SETTING>
+				<FIELD_SETTING name="Index Result Fields">
+					<NAME>*</NAME>
+				</FIELD_SETTING>
+				<FIELD_SETTING name="DMF Provenance Fields">
+					<NAME>dr:repositoryName</NAME>
+					<NAME>dr:repositoryLink</NAME>
+					<NAME>dr:repositoryCountry</NAME>
+					<NAME>dr:repositoryInstitution</NAME>
+				</FIELD_SETTING>
+     			<FIELD_SETTING name="Repository Provenance Fields">
+					<NAME>ENGLISH_NAME</NAME>
+					<NAME>REPOSITORY_WEBPAGE</NAME>
+					<NAME>COUNTRY</NAME>
+					<NAME>REPOSITORY_INSTITUTION</NAME>
+				</FIELD_SETTING>
+			</FIELD_SETTINGS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="10/04/2007"/>
+		</STATUS>
+		<SECURITY_PARAMETERS></SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/EndpointReferenceType.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/EndpointReferenceType.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/EndpointReferenceType.java	(revision 47801)
@@ -0,0 +1,151 @@
+package eu.dnetlib.enabling.is.sn.resourcestate.hib;
+
+import static java.sql.Types.VARCHAR;
+
+import java.io.Serializable;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.EndpointReference;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.hibernate.HibernateException;
+import org.hibernate.engine.spi.SessionImplementor;
+import org.hibernate.usertype.UserType;
+
+/**
+ * Serializes Endpoint reference types to database columns (strings).
+ * 
+ * @author marko
+ * 
+ */
+public class EndpointReferenceType implements UserType { // NOPMD
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#assemble(java.io.Serializable, java.lang.Object)
+	 */
+	@Override
+	public Object assemble(final Serializable arg0, final Object owner) {
+		if (arg0 == null) return null;
+		return EndpointReference.readFrom(new StreamSource(new StringReader((String) arg0)));
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#deepCopy(java.lang.Object)
+	 */
+	@Override
+	public Object deepCopy(final Object arg0) {
+		if (arg0 == null) return null;
+
+		return arg0;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#disassemble(java.lang.Object)
+	 */
+	@Override
+	public Serializable disassemble(final Object arg0) {
+		final StringWriter buffer = new StringWriter();
+		((W3CEndpointReference) arg0).writeTo(new StreamResult(buffer));
+		return buffer.toString();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#equals(java.lang.Object, java.lang.Object)
+	 */
+	@Override
+	public boolean equals(final Object arg0, final Object arg1) {
+		if (arg0 == arg1) // NOPMD
+			return true;
+		if ((arg0 == null) || (arg1 == null)) return false;
+		return arg0.equals(arg1);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#hashCode(java.lang.Object)
+	 */
+	@Override
+	public int hashCode(final Object arg0) {
+		return disassemble(arg0).hashCode();
+	}
+
+	@Override
+	public boolean isMutable() {
+		return false;
+	}
+
+	/**
+	 * 
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor,
+	 *      java.lang.Object)
+	 */
+	@Override
+	public Object nullSafeGet(final ResultSet rset, final String[] names, final SessionImplementor si, final Object owner) throws SQLException {
+		return assemble(rset.getString(names[0]), owner);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int,
+	 *      org.hibernate.engine.spi.SessionImplementor)
+	 */
+	@Override
+	public void nullSafeSet(final PreparedStatement statement, final Object epr, final int index, final SessionImplementor arg3) throws HibernateException,
+			SQLException {
+		if (epr != null) {
+			statement.setString(index, (String) disassemble(epr));
+		}
+
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#replace(java.lang.Object, java.lang.Object, java.lang.Object)
+	 */
+	@Override
+	public Object replace(final Object arg0, final Object arg1, final Object arg2) {
+		// is not mutable
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#returnedClass()
+	 */
+	@Override
+	@SuppressWarnings("rawtypes")
+	public Class returnedClass() {
+		return W3CEndpointReference.class;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.hibernate.usertype.UserType#sqlTypes()
+	 */
+	@Override
+	public int[] sqlTypes() {
+		return new int[] { VARCHAR };
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/applicationContext-isstore.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/applicationContext-isstore.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/applicationContext-isstore.xml	(revision 47801)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:wsa="http://cxf.apache.org/ws/addressing"
+	xmlns:p="http://www.springframework.org/schema/p" xmlns:http="http://cxf.apache.org/transports/http/configuration"
+	xmlns:t="http://dnetlib.eu/springbeans/t" xmlns:template="http://dnetlib.eu/springbeans/template"
+	xmlns:util="http://www.springframework.org/schema/util"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+	 										http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
+                      http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+                      http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
+                      http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+                      http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+                      http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd">
+	<!-- beans -->
+
+	<bean name="abstractExistDatabase" init-method="start"
+		destroy-method="stop" p:triggerConf-ref="issnTriggers" abstract="true"
+		p:backupDir="${services.is.store.data.path}/backups" />
+
+	<bean name="temporaryExistDatabase" class="eu.dnetlib.xml.database.exist.TemporaryExistDatabase"
+		parent="abstractExistDatabase" lazy-init="true" />
+
+	<bean name="persistentExistDatabase" class="eu.dnetlib.xml.database.exist.PersistentExistDatabase"
+		parent="abstractExistDatabase"
+		p:dbRootPath="${services.is.store.data.path}/db" p:XQueryJavaEnabled="${services.is.store.enable.java}"
+		lazy-init="true" />
+
+	<alias name="${services.is.store.database.bean}" alias="existDatabase"/>
+
+	<!-- Adding interceptors to log about the execution of methods on exist -->
+	<bean name="persistentExistLogInterceptor"
+	      class="eu.dnetlib.enabling.tools.LogInterceptor">
+		<property name="enterMessage"
+		          value="ENTER | $[targetClassShortName].$[methodName]($[arguments])"/>
+		<property name="exitMessage"
+		          value="EXIT | $[targetClassShortName].$[methodName]($[arguments]) | $[invocationTime]ms"/>
+	</bean>
+
+	<bean
+			class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
+		<property name="beanNames" value="persistentExistDatabase"/>
+		<property name="proxyTargetClass" value="true"/>
+		<property name="interceptorNames">
+			<list>
+				<value>persistentExistLogInterceptor</value>
+			</list>
+		</property>
+	</bean>
+
+	<!-- end AOP interceptors -->
+
+	<util:map id="issnTriggers">
+		<entry key="/db" value-ref="issnIntegrationTrigger" />
+	</util:map>
+
+	<bean name="isStoreService" class="eu.dnetlib.enabling.is.store.ISStoreServiceImpl"
+		scope="singleton" init-method="start" destroy-method="stop"
+		p:xmlDatabase-ref="existDatabase" p:endpoint-ref="isStoreServiceEndpoint"
+		p:contentInitializerJob-ref="embeddedContentLoaderJob" />
+
+	<bean id="bulkResourceImporter" class="eu.dnetlib.enabling.is.store.BulkResourceImporter"
+		p:serviceLocator-ref="uniqueServiceLocator" p:xqueryUtils-ref="xqueryUtils"
+		p:resourceValidator-ref="resourceValidator" p:validating="${services.is.store.bulk.validation}" />
+
+	<bean id="embeddedContentLoaderJob" class="eu.dnetlib.enabling.is.store.TestContentInitializerJob"
+		scope="singleton" p:serviceLocator-ref="uniqueServiceLocator"
+		p:resources="classpath*:/eu/dnetlib/test/profiles/**/*.xml" p:schemas="${services.schemas}"
+		p:resourceLoader-ref="resourceLoaderHelper" p:bulkImporter-ref="bulkResourceImporter"
+		p:snDisable-ref="issnInhibitionCondition" p:timeToSleep="${services.is.store.initializer.timetosleep}" />
+
+	<!-- <bean id="testContentLoaderTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" -->
+	<!-- p:repeatCount="0" p:startDelay="3000"> -->
+	<!-- <property name="jobDetail"> -->
+	<!-- <bean id="testContentLoaderTriggerDetails" class="org.springframework.scheduling.quartz.JobDetailBean" -->
+	<!-- p:jobClass="eu.dnetlib.enabling.is.store.TestContentInitializerJob" -->
+	<!-- depends-on="snLocator"> -->
+	<!-- <property name="jobDataAsMap"> -->
+	<!-- <map> -->
+	<!-- <entry key="registryLocator" value-ref="registryLocator" /> -->
+	<!-- <entry key="resources" value="classpath*:/eu/dnetlib/test/profiles/**/*.xml" 
+		/> -->
+	<!-- <entry key="schemas" value="${services.schemas}" /> -->
+	<!-- <entry key="resourceLoader" value-ref="resourceLoaderHelper" /> -->
+	<!-- <entry key="bulkImporter" value-ref="bulkResourceImporter" /> -->
+	<!-- <entry key="snDisable" value-ref="issnInhibitionCondition" /> -->
+	<!-- </map> -->
+	<!-- </property> -->
+	<!-- </bean> -->
+	<!-- </property> -->
+	<!-- </bean> -->
+
+	<bean id="resourceLoaderHelper" class="eu.dnetlib.enabling.tools.ResourceLoaderHelper" />
+
+	<!-- <bean id="storeJobSchedulerAccessor" -->
+	<!-- class="org.springframework.scheduling.quartz.SchedulerAccessorBean" -->
+	<!-- p:scheduler-ref="jobScheduler"> -->
+	<!-- <property name="triggers"> -->
+	<!-- <list> -->
+	<!-- <ref bean="testContentLoaderTrigger" /> -->
+	<!-- </list> -->
+	<!-- </property> -->
+	<!-- </bean> -->
+
+	<!-- endpoints -->
+	<jaxws:endpoint id="isStoreServiceEndpoint" implementor="#isStoreService"
+		implementorClass="eu.dnetlib.enabling.is.store.rmi.ISStoreService"
+		address="/isStore" />
+
+	<template:instance name="serviceRegistrationManager"
+		t:serviceRegistrationManagerClass="eu.dnetlib.enabling.tools.registration.ValidatingServiceRegistrationManagerImpl"
+		t:name="isStoreServiceRegistrationManager" t:service="isStoreService"
+		t:endpoint="isStoreServiceEndpoint" t:jobScheduler="jobScheduler" />
+
+
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/applicationContext-issn.properties
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/applicationContext-issn.properties	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/sn/applicationContext-issn.properties	(revision 47801)
@@ -0,0 +1,19 @@
+services.issn.path=${dnet.data.path}/issn
+services.issn.hib.issndb.url=jdbc:sqlite:${services.issn.path}/dnet_issn.db
+services.issn.hib.issndb.username=dnet
+services.issn.hib.issndb.password=dnetPwd
+services.issn.hibernate.hbm.auto=update
+services.issn.hib.issndb.dialect=org.hibernate.dialect.SQLiteDialect
+services.issn.hib.driverName = org.sqlite.JDBC
+
+services.issn.subscription.filter.active = false
+services.is.sn.subscriptions.cache.ttl = 86400
+services.is.sn.subscriptions.cache.size = 1000
+
+#TO USE POSTGRES YOU NEED TO UNCOMMENT THIS
+#services.issn.hib.issndb.url=jdbc:postgresql://localhost:5432/dnet_issn
+#services.issn.hib.issndb.username=dnet
+#services.issn.hib.issndb.password=dnetPwd
+#services.issn.hibernate.hbm.auto=update
+#services.issn.hib.issndb.dialect=org.hibernate.dialect.PostgreSQLDialect
+#services.issn.hib.driverName = org.postgresql.Driver
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionRegistry.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionRegistry.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionRegistry.java	(revision 47801)
@@ -0,0 +1,233 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import com.google.common.collect.Sets;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.oro.text.perl.Perl5Util;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.enabling.is.sn.AbstractSubscriptionRegistry;
+import eu.dnetlib.enabling.is.sn.SubscriptionRegistry;
+import eu.dnetlib.enabling.is.sn.SubscriptionRequest;
+import eu.dnetlib.enabling.is.sn.TopicExpressionMatchResult;
+import eu.dnetlib.enabling.is.sn.rmi.SubscriptionRequestRejectedException;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+
+/**
+ * Manage subscription for UPDATE/CREATE/DELETE resource-related topic prefixes.
+ *
+ * @author marko
+ *
+ */
+public class ResourceStateSubscriptionRegistry extends AbstractSubscriptionRegistry implements SubscriptionRegistry {
+
+	private static final Log log = LogFactory.getLog(ResourceStateSubscriptionRegistry.class);
+
+	/**
+	 * subscription DAO.
+	 */
+	private ResourceStateSubscriptionDAO subscriptionDao;
+
+	/**
+	 * subscription request filter.
+	 */
+	@Autowired
+	private SubscriptionRequestFilter subscriptionRequestFilter;
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionRegistry#registerSubscription(eu.dnetlib.enabling.is.sn.SubscriptionRequest)
+	 */
+	@Override
+	@CacheEvict(value = "subscriptions", allEntries = true)
+	public String registerSubscription(final SubscriptionRequest subscription) throws SubscriptionRequestRejectedException {
+		final TopicExpressionMatchResult prefixMatch = matchPrefix(subscription);
+		if (prefixMatch == null)
+			return null;
+
+		final TopicExpressionMatchResult typeMatch = matchType(prefixMatch.getRest());
+		if (typeMatch == null)
+			return null; // TODO: decide whether to fail or not
+
+		final TopicExpressionMatchResult idMatch = matchId(typeMatch.getRest());
+
+		if (idMatch == null)
+			return null; // TODO: decide whether to fail or not
+
+		final ResourceStateSubscription rss = new ResourceStateSubscription(subscription, prefixMatch.getPrefix(), typeMatch.getPrefix(), idMatch.getPrefix(),
+				idMatch.getRest());
+
+		if (!getSubscriptionRequestFilter().accept(rss))
+			throw new SubscriptionRequestRejectedException(String.format("rejected subscription request, resourceId: '%s', xpath: '%s', from: %s",
+					rss.getResourceId(), rss.getXpath(), rss.getSubscriber()));
+
+		return registerSubscription(rss);
+	}
+
+	/**
+	 * this registers the real subscription.
+	 *
+	 * TODO: am I sure that the overload is a good thing here?
+	 *
+	 * @param subscription
+	 *            subscription
+	 * @return subscription id (potentially changed)
+	 */
+	private String registerSubscription(final ResourceStateSubscription subscription) {
+	    if(log.isDebugEnabled()) {
+		log.debug("evict subscriptions cache");
+	    }
+
+		// TODO: change the dao, and implement a method which finds a given subscription directly.
+		final Collection<ResourceStateSubscription> similar = subscriptionDao.listSubscriptions(subscription.getPrefix(), subscription.getType(),
+				subscription.getResourceId());
+		for (final ResourceStateSubscription r : similar) {
+			if (r != null && getAddress(subscription.getSubscriberAsEpr()).equals(getAddress(r.getSubscriberAsEpr()))
+					&& (subscription.getXpath() == r.getXpath() || subscription.getXpath().equals(r.getXpath()))
+					&& (subscription.getResourceId() == r.getResourceId() || subscription.getResourceId().equals(r.getResourceId())))
+				return r.getSubscriptionId();
+		}
+
+		subscriptionDao.addSubscription(subscription);
+
+		return subscription.getSubscriptionId();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionRegistry#unsubscribe(java.lang.String)
+	 */
+	@Override
+	@CacheEvict(value = "subscriptions", allEntries = true)
+	public boolean unsubscribe(final String subId) {
+		log.info("evict subscriptions cache");
+		return subscriptionDao.removeSubscription(subId);
+	}
+
+	/**
+	 * Obtains the address component of the EPR.
+	 *
+	 * TODO: refactor in a utility class.
+	 *
+	 * @param epr
+	 *            endpoint reference
+	 * @return address contained in the endpoint reference
+	 */
+	private Object getAddress(final W3CEndpointReference epr) {
+		final DOMResult dom = new DOMResult();
+		epr.writeTo(dom);
+
+		try {
+			return XPathFactory.newInstance().newXPath().evaluate("//*[local-name() = 'Address']", dom.getNode());
+		} catch (final XPathExpressionException e) {
+			throw new IllegalStateException("cannot construct xpath expression", e);
+		}
+	}
+
+	/**
+	 * extract resource type name.
+	 *
+	 * @param rest
+	 *            topic expression without prefix
+	 * @return tuple containing type name and rest of the prefix
+	 */
+	public TopicExpressionMatchResult matchType(final String rest) {
+		final Perl5Util matcher = new Perl5Util(); // NOPMD
+		if (!matcher.match("/^(\\*|[a-zA-Z_0-9]*)($|/)(.*)$/", rest))
+			return null;
+
+		return new TopicExpressionMatchResult(matcher.getMatch().group(1), matcher.getMatch().group(2 + 1));
+	}
+
+	/**
+	 * extract resource id.
+	 *
+	 * @param rest
+	 *            topic expression without prefix
+	 * @return tuple containing type name and rest of the prefix
+	 */
+	public TopicExpressionMatchResult matchId(final String rest) {
+		final Perl5Util matcher = new Perl5Util(); // NOPMD
+		if (!matcher.match("/^([^/]*)(.*)/", rest))
+			return null;
+
+		return new TopicExpressionMatchResult(matcher.getMatch().group(1), matcher.getMatch().group(2));
+	}
+
+	/**
+	 * return all subscriptions matching a given prefix and a given type. Wildcard subscriptions will match any resource type.
+	 *
+	 * @param prefix
+	 *            prefix
+	 * @param type
+	 *            concrete type
+	 * @param resId
+	 *            resource identifier
+	 * @return all matching subscriptions
+	 */
+	@Override
+	@Cacheable(value="subscriptions", key="{ #prefix, #type, #resId }")
+	public Collection<ResourceStateSubscription> listMatchingSubscriptions(final String prefix, final String type, final String resId) {
+
+		if(log.isDebugEnabled()) {
+			log.debug(String.format("uncached list subscriptions [prefix: '%s', type: '%s', resourceId: '%s']", prefix, type, resId));
+		}
+		final Set<ResourceStateSubscription> merged = new HashSet<ResourceStateSubscription>();
+		merged.addAll(subscriptionDao.listSubscriptions(prefix, type, resId));
+		merged.addAll(subscriptionDao.listSubscriptions(prefix, type, "*"));
+		merged.addAll(subscriptionDao.listSubscriptions(prefix, "*", "*"));
+		return merged;
+	}
+
+	@Override
+	@Cacheable(value="subscriptions")
+	public Collection<ResourceStateSubscription> listSubscriptions() {
+		log.info("uncached list subscriptions");
+
+		return Sets.newHashSet(subscriptionDao.listSubscriptions());
+	}
+
+	@Override
+	@CacheEvict(value = "subscriptions", allEntries = true)
+	public boolean removeSubscription(final String subscriptionId) {
+		return subscriptionDao.removeSubscription(subscriptionId);
+	}
+
+	@Override
+	protected Collection<String> getAcceptedPrefixes() {
+		return Arrays.asList(new String[] { ResourceStateSubscription.PREFIX_CREATE, ResourceStateSubscription.PREFIX_DELETE,
+				ResourceStateSubscription.PREFIX_UPDATE });
+	}
+
+	public ResourceStateSubscriptionDAO getSubscriptionDao() {
+		return subscriptionDao;
+	}
+
+	@Required
+	public void setSubscriptionDao(final ResourceStateSubscriptionDAO subscriptionDao) {
+		this.subscriptionDao = subscriptionDao;
+	}
+
+	public SubscriptionRequestFilter getSubscriptionRequestFilter() {
+		return subscriptionRequestFilter;
+	}
+
+	public void setSubscriptionRequestFilter(final SubscriptionRequestFilter subscriptionRequestFilter) {
+		this.subscriptionRequestFilter = subscriptionRequestFilter;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/applicationContext-isregistry.properties
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/applicationContext-isregistry.properties	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/applicationContext-isregistry.properties	(revision 47801)
@@ -0,0 +1,2 @@
+# values: idPreservingPendingManager, compatPendingManager
+services.registry.pending.resource.manager=idPreservingPendingManager
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/SubscriptionRequestFilter.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/SubscriptionRequestFilter.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/SubscriptionRequestFilter.java	(revision 47801)
@@ -0,0 +1,43 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Value;
+
+public class SubscriptionRequestFilter {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(SubscriptionRequestFilter.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * resource wildcard
+	 */
+	private static final String ANY_RESOURCE = "*";
+
+	@Value("${services.issn.subscription.filter.active}")
+	private boolean active = false;
+
+	public boolean accept(final ResourceStateSubscription rss) {
+
+		if (!isActive()) return true;
+
+		if (StringUtils.isBlank(rss.getXpath()) & StringUtils.equals(rss.getResourceId(), ANY_RESOURCE)) {
+			log.debug(String.format("rejected subscription request, resourceId: '%s', xpath: '%s', from: %s", rss.getResourceId(), rss.getXpath(),
+					rss.getSubscriber()));
+			return false; // we reject wide subscriptions
+		}
+
+		return true;
+	}
+
+	public boolean isActive() {
+		return active;
+	}
+
+	public void setActive(boolean active) {
+		this.active = active;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscription.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscription.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscription.java	(revision 47801)
@@ -0,0 +1,227 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import java.io.StringReader;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.EndpointReference;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+
+import eu.dnetlib.enabling.is.sn.SubscriptionRequest;
+
+/**
+ * This class describes a ResourceState subscription, i.e. a subscription that is registered on a topic that depends on
+ * some xpath on some resource, and which is triggered when the value of this xpath changes.
+ * 
+ * Topics of this type could not be there.
+ * 
+ * @author marko
+ * 
+ */
+@Entity(name = "subscriptions")
+@Table(name = "subscriptions")
+public class ResourceStateSubscription {
+
+	/**
+	 * hash seed.
+	 */
+	private static final int HASH_SEED_2 = 59;
+
+	/**
+	 * hash seed.
+	 */
+	private static final int HASH_SEED = 47;
+
+	/**
+	 * create topic prefix.
+	 */
+	public static final String PREFIX_CREATE = "CREATE";
+
+	/**
+	 * delete topic prefix.
+	 */
+	public static final String PREFIX_DELETE = "DELETE";
+
+	/**
+	 * update topic prefix.
+	 */
+	public static final String PREFIX_UPDATE = "UPDATE";
+	
+	/**
+	 * pending create topic prefix.
+	 */
+	public static final String PREFIX_PENDING_CREATE = "PENDING_CREATE";
+
+	/**
+	 * pending delete topic prefix.
+	 */
+	public static final String PREFIX_PENDING_DELETE = "PENDING_DELETE";
+
+	/**
+	 * pending update topic prefix.
+	 */
+	public static final String PREFIX_PENDING_UPDATE = "PENDING_UPDATE";
+
+	
+	/**
+	 * subscription identifier.
+	 */
+	@Id
+    @Column(name = "subscriptionid")
+	private String subscriptionId;
+
+	/**
+	 * prefix: crude.
+	 */
+	@Column(name = "prefix")
+	private String prefix;
+	
+	/**
+	 * resource type.
+	 */
+	@Column(name = "type")
+	private String type;
+
+	/**
+	 * resource id.
+	 */
+	@Column(name = "resourceid")
+	private String resourceId;
+
+	/**
+	 * xpath.
+	 */
+	@Column(name = "xpath")
+	private String xpath;
+
+	/**
+	 * consumer (subscriber) reference.
+	 */
+	@Column(name = "subscriber", length = 4096)	
+	private String subscriber;
+
+	/**
+	 * default constructor. for unit testing.
+	 */
+	public ResourceStateSubscription() {
+		this.type = "*";
+		this.resourceId = "*";
+	}
+
+	/**
+	 * create a new instance.
+	 * 
+	 * @param request
+	 *            original request.
+	 * @param prefix
+	 *            prefix
+	 * @param type
+	 *            resource type
+	 * @param resourceId
+	 *            resource identifier
+	 * @param xpath
+	 *            xpath
+	 */
+	public ResourceStateSubscription(final SubscriptionRequest request, final String prefix, final String type, final String resourceId,
+			final String xpath) {
+		super();
+		setSubscriptionId(request.getSubscriptionId());
+		setSubscriber(request.getSubscriber());
+		setPrefix(prefix);
+		setType(type);
+		setResourceId(resourceId);
+		setXpath(xpath);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see java.lang.Object#hashCode()
+	 */
+	@Override
+	public int hashCode() {
+		return new HashCodeBuilder(HASH_SEED, HASH_SEED_2).append(subscriptionId).append(subscriber.toString()).append(prefix).append(type).append(xpath)
+				.toHashCode();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see java.lang.Object#equals(java.lang.Object)
+	 */
+	@Override
+	public boolean equals(final Object obj) {
+		if (!(obj instanceof ResourceStateSubscription))
+			return false;
+
+		if (this == obj)
+			return true;
+
+		final ResourceStateSubscription rhs = (ResourceStateSubscription) obj;
+		return new EqualsBuilder().append(subscriptionId, rhs.getSubscriptionId()).append(prefix, rhs.getPrefix()).append(
+				resourceId, rhs.getResourceId()).append(xpath, rhs.getXpath()).isEquals();
+	}
+
+	public String getSubscriptionId() {
+		return subscriptionId;
+	}
+
+	public void setSubscriptionId(final String subscriptionId) {
+		this.subscriptionId = subscriptionId;
+	}
+
+	public String getPrefix() {
+		return prefix;
+	}
+
+	public void setPrefix(final String prefix) {
+		this.prefix = prefix;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(final String type) {
+		this.type = type == null || type.isEmpty() ? "*" : type;
+	}
+
+	public String getXpath() {
+		return xpath;
+	}
+
+	public void setXpath(final String xpath) {
+		this.xpath = xpath;
+	}
+
+	public String getSubscriber() {
+		return subscriber;
+	}
+
+	public W3CEndpointReference getSubscriberAsEpr() {
+		return (W3CEndpointReference) EndpointReference.readFrom(new StreamSource(new StringReader(getSubscriber())));
+	}
+
+	public void setSubscriber(final W3CEndpointReference epr) {
+		this.subscriber = (epr != null) ? epr.toString() : null;;
+	}
+
+	public void setSubscriber(final String subscriber) {
+		this.subscriber = subscriber;
+	}
+
+	public void setResourceId(final String resourceId) {
+		this.resourceId = resourceId == null || resourceId.isEmpty() ? "*" : resourceId;
+	}
+
+	public String getResourceId() {
+		return resourceId;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionDAO.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionDAO.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionDAO.java	(revision 47801)
@@ -0,0 +1,24 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import java.util.Collection;
+
+import eu.dnetlib.enabling.is.sn.SubscriptionDAO;
+
+/**
+ * Stores ResourceState subscriptions.
+ * 
+ * @author marko
+ *
+ */
+public interface ResourceStateSubscriptionDAO extends SubscriptionDAO<ResourceStateSubscription> {
+	
+	/**
+	 * get all subscriptions matching a given prefix and a given resource type.
+	 * 
+	 * @param prefix null means any prefix
+	 * @param resourceType resource type.
+	 * @param resourceId resource identifier
+	 * @return matching subscriptions
+	 */
+	Collection<ResourceStateSubscription> listSubscriptions(String prefix, String resourceType, String resourceId);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateNotificationDetectorFilter.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateNotificationDetectorFilter.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateNotificationDetectorFilter.java	(revision 47801)
@@ -0,0 +1,83 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import eu.dnetlib.enabling.is.sn.NotificationSender;
+
+/**
+ * sits on top of a ResourceStateNotificationDetector and filters out resources for which we don't want to generate
+ * notifications.
+ * 
+ * @author marko
+ * 
+ * @param <T>
+ *            type of the resource object
+ */
+public abstract class AbstractResourceStateNotificationDetectorFilter<T> implements ResourceStateNotificationDetector<T> {
+
+	/**
+	 * delegate.
+	 */
+	private ResourceStateNotificationDetector<T> delegate;
+
+	/**
+	 * implement this in order to decide which resources are interesting for notifications, and which are not (for
+	 * example pending resources are by ignored in dnet 1.0).
+	 * 
+	 * @param resource
+	 *            resource
+	 * @return true if the resource is potentially accepted for notification
+	 */
+	abstract boolean accept(T resource);
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector#resourceCreated(java.lang.Object)
+	 */
+	@Override
+	public void resourceCreated(final T newResource) {
+		if (accept(newResource))
+			delegate.resourceCreated(newResource);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector#resourceDeleted(java.lang.Object)
+	 */
+	@Override
+	public void resourceDeleted(final T oldResource) {
+		if (accept(oldResource))
+			delegate.resourceDeleted(oldResource);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector#resourceUpdated(java.lang.Object,
+	 *      java.lang.Object)
+	 */
+	@Override
+	public void resourceUpdated(final T oldResource, final T newResource) {
+		if (accept(oldResource) || accept(newResource))
+			delegate.resourceUpdated(oldResource, newResource);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.NotificationDetector#setSender(eu.dnetlib.enabling.is.sn.NotificationSender)
+	 */
+	@Override
+	public void setSender(final NotificationSender sender) {
+		delegate.setSender(sender);
+	}
+
+	public ResourceStateNotificationDetector<T> getDelegate() {
+		return delegate;
+	}
+
+	public void setDelegate(final ResourceStateNotificationDetector<T> delegate) {
+		this.delegate = delegate;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/store/ISStoreServiceImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/store/ISStoreServiceImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/store/ISStoreServiceImplTest.java	(revision 47801)
@@ -0,0 +1,70 @@
+package eu.dnetlib.enabling.is.store; // NOPMD
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.xmldb.api.base.XMLDBException;
+
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.xml.database.XMLDatabase;
+
+/**
+ * test the ISStore service.
+ * 
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ISStoreServiceImplTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient ISStoreServiceImpl storeService;
+	
+	/**
+	 * xml database mock.
+	 */
+	@Mock 
+	private transient XMLDatabase xmlDatabase; 
+	
+	/**
+	 * setup class under test.
+	 */
+	@Before
+	public void setUp() {
+		storeService = new ISStoreServiceImpl();
+		storeService.setXmlDatabase(xmlDatabase);
+	}
+
+	/**
+	 * test that quick search profile returns null instead of an empty list.
+	 * 
+	 * @throws XMLDBException shouldn't happen
+	 * @throws ISStoreException shouldn't happen
+	 */
+	@Test
+	public void testQuickSearchXML() throws XMLDBException, ISStoreException {
+		final Iterator<String> rset = mock(Iterator.class);
+		when(rset.hasNext()).thenReturn(true, false);
+		when(xmlDatabase.xquery(anyString())).thenReturn(rset);
+		
+		final List<String> res = storeService.quickSearchXML("someQuery");
+		
+		assertNotNull("empty result not null", res);
+		assertFalse("empty result is empty", res.isEmpty());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ConditionalResourceStateNotificationDetectorFilter.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ConditionalResourceStateNotificationDetectorFilter.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ConditionalResourceStateNotificationDetectorFilter.java	(revision 47801)
@@ -0,0 +1,39 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import eu.dnetlib.miscutils.coupling.ExternalCondition;
+
+/**
+ * Ignores pending profiles from notification detection.
+ * 
+ * @author marko
+ * 
+ */
+public class ConditionalResourceStateNotificationDetectorFilter extends AbstractResourceStateNotificationDetectorFilter<OpaqueResource> {
+
+	/**
+	 * external condition that drives this filter. We accept notification while the external condition is false.
+	 */
+	private ExternalCondition inhibitionCondition; // NOPMD
+	
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateNotificationDetectorFilter#accept(java.lang.Object)
+	 */
+	@Override
+	boolean accept(final OpaqueResource resource) {
+		return !inhibitionCondition.isTrue();
+	}
+
+	public ExternalCondition getInhibitionCondition() {
+		return inhibitionCondition;
+	}
+
+	@Required
+	public void setInhibitionCondition(final ExternalCondition inhibitionCondition) { // NOPMD
+		this.inhibitionCondition = inhibitionCondition;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/PendingResourceStateNotificationDetectorFilter.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/PendingResourceStateNotificationDetectorFilter.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/PendingResourceStateNotificationDetectorFilter.java	(revision 47801)
@@ -0,0 +1,24 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * Ignores pending profiles from notification detection.
+ * 
+ * @author marko
+ * 
+ */
+public class PendingResourceStateNotificationDetectorFilter extends AbstractResourceStateNotificationDetectorFilter<OpaqueResource> {
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateNotificationDetectorFilter#accept(java.lang.Object)
+	 */
+	@Override
+	boolean accept(final OpaqueResource resource) {
+		if (resource.getResourceKind().startsWith("Pending"))
+			return false;
+		return true;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateSubscriptionDAOImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateSubscriptionDAOImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateSubscriptionDAOImplTest.java	(revision 47801)
@@ -0,0 +1,263 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Collection;
+
+import org.apache.commons.beanutils.BeanComparator;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * testing MemoryResourceStateSubscriptionDAOImpl.
+ * 
+ * @author marko
+ * 
+ */
+public abstract class AbstractResourceStateSubscriptionDAOImplTest {
+
+	/**
+	 * update topic prefix.
+	 */
+	private static final String UPDATE = "UPDATE";
+
+	/**
+	 * create topic prefix.
+	 */
+	private static final String CREATE = "CREATE";
+
+	/**
+	 * test resource type.
+	 */
+	private static final String SOME_TYPE = "someType";
+
+	/**
+	 * test other resource type.
+	 */
+	private static final String SOME_OTHER_TYPE = "someOtherType";
+	
+	/**
+	 * test resource id.
+	 */
+	private static final String SOME_ID = "123";
+
+	/**
+	 * class under test.
+	 */
+	private ResourceStateSubscriptionDAO dao;
+
+	/**
+	 * test subscription.
+	 */
+	private transient ResourceStateSubscription sub;
+
+	/**
+	 * test subscription.
+	 */
+	private transient ResourceStateSubscription sub2;
+
+	/**
+	 * test subscription.
+	 */
+	private transient ResourceStateSubscription sub3;
+
+	/**
+	 * test subscription.
+	 */
+	private transient ResourceStateSubscription sub4;
+
+	/**
+	 * test subscription.
+	 */
+	private transient ResourceStateSubscription sub5;
+	
+	/**
+	 * common setup.
+	 */
+	@Before
+	public void setUp() {
+		prepareDao();
+
+		sub = new ResourceStateSubscription();
+		sub.setSubscriptionId("sn123");
+		sub.setPrefix(CREATE);
+		sub.setType(SOME_TYPE);
+		sub.setXpath("somePath");
+
+		sub2 = new ResourceStateSubscription();
+		sub2.setSubscriptionId("sn666");
+		sub2.setPrefix(UPDATE);
+		sub2.setType(SOME_TYPE);
+		sub2.setXpath("somePath");
+
+		sub3 = new ResourceStateSubscription();
+		sub3.setSubscriptionId("sn000");
+		sub3.setPrefix(CREATE);
+		sub3.setType(SOME_TYPE);
+		sub3.setXpath("somePath");
+
+		sub4 = new ResourceStateSubscription();
+		sub4.setSubscriptionId("sn987");
+		sub4.setPrefix(CREATE);
+		sub4.setType("*");
+		sub4.setResourceId(SOME_ID);
+		
+		sub5 = new ResourceStateSubscription();
+		sub5.setSubscriptionId("sn888");
+		sub5.setPrefix(UPDATE);
+		sub5.setType(SOME_TYPE);
+		sub5.setResourceId(SOME_ID);
+	}
+
+	/**
+	 * subsclasses should implement this in order to plug their implementation of the dao.
+	 */
+	protected abstract void prepareDao();
+
+	/**
+	 * compare two subscriptions.
+	 * 
+	 * @param left
+	 *            lhs
+	 * @param right
+	 *            rhs
+	 * @return true if the objects are equal
+	 */
+	protected boolean compare(final ResourceStateSubscription left, final ResourceStateSubscription right) {
+		return new BeanComparator("subscriptionId").compare(left, right) == 0 && new BeanComparator("prefix").compare(left, right) == 0
+		&& new BeanComparator("type").compare(left, right) == 0 && new BeanComparator("resourceId").compare(left, right) == 0;
+	}
+
+	/**
+	 * test list subscriptions for prefix and type.
+	 */
+	@Test
+	public void testListSubscriptionsStringString() {
+		dao.addSubscription(sub);
+		dao.addSubscription(sub2);
+		dao.addSubscription(sub3);
+		dao.addSubscription(sub4);
+
+		for (ResourceStateSubscription s : dao.listSubscriptions(UPDATE, SOME_TYPE, SOME_ID))
+			assertTrue("check subscription", compare(s, sub2));
+
+		assertEquals("check size", 2, dao.listSubscriptions(CREATE, SOME_TYPE, "*").size());
+
+		for (ResourceStateSubscription s : dao.listSubscriptions(CREATE, "*", SOME_ID))
+			assertTrue("check subscription star", compare(s, sub4));
+
+		assertEquals("check size star", 1, dao.listSubscriptions(CREATE, "*", SOME_ID).size());	
+	}
+	
+	/**
+	 * enable this test when the manual merging of subscriptions is removed from the ResourceStateSubscriptionRegistry.
+	 * The ResourceState subscription DAO alone should be able to quickly resolve wildcards. 
+	 */
+	@Test
+	@Ignore
+	public void testListSubscriptionsStar() {
+		dao.addSubscription(sub);
+		dao.addSubscription(sub2);
+		dao.addSubscription(sub3);
+		dao.addSubscription(sub4);
+
+		for (ResourceStateSubscription s : dao.listSubscriptions(CREATE, SOME_OTHER_TYPE, SOME_ID)) {
+			assertTrue("check subscription fixed star", compare(s, sub4));
+		}
+
+		assertEquals("check size fixed tar", 1, dao.listSubscriptions(CREATE, SOME_OTHER_TYPE, SOME_ID).size());
+
+	}
+
+	/**
+	 * test get a specific subscription by id.
+	 */
+	@Test
+	public void testGetSubscription() {
+
+		dao.addSubscription(sub);
+
+		assertNotNull("check that it's registered", dao.getSubscription(sub.getSubscriptionId()));
+	}
+
+	/**
+	 * test list all subscriptions.
+	 */
+	@Test
+	public void testListSubscriptions() {
+		dao.addSubscription(sub);
+		for (ResourceStateSubscription s : dao.listSubscriptions())
+			assertTrue("check subscription", compare(s, sub));
+
+		assertEquals("check size", 1, dao.listSubscriptions().size());
+	}
+	
+	/**
+	 * test specific subscription.
+	 */
+	@Test
+	public void testSpecificSubscription() {
+		dao.addSubscription(sub5);
+		
+		final Collection<ResourceStateSubscription> res = dao.listSubscriptions(UPDATE, SOME_TYPE, SOME_ID);
+		assertEquals("only one", 1, res.size());
+		
+		assertNotNull("", res.iterator().next());
+	}
+
+	/**
+	 * test list subscriptions for a given prefix.
+	 */
+	@Test
+	public void testListSubscriptionsString() {
+		dao.addSubscription(sub);
+		dao.addSubscription(sub2);
+
+		for (ResourceStateSubscription s : dao.listSubscriptions(UPDATE))
+			assertTrue("check subscription", compare(s, sub2));
+	}
+
+	public ResourceStateSubscriptionDAO getDao() {
+		return dao;
+	}
+
+	public void setDao(final ResourceStateSubscriptionDAO dao) {
+		this.dao = dao;
+	}
+
+	public ResourceStateSubscription getSub() {
+		return sub;
+	}
+
+	public void setSub(final ResourceStateSubscription sub) {
+		this.sub = sub;
+	}
+
+	public ResourceStateSubscription getSub2() {
+		return sub2;
+	}
+
+	public void setSub2(final ResourceStateSubscription sub2) {
+		this.sub2 = sub2;
+	}
+
+	public ResourceStateSubscription getSub3() {
+		return sub3;
+	}
+
+	public void setSub3(final ResourceStateSubscription sub3) {
+		this.sub3 = sub3;
+	}
+
+	public ResourceStateSubscription getSub4() {
+		return sub4;
+	}
+
+	public void setSub4(final ResourceStateSubscription sub4) {
+		this.sub4 = sub4;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateNotificationDetector.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateNotificationDetector.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateNotificationDetector.java	(revision 47801)
@@ -0,0 +1,39 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import eu.dnetlib.enabling.is.sn.NotificationDetector;
+
+/**
+ * Implementors detect topic assertions by sensing changes in resource state.
+ * 
+ * @author marko
+ * @param <T>
+ *            type of resource
+ */
+public interface ResourceStateNotificationDetector<T> extends NotificationDetector {
+	/**
+	 * called when a new resource is created.
+	 * 
+	 * @param newResource
+	 *            new resource
+	 */
+	void resourceCreated(T newResource);
+
+	/**
+	 * called when a resource is modified.
+	 * 
+	 * @param oldResource
+	 *            old resource
+	 * @param newResource
+	 *            new resource
+	 */
+	void resourceUpdated(T oldResource, T newResource);
+
+	/**
+	 * called when a resource is deleted.
+	 * 
+	 * @param oldResource
+	 *            old resource
+	 */
+	void resourceDeleted(T oldResource);
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/NotificationDetectorImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/NotificationDetectorImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/NotificationDetectorImplTest.java	(revision 47801)
@@ -0,0 +1,185 @@
+package eu.dnetlib.enabling.is.sn;
+
+import static org.junit.Assert.*; // NOPMD
+import static org.mockito.Mockito.*; // NOPMD
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
+import org.mockito.Mock;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionRegistry;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * Test the default notification detector implementation.
+ *
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class NotificationDetectorImplTest {
+
+	/**
+	 * some type.
+	 */
+	private static final String SOME_TYPE = "SomeType";
+
+	/**
+	 * some resource identifier.
+	 */
+	private static final String SOME_ID = "123";
+
+	/**
+	 * Check if a message has the correct content.
+	 *
+	 * @author marko
+	 *
+	 */
+	private final class CheckMessage implements ArgumentMatcher<NotificationMessage> {
+
+		/**
+		 * prefix.
+		 */
+		private final transient String prefix;
+
+		/**
+		 * constructor.
+		 *
+		 * @param prefix topic prefix
+		 */
+		CheckMessage(final String prefix) {
+			super();
+			this.prefix = prefix;
+		}
+
+		/**
+		 * {@inheritDoc}
+		 * @see org.mockito.ArgumentMatcher#matches(java.lang.Object)
+		 */
+		@Override
+		public boolean matches(final NotificationMessage argument) {
+			return argument.getSubscriptionId() == subscription.getSubscriptionId() && argument.getResourceId().equals("123")
+					&& argument.getTopic().equals(prefix + ".*.*");
+		}
+	}
+
+	/**
+	 * instance under test.
+	 */
+	private transient NotificationDetectorImpl detector;
+
+	/**
+	 * registry mock.
+	 */
+	@Mock
+	private transient ResourceStateSubscriptionRegistry registry;
+
+	/**
+	 * sender mock.
+	 */
+	@Mock
+	private transient NotificationSender sender;
+
+	/**
+	 * resource mock.
+	 */
+	@Mock
+	private transient OpaqueResource resource;
+
+	/**
+	 * resource subscription.
+	 */
+	@Mock
+	private transient ResourceStateSubscription subscription;
+
+	/**
+	 * mock subscriber.
+	 */
+	private transient W3CEndpointReference subscriber;
+
+	/**
+	 * common.
+	 */
+	@Before
+	public void setUp() {
+		detector = new NotificationDetectorImpl();
+
+		detector.setRegistry(registry);
+
+		detector.setSender(sender);
+
+		final W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder();
+		builder.address("http://test.com/test/test");
+		subscriber = builder.build();
+
+		final List<ResourceStateSubscription> subscriptions = new ArrayList<ResourceStateSubscription>();
+		subscriptions.add(subscription);
+		when(registry.listMatchingSubscriptions(ResourceStateSubscription.PREFIX_CREATE, SOME_TYPE, SOME_ID)).thenReturn(subscriptions);
+		when(registry.listMatchingSubscriptions(ResourceStateSubscription.PREFIX_DELETE, SOME_TYPE, SOME_ID)).thenReturn(subscriptions);
+		when(registry.listMatchingSubscriptions(ResourceStateSubscription.PREFIX_UPDATE, SOME_TYPE, SOME_ID)).thenReturn(subscriptions);
+
+		when(resource.getResourceId()).thenReturn(SOME_ID);
+		when(resource.getResourceType()).thenReturn(SOME_TYPE);
+
+		when(subscription.getSubscriptionId()).thenReturn("sn123");
+		when(subscription.getSubscriberAsEpr()).thenReturn(subscriber);
+		when(subscription.getXpath()).thenReturn("");
+		when(subscription.getType()).thenReturn("*");
+		when(subscription.getResourceId()).thenReturn("*");
+	}
+
+	/**
+	 * test 'create'.
+	 */
+	@Test
+	public void testResourceCreated() {
+		when(subscription.getPrefix()).thenReturn(ResourceStateSubscription.PREFIX_CREATE);
+
+		detector.resourceCreated(resource);
+
+		verify(sender).send(eq(subscriber), argThat(new CheckMessage(ResourceStateSubscription.PREFIX_CREATE)));
+
+		assertNotNull("dummy", sender);
+	}
+
+	/**
+	 * test 'delete'.
+	 */
+	@Test
+	public void testResourceDeleted() {
+		when(subscription.getPrefix()).thenReturn(ResourceStateSubscription.PREFIX_DELETE);
+
+		detector.resourceDeleted(resource);
+
+		verify(sender).send(eq(subscriber), argThat(new CheckMessage(ResourceStateSubscription.PREFIX_DELETE)));
+
+		assertNotNull("dummy", sender);
+	}
+
+	/**
+	 * test 'update'.
+	 */
+	@Test
+	public void testResourceUpdated() {
+		when(subscription.getXpath()).thenReturn(null);
+		when(subscription.getPrefix()).thenReturn(ResourceStateSubscription.PREFIX_UPDATE);
+
+		detector.resourceUpdated(resource, resource);
+
+		verify(sender).send(eq(subscriber), argThat(new CheckMessage(ResourceStateSubscription.PREFIX_UPDATE)));
+
+		assertNotNull("dummy", sender);
+
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionDAOImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionDAOImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionDAOImpl.java	(revision 47801)
@@ -0,0 +1,132 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 
+ * dummy implementation of the resource state subscription DAO layer, using an in-memory map.
+ * 
+ * @author marko
+ * 
+ */
+public class MemoryResourceStateSubscriptionDAOImpl implements ResourceStateSubscriptionDAO {
+
+	/**
+	 * by id.
+	 */
+	private Map<String, ResourceStateSubscription> byId = new HashMap<String, ResourceStateSubscription>();
+
+	/**
+	 * groups subscriptions with the same prefix and type.
+	 */
+	private Map<String, Collection<ResourceStateSubscription>> byPrefixAndType = new HashMap<String, Collection<ResourceStateSubscription>>();
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionDAO#listSubscriptions(java.lang.String,
+	 *      java.lang.String, java.lang.String)
+	 */
+	@Override
+	public Collection<ResourceStateSubscription> listSubscriptions(final String prefix, final String resourceType, final String resourceId) {
+		return orDefault(getByPrefixAndType().get(prefix + "/" + resourceType + "/" + resourceId));
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#addSubscription(java.lang.Object)
+	 */
+	@Override
+	public void addSubscription(final ResourceStateSubscription subscription) {
+		getById().put(subscription.getSubscriptionId(), subscription);
+
+		final String key = subscription.getPrefix() + "/" + subscription.getType() + "/" + subscription.getResourceId();
+		final Collection<ResourceStateSubscription> prefTypeList = getByPrefixAndType().get(key);
+		if (prefTypeList == null)
+			getByPrefixAndType().put(key, new ArrayList<ResourceStateSubscription>());
+		getByPrefixAndType().get(key).add(subscription);
+
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#getSubscription(java.lang.String)
+	 */
+	@Override
+	public ResourceStateSubscription getSubscription(final String subscriptionId) {
+		return getById().get(subscriptionId);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#listSubscriptions()
+	 */
+	@Override
+	public Collection<ResourceStateSubscription> listSubscriptions() {
+		return orDefault(getById().values());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#listSubscriptions(java.lang.String)
+	 */
+	@Override
+	public Collection<ResourceStateSubscription> listSubscriptions(final String prefix) {
+		return listSubscriptions(prefix, "*", "*");
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.SubscriptionDAO#removeSubscription(java.lang.String)
+	 */
+	@Override
+	public boolean removeSubscription(final String subscriptionId) {
+		final ResourceStateSubscription subscription = getSubscription(subscriptionId);
+		if (subscription == null)
+			return false;
+		final String key = subscription.getPrefix() + "/" + subscription.getType() + "/" + subscription.getResourceId();
+		
+		final Collection<ResourceStateSubscription> prefTypeList = getByPrefixAndType().get(key);
+		prefTypeList.remove(subscription);
+		
+		getById().remove(subscriptionId);
+		return true;
+	}
+
+	/**
+	 * inner helper method. returns an empty collection instead of a null.
+	 * 
+	 * @param collection
+	 *            some collection
+	 * @return input collection or empty collection
+	 */
+	private Collection<ResourceStateSubscription> orDefault(final Collection<ResourceStateSubscription> collection) {
+		if (collection == null)
+			return new ArrayList<ResourceStateSubscription>();
+		return collection;
+	}
+
+	public Map<String, ResourceStateSubscription> getById() {
+		return byId;
+	}
+
+	public void setById(final Map<String, ResourceStateSubscription> byId) {
+		this.byId = byId;
+	}
+
+	public Map<String, Collection<ResourceStateSubscription>> getByPrefixAndType() {
+		return byPrefixAndType;
+	}
+
+	public void setByPrefixAndType(final Map<String, Collection<ResourceStateSubscription>> byPrefixAndType) {
+		this.byPrefixAndType = byPrefixAndType;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/schema/OpaqueResourceValidatorImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/schema/OpaqueResourceValidatorImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/schema/OpaqueResourceValidatorImplTest.java	(revision 47801)
@@ -0,0 +1,96 @@
+package eu.dnetlib.enabling.is.registry.schema;
+
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.when;
+
+import javax.xml.XMLConstants;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.xml.sax.SAXException;
+
+import eu.dnetlib.enabling.tools.StreamOpaqueResource;
+
+/**
+ * test schema validator.
+ *
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class OpaqueResourceValidatorImplTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient OpaqueResourceValidatorImpl validator;
+
+	/**
+	 * resource schema dao mock.
+	 */
+	@Mock
+	private transient ResourceSchemaDAO schemaDao;
+
+	/**
+	 * prepare tests.
+	 *
+	 * @throws SAXException
+	 *             schema related
+	 */
+	@Before
+	public void setUp() throws SAXException {
+		final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+		final Schema schema = schemaFactory.newSchema(new StreamSource(getClass().getResourceAsStream("schema.xsd")));
+
+		when(schemaDao.getResourceSchema(anyString())).thenReturn(schema);
+
+		validator = new OpaqueResourceValidatorImpl();
+		validator.setSchemaDao(schemaDao);
+	}
+
+	/**
+	 * test profile validation.
+	 *
+	 * @throws Exception
+	 *             could happen
+	 */
+	@Test
+	public void testValid() throws Exception { // NOPMD
+		validator.validate(new StreamOpaqueResource(getClass().getResourceAsStream("valid-profile.xml")));
+		assertNotNull("dummy", validator);
+	}
+
+	/**
+	 * test profile validation.
+	 *
+	 * @throws Exception
+	 *             could happen
+	 */
+	@Test(expected = ValidationException.class)
+	public void testInvalid() throws Exception { // NOPMD
+		validator.validate(new StreamOpaqueResource(getClass().getResourceAsStream("invalid-profile.xml")));
+	}
+
+	/**
+	 * Validate a profile which has an optional "any" element, possible non-standard behavior in java validator.
+	 *
+	 * @throws Exception could happen
+	 */
+	@Test
+	public void testValidAnyOptional() throws Exception { // NOPMD
+		final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+		final Schema schema = schemaFactory.newSchema(new StreamSource(getClass().getResourceAsStream("any-schema.xsd")));
+
+		when(schemaDao.getResourceSchema(anyString())).thenReturn(schema);
+
+		validator.validate(new StreamOpaqueResource(getClass().getResourceAsStream("valid-any-optional.xml")));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationDetectorImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationDetectorImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationDetectorImpl.java	(revision 47801)
@@ -0,0 +1,217 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.io.StringWriter;
+import java.util.Collection;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.w3c.dom.Node;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionRegistry;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * This notification detector uses a local xmldb trigger as a source of events.
+ *
+ * @author marko
+ *
+ */
+public class NotificationDetectorImpl extends AbstractNotificationDetector implements ResourceStateNotificationDetector<OpaqueResource> {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(NotificationDetectorImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * subscription registries to lookup.
+	 */
+	private SubscriptionRegistry registry;
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector#resourceCreated(java.lang.Object)
+	 */
+	@Override
+	public void resourceCreated(final OpaqueResource newResource) {
+		log.debug("resource created: " + getRegistry());
+
+		final Collection<ResourceStateSubscription> subs =
+				getRegistry().listMatchingSubscriptions(ResourceStateSubscription.PREFIX_CREATE, newResource.getResourceType(), newResource.getResourceId());
+		for (ResourceStateSubscription sub : subs) {
+			if (matchPath(newResource, sub.getXpath())) {
+				send(sub, newResource, ResourceStateSubscription.PREFIX_CREATE);
+			}
+		}
+	}
+
+	/**
+	 * helper method. sends a notification for a given prefix.
+	 *
+	 * @param sub
+	 *            subscription
+	 * @param resource
+	 *            resource
+	 * @param prefix
+	 *            prefix
+	 */
+	private void send(final ResourceStateSubscription sub, final OpaqueResource resource, final String prefix) {
+		log.debug("RESOURCE " + resource);
+		log.debug("id: " + resource.getResourceId());
+		log.debug("dom: " + resource.asDom());
+
+		final StringBuffer topicBuffer = new StringBuffer();
+
+		if (sub.getPrefix() == null && "*".equals(sub.getPrefix()))
+			topicBuffer.append(prefix);
+		else
+			topicBuffer.append(sub.getPrefix());
+
+		topicBuffer.append('.');
+		topicBuffer.append(sub.getType());
+		topicBuffer.append('.');
+		topicBuffer.append(sub.getResourceId());
+		if (sub.getXpath() != null && !sub.getXpath().isEmpty()) {
+			topicBuffer.append(sub.getXpath().replace('/', '.'));
+		}
+
+		getSender().send(sub.getSubscriberAsEpr(), new NotificationMessage(sub.getSubscriptionId(), topicBuffer.toString(), resource.getResourceId(), // NOPMD
+				resource.asString()));
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector#resourceDeleted(java.lang.Object)
+	 */
+	@Override
+	public void resourceDeleted(final OpaqueResource oldResource) {
+		log.debug("resource deleted: " + getRegistry());
+
+		final Collection<ResourceStateSubscription> subs =
+				registry.listMatchingSubscriptions(ResourceStateSubscription.PREFIX_DELETE, oldResource.getResourceType(), oldResource.getResourceId());
+		for (ResourceStateSubscription sub : subs) {
+			if (matchPath(oldResource, sub.getXpath())) {
+				send(sub, oldResource, ResourceStateSubscription.PREFIX_DELETE);
+			}
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector#resourceUpdated(java.lang.Object,
+	 *      java.lang.Object)
+	 */
+	@Override
+	public void resourceUpdated(final OpaqueResource oldResource, final OpaqueResource newResource) {
+		log.debug("resource updated: " + getRegistry());
+
+		final Collection<ResourceStateSubscription> subs =
+				registry.listMatchingSubscriptions(ResourceStateSubscription.PREFIX_UPDATE, oldResource.getResourceType(), oldResource.getResourceId());
+		for (ResourceStateSubscription sub : subs) {
+			if (comparePath(oldResource, newResource, sub.getXpath())) {
+				log.debug("updated, sending: " + newResource.asString());
+				send(sub, newResource, ResourceStateSubscription.PREFIX_UPDATE);
+			}
+		}
+	}
+
+	/**
+	 * check if an xpath matches a given resource.
+	 *
+	 * @param resource
+	 *            resource
+	 * @param xpath
+	 *            xpath
+	 * @return true if the resource has some value for the given path
+	 */
+	private boolean matchPath(final OpaqueResource resource, final String xpath) {
+		// by convention empty xpath matches any document
+		if (xpath == null || xpath.isEmpty())
+			return true;
+
+		final XPath xpa = XPathFactory.newInstance().newXPath();
+		try {
+			return !xpa.evaluate(xpath, resource.asDom()).isEmpty();
+		} catch (XPathExpressionException e) {
+			log.warn("wrong xpath expression, notification possibly missed", e);
+		}
+		return false;
+	}
+
+	/**
+	 * compare the content of two profiles for the same xpath. Return true if some change has been made so that the
+	 * notification can be delivered.
+	 *
+	 * @param oldResource
+	 *            old version
+	 * @param newResource
+	 *            new version
+	 * @param xpath
+	 *            XPath
+	 * @return true if the two documents differ under a given path
+	 */
+	private boolean comparePath(final OpaqueResource oldResource, final OpaqueResource newResource, final String xpath) {
+		// by convention empty xpath matches any document
+		if (oldResource == null || newResource == null || xpath == null || xpath.isEmpty())
+			return true;
+
+		final XPath xpa = XPathFactory.newInstance().newXPath();
+		try {
+			final Transformer transformer = TransformerFactory.newInstance().newTransformer();
+
+			final Node left = (Node) xpa.evaluate(xpath, oldResource.asDom(), XPathConstants.NODE);
+			final Node right = (Node) xpa.evaluate(xpath, newResource.asDom(), XPathConstants.NODE);
+			
+			if (left==null || right==null) {
+				if (left != null) {
+					return true;
+				}
+				else {
+					if (right != null) {
+						return true;
+					}
+					else {
+						return false;
+					}
+				}
+			}
+			
+			final StringWriter leftWriter = new StringWriter();
+			final StringWriter rightWriter = new StringWriter();
+
+			transformer.transform(new DOMSource(left), new StreamResult(leftWriter));
+			transformer.transform(new DOMSource(right), new StreamResult(rightWriter));
+			
+			return !leftWriter.toString().equals(rightWriter.toString());
+		} catch (XPathExpressionException e) {
+			log.warn("wrong xpath expression, notification possibly missed", e);
+		} catch (TransformerException e) {
+			log.warn("serialization problem", e);
+		}
+
+		return false;
+	}
+
+	public SubscriptionRegistry getRegistry() {
+		return registry;
+	}
+
+	public void setRegistry(final SubscriptionRegistry registry) {
+		this.registry = registry;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/CompatPendingResourceManagerImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/CompatPendingResourceManagerImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/CompatPendingResourceManagerImplTest.java	(revision 47801)
@@ -0,0 +1,149 @@
+package eu.dnetlib.enabling.is.registry;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
+import eu.dnetlib.enabling.is.registry.schema.ValidationException;
+import eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy;
+import eu.dnetlib.enabling.is.registry.validation.RegistrationPhase;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * test compatibility pending resource manager implementation.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class CompatPendingResourceManagerImplTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient CompatPendingResourceManagerImpl pendingManager;
+
+	/**
+	 * registry service mock.
+	 */
+	@Mock
+	private transient ISRegistryService registryService;
+
+	/**
+	 * resource mock.
+	 */
+	@Mock
+	private transient OpaqueResource resource;
+	/**
+	 * used to validate resources w.r.t. a set of defined properties.
+	 */
+	@Mock
+	private ProfileValidationStrategy profileValidationStrategy;
+
+	/**
+	 * prepare instance for testing.
+	 */
+	@Before
+	public void setUp() {
+		pendingManager = new CompatPendingResourceManagerImpl();
+		pendingManager.setIsRegistry(registryService);
+		pendingManager.setResourceKindResolver(new ApplicationProfileResourceKindResolver());
+		pendingManager.setProfileValidationStrategy(profileValidationStrategy);
+	}
+
+	/**
+	 * test that the application profile can be queried correctly.
+	 * 
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetPendingKindForType() throws XPathExpressionException {
+		assertEquals("check pending", "PendingRepositoryResources", pendingManager.getPendingKindForType("RepositoryServiceResourceType"));
+		assertEquals("check pending", "PendingDSResources", pendingManager.getPendingKindForType("UserDSResourceType"));
+	}
+
+	/**
+	 * check that unexistent types throw an exception.
+	 * 
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 */
+	@Test(expected = IllegalStateException.class)
+	public void testGetPendingKindForNoSuchType() throws XPathExpressionException {
+		pendingManager.getPendingKindForType("NoSuchType");
+	}
+
+	/**
+	 * test that the application profile can be queried correctly.
+	 * 
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetNormalKindForType() throws XPathExpressionException {
+		assertEquals("check kind", "RepositoryServiceResources", pendingManager.getNormalKindForType("RepositoryServiceResourceType"));
+		assertEquals("check kind", "UserDSResources", pendingManager.getNormalKindForType("UserDSResourceType"));
+		assertNull("check unexisting type", pendingManager.getNormalKindForType("NoSuchType"));
+	}
+
+	/**
+	 * test that the resource is correctly moved from the pending collection to the new collection.
+	 * 
+	 * @throws ISRegistryException
+	 *             shoudn't happen
+	 * @throws ValidationException
+	 */
+	@Test
+	public void testSetValid() throws ISRegistryException, ValidationException {
+		final String profId = "123";
+		when(resource.asString()).thenReturn("");
+		when(resource.getResourceId()).thenReturn(profId);
+		//when(profileValidationStrategy.accept(any(OpaqueResource.class), eq(RegistrationPhase.Register))).thenReturn(true);
+
+		pendingManager.setValid(resource);
+
+		verify(registryService).deleteProfile(profId);
+		verify(registryService).registerProfile(anyString());
+
+		assertNotNull("dummy", registryService);
+	}
+
+	/**
+	 * test that the resource is correctly moved from the current collection to the correct pending collection.
+	 * 
+	 * @throws ISRegistryException
+	 *             shoudn't happen
+	 */
+	@Test
+	public void testSetPending() throws ISRegistryException {
+		final String profId = "321";
+		when(resource.asString()).thenReturn("");
+		when(resource.getResourceId()).thenReturn(profId);
+		when(resource.getResourceType()).thenReturn("RepositoryServiceResourceType");
+
+		pendingManager.setPending(resource);
+
+		verify(registryService).deleteProfile(profId);
+		verify(registryService).registerProfile(anyString());
+
+		assertNotNull("dummy", registryService);
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/applicationContext-services.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/applicationContext-services.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/applicationContext-services.xml	(revision 47801)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:wsa="http://cxf.apache.org/ws/addressing"
+	xmlns:p="http://www.springframework.org/schema/p" xmlns:http="http://cxf.apache.org/transports/http/configuration"
+
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+                                    http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+                                    http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
+                                    http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
+
+	<!--
+		common job scheduler. Use SchedulerAccessorBean to add triggers.
+	-->
+	<bean id="jobScheduler"
+		class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
+		destroy-method="destroy">
+		<property name="jobFactory">
+			<bean id="jobSchedulerFactory"
+				class="org.springframework.scheduling.quartz.SpringBeanJobFactory" />
+		</property>
+	</bean>
+
+	<!-- service locators: TODO: parameterize via properties -->
+	<bean id="storeLocator" class="eu.dnetlib.enabling.tools.StaticServiceLocator"
+		p:service-ref="isStoreService" />
+	<bean id="registryLocator" class="eu.dnetlib.enabling.tools.StaticServiceLocator"
+		p:service-ref="isRegistryService" />
+	<bean id="snLocator" class="eu.dnetlib.enabling.tools.StaticServiceLocator"
+		p:service-ref="isSNService" />
+	<bean id="lookupLocator" class="eu.dnetlib.enabling.tools.StaticServiceLocator"
+		p:service-ref="isLookUpService" />
+<!--		
+	<bean id="msroLocator" class="eu.dnetlib.enabling.tools.StaticServiceLocator"
+		p:service-ref="msroService" />
+ 
+	<bean id="anyIndexLocatorDynamic" class="eu.dnetlib.enabling.tools.DynamicServiceLocator"
+		p:clazz="eu.dnetlib.data.index.IIndexService" p:lookUpLocator-ref="lookupLocator"
+		p:serviceResolver-ref="serviceResolver" />
+ -->
+	<!-- common service resolution chain -->
+	<bean id="serviceResolver" class="eu.dnetlib.enabling.tools.ServiceResolverChain">
+		<property name="resolvers">
+			<list>
+				<bean id="localServiceResolver" class="eu.dnetlib.enabling.tools.LocalServiceResolverImpl"
+					p:baseAddress="${transport.soap.baseAddress}" />
+				<bean id="jaxwsServiceResolver" class="eu.dnetlib.enabling.tools.JaxwsServiceResolverImpl" />
+			</list>
+		</property>
+	</bean>
+
+	<bean id="uuidGenerator" class="eu.dnetlib.enabling.tools.UniqueIdentifierGeneratorImpl" />
+</beans>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/ISSNServiceCore.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/ISSNServiceCore.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/ISSNServiceCore.java	(revision 47801)
@@ -0,0 +1,180 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Required;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionRegistry;
+import eu.dnetlib.enabling.is.sn.rmi.ISSNException;
+import eu.dnetlib.enabling.is.sn.rmi.SubscriptionRequestRejectedException;
+import eu.dnetlib.enabling.tools.UniqueIdentifierGenerator;
+import eu.dnetlib.enabling.tools.UniqueIdentifierGeneratorImpl;
+import eu.dnetlib.miscutils.datetime.DateUtils;
+
+/**
+ * Core business logic of ISSN service, decouple from compatibility RMI interface.
+ * 
+ * @author marko
+ * 
+ */
+public class ISSNServiceCore {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(ISSNServiceCore.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * subscription registries to lookup.
+	 */
+	private SubscriptionRegistry registry;
+
+	/**
+	 * generates subscription identifiers.
+	 */
+	private UniqueIdentifierGenerator uuidGenerator = new UniqueIdentifierGeneratorImpl("sn");
+	
+	/**
+	 * Directory in which backups are saved.
+	 */
+	private String backupDir;	
+
+	/**
+	 * subscribe a consumer to topics matching the topic expression.
+	 * 
+	 * @param consumerReference
+	 *            EPR to the service to be notified
+	 * @param topicExpression
+	 *            topic expression
+	 * @param ttl
+	 *            time to live in seconds
+	 * @return subscription identifier
+	 */
+	public String subscribe(final W3CEndpointReference consumerReference, final String topicExpression, final int ttl) throws SubscriptionRequestRejectedException {
+		log.debug("subscribing");
+		final SubscriptionRequest srq = new SubscriptionRequest(uuidGenerator.generateIdentifier(), consumerReference, topicExpression, ttl); // NOPMD
+
+		final String subId = getRegistry().registerSubscription(srq);
+		if (subId != null) {
+			return subId;
+		}
+		return null;
+	}
+
+	/**
+	 * Unsubscribe a subscription, by id.
+	 * 
+	 * @param subscrId subscription id
+	 * @return true if unsubscribed
+	 */
+	public boolean unsubscribe(final String subscrId) {
+		return getRegistry().unsubscribe(subscrId);
+	}
+	
+	public String backup() throws ISSNException {
+		log.info("Starting backup...");
+		try {
+			
+			verifyBackupDir();
+
+			String seq = (new SimpleDateFormat("yyyyMMdd-HHmm")).format(new Date());
+
+			ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(backupDir + "/data-" + seq + ".zip")); 
+
+			FileWriter logFile = new FileWriter(backupDir + "/report-" + seq + ".log");
+			logFile.write("Backup started at: " + DateUtils.now_ISO8601() + "\n\n");
+		
+			backup(zip, logFile);
+			
+			logFile.write("\nBackup finished at: " + DateUtils.now_ISO8601() + "\n");
+
+			logFile.flush();
+			logFile.close();
+
+			zip.flush();
+			zip.close();
+
+			log.info("Backup finished");
+			return backupDir;
+		} catch (final Exception e) {
+			log.error("Backup failed", e);
+			throw new ISSNException("cannot backup", e);
+		}
+	}
+
+	private void backup(ZipOutputStream zip, FileWriter logFile) throws IOException {
+
+			for (ResourceStateSubscription sub : getRegistry().listSubscriptions()) {
+				
+				logFile.write("SUBSCRIPTION: " + sub.getSubscriptionId() + "\n");
+				log.info("Backup of subscription: " + sub.getSubscriptionId());
+				
+				final Map<String, String> attrs = new HashMap<String, String>(); // NOPMD
+				attrs.put("prefix", sub.getPrefix());
+				attrs.put("type", sub.getType());
+				attrs.put("resourceId", sub.getResourceId());
+				attrs.put("xpath", sub.getXpath());
+				attrs.put("id", sub.getSubscriptionId());
+				attrs.put("subscriber", sub.getSubscriber().toString());
+				
+				zip.putNextEntry(new ZipEntry(sub.getSubscriptionId()));
+				zip.write(encodeJSon(attrs).getBytes());
+				zip.closeEntry();
+			}
+	}
+	
+	private String encodeJSon(final Map<String, String> map) {
+        return new Gson().toJson(
+                        map, 
+                        new TypeToken<Map<String, String>>() {}.getType()
+        );
+	}
+	
+	private void verifyBackupDir() {
+		File d = new File(backupDir);
+		if (!d.exists()) d.mkdirs();
+	}	
+	
+	public UniqueIdentifierGenerator getUuidGenerator() {
+		return uuidGenerator;
+	}
+
+	public void setUuidGenerator(final UniqueIdentifierGenerator uuidGenerator) {
+		this.uuidGenerator = uuidGenerator;
+	}
+
+	public String getBackupDir() {
+		return backupDir;
+	}
+
+	@Required
+	public void setBackupDir(String backupDir) {
+		this.backupDir = backupDir;
+	}
+
+	public SubscriptionRegistry getRegistry() {
+		return registry;
+	}
+
+	public void setRegistry(final SubscriptionRegistry registry) {
+		this.registry = registry;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionRegistry.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionRegistry.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionRegistry.java	(revision 47801)
@@ -0,0 +1,84 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.Collection;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.enabling.is.sn.rmi.SubscriptionRequestRejectedException;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+
+/**
+ * A subscription registry stores subscriptions.
+ * 
+ * <p>
+ * Different subscription registries know how to to store different kind of subscriptions. Each registry is specialized
+ * in one type of subscriptions and knows how to quickly find all potentially interesting subscriptions so that a
+ * particular NotificationDetector can do his job the quickest way possible.
+ * </p>
+ * 
+ * <p>
+ * This interface is generic only for subscription purposes because the Subscriber component simply tries to register a
+ * new subscription to all available subscription registries.
+ * </p>
+ * 
+ * <p>
+ * Normally a subscription registry manages only a set of topic expression prefixes, but this interface doesn't force
+ * the Subscriber to know this information; instead the subscription registry itself will decide whether to accept the
+ * subscription or not.
+ * </p>
+ * <p>
+ * Since many subscription registries may accept the same subscription, the identifier is preallocated by the
+ * Subscriber, since the subscription is only one, and even if we give the possibility for several detectors to detect
+ * it from different sources only one event will be generated.
+ * </p>
+ * 
+ * @author marko
+ * 
+ */
+public interface SubscriptionRegistry {
+
+	/**
+	 * register a subscription.
+	 * 
+	 * @param subscription
+	 *            subscription request
+	 * @return if we can accept this subcription we return the (possibly changed) identifier, otherwise null
+	 */
+	String registerSubscription(SubscriptionRequest subscription) throws SubscriptionRequestRejectedException;
+
+	/**
+	 * Unsubscribe a subscription if it exists.
+	 * 
+	 * @param subId subscription identifier
+	 * @return true if this subscription existed and was successfully removed
+	 */
+	boolean unsubscribe(final String subId);
+
+	/**
+	 * return all subscriptions matching a given prefix and a given type. Wildcard subscriptions will match any resource type.
+	 *
+	 * @param prefix
+	 *            prefix
+	 * @param type
+	 *            concrete type
+	 * @param resId
+	 *            resource identifier
+	 * @return all matching subscriptions
+	 */
+	Collection<ResourceStateSubscription> listMatchingSubscriptions(final String prefix, final String type, final String resId);
+
+	/**
+	 * return all subscriptions.
+	 *
+	 * @return all subscriptions
+	 */
+	Collection<ResourceStateSubscription> listSubscriptions();
+
+	/**
+	 * removes a particular subscription.
+	 *
+	 * @param subscriptionId identifier
+	 * @return true if successful
+	 */
+	boolean removeSubscription(String subscriptionId);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/lookup/ISLookUpServiceImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/lookup/ISLookUpServiceImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/lookup/ISLookUpServiceImplTest.java	(revision 47801)
@@ -0,0 +1,145 @@
+package eu.dnetlib.enabling.is.lookup;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.commons.io.IOUtils;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpDocumentNotFoundException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.enabling.tools.XQueryUtilsImpl;
+
+/**
+ * ISLookUpService test.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ISLookUpServiceImplTest {
+
+	/**
+	 * test profile id.
+	 */
+	private static final String PROF_ID = "first_c2Vjb25k";
+
+	/**
+	 * List of ids.
+	 */
+	private static final List<String> ID_LIST = Arrays.asList(new String[] { "fff", "ggg", "hhh" });
+
+	/**
+	 * class under test.
+	 */
+	private transient ISLookUpServiceImpl lookup;
+
+	/**
+	 * is store service mock.
+	 */
+	@Mock
+	private transient ISStoreService storeService;
+
+	/**
+	 * common test case init.
+	 */
+	@Before
+	public void setUp() {
+		lookup = new ISLookUpServiceImpl();
+		lookup.setXqueryUtils(new XQueryUtilsImpl());
+		lookup.setIsStore(storeService);
+	}
+
+	/**
+	 * test get file name from id.
+	 */
+	@Test
+	public void testGetFileNameForId() {
+		assertEquals("check", "first", lookup.getFileNameForId(PROF_ID));
+	}
+
+	/**
+	 * test get file coll from id.
+	 */
+	@Test
+	public void testGetFileCollForId() {
+		assertEquals("check", "second", lookup.getFileCollForId(PROF_ID));
+	}
+
+	/**
+	 * test get resource profile.
+	 * 
+	 * @throws ISLookUpException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetResourceProfile() throws ISLookUpException, ISStoreException {
+		when(storeService.getXML("first", "/db/DRIVER/second")).thenReturn("<someResult/>");
+
+		assertNotNull("get profile", lookup.getResourceProfile(PROF_ID));
+	}
+
+	/**
+	 * test get resource profile when no such document exists.
+	 * 
+	 * @throws ISLookUpException
+	 *             expected
+	 */
+	@Test(expected = ISLookUpDocumentNotFoundException.class)
+	public void testGetResourceProfileNonExisting() throws ISLookUpException {
+		lookup.getResourceProfile(PROF_ID);
+	}
+
+	/**
+	 * test getCollection.
+	 * 
+	 * @throws IOException
+	 *             could happen
+	 * @throws ISStoreException
+	 *             could happen
+	 * @throws ISLookUpException
+	 *             could happen
+	 * @throws DocumentException
+	 *             could happen
+	 */
+	@Test
+	public void testGetCollection() throws IOException, ISStoreException, ISLookUpException, DocumentException {
+		final StringWriter writer = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("collProfile.xml"), writer);
+		final String simpleProf = writer.getBuffer().toString();
+
+		when(storeService.getXML(anyString(), anyString())).thenReturn(simpleProf);
+		when(
+				storeService.quickSearchXML("for $x in collection('/db/DRIVER/CollectionDSResources') where $x//FATHER/@id = '" + PROF_ID
+						+ "' return $x//RESOURCE_IDENTIFIER/@value/string()")).thenReturn(ID_LIST);
+
+		final String profile = lookup.retrieveCollection(PROF_ID);
+		final SAXReader reader = new SAXReader();
+		final Document doc = reader.read(new StringReader(profile));
+
+		assertEquals("children", ID_LIST.size(), doc.selectNodes("//CHILDREN/CHILD").size());
+		for (final String id : ID_LIST) {
+			assertNotNull("child", doc.selectSingleNode("//CHILDREN/CHILD[@id='" + id + "']"));
+		}
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/ISSNServiceImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/ISSNServiceImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/ISSNServiceImpl.java	(revision 47801)
@@ -0,0 +1,203 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.Calendar;
+import java.util.List;
+
+import javax.annotation.Resource;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import eu.dnetlib.enabling.is.sn.rmi.ISSNException;
+import eu.dnetlib.enabling.is.sn.rmi.ISSNService;
+import eu.dnetlib.enabling.is.sn.rmi.SubscriptionRequestRejectedException;
+import eu.dnetlib.enabling.tools.AbstractBaseService;
+import eu.dnetlib.soap.EndpointReferenceBuilder;
+
+/**
+ * implementation of ISSNService.
+ * 
+ * @author marko
+ * 
+ */
+public class ISSNServiceImpl extends AbstractBaseService implements ISSNService {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(ISSNServiceImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * obvious constant.
+	 */
+	private static final int MILLIS_IN_SECOND = 1000;
+
+	/**
+	 * service endpoint.
+	 */
+	private Endpoint endpoint;
+
+	/**
+	 * core business logic.
+	 */
+	private ISSNServiceCore core;
+
+	/**
+	 * injected EPR builder.
+	 */
+	@Resource(name = "jaxwsEndpointReferenceBuilder")
+	private EndpointReferenceBuilder<Endpoint> eprBuilder;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#actionCreatePerformed(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean actionCreatePerformed(final String resourceType, final String profileId, final String profile) throws ISSNException {
+		log.fatal("actionCreatePerformed(String, String, String) not implemented");
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#actionDeletePerformed(java.lang.String, java.lang.String)
+	 */
+	@Override
+	public boolean actionDeletePerformed(final String resourceType, final String profileId) throws ISSNException {
+		log.fatal("actionDeletePerformed(String, String) not implemented");
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#actionUpdatePerformed(java.lang.String, java.lang.String, java.lang.String,
+	 *      java.lang.String)
+	 */
+	@Override
+	public boolean actionUpdatePerformed(final String resourceType, final String profileId, final String profileBefore, final String profileAfter)
+			throws ISSNException {
+		log.fatal("actionUpdatePerformed(String, String, String, String) not implemented");
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#getCurrentMessage(java.lang.String)
+	 */
+	@Override
+	public String getCurrentMessage(final String topic) throws ISSNException {
+		log.fatal("getCurrentMessage(String) not implemented");
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#listSubscriptions()
+	 */
+	@Override
+	public List<String> listSubscriptions() {
+		log.fatal("listSubscriptions() not implemented");
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#pauseSubscription(java.lang.String)
+	 */
+	@Override
+	public boolean pauseSubscription(final String subscrId) throws ISSNException {
+		log.fatal("pauseSubscription(String) not implemented");
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#renew(java.lang.String, int)
+	 */
+	@Override
+	public boolean renew(final String subscrId, final int terminationTime) throws ISSNException {
+		log.fatal("renew(String, int) not implemented");
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#resumeSubscription(java.lang.String)
+	 */
+	@Override
+	public boolean resumeSubscription(final String subscrId) throws ISSNException {
+		log.fatal("resumeSubscription(String) not implemented");
+		return false;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#subscribe(javax.xml.ws.wsaddressing.W3CEndpointReference, java.lang.String, int)
+	 */
+	@Override
+	public String subscribe(final W3CEndpointReference consumerReference, final String topicExpression, final int termTime) throws ISSNException, SubscriptionRequestRejectedException {
+
+		log.debug("subscribe request from: " + consumerReference.toString() + " topic: " + topicExpression);
+
+		int ttl;
+		if (termTime == 0) {
+			ttl = 0;
+		} else {
+			ttl = (int) (termTime - (Calendar.getInstance().getTimeInMillis() / MILLIS_IN_SECOND));
+		}
+
+		final String res = core.subscribe(consumerReference, topicExpression, ttl);
+		if (res == null) throw new ISSNException("couldn't find a subscription registry for the given topic: " + topicExpression);
+
+		log.debug("subscribe success, subscriptionId: " + res);
+
+		return res;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#unsubscribe(java.lang.String)
+	 */
+	@Override
+	public boolean unsubscribe(final String subscrId) throws ISSNException {
+		log.debug("unsubscribe request for: " + subscrId);
+		return core.unsubscribe(subscrId);
+	}
+
+	public Endpoint getEndpoint() {
+		return endpoint;
+	}
+
+	public void setEndpoint(final Endpoint endpoint) {
+		this.endpoint = endpoint;
+	}
+
+	public ISSNServiceCore getCore() {
+		return core;
+	}
+
+	public void setCore(final ISSNServiceCore core) {
+		this.core = core;
+	}
+
+	public EndpointReferenceBuilder<Endpoint> getEprBuilder() {
+		return eprBuilder;
+	}
+
+	public void setEprBuilder(final EndpointReferenceBuilder<Endpoint> eprBuilder) {
+		this.eprBuilder = eprBuilder;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/store/ISStoreServiceTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/store/ISStoreServiceTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/store/ISStoreServiceTest.java	(revision 47801)
@@ -0,0 +1,266 @@
+package eu.dnetlib.enabling.is.store; // NOPMD
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.xml.database.XMLDatabase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.xmldb.api.base.XMLDBException;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * test the ISStore service.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ISStoreServiceTest { // NOPMD by marko on 11/24/08 4:54 PM
+
+	/**
+	 * root collection name for mocked xmldb.
+	 */
+	private static final String ROOT_COLLECTION = "/db";
+	/**
+	 * test resultset id.
+	 */
+	private static final String SOME_RS_ID = "someRsId";
+	/**
+	 * some test query.
+	 */
+	private static final String SOME_QUERY = "someQuery";
+	/**
+	 * a test collection name.
+	 */
+	private static final String TEST_COLLECTION = "testCollection";
+	/**
+	 * a test string value.
+	 */
+	private static final String ONE = "one";
+	/**
+	 * another test resultset value.
+	 */
+	private static final String TWO = "two";
+	/**
+	 * name of the a test file.
+	 */
+	private static final String TEST_FILE = "testFile";
+
+	/**
+	 * the ISStoreService under test.
+	 */
+	private transient ISStoreService store = null;
+	/**
+	 * the ISStoreService under test. Used only in setUp/tearDown().
+	 */
+	private transient ISStoreServiceImpl ismo = null;
+	/**
+	 * the XMLDatabase injected into the ISStore.
+	 */
+	@Mock
+	private transient XMLDatabase xdb;
+
+	/**
+	 * setup the ISStore instance, injecting all the dependencies.
+	 * 
+	 * @throws Exception
+	 *             shouldn't throw
+	 */
+	@Before
+	public void setUp() throws Exception {
+		ismo = new ISStoreServiceImpl();
+
+		ismo.setXmlDatabase(xdb);
+		ismo.start();
+
+		store = ismo;
+	}
+
+	/**
+	 * respect the service lifecycle.
+	 */
+	@After
+	public void tearDown() {
+		ismo.stop();
+	}
+
+	/**
+	 * create collection.
+	 * 
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testCreateFileColl() throws ISStoreException, XMLDBException {
+		assertTrue("create collection", store.createFileColl(TEST_COLLECTION));
+		verify(xdb).createCollection(TEST_COLLECTION);
+	}
+
+	/**
+	 * delete collection.
+	 * 
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testDeleteFileColl() throws XMLDBException, ISStoreException {
+		assertTrue("delete collection", store.deleteFileColl(TEST_COLLECTION));
+		verify(xdb).removeCollection(TEST_COLLECTION);
+	}
+
+	/**
+	 * delete an xml file.
+	 * 
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testDeleteXML() throws ISStoreException, XMLDBException {
+		when(xdb.remove(TEST_FILE, TEST_COLLECTION)).thenReturn(true);
+
+		assertTrue("delete xml", store.deleteXML(TEST_FILE, TEST_COLLECTION));
+		verify(xdb).remove(TEST_FILE, TEST_COLLECTION);
+	}
+
+	/**
+	 * execute an XUpdate.
+	 */
+	// @Test
+	// public void testExecuteXUpdate() {
+	// fail(NYI);
+	// }
+	/**
+	 * get collection names.
+	 * 
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetFileColls() throws ISStoreException, XMLDBException {
+		final String[] expectedNames = new String[] { "col1", "col2" };
+
+		when(xdb.getRootCollection()).thenReturn(ROOT_COLLECTION);
+		when(xdb.listChildCollections(ROOT_COLLECTION)).thenReturn(Arrays.asList(expectedNames));
+
+		final List<String> names = store.getFileColls();
+		verify(xdb).getRootCollection();
+		assertArrayEquals(expectedNames, names.toArray());
+	}
+
+	/**
+	 * list file names.
+	 * 
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetFileNames() throws ISStoreException, XMLDBException {
+		final String[] expectedNames = new String[] { "fil1", "file2", "file3" };
+
+		when(xdb.list(ROOT_COLLECTION)).thenReturn(Arrays.asList(expectedNames));
+
+		final List<String> names = store.getFileNames(ROOT_COLLECTION);
+		assertArrayEquals(expectedNames, names.toArray());
+	}
+
+	/**
+	 * read an xml file.
+	 * 
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetXML() throws ISStoreException, XMLDBException {
+		when(xdb.read(TEST_FILE, TEST_COLLECTION)).thenReturn("testContent");
+		final String res = store.getXML(TEST_FILE, TEST_COLLECTION);
+		assertEquals("get xml", "testContent", res);
+	}
+
+	/**
+	 * read an xml file using a xquery.
+	 * 
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetXMLbyQuery() throws XMLDBException, ISStoreException {
+		prepareXMLDBResultSet();
+
+		final String res = store.getXMLbyQuery(SOME_QUERY);
+		assertEquals("get xml by query", ONE, res);
+	}
+
+	/**
+	 * helper method. Prepares a common result mock.
+	 * 
+	 * @throws XMLDBException
+	 *             the declaration of this exception is just a syntactic necessity
+	 */
+	private void prepareXMLDBResultSet() throws XMLDBException {
+		List<String> myList = Arrays.asList(ONE,TWO);
+		when(xdb.xquery(SOME_QUERY)).thenReturn(myList.iterator());
+	}
+
+	/**
+	 * insert a new xml file.
+	 * 
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XMLDBException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testInsertXML() throws ISStoreException, XMLDBException {
+		assertTrue("insert xml", store.insertXML("example", ROOT_COLLECTION, "<hello/>"));
+		verify(xdb).create("example", ROOT_COLLECTION, "<hello/>");
+	}
+
+	/**
+	 * test quick search xml.
+	 * 
+	 * @throws ISStoreException
+	 *             happens
+	 * @throws XMLDBException
+	 *             happens
+	 */
+	@Test
+	public void testQuickSearchXML() throws ISStoreException, XMLDBException {
+		final List<String> ans = new ArrayList<String>();
+		ans.add(ONE);
+		ans.add(TWO);
+
+		prepareXMLDBResultSet();
+
+		final ArrayList<String> res = (ArrayList<String>) store.quickSearchXML(SOME_QUERY);
+		assertNotNull("query returned", res);
+		assertEquals("correct size", 2, res.size());
+		assertEquals("first value", ONE, res.get(0));
+		assertEquals("second value", TWO, res.get(1));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ValidatingServiceRegistrationManagerImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ValidatingServiceRegistrationManagerImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ValidatingServiceRegistrationManagerImplTest.java	(revision 47801)
@@ -0,0 +1,121 @@
+package eu.dnetlib.enabling.tools.registration;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.*; // NOPMD
+
+import javax.xml.ws.Endpoint;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.lookup.ISLookUpServiceImpl;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+
+/**
+ * test ValidatingServiceRegistrationManagerImpl.
+ *
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ValidatingServiceRegistrationManagerImplTest {
+
+	/**
+	 * profile id.
+	 */
+	private static final String PROF_ID = "123";
+
+	/**
+	 * validated profile id.
+	 */
+	private static final String VPROF_ID = "V123";
+
+	/**
+	 * fake profile.
+	 */
+	private static final String PROFILE = "<RESOURCE_PROFILE><HEADER><RESOURCE_KIND value=\"PendingServiceResources\"/></HEADER></RESOURCE_PROFILE>";
+
+	/**
+	 * fake profile.
+	 */
+	private static final String VPROFILE = "<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value=\"V123\"/><RESOURCE_KIND value=\"ServiceResources\"/></HEADER></RESOURCE_PROFILE>";
+
+	/**
+	 * instance under test.
+	 */
+	private transient ServiceRegistrationManagerImpl manager;
+
+	/**
+	 * registrator mock.
+	 */
+	@Mock
+	private transient ServiceRegistrator registrator;
+
+	/**
+	 * is lookup mock.
+	 */
+	@Mock
+	private transient ISLookUpService lookUpService;
+	
+	@Mock
+	private UniqueServiceLocator serviceLocator;
+	
+	/**
+	 * prepare.
+	 *
+	 * @throws ISLookUpException
+	 *             cannot happen
+	 */
+	@Before
+	public void setUp() throws ISLookUpException {
+		manager = new ValidatingServiceRegistrationManagerImpl();
+
+		manager.setServiceLocator(serviceLocator);
+		manager.setRegistrator(registrator);
+		manager.setService(new ISLookUpServiceImpl());
+
+		when(lookUpService.getResourceProfile(PROF_ID)).thenReturn(PROFILE);
+		when(lookUpService.getResourceProfile(VPROF_ID)).thenReturn(VPROFILE);
+		when(lookUpService.getResourceProfileByQuery(anyString())).thenReturn(PROFILE);
+		when(registrator.validateProfile(eq(PROF_ID), any(Endpoint.class))).thenReturn(VPROF_ID);
+		when(serviceLocator.getService(ISLookUpService.class)).thenReturn(lookUpService);
+		when(serviceLocator.getService(ISLookUpService.class, true)).thenReturn(lookUpService);
+	}
+
+	/**
+	 * test state machine.
+	 *
+	 * @throws ISLookUpException
+	 *             cannot happen
+	 */
+	@Test
+	@Ignore
+	public void testTick() throws ISLookUpException {
+		when(registrator.registerService(anyObject(), (Endpoint) anyObject())).thenReturn(PROF_ID);
+
+		assertEquals("check unregistered state", ServiceRegistrationManagerImpl.State.UNKNOWN, manager.getState());
+		manager.tick();
+		assertEquals("check pending state", ServiceRegistrationManagerImpl.State.PENDING, manager.getState());
+		assertEquals("ensure that the mock is correct", "PendingServiceResources", manager.getServiceProfile().getResourceKind());
+		manager.tick();
+
+		assertEquals("should register directly", ServiceRegistrationManagerImpl.State.REGISTERED, manager.getState());
+
+		verify(registrator).validateProfile(eq(PROF_ID), (Endpoint) anyObject());
+
+		assertEquals("check validation id", VPROF_ID, manager.getProfileId());
+		assertEquals("check validation profile", VPROF_ID, manager.getServiceProfile().getResourceId());
+
+		manager.tick();
+		assertEquals("should remain registered", ServiceRegistrationManagerImpl.State.REGISTERED, manager.getState());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionRegistryTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionRegistryTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionRegistryTest.java	(revision 47801)
@@ -0,0 +1,53 @@
+package eu.dnetlib.enabling.is.sn.resourcestate.hib;
+
+import java.util.Collection;
+
+import javax.annotation.Resource;
+
+import org.junit.After;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateSubscriptionRegistryTest;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscriptionDAO;
+
+/**
+ * Perform ResourceStateSubscriptionRegistryTest tests on a hibernate backed resource state subscription dao instance.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "HibernateResourceStateSubscriptionDAOImplTest-context.xml" })
+public class HibernateResourceStateSubscriptionRegistryTest extends AbstractResourceStateSubscriptionRegistryTest { // NOPMD
+
+	/**
+	 * hibernate subscription dao.
+	 */
+	@Resource
+	private transient ResourceStateSubscriptionDAO dao;
+
+	/**
+	 * cleanup db. hsql doesn't recreate the database on spring context reload.
+	 */
+	@After
+	public void tearDown() {
+		final Collection<ResourceStateSubscription> subs = dao.listSubscriptions();
+		if (subs != null)
+			for (ResourceStateSubscription r : subs)
+				dao.removeSubscription(r.getSubscriptionId());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateSubscriptionRegistryTest#setUpDao()
+	 */
+	@Override
+	protected void setUpDao() {
+		getRegistry().setSubscriptionDao(dao);
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionRegistryTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionRegistryTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionRegistryTest.java	(revision 47801)
@@ -0,0 +1,22 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+
+/**
+ * Perform ResourceStateSubscriptionRegistryTest tests on a memory backed resource state subscription dao instance.
+ * 
+ * @author marko
+ *
+ */
+public class MemoryResourceStateSubscriptionRegistryTest extends AbstractResourceStateSubscriptionRegistryTest { // NOPMD
+
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateSubscriptionRegistryTest#setUpDao()
+	 */
+	@Override
+	protected void setUpDao() {
+		getRegistry().setSubscriptionDao(new MemoryResourceStateSubscriptionDAOImpl());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/DnetPathVerifier.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/DnetPathVerifier.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/DnetPathVerifier.java	(revision 47801)
@@ -0,0 +1,23 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.io.File;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class DnetPathVerifier {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(DnetPathVerifier.class); // NOPMD by marko on 11/24/08 5:02 PM
+	
+	public DnetPathVerifier(final String dnetPath) {
+		File f = new File(dnetPath);
+		if (f.exists() == false) {
+			log.info("path '" + dnetPath + "' not found, creating...");
+			f.mkdirs();
+		}
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/AbstractSubscriptionRegistryTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/AbstractSubscriptionRegistryTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/AbstractSubscriptionRegistryTest.java	(revision 47801)
@@ -0,0 +1,75 @@
+package eu.dnetlib.enabling.is.sn;
+
+import static org.junit.Assert.*; // NOPMD
+
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Arrays;
+
+/**
+ * abstract subscription registry test.
+ * 
+ * @author marko
+ * 
+ */
+public class AbstractSubscriptionRegistryTest {
+
+	/**
+	 * object under test.
+	 */
+	private transient AbstractSubscriptionRegistry registry;
+
+	/**
+	 * setup .
+	 * 
+	 * @throws Exception
+	 */
+	@Before
+	public void setUp() {
+		registry = new AbstractSubscriptionRegistry() {
+
+			@Override
+			protected Collection<String> getAcceptedPrefixes() {
+				return Arrays.asList(new String[] { "CREATE", "DELETE", "UPDATE", "DEEP/SUB" });
+			}
+
+		};
+
+	}
+
+	/**
+	 * test prefixes.
+	 */
+	@Test
+	public void testMatchPrefix() {
+		final SubscriptionRequest sub = new SubscriptionRequest();
+
+		sub.setTopicExpression("CREATE/MyResourceType");
+		assertNotNull("check create", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("DELETE/MyResourceType");
+		assertNotNull("check delete", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("UPDATE/MyResourceType");
+		assertNotNull("check update", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("VERIFY/MyResourceType");
+		assertNull("check non declared prefix", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("UPDATED/MyResourceType");
+		assertNull("check non delimited prefix", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("UPDATE");
+		assertNotNull("check only prefix", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("DEEP/MyResourceType");
+		assertNull("check deep", registry.matchPrefix(sub));
+
+		sub.setTopicExpression("DEEP/SUB/MyResourceType");
+		assertNotNull("check deep sub", registry.matchPrefix(sub));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractSubscriptionRegistry.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractSubscriptionRegistry.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractSubscriptionRegistry.java	(revision 47801)
@@ -0,0 +1,53 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.Collection;
+
+import org.apache.oro.text.perl.Perl5Util;
+
+/**
+ * Provides common functionality for subscription registries.
+ * 
+ * @author marko
+ * 
+ */
+public abstract class AbstractSubscriptionRegistry {
+
+	/**
+	 * prefix position in regular expression.
+	 */
+	private static final int PREFIX_POSITION = 1;
+	
+	/**
+	 * rest of string position in regular expression.
+	 */
+	private static final int REST_POSITION = 3;
+	
+	/**
+	 * Return true if the subscription prefix is acceptable.
+	 * 
+	 * Topic expressions are made of slash-delimited components. The "prefix" here is the first slash (/) delimited
+	 * string of the topic expression.
+	 * 
+	 * TODO: stupid implementation.
+	 * 
+	 * @param subscription
+	 *            subscription request
+	 * @return true if accepted
+	 */
+	protected TopicExpressionMatchResult matchPrefix(final SubscriptionRequest subscription) {
+		final Perl5Util matcher = new Perl5Util(); // NOPMD
+		
+		for (String prefix : getAcceptedPrefixes())
+			if (matcher.match("/^(" + prefix + ")($|/)(.*)$/", subscription.getTopicExpression())) {
+				return new TopicExpressionMatchResult(matcher.getMatch().group(PREFIX_POSITION), matcher.getMatch().group(REST_POSITION));
+			}
+		return null;
+	}
+
+	/**
+	 * A collection of accepted prefixes.
+	 * 
+	 * @return prefix list
+	 */
+	protected abstract Collection<String> getAcceptedPrefixes();
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionRegistryTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionRegistryTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/ResourceStateSubscriptionRegistryTest.java	(revision 47801)
@@ -0,0 +1,179 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull; // NOPMD
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.verify; // NOPMD
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.sn.SubscriptionRequest;
+import eu.dnetlib.enabling.is.sn.rmi.SubscriptionRequestRejectedException;
+
+/**
+ * test ResourceStateSubscriptionRegistryTest.
+ *
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ResourceStateSubscriptionRegistryTest {
+
+	/**
+	 * matches.
+	 * 
+	 * @author marko
+	 *
+	 */
+	public static class MatchSubscription implements ArgumentMatcher<ResourceStateSubscription> {
+
+		/**
+		 * prefix.
+		 */
+		private final transient String prefix;
+
+		/**
+		 * type.
+		 */
+		private final transient String type;
+
+		/**
+		 * resource id.
+		 */
+		private final transient String resId;
+
+		/**
+		 * create a new match subscription checker for a given prefix and a given type.
+		 * 
+		 * @param prefix
+		 *            prefix
+		 * @param type
+		 *            type
+		 * @param resId
+		 *            resource id
+		 */
+		MatchSubscription(final String prefix, final String type, final String resId) {
+			super();
+			this.prefix = prefix;
+			this.type = type;
+			this.resId = resId;
+		}
+
+		/**
+		 * {@inheritDoc}
+		 * 
+		 * @see org.mockito.ArgumentMatcher#matches(java.lang.Object)
+		 */
+		@Override
+		public boolean matches(final ResourceStateSubscription sub) {
+			return sub.getPrefix().equals(this.prefix) && sub.getType().equals(this.type) && sub.getResourceId().equals(this.resId);
+		}
+
+	}
+
+	/**
+	 * object under test.
+	 */
+	private transient ResourceStateSubscriptionRegistry registry;
+
+	/**
+	 * DAO mock.
+	 */
+	@Mock
+	private transient ResourceStateSubscriptionDAO subscriptionDao;
+
+	/**
+	 * subscription request.
+	 */
+	private transient SubscriptionRequest sub;
+
+	/**
+	 * common setup.
+	 */
+	@Before
+	public void setUp() {
+		registry = new ResourceStateSubscriptionRegistry();
+		registry.setSubscriptionDao(subscriptionDao);
+
+		final SubscriptionRequestFilter filter = new SubscriptionRequestFilter();
+		filter.setActive(true);
+		registry.setSubscriptionRequestFilter(filter);
+
+		sub = new SubscriptionRequest();
+	}
+
+	/**
+	 * test registration.
+	 * 
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test
+	public void testRegisterSubscription() throws SubscriptionRequestRejectedException {
+		sub.setTopicExpression("CREATE/MyResourceType/123/some/path");
+		registry.registerSubscription(sub);
+		verify(subscriptionDao).addSubscription(argThat(new MatchSubscription("CREATE", "MyResourceType", "123")));
+
+		assertNotNull("dummy", subscriptionDao);
+	}
+
+	/**
+	 * test registration.
+	 * 
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test(expected = SubscriptionRequestRejectedException.class)
+	public void testRegisterSubscriptionReject1() throws SubscriptionRequestRejectedException {
+
+		sub.setTopicExpression("UPDATE/OtherResourceType");
+		registry.registerSubscription(sub);
+		verify(subscriptionDao).addSubscription(argThat(new MatchSubscription("UPDATE", "OtherResourceType", "*")));
+
+		assertNotNull("dummy", subscriptionDao);
+	}
+
+	/**
+	 * test registration.
+	 * 
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test(expected = SubscriptionRequestRejectedException.class)
+	public void testRegisterSubscriptionReject2() throws SubscriptionRequestRejectedException {
+
+		sub.setTopicExpression("DELETE/*");
+		registry.registerSubscription(sub);
+		verify(subscriptionDao).addSubscription(argThat(new MatchSubscription("DELETE", "*", "*")));
+
+		assertNotNull("dummy", subscriptionDao);
+	}
+
+	/**
+	 * test registration.
+	 * 
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test(expected = SubscriptionRequestRejectedException.class)
+	public void testRegisterSubscriptionReject3() throws SubscriptionRequestRejectedException {
+
+		sub.setTopicExpression("CREATE");
+		registry.registerSubscription(sub);
+		verify(subscriptionDao).addSubscription(argThat(new MatchSubscription("CREATE", "*", "*")));
+
+		assertNotNull("dummy", subscriptionDao);
+	}
+
+	/**
+	 * test match id.
+	 */
+	@Test
+	public void testMatchId() {
+		assertEquals("check pure id", "1234123", registry.matchId("1234123").getPrefix());
+		assertEquals("check with suffix", "1234123", registry.matchId("1234123/blabla/blabla").getPrefix());
+		assertEquals("check suffix", "/blabla/blabla", registry.matchId("1234123/blabla/blabla").getRest());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/DOMOpaqueResourceTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/DOMOpaqueResourceTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/DOMOpaqueResourceTest.java	(revision 47801)
@@ -0,0 +1,122 @@
+package eu.dnetlib.enabling.tools;
+
+import static org.junit.Assert.*; // NOPMD
+import static org.mockito.Mockito.*; // NOPMD
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+
+/**
+ * Test DOM opaque resource.
+ * 
+ * @author marko
+ * 
+ */
+public class DOMOpaqueResourceTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient DOMOpaqueResource resource;
+
+	/**
+	 * xml source, read from test-profile.xml.
+	 */
+	private transient String xmlSource;
+
+	/**
+	 * common preparation.
+	 * 
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 */
+	@Before
+	public void setUp() throws SAXException, IOException, ParserConfigurationException, XPathExpressionException {
+		final StringWriter writer = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("test-profile.xml"), writer);
+		xmlSource = writer.getBuffer().toString();
+		final Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xmlSource)));
+		resource = new DOMOpaqueResource(document);
+	}
+
+	/**
+	 * test dom.
+	 */
+	@Test
+	public void testAsDom() {
+		assertEquals("check that dom is not recreated", resource.getDom(), resource.asDom());
+	}
+
+	/**
+	 * serialization check.
+	 * 
+	 * TODO: use xmlunit
+	 */
+	@Test
+	public void testAsString() {
+		assertEquals("check xml serialization", xmlSource, resource.asString());
+	}
+
+	/**
+	 * test with exception in transformer.
+	 * @throws TransformerException expected
+	 */
+	@Test
+	public void testAsStringException() throws TransformerException {
+		final Transformer transformer = mock(Transformer.class);
+		doThrow(new TransformerException("dummy")).when(transformer).transform((Source) anyObject(), (Result) anyObject());
+
+		resource.setTransformer(transformer);
+		assertNull("checks that upon exception we get a null string", resource.asString());
+	}
+
+	/**
+	 * check resource id extraction.
+	 */
+	@Test
+	public void testGetResourceId() {
+		assertEquals("check resource id",
+				"111-6b4ea417-d940-4dda-a194-3096f685789b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=", resource
+						.getResourceId());
+	}
+
+	/**
+	 * check resource type extraction.
+	 */
+	@Test
+	public void testGetResourceType() {
+		assertEquals("check resource type", "RepositoryServiceResourceType", resource.getResourceType());
+	}
+
+	/**
+	 * check resource kind extraction.
+	 */
+	@Test
+	public void testGetResourceKind() {
+		assertEquals("check resource kind", "RepositoryServiceResources", resource.getResourceKind());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionDAOImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionDAOImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/MemoryResourceStateSubscriptionDAOImplTest.java	(revision 47801)
@@ -0,0 +1,51 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.junit.Test;
+
+/**
+ * Concrete resourcestate subscription dao test for memory backed subscription store.
+ * 
+ * @author marko
+ *
+ */
+public class MemoryResourceStateSubscriptionDAOImplTest extends AbstractResourceStateSubscriptionDAOImplTest {
+
+	/**
+	 * instance under test (of the specific type).
+	 */
+	private transient MemoryResourceStateSubscriptionDAOImpl memdao;
+	
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateSubscriptionDAOImplTest#prepareDao()
+	 */
+	@Override
+	protected void prepareDao() {
+		memdao = new MemoryResourceStateSubscriptionDAOImpl();
+		setDao(memdao);
+	}
+
+	/**
+	 * test add subscription.
+	 */
+	@Test
+	public void testAddSubscription() {
+		assertNull("not registered", getDao().getSubscription(getSub().getSubscriptionId()));
+	
+		getDao().addSubscription(getSub());
+		assertEquals("check that sub is registered", getSub(), memdao.getById().get(getSub().getSubscriptionId()));
+		
+		getDao().addSubscription(getSub2());
+		assertEquals("check that sub2 is registered", getSub2(), memdao.getById().get(getSub2().getSubscriptionId()));
+		
+		getDao().addSubscription(getSub3());
+		assertEquals("check that sub4 is registered", getSub3(), memdao.getById().get(getSub3().getSubscriptionId()));
+		
+		getDao().addSubscription(getSub4());
+		assertEquals("check that sub4is registered", getSub4(), memdao.getById().get(getSub4().getSubscriptionId()));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractNotificationDetector.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractNotificationDetector.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/AbstractNotificationDetector.java	(revision 47801)
@@ -0,0 +1,30 @@
+package eu.dnetlib.enabling.is.sn;
+
+/**
+ * NotificationDetector interface defines an injection point for the NotificationSender instance.
+ * 
+ * <p>
+ * It will be fairly common for implementors of NotificatiorDetector to back the sender reference into an instance
+ * variable. This abstract class offers this for free.
+ * </p>
+ * 
+ * @author marko
+ * 
+ */
+public abstract class AbstractNotificationDetector implements NotificationDetector {
+
+	/**
+	 * notification sender which will receive events triggered by this detector.
+	 */
+	private NotificationSender sender;
+
+	public NotificationSender getSender() {
+		return sender;
+	}
+
+	@Override
+	public void setSender(final NotificationSender sender) {
+		this.sender = sender;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo47.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo47.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo47.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="169-0f62c218-ec93-46ff-a622-0ec44be7d979_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-09T18:04:11+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Theses database, Tilburg University</OFFICIAL_NAME><ENGLISH_NAME>Univ. van Tilburg: iPort</ENGLISH_NAME><ICON_URI>http://images.uvt.nl/images/2006/images/uvt_logo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.08333</LONGITUDE><LATITUDE>51.5667</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dbiref.uvt.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>wilko.haast@uvt.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://arno.uvt.nl/oai/scr.uvt.nl.cgi</BASE_URL><FORMATS><FORMAT>arno</FORMAT><FORMAT>netspar</FORMAT><FORMAT>nereus</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>dare_didl</FORMAT></FORMATS><SETS><SET>Authors selected for 'Economists Online'</SET><SET>Authors selected for 'Economists Online'</SET><SET>Faculty = 'FRW' and full text available</SET><SET>Author or one of the authors is selected for 'Keur der Wetenschap'</SET><SET>Author or one of the authors is selected for 'Keur der Wetenschap'</SET><SET>Only records that have full text available</SET><SET>Only records that have full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>4466</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ISRegistryServiceImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ISRegistryServiceImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ISRegistryServiceImplTest.java	(revision 47801)
@@ -0,0 +1,489 @@
+package eu.dnetlib.enabling.is.registry; // NOPMD
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.xml.sax.SAXException;
+
+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.schema.OpaqueResourceValidator;
+import eu.dnetlib.enabling.is.registry.schema.ValidationException;
+import eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy;
+import eu.dnetlib.enabling.is.registry.validation.RegistrationPhase;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.enabling.tools.CompatResourceIdentifierResolverImpl;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import eu.dnetlib.enabling.tools.ResourceType;
+import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.enabling.tools.XQueryUtils;
+import eu.dnetlib.enabling.tools.XQueryUtilsImpl;
+
+/**
+ * test registry service.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ISRegistryServiceImplTest { // NOPMD
+
+	/**
+	 * a test resource type.
+	 */
+	private static final String REPOSITORY_TYPE = "RepositoryServiceResourceType";
+
+	/**
+	 * TODO: use a shared constant for this.
+	 */
+	private static final String DB_DRIVER = "/db/DRIVER/";
+
+	/**
+	 * class under test.
+	 */
+	private transient ISRegistryServiceImpl registry;
+
+	/**
+	 * store service mock.
+	 */
+	@Mock
+	private transient ISStoreService storeService;
+
+	/**
+	 * lookup service mock.
+	 */
+	@Mock
+	private transient ISLookUpService lookUpService;
+
+	/**
+	 * xml source of a test profile, loaded from test-profile.xml.
+	 */
+	private transient String profileSource;
+
+	/**
+	 * resource identifier resolver, converts IDs to filename/collection pairs.
+	 */
+	private transient CompatResourceIdentifierResolverImpl resIdResolver;
+
+	/**
+	 * schema validator.
+	 */
+	@Mock
+	private transient OpaqueResourceValidator validator;
+
+	/**
+	 * xquery utils, used for xmldb root path.
+	 */
+	private final transient XQueryUtils xqueryUtils = new XQueryUtilsImpl();
+
+	/**
+	 * used to validate resources w.r.t. a set of defined properties.
+	 */
+	@Mock
+	private ProfileValidationStrategy profileValidationStrategy;
+
+	/**
+	 * common initialization.
+	 * 
+	 * @throws IOException
+	 *             shouldn't happen
+	 */
+	@Before
+	public void setUp() throws IOException {
+		registry = new ISRegistryServiceImpl();
+		registry.setXqueryUtils(new XQueryUtilsImpl());
+		resIdResolver = new CompatResourceIdentifierResolverImpl();
+		registry.setResIdResolver(resIdResolver);
+
+		final CompatPendingResourceManagerImpl pendingManager = new CompatPendingResourceManagerImpl();
+		pendingManager.setResourceKindResolver(new ApplicationProfileResourceKindResolver());
+		pendingManager.setProfileValidationStrategy(profileValidationStrategy);
+
+		registry.setPendingManager(pendingManager);
+		pendingManager.setIsRegistry(registry);
+		registry.setIsStore(storeService);
+		registry.setIsLookup(lookUpService);
+
+		registry.setResourceValidator(validator);
+
+		final StringWriter writer = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("test-profile.xml"), writer);
+		profileSource = writer.getBuffer().toString();
+
+		registry.setProfileValidationStrategy(profileValidationStrategy);
+	}
+
+	/**
+	 * test the deletion of a profile.
+	 * 
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testDeleteProfile() throws ISRegistryException, XPathExpressionException, SAXException, IOException, ParserConfigurationException,
+			ISStoreException {
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+		final String resId = resource.getResourceId();
+
+		boolean catched = false; // NOPMD
+		try {
+			registry.deleteProfile(resId);
+		} catch (ISRegistryDocumentNotFoundException e) {
+			catched = true;
+		}
+
+		assertTrue("exception raised", catched);
+		verify(storeService).deleteXML(registry.getResIdResolver().getFileName(resId), DB_DRIVER + registry.getResIdResolver().getCollectionName(resId));
+
+		assertNotNull("dummy", storeService);
+	}
+
+	/**
+	 * test the deletion of an inexitent profile. It should throwa specific exception
+	 * 
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 */
+	@Test(expected = ISRegistryDocumentNotFoundException.class)
+	public void testDeleteInexistentProfile() throws ISRegistryException, XPathExpressionException, SAXException, IOException,
+			ParserConfigurationException, ISStoreException {
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+		final String resId = resource.getResourceId();
+		final String wrongId = "xx" + resId;
+
+		when(storeService.deleteXML(registry.getResIdResolver().getFileName(wrongId), DB_DRIVER + registry.getResIdResolver().getCollectionName(wrongId)))
+				.thenReturn(false);
+
+		registry.deleteProfile(wrongId);
+	}
+
+	/**
+	 * test register profile.
+	 * 
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 * @throws ValidationException
+	 */
+	@Test
+	public void testRegisterProfile() throws ISRegistryException, ISStoreException, IOException, XPathExpressionException, SAXException,
+			ParserConfigurationException, ValidationException {
+
+		when(profileValidationStrategy.accept((OpaqueResource) anyObject(), eq(RegistrationPhase.Register))).thenReturn(true);
+		final String newId = registry.registerProfile(profileSource);
+
+		verify(storeService).insertXML(eq(resIdResolver.getFileName(newId)), eq(DB_DRIVER + resIdResolver.getCollectionName(newId)), anyString());
+
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+		assertFalse("new identifier is generated", newId.equals(resource.getResourceId()));
+
+	}
+
+	/**
+	 * test update profile.
+	 * 
+	 * @throws XPathExpressionException
+	 *             should'nt happen
+	 * @throws SAXException
+	 *             should'nt happen
+	 * @throws IOException
+	 *             should'nt happen
+	 * @throws ParserConfigurationException
+	 *             should'nt happen
+	 * @throws ISRegistryException
+	 *             should'nt happen
+	 * @throws ISStoreException
+	 *             should'nt happen
+	 */
+	@Test
+	public void testUpdateProfile() throws XPathExpressionException, SAXException, IOException, ParserConfigurationException, ISRegistryException,
+			ISStoreException {
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+
+		final String fileName = resIdResolver.getFileName(resource.getResourceId());
+		final String fileColl = resIdResolver.getCollectionName(resource.getResourceId());
+		when(storeService.updateXML(eq(fileName), eq(DB_DRIVER + fileColl), anyString())).thenReturn(true);
+
+		when(storeService.getXML(fileName, DB_DRIVER + fileColl)).thenReturn(resource.asString());
+
+		final boolean res = registry.updateProfile(resource.getResourceId(), resource.asString(), resource.getResourceType());
+		assertTrue("success", res);
+	}
+
+	/**
+	 * Check that the xml schema is correctly validated even on updateProfile.
+	 * 
+	 * @throws XPathExpressionException
+	 *             cannot happen
+	 * @throws SAXException
+	 *             cannot happen
+	 * @throws IOException
+	 *             cannot happen
+	 * @throws ParserConfigurationException
+	 *             cannot happen
+	 * @throws ISRegistryException
+	 *             mock
+	 * @throws ValidationException
+	 *             mock
+	 */
+	@Test(expected = ISRegistryException.class)
+	public void testUpdateProfileSchemaValidate() throws XPathExpressionException, SAXException, IOException, ParserConfigurationException,
+			ISRegistryException, ValidationException {
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+
+		//doThrow(new ValidationException("invalid xml")).when(validator).validate((OpaqueResource) anyObject());
+
+		registry.updateProfile(resource.getResourceId(), "<invalid/>", resource.getResourceType());
+	}
+
+	/**
+	 * test profile validation.
+	 * 
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws ISLookUpException
+	 *             shouldn't happen
+	 * @throws ValidationException
+	 */
+	@Test
+	public void testValidateProfile() throws XPathExpressionException, SAXException, IOException, ParserConfigurationException, ISRegistryException,
+			ISStoreException, ISLookUpException, ValidationException {
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+
+		final String oldId = registry.insertProfileForValidation(resource.getResourceType(), resource.asString());
+		resource.setResourceKind("PendingRepositoryResources"); // simulate the validation
+
+		resource.setResourceId(oldId);
+		when(lookUpService.getResourceProfile(oldId)).thenReturn(resource.asString());
+		when(storeService.deleteXML(resIdResolver.getFileName(oldId), DB_DRIVER + resIdResolver.getCollectionName(oldId))).thenReturn(true);
+		when(profileValidationStrategy.accept((OpaqueResource) anyObject(), eq(RegistrationPhase.Register))).thenReturn(true);
+
+		final String newId = registry.validateProfile(oldId);
+
+		verify(storeService).deleteXML(resIdResolver.getFileName(oldId), DB_DRIVER + resIdResolver.getCollectionName(oldId));
+		verify(storeService).insertXML(eq(resIdResolver.getFileName(newId)), eq(DB_DRIVER + resIdResolver.getCollectionName(newId)), anyString());
+
+		assertFalse("the id should be be unstable", resIdResolver.getFileName(oldId).equals(resIdResolver.getFileName(newId)));
+	}
+
+	/**
+	 * test invalidate profile.
+	 * 
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws ISLookUpException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testInvalidateProfile() throws XPathExpressionException, SAXException, IOException, ParserConfigurationException, ISRegistryException,
+			ISStoreException, ISLookUpException {
+
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+		resource.setResourceKind("PendingResources");
+
+		final String oldId = registry.registerProfile(resource.asString());
+
+		resource.setResourceId(oldId);
+		when(lookUpService.getResourceProfile(oldId)).thenReturn(resource.asString());
+		when(storeService.deleteXML(resIdResolver.getFileName(oldId), DB_DRIVER + resIdResolver.getCollectionName(oldId))).thenReturn(true);
+
+		final String newId = registry.invalidateProfile(oldId);
+
+		verify(storeService).deleteXML(resIdResolver.getFileName(oldId), DB_DRIVER + resIdResolver.getCollectionName(oldId));
+		verify(storeService).insertXML(eq(resIdResolver.getFileName(newId)), eq(DB_DRIVER + resIdResolver.getCollectionName(newId)), anyString());
+
+		assertFalse("the id should be be unstable", resIdResolver.getFileName(oldId).equals(resIdResolver.getFileName(newId)));
+
+	}
+
+	/**
+	 * test that the resource kind is correctly changed when inserting for validation.
+	 * 
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             shouldn't happen
+	 * @throws XPathExpressionException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testInsertProfileForValidation() throws IOException, ISRegistryException, ISStoreException, XPathExpressionException, SAXException,
+			ParserConfigurationException {
+
+		final OpaqueResource resource = new StringOpaqueResource(profileSource);
+		final String newId = registry.insertProfileForValidation(resource.getResourceType(), resource.asString());
+
+		verify(storeService).insertXML(eq(resIdResolver.getFileName(newId)), eq(DB_DRIVER + "PendingRepositoryResources/RepositoryServiceResourceType"),
+				anyString());
+
+		verify(storeService, never()).deleteXML(anyString(), anyString());
+
+		assertEquals("check pending id", "PendingRepositoryResources/RepositoryServiceResourceType", resIdResolver.getCollectionName(newId));
+	}
+
+	/**
+	 * The ISRegistry's insertProfileForValidation contract specifies that an exception should be raised if the argument doesn't match the
+	 * type.
+	 * 
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ISRegistryException
+	 *             expected
+	 */
+	@Test(expected = ISRegistryException.class)
+	public void testInsertProfileForValidationInvalid() throws IOException, ISRegistryException {
+		registry.insertProfileForValidation("WrongRepositoryServiceResourceType", profileSource);
+	}
+
+	/**
+	 * test resource type addition.
+	 * 
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             cannot happen, mock
+	 */
+	@Test
+	public void testAddResourceType() throws ISRegistryException, IOException, ISStoreException {
+		final StringWriter resourceSchema = new StringWriter();
+
+		IOUtils.copy(getClass().getResourceAsStream("RepositoryServiceResourceType.xsd"), resourceSchema);
+		assertNotNull("check schema", resourceSchema.toString());
+
+		registry.addResourceType(REPOSITORY_TYPE, resourceSchema.toString());
+
+		verify(storeService).insertXML(REPOSITORY_TYPE, xqueryUtils.getRootCollection() + ResourceType.RESOURCE_TYPES, resourceSchema.toString());
+	}
+
+	/**
+	 * test resource type deletion.
+	 * 
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             cannot happen, mock
+	 */
+	@Test
+	public void testDeleteResourceType() throws ISRegistryException, ISStoreException {
+		assertNotNull("dummy", registry);
+
+		registry.deleteResourceType(REPOSITORY_TYPE, false);
+
+		verify(storeService).deleteXML(REPOSITORY_TYPE, xqueryUtils.getRootCollection() + ResourceType.RESOURCE_TYPES);
+	}
+
+	/**
+	 * register secure profile.
+	 * 
+	 * @throws ISRegistryException
+	 *             shouldn't happen
+	 * @throws ISLookUpException
+	 *             mocked
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ISStoreException
+	 *             mock
+	 * @throws ValidationException
+	 */
+	@Test
+	public void testRegisterSecureProfile() throws ISRegistryException, ISLookUpException, IOException, ISStoreException, ValidationException { // NOPMD
+		final String resourceProfId = "12-70b2a9e0-7d53-4ffb-be43-f3c571ae21a6_VXNlckRTUmVzb3VyY2VzL1VzZXJEU1Jlc291cmNlVHlwZQ==";
+		final String secureProfId = "sec123_U2VjdXJpdHlQcm9maWxlRFNSZXNvdXJjZXMvU2VjdXJpdHlQcm9maWxlRFNSZXNvdXJjZVR5cGU=";
+
+		final StringWriter profile = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("userProfile.xml"), profile);
+		when(lookUpService.getResourceProfile(resourceProfId)).thenReturn(profile.toString());
+		when(profileValidationStrategy.accept((OpaqueResource) anyObject(), eq(RegistrationPhase.Register))).thenReturn(true);
+
+		final StringWriter secure = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("securityProfile.xml"), secure);
+		when(lookUpService.getResourceProfile(secureProfId)).thenReturn(secure.toString());
+		when(storeService.deleteXML(resIdResolver.getFileName(resourceProfId), DB_DRIVER + resIdResolver.getCollectionName(resourceProfId))).thenReturn(
+				true);
+		when(storeService.updateXML(eq("sec123"), eq(DB_DRIVER + "SecurityProfileDSResources/SecurityProfileDSResourceType"), anyString())).thenReturn(
+				true);
+		when(storeService.getXML("sec123", DB_DRIVER + "SecurityProfileDSResources/SecurityProfileDSResourceType")).thenReturn("<RESOURCE_PROFILE/>");
+
+		registry.registerSecureProfile(resourceProfId, secureProfId);
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo88.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo88.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo88.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-7541ff82-718d-426f-88f4-48ac0930f577_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-02T20:14:17+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>NUI Maynooth ePrints and eTheses Archive</OFFICIAL_NAME><ENGLISH_NAME>NUI Maynooth ePrints and eTheses Archive</ENGLISH_NAME><ICON_URI>http://eprints.nuim.ie/images/nuilogo.gif</ICON_URI><COUNTRY>IE</COUNTRY><LOCATION><LONGITUDE>-6.506</LONGITUDE><LATITUDE>53.386</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.may.ie/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>National University of Ireland</REPOSITORY_INSTITUTION><ADMIN_INFO>s.redmondmaloco@nuim.ie</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.nuim.ie/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>879</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvokerImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvokerImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvokerImpl.java	(revision 47801)
@@ -0,0 +1,61 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.common.rmi.BaseService;
+
+/**
+ * This is a basic notification invoker which calls dnet1.0 compatible notify() methods.
+ *
+ * @author marko
+ *
+ */
+public class NotificationInvokerImpl implements NotificationInvoker {
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(NotificationInvokerImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * invocation logger.
+	 */
+	private NotificationInvocationLogger invocationLogger;
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see eu.dnetlib.enabling.is.sn.NotificationInvoker#send(javax.xml.ws.wsaddressing.W3CEndpointReference,
+	 *      eu.dnetlib.enabling.is.sn.NotificationMessage, int)
+	 */
+	@Override
+	public void send(final W3CEndpointReference destination, final NotificationMessage message, final int timeout) {
+		final BaseService service = destination.getPort(BaseService.class, new WebServiceFeature[] {});
+		log.info("phisically sending notification: " + message.getTopic());
+
+		final NotificationInvocationLogger.Entry logEntry = invocationLogger.startLogging(destination, message);
+		logEntry.ongoing();
+
+		try {
+			service.notify(message.getSubscriptionId(), message.getTopic(), message.getResourceId(), message.getBody());
+			logEntry.success();
+		} catch (final Throwable e) { // NOPMD
+			log.debug("notification error", e);
+			logEntry.failure(e);
+		}
+	}
+
+	public NotificationInvocationLogger getInvocationLogger() {
+		return invocationLogger;
+	}
+
+	@Required
+	public void setInvocationLogger(final NotificationInvocationLogger invocationLogger) {
+		this.invocationLogger = invocationLogger;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/MemoryNotificationInvocationLoggerTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/MemoryNotificationInvocationLoggerTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/MemoryNotificationInvocationLoggerTest.java	(revision 47801)
@@ -0,0 +1,114 @@
+package eu.dnetlib.enabling.is.sn;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Queue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+
+import eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry;
+import eu.dnetlib.enabling.is.sn.NotificationInvocationLogger.Entry.Status;
+
+/**
+ * Memory notification logger test.
+ *
+ * @author marko
+ *
+ */
+public class MemoryNotificationInvocationLoggerTest {
+
+	/**
+	 * some size.
+	 */
+	private static final int SOME_SIZE = 300;
+
+	/**
+	 * instance under test.
+	 */
+	private transient MemoryNotificationInvocationLogger logger;
+
+	/**
+	 * message bock.
+	 */
+	@Mock
+	private transient NotificationMessage message;
+
+	/**
+	 * common setup.
+	 *
+	 * @throws Exception
+	 *             happens
+	 */
+	@Before
+	public void setUp() throws Exception {
+		logger = new MemoryNotificationInvocationLogger();
+	}
+
+	/**
+	 * test logging and queue management.
+	 */
+	@Test
+	public void testStartLogging() {
+		final Queue<NotificationInvocationLogger.Entry> queue = logger.getQueue();
+
+		assertEquals("queue", 0, queue.size());
+
+		final NotificationInvocationLogger.Entry entry = logger.startLogging(null, message);
+
+		assertNotNull("got an entry", entry);
+		assertEquals("queue", 1, queue.size());
+
+		for (int i = 0; i < SOME_SIZE; i++)
+			logger.startLogging(null, message);
+		assertEquals("queue", logger.getSize(), queue.size());
+	}
+
+	/**
+	 * test success.
+	 */
+	@Test
+	public void testSuccess() {
+		final NotificationInvocationLogger.Entry entry = logger.startLogging(null, message);
+		entry.success();
+
+		final Queue<NotificationInvocationLogger.Entry> queue = logger.getQueue();
+		final Entry entry2 = queue.remove();
+		assertEquals("success", Status.Succeeded, entry2.getStatus());
+	}
+
+	/**
+	 * test failure.
+	 */
+	@Test
+	public void testFailure() {
+		final NotificationInvocationLogger.Entry entry = logger.startLogging(null, message);
+		entry.failure(new IllegalStateException("dummy"));
+
+		final Queue<NotificationInvocationLogger.Entry> queue = logger.getQueue();
+		final Entry entry2 = queue.remove();
+		assertEquals("failure", Status.Failed, entry2.getStatus());
+
+		assertTrue("exception", entry2.getException() instanceof IllegalStateException);
+	}
+
+	/**
+	 * test ongoing.
+	 */
+	@Test
+	public void testOngoing() {
+		logger.startLogging(null, message);
+
+		final Queue<NotificationInvocationLogger.Entry> queue = logger.getQueue();
+		final Entry entry2 = queue.remove();
+
+		assertEquals("queued", Status.Queued, entry2.getStatus());
+		entry2.ongoing();
+		assertEquals("ongoing", Status.Ongoing, entry2.getStatus());
+	}
+
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionDAO.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionDAO.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionDAO.java	(revision 47801)
@@ -0,0 +1,56 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.Collection;
+
+/**
+ * Stores subscriptions.
+ * 
+ * @author marko
+ * 
+ * @param <T>
+ *            subscription type
+ */
+public interface SubscriptionDAO<T> {
+	/**
+	 * add a new subscription to the subscription store.
+	 * 
+	 * TODO: throw some exception on already existing subscription
+	 * 
+	 * @param subscription
+	 *            subscription
+	 */
+	void addSubscription(T subscription);
+
+	/**
+	 * get a particular subscription.
+	 * 
+	 * @param subscriptionId identifier
+	 * @return null if none
+	 */
+	T getSubscription(String subscriptionId);
+	
+	
+	/**
+	 * lists all subscriptions.
+	 * 
+	 * @return all subscriptions
+	 */
+	Collection<T> listSubscriptions();
+	
+	/**
+	 * lists all subscriptions for a given prefix.
+	 * 
+	 * @param prefix topic expression prefix
+	 * @return all matching subscriptions
+	 */
+	Collection<T> listSubscriptions(String prefix);
+	
+	/**
+	 * removes a particular subscription.
+	 * 
+	 * @param subscriptionId identifier
+	 * @return true if successful
+	 */
+	boolean removeSubscription(String subscriptionId);
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManagerImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManagerImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManagerImplTest.java	(revision 47801)
@@ -0,0 +1,293 @@
+package eu.dnetlib.enabling.is.registry; // NOPMD
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+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.tools.OpaqueResource;
+import eu.dnetlib.enabling.tools.StringOpaqueResource;
+import eu.dnetlib.enabling.tools.blackboard.ActionStatus;
+import eu.dnetlib.enabling.tools.blackboard.BlackboardMessage;
+import eu.dnetlib.enabling.tools.blackboard.BlackboardMessageImpl;
+import eu.dnetlib.enabling.tools.blackboard.BlackboardParameter;
+import eu.dnetlib.enabling.tools.blackboard.BlackboardParameterImpl;
+import eu.dnetlib.miscutils.jaxb.JaxbFactory;
+
+/**
+ * RegistryBlackboardManagerImpl test.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class RegistryBlackboardManagerImplTest {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(RegistryBlackboardManagerImplTest.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * test message id.
+	 */
+	private static final String MSG_ID = "xxx";
+
+	/**
+	 * fake message date.
+	 */
+	private static final String MSG_DATE = "2009-03-19T17:55:45+01:00";
+
+	/**
+	 * service profile ID.
+	 */
+	private static final String PROF_ID = "123";
+
+	/**
+	 * lookup service mock.
+	 */
+	@Mock
+	private transient ISLookUpService lookupService;
+
+	/**
+	 * registry service mock.
+	 */
+	@Mock
+	private transient ISRegistryService registryService;
+
+	/**
+	 * instance under test.
+	 */
+	private transient RegistryBlackboardManagerImpl manager;
+
+	/**
+	 * common setup.
+	 * 
+	 * @throws JAXBException
+	 *             could happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ISLookUpException
+	 *             mock
+	 */
+	@Before
+	public void setUp() throws JAXBException, IOException, ISLookUpException {
+		manager = new RegistryBlackboardManagerImpl();
+		manager.setIsLookup(lookupService);
+		manager.setRegistryService(registryService);
+
+		manager.setMessageFactory(new JaxbFactory<BlackboardMessage>(BlackboardMessageImpl.class));
+
+		manager.setMessageDater(new RegistryBlackboardManagerImpl.MessageDater() {
+
+			@Override
+			public String getCurrentDate() {
+				return MSG_DATE;
+			}
+
+			@Override
+			public String getNumericStamp() {
+				return "1237483712.666000";
+			}
+		});
+	}
+
+	/**
+	 * add message.
+	 * 
+	 * @throws JAXBException
+	 *             could happen
+	 * @throws ISRegistryException
+	 *             could happen
+	 * @throws IOException
+	 *             could happen
+	 * @throws ISLookUpException
+	 *             mock
+	 */
+	@Test
+	public void testAddMessage() throws JAXBException, ISRegistryException, IOException, ISLookUpException {
+		final StringWriter serviceProfile = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("serviceProfile.xml"), serviceProfile);
+		when(lookupService.getResourceProfile(PROF_ID)).thenReturn(serviceProfile.toString());
+
+		final BlackboardMessage message = manager.getMessageFactory().newInstance();
+		message.setId(MSG_ID);
+		message.setDate(MSG_DATE);
+		message.setAction("CREATE");
+		message.setActionStatus(ActionStatus.ASSIGNED);
+
+		final BlackboardParameter param1 = new BlackboardParameterImpl();
+		param1.setName("format");
+		param1.setValue("DMF");
+		message.getParameters().add(param1);
+
+		final BlackboardParameter param2 = new BlackboardParameterImpl();
+		param1.setName("id");
+		param1.setValue("");
+		message.getParameters().add(param2);
+
+		manager.addMessage(PROF_ID, MSG_ID, manager.getMessageFactory().serialize(message));
+
+		verify(registryService).updateProfile(eq(PROF_ID), argThat(new ArgumentMatcher<String>() {
+
+			@Override
+			public boolean matches(final String argument) {
+				log.info("arg: " + argument);
+
+				try {
+					final OpaqueResource updatedResource = new StringOpaqueResource((String) argument);
+					final Node messageNode = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/MESSAGE[last()]",
+							updatedResource.asDom(), XPathConstants.NODE);
+
+					final BlackboardMessage updatedMessage = manager.getMessageFactory().parse(new DOMSource(messageNode));
+
+					assertEquals("messages should match", message, updatedMessage);
+
+					final Element lastUpdated = (Element) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/LAST_REQUEST",
+							updatedResource.asDom(), XPathConstants.NODE);
+					assertEquals("stamp date", manager.getMessageDater().getNumericStamp(), lastUpdated.getAttribute("date"));
+					assertEquals("stamp message", MSG_ID, lastUpdated.getTextContent());
+				} catch (Exception e) {
+					fail("got exception" + e);
+				}
+				return true;
+			}
+		}), anyString());
+	}
+
+	/**
+	 * delete message.
+	 * 
+	 * @throws ISLookUpException
+	 *             mock
+	 * @throws IOException
+	 *             could happen
+	 * @throws ISRegistryException
+	 *             mock
+	 */
+	@Test
+	public void testDeleteMessage() throws ISLookUpException, IOException, ISRegistryException {
+		final StringWriter serviceProfile = new StringWriter();
+
+		IOUtils.copy(getClass().getResourceAsStream("serviceProfileWithMessage.xml"), serviceProfile);
+		when(lookupService.getResourceProfile(PROF_ID)).thenReturn(serviceProfile.toString());
+
+		manager.deleteMessage(PROF_ID, MSG_ID);
+
+		verify(registryService).updateProfile(eq(PROF_ID), argThat(new ArgumentMatcher<String>() {
+
+			@Override
+			public boolean matches(final String argument) {
+				log.debug("arg: " + argument);
+
+				try {
+					final OpaqueResource updatedResource = new StringOpaqueResource((String) argument);
+
+					final Node messageNode = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/MESSAGE[last()]",
+							updatedResource.asDom(), XPathConstants.NODE);
+
+					assertNull("message should be deleted", messageNode);
+				} catch (Exception e) {
+					fail("got exception" + e);
+				}
+				return true;
+			}
+		}), anyString());
+
+		// assertNotNull("dummy", manager);
+	}
+
+	/**
+	 * replay message.
+	 * 
+	 * @throws ISLookUpException
+	 *             mock
+	 * @throws IOException
+	 *             shouldn't happen
+	 * @throws ISRegistryException
+	 *             mock
+	 * @throws JAXBException
+	 *             could happen
+	 */
+	@Test
+	public void testReplyMessage() throws ISLookUpException, IOException, ISRegistryException, JAXBException {
+		final StringWriter serviceProfile = new StringWriter();
+
+		IOUtils.copy(getClass().getResourceAsStream("serviceProfileWithMessage.xml"), serviceProfile);
+		when(lookupService.getResourceProfile(PROF_ID)).thenReturn(serviceProfile.toString());
+
+		final BlackboardMessage message = manager.getMessageFactory().newInstance();
+		message.setId(MSG_ID);
+		message.setDate(MSG_DATE);
+		message.setAction("CREATE");
+		message.setActionStatus(ActionStatus.ONGOING);
+
+		final BlackboardParameter param1 = new BlackboardParameterImpl();
+		param1.setName("format");
+		param1.setValue("DMF");
+		message.getParameters().add(param1);
+
+		final BlackboardParameter param2 = new BlackboardParameterImpl();
+		param1.setName("id");
+		param1.setValue("");
+		message.getParameters().add(param2);
+
+		manager.replyMessage(PROF_ID, manager.getMessageFactory().serialize(message));
+
+		verify(registryService).updateProfile(eq(PROF_ID), argThat(new ArgumentMatcher<String>() {
+
+			@Override
+			public boolean matches(final String argument) {
+				log.info("arg: " + argument);
+
+				try {
+					final OpaqueResource updatedResource = new StringOpaqueResource((String) argument);
+
+					final Node messageNode = (Node) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/MESSAGE[last()]",
+							updatedResource.asDom(), XPathConstants.NODE);
+
+					final BlackboardMessage updatedMessage = manager.getMessageFactory().parse(new DOMSource(messageNode));
+
+					assertEquals("messages should match", message, updatedMessage);
+
+					final Element lastUpdated = (Element) XPathFactory.newInstance().newXPath().evaluate("//BLACKBOARD/LAST_RESPONSE",
+							updatedResource.asDom(), XPathConstants.NODE);
+					assertEquals("stamp date", manager.getMessageDater().getNumericStamp(), lastUpdated.getAttribute("date"));
+					assertEquals("stamp message", MSG_ID, lastUpdated.getTextContent());
+				} catch (Exception e) {
+					fail("got exception" + e);
+				}
+				return true;
+			}
+		}), anyString());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ApplicationProfileResourceKindResolverTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ApplicationProfileResourceKindResolverTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ApplicationProfileResourceKindResolverTest.java	(revision 47801)
@@ -0,0 +1,29 @@
+package eu.dnetlib.enabling.is.registry;
+
+import static org.junit.Assert.*;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class ApplicationProfileResourceKindResolverTest {
+
+	private ApplicationProfileResourceKindResolver resolver;
+
+	@Before
+	public void setUp() throws Exception {
+		resolver = new ApplicationProfileResourceKindResolver();
+	}
+
+	@Test(expected = NoSuchPendingCategoryException.class)
+	public void testPending() throws XPathExpressionException {
+		resolver.getPendingKindForType("TestType");
+	}
+
+	@Test
+	public void testPendingExisting() throws XPathExpressionException {
+		assertEquals("PendingServiceResources", resolver.getPendingKindForType("IndexServiceResourceType"));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo6.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo6.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo6.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="107-15d39af4-656f-4d70-8fc8-690a3f018d20_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-16T17:31:30+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Durham Research Online</OFFICIAL_NAME><ENGLISH_NAME>Durham Research Online</ENGLISH_NAME><ICON_URI>http://www.dur.ac.uk/images/template/logounidurham-new.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.5667</LONGITUDE><LATITUDE>54.7667</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dro.dur.ac.uk</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>sebastian.palucha@durham.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dro.dur.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Status = Unpublished</SET><SET>Status = Published</SET><SET>Status = In Press</SET><SET>Subject = D History General and Old World: DA Great Britain: DAW Central Europe</SET><SET>Subject = Q Science: QP Physiology</SET><SET>Subject = R Medicine: RC Internal medicine: RC0254 Neoplasms. Tumors. Oncology (including Cancer)</SET><SET>Subject = Q Science: QR Microbiology</SET><SET>Subject = M Music and Books on Music: MT Musical instruction and study</SET><SET>Subject = J Political Science: JA Political science (General)</SET><SET>Subject = R Medicine: R Medicine (General)</SET><SET>Subject = N Fine Arts: N Visual arts (General) For photography, see TR</SET><SET>Subject = J Political Science: JC Political theory</SET><SET>Subject = C Auxiliary Sciences of History: CB History of civilization</SET><SET>Subject = G Geography. Anthropology. Recreation: G Geography (General)</SET><SET>Subject = C Auxiliary Sciences of History: CC Archaeology</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals</SET><SET>Subject = J Political Science: JF Political institutions (General)</SET><SET>Subject = C Auxiliary Sciences of History: CE Technical chronology. Calendar</SET><SET>Subject = T Technology: T Technology (General): T201 Patents. Trademarks</SET><SET>Subject = D History General and Old World: D History (General): D051 Ancient History</SET><SET>Subject = A General Works</SET><SET>Subject = J Political Science: JK Political institutions (United States)</SET><SET>Subject = C Auxiliary Sciences of History: CJ Numismatics</SET><SET>Subject = B Philosophy. Psychology. Religion</SET><SET>Subject = J Political Science: JL Political institutions (America except United States)</SET><SET>Subject = C Auxiliary Sciences of History</SET><SET>Subject = D History General and Old World</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z719 Libraries (General)</SET><SET>Subject = J Political Science: JN Political institutions (Europe)</SET><SET>Subject = E History America</SET><SET>Subject = F History United States, Canada, Latin America</SET><SET>Subject = R Medicine: RC Internal medicine: RC0321 Neuroscience. Biological psychiatry. Neuropsychiatry</SET><SET>Subject = G Geography. Anthropology. Recreation</SET><SET>Subject = C Auxiliary Sciences of History: CN Inscriptions. Epigraphy.</SET><SET>Subject = L Education: LB Theory and practice of education: LB2361 Curriculum</SET><SET>Subject = H Social Sciences</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology: BV1460 Religious Education</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0080 Criticism</SET><SET>Subject = J Political Science</SET><SET>Subject = K Law</SET><SET>Subject = L Education</SET><SET>Subject = J Political Science: JQ Political institutions Asia</SET><SET>Subject = R Medicine: RA Public aspects of medicine</SET><SET>Subject = M Music and Books on Music</SET><SET>Subject = R Medicine: RB Pathology</SET><SET>Subject = N Fine Arts: NA Architecture</SET><SET>Subject = N Fine Arts</SET><SET>Subject = J Political Science: JS Local government Municipal government</SET><SET>Subject = C Auxiliary Sciences of History: CR Heraldry</SET><SET>Subject = V Naval Science: V Naval Science (General)</SET><SET>Subject = R Medicine: RC Internal medicine</SET><SET>Subject = N Fine Arts: NB Sculpture</SET><SET>Subject = G Geography. Anthropology. Recreation: GA Mathematical geography. Cartography</SET><SET>Subject = C Auxiliary Sciences of History: CS Genealogy</SET><SET>Subject = R Medicine: RD Surgery</SET><SET>Subject = N Fine Arts: NC Drawing Design Illustration</SET><SET>Subject = G Geography. Anthropology. Recreation: GB Physical geography</SET><SET>Subject = C Auxiliary Sciences of History: CT Biography</SET><SET>Subject = R Medicine: RE Ophthalmology</SET><SET>Subject = N Fine Arts: ND Painting</SET><SET>Subject = K Law: K Law (General)</SET><SET>Subject = J Political Science: JV Colonies and colonization. Emigration and immigration. International migration</SET><SET>Subject = G Geography. Anthropology. Recreation: GC Oceanography</SET><SET>Subject = R Medicine: RF Otorhinolaryngology</SET><SET>Subject = N Fine Arts: NE Print media</SET><SET>Subject = D History General and Old World: D History (General)</SET><SET>Subject = R Medicine: RG Gynecology and obstetrics</SET><SET>Subject = J Political Science: JX International law</SET><SET>Subject = G Geography. Anthropology. Recreation: GE Environmental Sciences</SET><SET>Subject = G Geography. Anthropology. Recreation: GF Human ecology. Anthropogeography</SET><SET>Subject = D History General and Old World: D History (General): D731 World War II</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN1187 Scotland</SET><SET>Subject = P Language and Literature</SET><SET>Subject = Q Science</SET><SET>Subject = J Political Science: JZ International relations</SET><SET>Subject = R Medicine: RJ Pediatrics</SET><SET>Subject = R Medicine</SET><SET>Subject = S Agriculture</SET><SET>Subject = R Medicine: RK Dentistry</SET><SET>Subject = T Technology</SET><SET>Subject = R Medicine: RL Dermatology</SET><SET>Subject = U Military Science</SET><SET>Subject = N Fine Arts: NK Decorative arts Applied arts Decoration and ornament</SET><SET>Subject = V Naval Science</SET><SET>Subject = R Medicine: RM Therapeutics. Pharmacology</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA1001 Forensic Medicine. Medical jurisprudence. Legal medicine</SET><SET>Subject = G Geography. Anthropology. Recreation: GN Anthropology</SET><SET>Subject = Z Bibliography. Library Science. Information Resources</SET><SET>Subject = R Medicine: RS Pharmacy and materia medica</SET><SET>Subject = R Medicine: RT Nursing</SET><SET>Subject = G Geography. Anthropology. Recreation: GR Folklore</SET><SET>Subject = S Agriculture: S Agriculture (General)</SET><SET>Subject = R Medicine: RV Botanic, Thomsonian, and eclectic medicine</SET><SET>Subject = G Geography. Anthropology. Recreation: GT Manners and customs</SET><SET>Subject = D History General and Old World: DA Great Britain</SET><SET>Subject = D History General and Old World: DB Austria</SET><SET>Subject = R Medicine: RX Homeopathy</SET><SET>Subject = K Law: KD England and Wales</SET><SET>Subject = H Social Sciences: H Social Sciences (General)</SET><SET>Subject = G Geography. Anthropology. Recreation: GV Recreation Leisure</SET><SET>Subject = D History General and Old World: DC France</SET><SET>Subject = N Fine Arts: NX Arts in general</SET><SET>Subject = D History General and Old World: DD Germany</SET><SET>Subject = Q Science: QH Natural history: QH301 Biology</SET><SET>Subject = K Law: KF United States Federal Law</SET><SET>Subject = F History United States, Canada, Latin America: F1201 Latin America (General)</SET><SET>Subject = D History General and Old World: DE The Mediterranean Region. The Greco-Roman World</SET><SET>Subject = D History General and Old World: DF Greece</SET><SET>Subject = D History General and Old World: DG Italy</SET><SET>Subject = P Language and Literature: PN Literature (General): PN2000 Dramatic representation. The Theater</SET><SET>Subject = D History General and Old World: DH Netherlands (The Low Countries)</SET><SET>Subject = R Medicine: RZ Other systems of medicine</SET><SET>Subject = R Medicine: RJ Pediatrics: RJ101 Child Health. Child health services</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD28 Management. Industrial Management</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland)</SET><SET>Subject = V Naval Science: VM Naval architecture. Shipbuilding. Marine engineering</SET><SET>Subject = D History General and Old World: DK Russia. Soviet Union. Former Soviet Republics</SET><SET>Subject = D History General and Old World: DL Northern Europe. Scandinavia</SET><SET>Subject = Q Science: QH Natural history: QH426 Genetics</SET><SET>Subject = D History General and Old World: D History (General): D880 Developing Countries</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources</SET><SET>Subject = D History General and Old World: DP Spain</SET><SET>Subject = L Education: LC Special aspects of education: LC5201 Education extension. Adult education. Continuing education</SET><SET>Subject = S Agriculture: SB Plant culture</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA0421 Public health. Hygiene. Preventive Medicine</SET><SET>Subject = D History General and Old World: DR Balkan Peninsula</SET><SET>Subject = H Social Sciences: HA Statistics</SET><SET>Subject = D History General and Old World: DS Asia</SET><SET>Subject = S Agriculture: SD Forestry</SET><SET>Subject = P Language and Literature: P Philology. Linguistics</SET><SET>Subject = H Social Sciences: HB Economic Theory</SET><SET>Subject = D History General and Old World: DT Africa</SET><SET>Subject = L Education: L Education (General)</SET><SET>Subject = H Social Sciences: HC Economic History and Conditions</SET><SET>Subject = D History General and Old World: DU Oceania (South Seas)</SET><SET>Subject = S Agriculture: SF Animal culture</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor</SET><SET>Subject = A General Works: AC Collections. Series. Collected works</SET><SET>Subject = H Social Sciences: HE Transportation and Communications</SET><SET>Subject = S Agriculture: SH Aquaculture. Fisheries. Angling</SET><SET>Subject = H Social Sciences: HF Commerce</SET><SET>Subject = H Social Sciences: HG Finance</SET><SET>Subject = A General Works: AI Indexes (General)</SET><SET>Subject = D History General and Old World: D History (General): D501 World War I</SET><SET>Subject = D History General and Old World: D History (General): D839 Post-war History, 1945 on</SET><SET>Subject = K Law: KZ Law of Nations</SET><SET>Subject = S Agriculture: SK Hunting sports</SET><SET>Subject = Q Science: QR Microbiology: QR180 Immunology</SET><SET>Subject = H Social Sciences: HJ Public Finance</SET><SET>Subject = A General Works: AM Museums (General). Collectors and collecting (General)</SET><SET>Subject = H Social Sciences: HM Sociology</SET><SET>Subject = H Social Sciences: HN Social history and conditions. Social problems. Social reform</SET><SET>Subject = D History General and Old World: D History (General): D901 Europe (General)</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland): DJK Eastern Europe</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4050 Electronic information resources</SET><SET>Subject = H Social Sciences: HQ The family. Marriage. Woman</SET><SET>Subject = P Language and Literature: PA Classical philology</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1990 Broadcasting</SET><SET>Subject = P Language and Literature: PB Modern European Languages</SET><SET>Subject = H Social Sciences: HS Societies secret benevolent etc</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN101 Great Britain</SET><SET>Subject = L Education: LA History of education</SET><SET>Subject = T Technology: T Technology (General)</SET><SET>Subject = P Language and Literature: PC Romance languages</SET><SET>Subject = A General Works: AS Academies and learned societies (General)</SET><SET>Subject = H Social Sciences: HT Communities. Classes. Races</SET><SET>Subject = L Education: LB Theory and practice of education</SET><SET>Subject = P Language and Literature: PD Germanic languages</SET><SET>Subject = L Education: LC Special aspects of education</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1993 Motion Pictures</SET><SET>Subject = P Language and Literature: PE English</SET><SET>Subject = L Education: LD Individual institutions (United States)</SET><SET>Subject = H Social Sciences: HV Social pathology. Social and public welfare</SET><SET>Subject = P Language and Literature: PF West Germanic</SET><SET>Subject = L Education: LE Individual institutions (America except United States)</SET><SET>Subject = B Philosophy. Psychology. Religion: B Philosophy (General)</SET><SET>Subject = P Language and Literature: PG Slavic, Baltic, Albanian languages and literature</SET><SET>Subject = L Education: LF Individual institutions (Europe)</SET><SET>Subject = H Social Sciences: HX Socialism. Communism. Anarchism</SET><SET>Subject = P Language and Literature: PH Finno-Ugrian, Basque languages and literatures</SET><SET>Subject = L Education: LG Individual institutions (Asia. Africa)</SET><SET>Subject = P Language and Literature: PI Oriental languages and literatures</SET><SET>Subject = P Language and Literature: PJ Semitic</SET><SET>Subject = A General Works: AZ History of Scholarship The Humanities</SET><SET>Subject = P Language and Literature: PK Indo-Iranian</SET><SET>Subject = P Language and Literature: PL Languages and literatures of Eastern Asia, Africa, Oceania</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4450 Databases</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0441 Literary History</SET><SET>Subject = P Language and Literature: PM Hyperborean, Indian, and Artificial languages</SET><SET>Subject = P Language and Literature: PN Literature (General)</SET><SET>Subject = L Education: LB Theory and practice of education: LB1501 Primary Education</SET><SET>Subject = H Social Sciences: HF Commerce: HF5601 Accounting</SET><SET>Subject = D History General and Old World: D History (General): D204 Modern History</SET><SET>Subject = P Language and Literature: PB Modern European Languages: PB1501 Gaelic (Scottish Gaelic, Erse)</SET><SET>Subject = R Medicine: RC Internal medicine: RC1200 Sports Medicine</SET><SET>Subject = P Language and Literature: PQ Romance literatures</SET><SET>Subject = P Language and Literature: PR English literature</SET><SET>Subject = T Technology: TA Engineering (General). Civil engineering (General)</SET><SET>Subject = P Language and Literature: PS American literature</SET><SET>Subject = P Language and Literature: PT Germanic literature</SET><SET>Subject = T Technology: TC Hydraulic engineering. Ocean engineering</SET><SET>Subject = L Education: LT Textbooks</SET><SET>Subject = T Technology: TD Environmental technology. Sanitary engineering</SET><SET>Subject = Q Science: Q Science (General)</SET><SET>Subject = T Technology: TE Highway engineering. Roads and pavements</SET><SET>Subject = M Music and Books on Music: M Music</SET><SET>Subject = E History America: E151 United States (General)</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z665 Library Science. Information Science</SET><SET>Subject = T Technology: TF Railroad engineering and operation</SET><SET>Subject = B Philosophy. Psychology. Religion: BC Logic</SET><SET>Subject = T Technology: TG Bridge engineering</SET><SET>Subject = B Philosophy. Psychology. Religion: BD Speculative Philosophy</SET><SET>Subject = T Technology: TH Building construction</SET><SET>Subject = B Philosophy. Psychology. Religion: BF Psychology</SET><SET>Subject = B Philosophy. Psychology. Religion: BH Aesthetics</SET><SET>Subject = D History General and Old World: D History (General): D890 Eastern Hemisphere</SET><SET>Subject = P Language and Literature: PZ Childrens literature</SET><SET>Subject = F History United States, Canada, Latin America: F1001 Canada (General)</SET><SET>Subject = L Education: LB Theory and practice of education: LB2300 Higher Education</SET><SET>Subject = T Technology: TJ Mechanical engineering and machinery</SET><SET>Subject = T Technology: TK Electrical engineering. Electronics Nuclear engineering</SET><SET>Subject = D History General and Old World: D History (General): D111 Medieval History</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z004 Books. Writing. Paleography</SET><SET>Subject = T Technology: TL Motor vehicles. Aeronautics. Astronautics</SET><SET>Subject = B Philosophy. Psychology. Religion: BJ Ethics</SET><SET>Subject = T Technology: TN Mining engineering. Metallurgy</SET><SET>Subject = B Philosophy. Psychology. Religion: BL Religion</SET><SET>Subject = B Philosophy. Psychology. Religion: BM Judaism</SET><SET>Subject = E History America: E11 America (General)</SET><SET>Subject = T Technology: TP Chemical technology</SET><SET>Subject = F History United States, Canada, Latin America: F001 United States local history</SET><SET>Subject = T Technology: TR Photography</SET><SET>Subject = T Technology: TS Manufactures</SET><SET>Subject = B Philosophy. Psychology. Religion: BP Islam. Bahaism. Theosophy, etc</SET><SET>Subject = K Law: KD England and Wales: KDC Scotland</SET><SET>Subject = T Technology: TT Handicrafts Arts and crafts</SET><SET>Subject = Q Science: QA Mathematics</SET><SET>Subject = B Philosophy. Psychology. Religion: BQ Buddhism</SET><SET>Subject = Q Science: QB Astronomy</SET><SET>Subject = B Philosophy. Psychology. Religion: BR Christianity</SET><SET>Subject = U Military Science: U Military Science (General)</SET><SET>Subject = Q Science: QC Physics</SET><SET>Subject = B Philosophy. Psychology. Religion: BS The Bible</SET><SET>Subject = Q Science: QD Chemistry</SET><SET>Subject = B Philosophy. Psychology. Religion: BT Doctrinal Theology</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD61 Risk Management</SET><SET>Subject = T Technology: TX Home economics</SET><SET>Subject = Q Science: QE Geology</SET><SET>Subject = J Political Science: J General legislative and executive papers</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology</SET><SET>Subject = C Auxiliary Sciences of History: C Auxiliary sciences of history (General)</SET><SET>Subject = Q Science: QH Natural history</SET><SET>Subject = B Philosophy. Psychology. Religion: BX Christian Denominations</SET><SET>Subject = Q Science: QR Microbiology: QR355 Virology</SET><SET>Subject = Q Science: QK Botany</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals: CD921 Archives</SET><SET>Subject = Q Science: QL Zoology</SET><SET>Subject = Q Science: QM Human anatomy</SET><SET>Subject = Q Science: QA Mathematics: QA75 Electronic computers. Computer science</SET><SET>Subject = M Music and Books on Music: ML Literature of music</SET><SET>Subject = Q Science: QA Mathematics: QA76 Computer software</SET><SET>Subject = L Education: LB Theory and practice of education: LB1603 Secondary Education. High schools</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>4983</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameGeneratorTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameGeneratorTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameGeneratorTest.java	(revision 47801)
@@ -0,0 +1,84 @@
+package eu.dnetlib.enabling.tools.registration;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.registry.ISRegistryServiceImpl;
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
+
+/**
+ * test heuristic service name generator.
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class InterfaceServiceNameGeneratorTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient ServiceNameResolver generator = new InterfaceServiceNameResolver();
+
+	/**
+	 * simulates the extension of the service interface.
+	 * 
+	 * @author marko
+	 *
+	 */
+	interface SomeDummyInterface extends ISRegistryService {
+	}
+	
+	/**
+	 * simulates the implementation of the service interface.
+	 * @author marko
+	 *
+	 */
+	abstract class AbstractDummyService implements SomeDummyInterface {
+	}
+	
+	/**
+	 * simulates the subclassing of the service implementation class.
+	 * 
+	 * @author marko
+	 *
+	 */
+	abstract class AbstractDummyServiceImpl extends AbstractDummyService {
+	}
+	
+	/**
+	 * service mock.
+	 */
+	@Mock
+	private transient AbstractDummyServiceImpl service;
+	
+	/**
+	 * setup.
+	 */
+	@Before
+	public void setUp() {
+		generator = new InterfaceServiceNameResolver();
+	}
+
+	/**
+	 * test getName().
+	 */
+	@Test
+	public void testGetName() {
+		assertEquals("check service name", "ISRegistryService", generator.getName(service));
+	}
+
+	/**
+	 * test getName() on real classes.
+	 */
+	@Test
+	public void testGetNameReal() {
+		assertEquals("check service name", "ISRegistryService", generator.getName(new ISRegistryServiceImpl()));
+	}
+
+	
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/CompatResourceIdentifierResolverImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/CompatResourceIdentifierResolverImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/CompatResourceIdentifierResolverImplTest.java	(revision 47801)
@@ -0,0 +1,51 @@
+package eu.dnetlib.enabling.tools;
+
+import static org.junit.Assert.*; // NOPMD
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * test the CompatResourceIdentifierResolverImpl.
+ * 
+ * @author marko
+ *
+ */
+public class CompatResourceIdentifierResolverImplTest {
+
+	/**
+	 * test resource identifier.
+	 * 
+	 */
+	private static final String TEST_RES_ID = "first_c2Vjb25k";
+	
+	/**
+	 * instance under test.
+	 */
+	private transient CompatResourceIdentifierResolverImpl resIdResolver;
+	
+	/**
+	 * prepare the instance under test.
+	 */
+	@Before
+	public void setUp() {
+		resIdResolver = new CompatResourceIdentifierResolverImpl();
+	}
+
+	/**
+	 * test get collection name.
+	 */
+	@Test
+	public void testGetCollectionName() {
+		assertEquals("check collection name", "second", resIdResolver.getCollectionName(TEST_RES_ID));
+	}
+
+	/**
+	 * test get file name.
+	 */
+	@Test
+	public void testGetFileName() {
+		assertEquals("check file name", "first", resIdResolver.getFileName(TEST_RES_ID));		
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo135.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo135.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo135.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="54-d97d8e05-e52f-45af-b8a8-4651aaf56999_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-29T10:09:35+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Publications of the Universiteit van Amsterdam</OFFICIAL_NAME><ENGLISH_NAME>Univ. van Amsterdam: Scripties Online</ENGLISH_NAME><ICON_URI>http://dare.uva.nl/u/uvascript/graphics/header-top.jpg</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.890174</LONGITUDE><LATITUDE>52.368765</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dare.uva.nl/cgi/b/bib/bib-idx?c=uvascript</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>dpcmedewerkers-uba@uva.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dare.uva.nl/cgi/arno/oai/uvapub</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>arno</FORMAT><FORMAT>imsmd_v1p2</FORMAT></FORMATS><SETS><SET>Keur der Wetenschap</SET><SET>Keur der Wetenschap</SET><SET>Scholar Economics</SET><SET>Scholar Economics</SET><SET>Full text available</SET><SET>Full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>8412</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ResourceKindResolverChainTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ResourceKindResolverChainTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/ResourceKindResolverChainTest.java	(revision 47801)
@@ -0,0 +1,36 @@
+package eu.dnetlib.enabling.is.registry;
+
+import static org.junit.Assert.*;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.common.collect.Lists;
+
+/**
+ * Test if the kind resolver chain correctly fails back.
+ * 
+ * @author marko
+ * 
+ */
+public class ResourceKindResolverChainTest {
+
+	private ResourceKindResolverChain chain;
+
+	@Before
+	public void setUp() throws Exception {
+		chain = new ResourceKindResolverChain();
+		chain.setResolvers(Lists.newArrayList(new ApplicationProfileResourceKindResolver(), new NameBasedResourceKindResolver()));
+	}
+
+	@Test
+	public void testChain() throws XPathExpressionException {
+		assertEquals("ServiceResources", chain.getNormalKindForType("MyServiceResourceType"));
+		assertEquals("PendingServiceResources", chain.getPendingKindForType("MyServiceResourceType"));
+		
+		assertEquals("RepositoryServiceResources", chain.getNormalKindForType("RepositoryServiceResourceType"));
+		assertEquals("PendingRepositoryResources", chain.getPendingKindForType("RepositoryServiceResourceType"));
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/TopicExpressionMatchResult.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/TopicExpressionMatchResult.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/TopicExpressionMatchResult.java	(revision 47801)
@@ -0,0 +1,46 @@
+package eu.dnetlib.enabling.is.sn;
+
+/**
+ * Groups a topic expression prefix match result.
+ * 
+ * <p>
+ * Utility class.
+ * </p>
+ * 
+ * @author marko
+ * 
+ */
+public class TopicExpressionMatchResult {
+	/**
+	 * Topic expression prefix.
+	 */
+	private final transient String prefix;
+
+	/**
+	 * RestOf the topic expression.
+	 */
+	private final transient String rest;
+
+	/**
+	 * construct a new topic expression prefix match result.
+	 * @param prefix
+	 *            prefix
+	 * @param rest
+	 *            rest
+	 */
+	public TopicExpressionMatchResult(final String prefix, final String rest) {
+		super();
+		this.prefix = prefix;
+		this.rest = rest;
+	}
+
+	public String getPrefix() {
+		return prefix;
+	}
+
+	public String getRest() {
+		return rest;
+	}
+
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrationManagerImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrationManagerImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ServiceRegistrationManagerImplTest.java	(revision 47801)
@@ -0,0 +1,93 @@
+package eu.dnetlib.enabling.tools.registration;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.when;
+
+import javax.xml.ws.Endpoint;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.lookup.ISLookUpServiceImpl;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+
+/**
+ * test ServiceRegistrationManagerImpl.
+ *
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ServiceRegistrationManagerImplTest {
+
+	/**
+	 * fake profile.
+	 */
+	private static final String PROFILE = "<RESOURCE_PROFILE><HEADER><RESOURCE_KIND value=\"PendingServiceResources\"/></HEADER></RESOURCE_PROFILE>";
+
+	/**
+	 * instance under test.
+	 */
+	private transient ServiceRegistrationManagerImpl manager;
+
+	/**
+	 * registrator mock.
+	 */
+	@Mock
+	private transient ServiceRegistrator registrator;
+
+	/**
+	 * is lookup mock.
+	 */
+	@Mock
+	private transient ISLookUpService lookUpService;
+	@Mock
+	private UniqueServiceLocator serviceLocator;
+
+	/**
+	 * prepare.
+	 *
+	 * @throws ISLookUpException
+	 *             cannot happen
+	 */
+	@Before
+	public void setUp() throws ISLookUpException {
+		manager = new ServiceRegistrationManagerImpl();
+		manager.setServiceLocator(serviceLocator);
+		manager.setRegistrator(registrator);
+		manager.setService(new ISLookUpServiceImpl());
+
+		when(serviceLocator.getService(ISLookUpService.class)).thenReturn(lookUpService);
+		when(serviceLocator.getService(ISLookUpService.class, true)).thenReturn(lookUpService);
+		when(lookUpService.getResourceProfile("123")).thenReturn(PROFILE);
+		when(lookUpService.getResourceProfileByQuery(anyString())).thenReturn(PROFILE);
+	}
+
+	/**
+	 * test state machine.
+	 */
+	@Test
+	@Ignore
+	public void testTick() {
+		when(registrator.registerService(anyObject(), (Endpoint) anyObject())).thenReturn("123");
+
+		assertEquals("check unregistered state", ServiceRegistrationManagerImpl.State.UNREGISTERED, manager.getState());
+		manager.tick();
+		assertEquals("check pending state", ServiceRegistrationManagerImpl.State.PENDING, manager.getState());
+		assertEquals("ensure that the mock is correct", "PendingServiceResources", manager.getServiceProfile().getResourceKind());
+		manager.tick();
+		assertEquals("should remain pending", ServiceRegistrationManagerImpl.State.PENDING, manager.getState());
+
+		manager.tick();
+		assertEquals("should remain pending forever", ServiceRegistrationManagerImpl.State.PENDING, manager.getState());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo139.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo139.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo139.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="5-af189ad8-4db7-4723-81e8-a0ed08e8079a_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-24T22:04:59+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>BURJC-DIGITAL Universidad Rey Juan Carlos</OFFICIAL_NAME><ENGLISH_NAME>BURJC-DIGITAL Universidad Rey Juan Carlos</ENGLISH_NAME><ICON_URI>http://eciencia.urjc.es/dspace/image/logo.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.872745</LONGITUDE><LATITUDE>40.334719</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eciencia.urjc.es/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad Rey Juan Carlos</REPOSITORY_INSTITUTION><ADMIN_INFO>biblioteca.proyectoeciencia@urjc.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPurjc</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>187</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/TestISSNServiceImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/TestISSNServiceImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/TestISSNServiceImpl.java	(revision 47801)
@@ -0,0 +1,40 @@
+package eu.dnetlib.enabling.is.sn;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import eu.dnetlib.enabling.is.sn.rmi.ISSNException;
+
+/**
+ * As a complementary approach w.r.t unit tests, this class is an extension of 
+ * the default ISSN Service which creates a number of initial subscriptions so that we can play
+ * with some notifications.
+ * 
+ * This class plays well with TestISStoreServiceImpl, which creates some profiles at startup time
+ * and schedules some automated mutations.
+ * 
+ * @author marko
+ *
+ */
+public class TestISSNServiceImpl extends ISSNServiceImpl {
+	/**
+	 * logger. 
+	 */
+	private static final Log log = LogFactory.getLog(TestISSNServiceImpl.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/** 
+	 * {@inheritDoc}
+	 * @see eu.dnetlib.enabling.tools.AbstractBaseService#start()
+	 */
+	@Override
+	public void start() {
+		super.start();
+		
+		try {
+			subscribe(getEprBuilder().getEndpointReference(getEndpoint()), "CREATE/TestResourceType/*", 0);
+		} catch (ISSNException e) {
+			log.fatal("cannot subscribe test subscriptions", e);
+		}
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/JaxwsServiceResolverImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/JaxwsServiceResolverImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/JaxwsServiceResolverImplTest.java	(revision 47801)
@@ -0,0 +1,122 @@
+package eu.dnetlib.enabling.tools;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.mock; // NOPMD
+import static org.mockito.Mockito.when;
+
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.cxf.BusFactory;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import eu.dnetlib.enabling.resultset.rmi.ResultSetException;
+import eu.dnetlib.enabling.resultset.rmi.ResultSetService;
+import eu.dnetlib.soap.cxf.CxfEndpointReferenceBuilder;
+import eu.dnetlib.soap.cxf.JaxwsEndpointReferenceBuilder;
+
+/**
+ * jaxws service resolution.
+ * 
+ * @author marko
+ * 
+ */
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = "local-cxf.xml")
+public class JaxwsServiceResolverImplTest {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(JaxwsServiceResolverImplTest.class); // NOPMD by marko on
+																							// 11/24/08 5:02 PM
+
+	/**
+	 * instance under test.
+	 */
+	private transient JaxwsServiceResolverImpl resolver;
+
+	/**
+	 * epr builder.
+	 */
+	private transient JaxwsEndpointReferenceBuilder eprBuilder;
+
+	/**
+	 * resultset mock.
+	 */
+	private transient ResultSetService resultSetService;
+
+	/**
+	 * cleanup cxf. This test requires the local transport (declared in local-cxf.xml), but other tests may have already instantiated the
+	 * cxf bus singleton.
+	 */
+	@BeforeClass
+	public static void resetCxf() {
+		BusFactory.getDefaultBus().shutdown(true);
+	}
+
+	/**
+	 * common.
+	 */
+	@Before
+	public void setUp() {
+		resolver = new JaxwsServiceResolverImpl();
+		eprBuilder = new JaxwsEndpointReferenceBuilder();
+		eprBuilder.setBuilder(new CxfEndpointReferenceBuilder());
+
+		resultSetService = mock(ResultSetService.class);
+	}
+
+	/**
+	 * get service.
+	 * 
+	 * @throws ResultSetException
+	 *             shoudn't happen
+	 */
+	@Test
+	public void testGetService() throws ResultSetException {
+		final String rsId = "1235";
+
+		when(resultSetService.identify()).thenReturn("foo");
+		when(resultSetService.getNumberOfElements(rsId)).thenReturn(2);
+
+		final Endpoint endpoint = Endpoint.publish("local://test", resultSetService);
+
+		assertNotNull("check endpoint", endpoint);
+
+		final W3CEndpointReference epr = eprBuilder.getEndpointReference(endpoint, rsId);
+
+		epr.writeTo(new StreamResult(System.out));
+
+		final ResultSetService rset = resolver.getService(ResultSetService.class, epr);
+
+		assertNotNull("check resultset", rset);
+
+		log.info(rset.getClass());
+		log.info(rset);
+
+		// NOTE: call to identify and getNumberOfElements fail because it seems that the methods are not
+		// in the wsdl. This error may be related with the use of mockito and
+		// method inheritance of services because there is no such error with
+		// non-mocked result set service methods.
+		// rset.identify();
+
+		// assertEquals("check resultset communication", "foo",
+		// rset.identify());
+
+		assertEquals("check resolver resource id", rsId, resolver.getResourceIdentifier(epr));
+
+		// assertEquals("check resultset communication with param", 2,
+		// rset.getNumberOfElements(resolver.getResourceIdentifier(epr)));
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvocationLogger.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvocationLogger.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvocationLogger.java	(revision 47801)
@@ -0,0 +1,142 @@
+package eu.dnetlib.enabling.is.sn;
+
+import java.util.Collection;
+import java.util.Date;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/**
+ * A notification logger maintains a log of sent notifications, and their status (succes or failure with exception etc).
+ *
+ * @author marko
+ *
+ */
+public interface NotificationInvocationLogger {
+
+	/**
+	 * A log entry. Used to create log entries in two phases. First a log entry is created with "startLogging" and after
+	 * the notification is sent the log entry is committed with success() of failure().
+	 *
+	 * @author marko
+	 *
+	 */
+	interface Entry {
+		/**
+		 * log entry status.
+		 *
+		 * @author marko
+		 *
+		 */
+		enum Status {
+			/**
+			 * notification is queued but not started to be sent.
+			 */
+			Queued,
+			/**
+			 * notification is ongoing.
+			 */
+			Ongoing,
+			/**
+			 * notification succeeded.
+			 */
+			Succeeded,
+			/**
+			 * notification failed.
+			 */
+			Failed
+		};
+
+		/**
+		 * sets the status to ongoing.
+		 */
+		void ongoing();
+
+		/**
+		 * commits the log entry tagging it as succeeded.
+		 */
+		void success();
+
+		/**
+		 * commits the log entry tagging it as failed.
+		 *
+		 * @param exception
+		 *            throwable, cause of failure
+		 */
+		void failure(Throwable exception);
+
+		/**
+		 * get start date time.
+		 *
+		 * @return date
+		 */
+		Date getStart();
+
+		/**
+		 * get finish date time.
+		 *
+		 * @return date
+		 */
+		Date getFinish();
+
+		/**
+		 * get log status.
+		 *
+		 * @return log status
+		 */
+		Status getStatus();
+
+		/**
+		 * get log message.
+		 *
+		 * @return log message
+		 */
+		NotificationMessage getMessage();
+
+		/**
+		 * get destination.
+		 *
+		 * @return destination url
+		 */
+		String getDestination();
+
+		/**
+		 * get exception.
+		 *
+		 * @return exception
+		 */
+		Throwable getException();
+
+		/**
+		 * Get exception error message or empty string if succeded.
+		 *
+		 * @return error message
+		 */
+		String getErrorMessage();
+
+		/**
+		 * Human readable duration.
+		 *
+		 * @return human readable duration
+		 */
+		String getDuration();
+	}
+
+	/**
+	 * Start logging a notification invocation.
+	 *
+	 * @param destination
+	 *            destination
+	 * @param message
+	 *            message to be logged.
+	 * @return an entry object which has to be committed.
+	 *
+	 */
+	Entry startLogging(W3CEndpointReference destination, NotificationMessage message);
+
+	/**
+	 * get all entries.
+	 *
+	 * @return all entries
+	 */
+	Collection<Entry> getEntries();
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvoker.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvoker.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationInvoker.java	(revision 47801)
@@ -0,0 +1,26 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/**
+ * Implementors of this interface decouple the notification producing and dispatching policies
+ * with the actually on-wire sending of the notification message.
+ * 
+ * <p>
+ * Notification invokers expose a fairly low level interface to notification dispatchers, so that 
+ * dispatching policies can configure various aspects of the underlying transport.
+ * </p>
+ * 
+ * @author marko
+ *
+ */
+public interface NotificationInvoker {
+	/**
+	 * for now only timeout is exposed.
+	 * 
+	 * @param destination destination EPR
+	 * @param message message
+	 * @param timeout timeout in seconds
+	 */
+	void send(W3CEndpointReference destination, NotificationMessage message, int timeout);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo13.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo13.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo13.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="114-007fa871-3742-4b8a-afd6-f0f7748a146a_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-21T22:09:53+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>CDSware</TYPOLOGY><OFFICIAL_NAME>Aristotle University of Thessaloniki</OFFICIAL_NAME><ENGLISH_NAME>Aristotle University of Thessaloniki</ENGLISH_NAME><ICON_URI>http://www.lib.auth.gr/images/site/gr/mentor7.png</ICON_URI><COUNTRY>GR</COUNTRY><LOCATION><LONGITUDE>22.972</LONGITUDE><LATITUDE>40.625</LATITUDE><TIMEZONE>2</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://cds.lib.auth.gr/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Aristotle University of Thessaloniki</REPOSITORY_INSTITUTION><ADMIN_INFO>theod@skiathos.physics.auth.gr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://cds.lib.auth.gr/cgi-bin/cds/oai2d</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1634</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationSender.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationSender.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/NotificationSender.java	(revision 47801)
@@ -0,0 +1,37 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/**
+ * Instances implementing this interfaces will send notifications to consumers.
+ * 
+ * <p>
+ * Notifications will be already detected and the message body will be already computed.
+ * </p>
+ * 
+ * <p>
+ * There will be different NotificationSenders, depending on the performance and reliability characteristics required by
+ * the message type.
+ * <p>
+ * 
+ * <p>Each notification sender will use a NotificationInvoker to actually forward the notification</p>
+ * 
+ * @author marko
+ * @see eu.dnetlib.enabling.is.sn.NotificationInvoker
+ */
+public interface NotificationSender {
+	/**
+	 * sends a given message according to specific policies.
+	 * 
+	 * @param destination destination EPR
+	 * @param message message
+	 */
+	void send(W3CEndpointReference destination, NotificationMessage message);
+	
+	/**
+	 * Sets the notification invoker which will actually perform the notification delivery.
+	 * 
+	 * @param invoker notification invoker
+	 */
+	void setInvoker(NotificationInvoker invoker);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo17.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo17.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo17.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="11-68fb9abf-23e7-45a3-833e-a561b3f048af_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-14T20:43:04+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Ramon Llull: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Ramon Llull: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.131272</LONGITUDE><LATITUDE>41.411307</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Ramon Llull</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_URL/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>MARC</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>88</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/applicationContext-integrationSupport.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/applicationContext-integrationSupport.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/applicationContext-integrationSupport.xml	(revision 47801)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+	<bean id="springContextSharer" class="eu.dnetlib.test.SpringContextSharer" />
+</beans>
+	
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionRequest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionRequest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/sn/SubscriptionRequest.java	(revision 47801)
@@ -0,0 +1,88 @@
+package eu.dnetlib.enabling.is.sn;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/**
+ * A SubscriptionRequest encapsulates various information about a subscription request.
+ * 
+ * @author marko
+ * 
+ */
+public class SubscriptionRequest {
+	
+	/**
+	 * subscriber.
+	 */
+	private W3CEndpointReference subscriber;
+	
+	/**
+	 * topic expression.
+	 */
+	private String topicExpression;
+	
+	/**
+	 * Preallocated subscription Id. If registries accept the subscription, they will store this in the subscription
+	 * identifier.
+	 */
+	private String subscriptionId;
+	
+	/**
+	 * time to live.
+	 */
+	private int ttl;
+	
+	/**
+	 * default constructor. 
+	 */
+	public SubscriptionRequest() {
+		// no operation
+	}
+	
+	/**
+	 * construct with fields.
+	 * 
+	 * @param subscriptionId subscription id
+	 * @param subscriber subscriber
+	 * @param topicExpression topic expression 
+	 * @param ttl time to live
+	 */
+	public SubscriptionRequest(final String subscriptionId, final W3CEndpointReference subscriber, final String topicExpression, final int ttl) {
+		super();
+		this.subscriptionId = subscriptionId;
+		this.subscriber = subscriber;
+		this.topicExpression = topicExpression;
+		this.ttl = ttl;
+	}
+
+	public W3CEndpointReference getSubscriber() {
+		return subscriber;
+	}
+	
+	public void setSubscriber(final W3CEndpointReference subscriber) {
+		this.subscriber = subscriber;
+	}
+	
+	public String getTopicExpression() {
+		return topicExpression;
+	}
+	
+	public void setTopicExpression(final String topicExpression) {
+		this.topicExpression = topicExpression;
+	}
+	
+	public String getSubscriptionId() {
+		return subscriptionId;
+	}
+	
+	public void setSubscriptionId(final String subscriptionId) {
+		this.subscriptionId = subscriptionId;
+	}
+
+	public int getTtl() {
+		return ttl;
+	}
+
+	public void setTtl(final int ttl) {
+		this.ttl = ttl;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/test/SpringContextSharer.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/test/SpringContextSharer.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/test/SpringContextSharer.java	(revision 47801)
@@ -0,0 +1,42 @@
+package eu.dnetlib.test;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+/**
+ * integration tests may need to access the container application context, for example in order 
+ * directly interact with components or access shared resources like the CXF bus.
+ * 
+ * This bean should be instantiated in the container context.
+ * 
+ * @author marko
+ *
+ */
+public class SpringContextSharer implements ApplicationContextAware {
+	/**
+	 * logger. 
+	 */
+	private static final Log log = LogFactory.getLog(SpringContextSharer.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * global application context.
+	 */
+	private static ApplicationContext globalContext;
+	
+	/** 
+	 * {@inheritDoc}
+	 * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
+	 */
+	@Override
+	public void setApplicationContext(final ApplicationContext context) {
+		log.debug("registering global application context");
+		globalContext = context;
+	}
+	
+	public static ApplicationContext getGlobalContext() {
+		return globalContext;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/OpaqueResourceValidatorImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/OpaqueResourceValidatorImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/schema/OpaqueResourceValidatorImpl.java	(revision 47801)
@@ -0,0 +1,57 @@
+package eu.dnetlib.enabling.is.registry.schema;
+
+import java.io.IOException;
+import java.io.StringReader;
+
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.Validator;
+
+import org.xml.sax.SAXException;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * validates an opaque resource according to its declared resource type.
+ * 
+ * @author marko
+ * 
+ */
+public class OpaqueResourceValidatorImpl implements OpaqueResourceValidator {
+
+	/**
+	 * schema dao.
+	 */
+	private ResourceSchemaDAO schemaDao;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.schema.OpaqueResourceValidator#validate(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void validate(final OpaqueResource resource) throws ValidationException {
+		final Schema schema = getSchemaDao().getResourceSchema(resource.getResourceType());
+		if (schema == null)
+			throw new ValidationException("no registered schema for " + resource.getResourceType());
+		final Validator validator = schema.newValidator();
+
+		try {
+			// hack to workaround for #1500 
+			validator.validate(new StreamSource(new StringReader(resource.asString())));
+		} catch (SAXException e) {
+			throw new ValidationException(e);
+		} catch (IOException e) {
+			throw new ValidationException(e);
+		}
+	}
+
+	public ResourceSchemaDAO getSchemaDao() {
+		return schemaDao;
+	}
+
+	public void setSchemaDao(final ResourceSchemaDAO schemaDao) {
+		this.schemaDao = schemaDao;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo56.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo56.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo56.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="18-8b8670e2-8d30-4bd2-b9b5-9797c810fc90_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-05T21:22:14+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>DESY Publication Database</OFFICIAL_NAME><ENGLISH_NAME>DESY Publication Database</ENGLISH_NAME><ICON_URI>http://pubdb.desy.de/desy-header/head_left.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.883</LONGITUDE><LATITUDE>53.572</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://pubdb.desy.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>DESY</REPOSITORY_INSTITUTION><ADMIN_INFO>library@desy.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://pubdb.desy.de/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3354</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo86.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo86.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo86.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="26-ad2181fa-4c91-4226-9a4c-2bda46abf8d5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-29T19:07:47+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>E-Archivo</OFFICIAL_NAME><ENGLISH_NAME>E-Archivo</ENGLISH_NAME><ICON_URI>http://e-archivo.uc3m.es/dspace/image/logouc3m.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.76640</LONGITUDE><LATITUDE>40.333578</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://e-archivo.uc3m.es/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Univ. Carlos III de Madrid</REPOSITORY_INSTITUTION><ADMIN_INFO>e-archivo@listserv.uc3m.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPuc3m</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2538</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/IdPreservingPendingResourceManagerImpl.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/IdPreservingPendingResourceManagerImpl.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/IdPreservingPendingResourceManagerImpl.java	(revision 47801)
@@ -0,0 +1,209 @@
+package eu.dnetlib.enabling.is.registry;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryException;
+import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService;
+import eu.dnetlib.enabling.is.registry.schema.OpaqueResourceValidator;
+import eu.dnetlib.enabling.is.registry.schema.ValidationException;
+import eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy;
+import eu.dnetlib.enabling.is.registry.validation.RegistrationPhase;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+import eu.dnetlib.enabling.tools.CompatResourceIdentifierResolverImpl;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+import eu.dnetlib.enabling.tools.ResourceIdentifierComposer;
+import eu.dnetlib.enabling.tools.ResourceIdentifierResolver;
+import eu.dnetlib.enabling.tools.XQueryUtils;
+
+public class IdPreservingPendingResourceManagerImpl implements PendingResourceManager, ResourceKindResolver {
+
+	/**
+	 * is registry
+	 */
+	private ISRegistryService isRegistry;
+
+	/**
+	 * is store
+	 */
+	private ISStoreService isStore;
+
+	/**
+	 * This bean resolver
+	 */
+	private ResourceKindResolver resourceKindResolver;
+
+	/**
+	 * used to validate resources.
+	 */
+	private OpaqueResourceValidator resourceValidator;
+
+	/**
+	 * used to get the root collection.
+	 */
+	private XQueryUtils xqueryUtils;
+
+	/**
+	 * manages resource identifier mappings with the abstract xmldb namespace (files/collections).
+	 */
+	@Resource
+	private ResourceIdentifierResolver resIdResolver = new CompatResourceIdentifierResolverImpl();
+
+	/**
+	 * used to create a new resource id.
+	 */
+	@Resource
+	private ResourceIdentifierComposer resIdComposer = new CompatResourceIdentifierResolverImpl();
+
+	/**
+	 * used to validate resources w.r.t. a set of defined properties.
+	 */
+	@Resource
+	private ProfileValidationStrategy profileValidationStrategy;
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.PendingResourceManager#setPending(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void setPending(final OpaqueResource resource, final boolean local) {
+		try {
+			resource.setResourceKind(getPendingKindForType(resource.getResourceType()));
+
+			if (!local) {
+				isRegistry.deleteProfile(resource.getResourceId());
+
+				registerProfile(resource);
+			}
+
+		} catch (XPathExpressionException e) {
+			throw new IllegalStateException(e);
+		} catch (ISRegistryException e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.PendingResourceManager#setPending(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void setPending(final OpaqueResource resource) {
+		setPending(resource, false);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.registry.PendingResourceManager#setValid(eu.dnetlib.enabling.tools.OpaqueResource)
+	 */
+	@Override
+	public void setValid(final OpaqueResource resource) {
+		try {
+			if (resource.getResourceKind() != null && resource.getResourceKind().equals(getNormalKindForType(resource.getResourceType()))) { throw new IllegalArgumentException(
+					"trying to validate an already valid resource"); }
+
+			profileValidationStrategy.accept(resource, RegistrationPhase.Validate);
+
+			resource.setResourceKind(getNormalKindForType(resource.getResourceType()));
+
+			isRegistry.deleteProfile(resource.getResourceId());
+
+			registerProfile(resource);
+
+		} catch (XPathExpressionException e) {
+			throw new IllegalStateException(e);
+		} catch (ISRegistryException e) {
+			throw new IllegalStateException(e);
+		} catch (ValidationException e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	public String registerProfile(final OpaqueResource resource) throws ISRegistryException {
+		try {
+			final String oldId = resource.getResourceId();
+			final String fileName = resIdResolver.getFileName(oldId);
+			final String newColl = xqueryUtils.getCollectionPath(resource);
+
+			final String newId = resIdComposer.createResourceId(fileName, newColl);
+
+			resource.setResourceId(newId);
+
+			resource.setModificationDate(new Date());
+
+			// log.info("validating to xml schema: " + resource.asString());
+			resourceValidator.validate(resource);
+
+			// TODO: factor out ResourceType class
+			isStore.insertXML(fileName, xqueryUtils.getRootCollection() + newColl, resource.asString());
+
+			return resource.getResourceId();
+		} catch (ISStoreException e) {
+			throw new ISRegistryException(e);
+		} catch (ValidationException e) {
+			throw new ISRegistryException("profile is not conforming to the schema: " + e.getMessage(), e);
+		}
+	}
+
+	@Override
+	public String getNormalKindForType(final String resourceType) throws XPathExpressionException {
+		return resourceKindResolver.getNormalKindForType(resourceType);
+	}
+
+	@Override
+	public String getPendingKindForType(final String resourceType) throws XPathExpressionException {
+		return resourceKindResolver.getPendingKindForType(resourceType);
+	}
+
+	// /////////////////////////////
+
+	public ResourceKindResolver getResourceKindResolver() {
+		return resourceKindResolver;
+	}
+
+	@Required
+	public void setResourceKindResolver(final ResourceKindResolver resourceKindResolver) {
+		this.resourceKindResolver = resourceKindResolver;
+	}
+
+	@Required
+	public void setXqueryUtils(final XQueryUtils xqueryUtils) {
+		this.xqueryUtils = xqueryUtils;
+	}
+
+	public OpaqueResourceValidator getResourceValidator() {
+		return resourceValidator;
+	}
+
+	@Required
+	public void setResourceValidator(final OpaqueResourceValidator resourceValidator) {
+		this.resourceValidator = resourceValidator;
+	}
+
+	public ISRegistryService getIsRegistry() {
+		return isRegistry;
+	}
+
+	@Required
+	public void setIsRegistry(final ISRegistryService isRegistry) {
+		this.isRegistry = isRegistry;
+	}
+
+	public ISStoreService getIsStore() {
+		return isStore;
+	}
+
+	@Required
+	public void setIsStore(final ISStoreService isStore) {
+		this.isStore = isStore;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo131.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo131.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo131.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="50-94f06430-25d5-4512-9396-d8cfe70aa86b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-29T10:08:22+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at Open Universiteit Nederland</OFFICIAL_NAME><ENGLISH_NAME>Open Univ. Nederland: DSpace</ENGLISH_NAME><ICON_URI>http://dspace.ou.nl/dspace-oai/request</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.9833</LONGITUDE><LATITUDE>50.9</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.ou.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>info-dspace@ou.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.ou.nl/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>1. IDR: Publications and Preprints</SET><SET>1. LN4LD IMS-LD packages</SET><SET>1. Publications and Preprints</SET><SET>1. TENC: Publications and Preprints</SET><SET>2. Example IMS-LD packages</SET><SET>2. Presentations</SET><SET>2. TENC: Presentations</SET><SET>3. Internal: LD-packages</SET><SET>3. Specifications</SET><SET>3. TENC: Specifications</SET><SET>4. Software and Documentation</SET><SET>4. TENC: Software and Documentation</SET><SET>5. Papers, Reports, Thesis, Work Documents</SET><SET>5. TENC: Deliverables and Milestones</SET><SET>6. Internal: Documents</SET><SET>6. TENC: Work Documents</SET><SET>7. Internal: archive of originals</SET><SET>7. TENC: Internal: Documents</SET><SET>8. TENC: Internal: archive of originals</SET><SET>Keur der Wetenschap</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>26</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/NoSuchPendingCategoryException.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/NoSuchPendingCategoryException.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/NoSuchPendingCategoryException.java	(revision 47801)
@@ -0,0 +1,14 @@
+package eu.dnetlib.enabling.is.registry;
+
+public class NoSuchPendingCategoryException extends IllegalStateException {
+
+	public NoSuchPendingCategoryException(String message) {
+		super(message);
+	}
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6934748076388947172L;
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo170.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo170.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo170.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="85-956d1fb5-d9e0-465c-84da-15366f798320_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-16T11:25:17+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary software</TYPOLOGY><OFFICIAL_NAME>Open Marien Archief (OMA)</OFFICIAL_NAME><ENGLISH_NAME>Open Marine Archive</ENGLISH_NAME><ICON_URI>http://www.vliz.be/images/r2k1.gif</ICON_URI><COUNTRY>BE</COUNTRY><LOCATION><LONGITUDE>2.931</LONGITUDE><LATITUDE>51.232</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.vliz.be/EN/Marine%20Library</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Flanders Marine Institute</REPOSITORY_INSTITUTION><ADMIN_INFO>roeland.tjampens@vliz.be</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.vliz.be/oma/imis.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3566</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManager.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManager.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/RegistryBlackboardManager.java	(revision 47801)
@@ -0,0 +1,43 @@
+package eu.dnetlib.enabling.is.registry;
+
+/**
+ * Internally used by the Registry Service to perform modifications on the service blackboard, a funcionality provided
+ * by the registry API.
+ * 
+ * @author marko
+ * 
+ */
+public interface RegistryBlackboardManager {
+	/**
+	 * add a new blackboard message.
+	 * 
+	 * @param profId
+	 *            service profile id
+	 * @param messageId
+	 *            message identifier, chosen by the client
+	 * @param message
+	 *            message body
+	 */
+	void addMessage(String profId, String messageId, String message);
+
+	/**
+	 * Reply to a given message replacing the current message with the parameter. The message ID is inferred from the
+	 * new message body.
+	 * 
+	 * @param profId
+	 *            service profile id
+	 * @param message
+	 *            message body
+	 */
+	void replyMessage(String profId, String message);
+
+	/**
+	 * delete a message for a given message id.
+	 * 
+	 * @param profId
+	 *            service profile id
+	 * @param messageId
+	 *            message id
+	 */
+	void deleteMessage(String profId, String messageId);
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo174.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo174.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo174.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="8-e8cb92b0-a581-4148-ba9e-a13aa99f6fa0_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-24T22:49:02+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>EPrints Complutense</OFFICIAL_NAME><ENGLISH_NAME>EPrints Complutense</ENGLISH_NAME><ICON_URI>http://www.ucm.es/eprints/images/bucm/eprints_En.jpg</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.7276746</LONGITUDE><LATITUDE>40.4459826</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ucm.es/eprints/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad Complutense Madrid</REPOSITORY_INSTITUTION><ADMIN_INFO>buc-edicion@buc.ucm.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPucm</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5383</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo11.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo11.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo11.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="112-664dc353-4588-44f0-b8ea-43a57fa2220d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-03T18:25:56+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>dLibra</TYPOLOGY><OFFICIAL_NAME>Poznan Supercomputing and Networking Center (PSNC): Digital Library Framework (dLibra)</OFFICIAL_NAME><ENGLISH_NAME>Poznan Supercomputing and Networking Center (PSNC): Digital Library Framework (dLibra)</ENGLISH_NAME><ICON_URI>http://dlibra.psnc.pl/images/stronka-logo-pcss-2.jpg</ICON_URI><COUNTRY>PL</COUNTRY><LOCATION><LONGITUDE>16.925</LONGITUDE><LATITUDE>52.406</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dlibra.psnc.pl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Poznan Supercomputing and Networking Center (PSNC)</REPOSITORY_INSTITUTION><ADMIN_INFO>dlibra@man.poznan.pl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dlibra.psnc.pl/biblioteka/oai-pmh-repository.xml</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>117</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo97.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo97.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo97.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-b44a67ed-914d-4918-8cd8-23319ed4007f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-21T20:11:30+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>TEORA - Telemark Open Research Archive</OFFICIAL_NAME><ENGLISH_NAME>TEORA - Telemark Open Research Archive</ENGLISH_NAME><ICON_URI>http://teora.hit.no/dspace/image/hit-teora-bok.gif</ICON_URI><COUNTRY>NO</COUNTRY><LOCATION><LONGITUDE>9.651319</LONGITUDE><LATITUDE>59.136508</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://teora.hit.no/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Telemark University College</REPOSITORY_INSTITUTION><ADMIN_INFO>Arild.Skalmeraas@hit.no</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://teora.hit.no/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>496</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo52.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo52.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo52.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="17-e78474a0-ff5f-4813-a4a6-bd22545a166b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-23T16:18:54+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>DALEA - Högskolan Dalarnas elektroniska arkiv</OFFICIAL_NAME><ENGLISH_NAME>DALEA - Dalarna University Electronic Archive</ENGLISH_NAME><ICON_URI>http://dalea.du.se/images/hda_blomma.gif</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>15.436</LONGITUDE><LATITUDE>60.485</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dalea.du.se/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Högskolan Dalarna</REPOSITORY_INSTITUTION><ADMIN_INFO>dalea@du.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dalea.du.se/oai/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>663</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo140.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo140.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo140.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="5-c2113da5-b19f-4a18-9112-ac5532348942_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-05-23T09:20:14+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>PADIS</OFFICIAL_NAME><ENGLISH_NAME>PADIS</ENGLISH_NAME><ICON_URI>http://padis.uniroma1.it/immagini/benvenuti.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>12.512</LONGITUDE><LATITUDE>41.904</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://padis.uniroma1.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universita di Roma</REPOSITORY_INSTITUTION><ADMIN_INFO>padis@linuxhelp.uniroma1.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://padis.uniroma1.it/oai2d.py/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>355</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo91.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo91.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo91.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="28-92d3063c-f38b-436a-8ae0-e5a1db4d8fed_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-30T14:50:59+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Univ. Duesseldorf: Duesseldorfer Dokumenten- und Publikationsserver</OFFICIAL_NAME><ENGLISH_NAME>Heinrich-Heine-University Duesseldorf, Germany, Online Publications</ENGLISH_NAME><ICON_URI>http://docserv.uni-duesseldorf.de/d/images/hhu_02.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>6.797</LONGITUDE><LATITUDE>51.190</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://docserv.uni-duesseldorf.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitaet Duesseldorf</REPOSITORY_INSTITUTION><ADMIN_INFO>docserv@ub.uni-duesseldorf.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://docserv.uni-duesseldorf.de/servlets/OAIDataProvider</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2325</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo49.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo49.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo49.xml	(revision 47801)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="16-ad63b3fc-2eda-47b3-8822-d95860cf07dc_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-02T11:50:35+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Bologna - IBIMET Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Bologna - IBIMET Repository</ENGLISH_NAME><ICON_URI>http://www.ibimet.cnr.it/logo.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.30</LONGITUDE><LATITUDE>44.53</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrpConf/cnr_ibimetbo-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institute for 
+macromolecular studies - CNR Bologna</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo144.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo144.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo144.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="63-281bbd63-75ad-4823-b8e9-9662aaff15fe_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-01-31T10:51:04+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>pub.fontys.nl</OFFICIAL_NAME><ENGLISH_NAME>Fontys Hogescholen: iPort</ENGLISH_NAME><ICON_URI>http://www.fontysmediatheek.nl/images/uploads/fontyslogotrans.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.08333</LONGITUDE><LATITUDE>51.5667</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.fontyspublicaties.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>wilko.haast@uvt.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.fontyspublicaties.nl/oai/pub.fontys.nl.cgi</BASE_URL><FORMATS><FORMAT>arno</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>dare_didl</FORMAT></FORMATS><SETS><SET>Only records that have full text available</SET><SET>Only records that have full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1591</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo4.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo4.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo4.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="103-4572ed5b-c4b5-47d2-a98f-4d1307b2be14_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-16T17:27:45+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Univ. do Minho: RepositoriUM</OFFICIAL_NAME><ENGLISH_NAME>Univ. do Minho: RepositóriUM</ENGLISH_NAME><ICON_URI>http://repositorium.sdum.uminho.pt/image/LogoRI2.gif</ICON_URI><COUNTRY>PT</COUNTRY><LOCATION><LONGITUDE>-8.14</LONGITUDE><LATITUDE>41.635</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://repositorium.sdum.uminho.pt/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidade do Minho</REPOSITORY_INSTITUTION><ADMIN_INFO>repositorium@sdum.uminho.pt</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://repositorium.sdum.uminho.pt/oai/oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7415</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo20.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo20.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo20.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="119-9c0f5835-cac3-4f6c-965d-e9dd61d41b36_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-29T15:03:42+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Spir@l - Imperial College Digital Repository</OFFICIAL_NAME><ENGLISH_NAME>Spir@l - Imperial College Digital Repository</ENGLISH_NAME><ICON_URI>http://spiral.imperial.ac.uk/image/logo.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.172</LONGITUDE><LATITUDE>51.488</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://spiral.imperial.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Imperial College</REPOSITORY_INSTITUTION><ADMIN_INFO>spiral@imperial.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://spiral.imperial.ac.uk/spiral-pub-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1256</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo8.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo8.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo8.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="10-e6e11c14-f976-4d8e-b1fc-27d87edc610f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="http://validator.driver.research-infrastructures.eu/validatorWeb"/><DATE_OF_CREATION value="2008-11-21T08:09:40+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>DSpace</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Arias Montano: Repositorio Institucional de la Universidad de Huelva</OFFICIAL_NAME><ENGLISH_NAME>Arias Montano: Huelva University Institutional Repository</ENGLISH_NAME><ICON_URI>http://validator.driver.research-infrastructures.eu/validatorWeb/getRepositoryImage.do?&amp;repositoryId=10-00acf49a-2759-4426-9e58-57988fdd217e_UGVuZGluZ1JlcG9zaXRvcnlSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-6.9432132</LONGITUDE><LATITUDE>37.2590376</LATITUDE><TIMEZONE>1.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://rabida.uhu.es/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>http://www.uhu.es/</REPOSITORY_INSTITUTION><ADMIN_INFO>soler@uhu.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://rabida.uhu.es/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>All sets</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>59</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD><LAST_REQUEST/><LAST_RESPONSE/></BLACKBOARD></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/AbstractProfileValidator.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/AbstractProfileValidator.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/is/registry/validation/AbstractProfileValidator.java	(revision 47801)
@@ -0,0 +1,24 @@
+package eu.dnetlib.enabling.is.registry.validation;
+
+import org.springframework.beans.factory.annotation.Required;
+
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+public abstract class AbstractProfileValidator implements ProfileValidator {
+
+	private RegistrationPhase phase;
+
+	@Override
+	public boolean handle(final OpaqueResource resource, final RegistrationPhase phase) {
+		return this.phase == phase;
+	}
+
+	@Required
+	public void setPhase(String phase) {
+		this.phase = RegistrationPhase.valueOf(phase);
+	}
+
+	public String getPhase() {
+		return phase.name();
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo26.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo26.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo26.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="12-5059b068-33d0-4444-a609-236929694d72_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-05-23T14:13:00+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>MyCore</TYPOLOGY><OFFICIAL_NAME>Dokumenten- und Publikationsservice</OFFICIAL_NAME><ENGLISH_NAME>University of Paderborn Publications Online</ENGLISH_NAME><ICON_URI>http://ubdok.uni-paderborn.de/i/pb/logo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.773983</LONGITUDE><LATITUDE>51.710311</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://ubdok.uni-paderborn.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universität Paderborn</REPOSITORY_INSTITUTION><ADMIN_INFO>r.sprotte@ub.uni-paderborn.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://ubdok.uni-paderborn.de/servlets/OAIDataProvider</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>446</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/LogInterceptor.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/LogInterceptor.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/LogInterceptor.java	(revision 47801)
@@ -0,0 +1,27 @@
+package eu.dnetlib.enabling.tools;
+
+import org.aopalliance.intercept.MethodInvocation;
+import org.apache.commons.logging.Log;
+import org.springframework.aop.interceptor.CustomizableTraceInterceptor;
+
+/**
+ * This class intercepts calls to the OAICore to measure its execution time. It uses Spring AOP.
+ *
+ * @author alessia
+ */
+public class LogInterceptor extends CustomizableTraceInterceptor {
+
+	@Override
+	protected void writeToLog(final Log logger, final String message, final Throwable ex) {
+		if (ex != null) {
+			logger.error(message, ex);
+		} else {
+			logger.debug(message);
+		}
+	}
+
+	@Override
+	protected boolean isInterceptorEnabled(final MethodInvocation invocation, final Log logger) {
+		return true;
+	}
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo95.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo95.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo95.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="29-86e05212-0b90-49c8-96eb-c58d36bb94a1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-10T14:04:45+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>CDSware</TYPOLOGY><OFFICIAL_NAME>Bibliotheque Numerique RERO DOC</OFFICIAL_NAME><ENGLISH_NAME>digital library RERO DOC</ENGLISH_NAME><ICON_URI>http://doc.rero.ch/img/bandeau_01_win.png</ICON_URI><COUNTRY>CH</COUNTRY><LOCATION><LONGITUDE>6.14</LONGITUDE><LATITUDE>46.21</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://doc.rero.ch/?ln=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Reseau des Bibliotheques de Suisse Occidentale</REPOSITORY_INSTITUTION><ADMIN_INFO>doc.support@rero.ch</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://doc.rero.ch/oai2d.py/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>4839</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo103.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo103.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo103.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-e6dea96d-aba7-40c4-8d93-88459b9f7a82_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-06T08:36:54+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>JUWEL (JUelicher Wissenschaftliche Elektronische Literatur)</OFFICIAL_NAME><ENGLISH_NAME>JUWEL</ENGLISH_NAME><ICON_URI>http://juwel.fz-juelich.de:8080/dspace/image/kopf.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>6.4045</LONGITUDE><LATITUDE>50.9004</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://juwel.fz-juelich.de:8080/dspace//</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Forschungszentrums JÃ¼lich</REPOSITORY_INSTITUTION><ADMIN_INFO>w.hinz@fz-juelich.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://juwel.fz-juelich.de:8080/dspace-oai122fzj/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2879</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/ResourceType.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/ResourceType.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/java/eu/dnetlib/enabling/tools/ResourceType.java	(revision 47801)
@@ -0,0 +1,161 @@
+package eu.dnetlib.enabling.tools;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import eu.dnetlib.enabling.is.sn.rmi.ISSNService;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreException;
+import eu.dnetlib.enabling.is.store.rmi.ISStoreService;
+
+/**
+ * 
+ * TODO: document. TODO: Too low level, why the interfacing the Store and not the Registry ?
+ * 
+ * @author michele
+ * 
+ */
+public class ResourceType {
+
+	/**
+	 * xmldb collection where resource types are stored.
+	 */
+	public static final String RESOURCE_TYPES = "DRIVERResourceTypes";
+
+	/**
+	 * resource type. (Including kind?)
+	 */
+	private String resourceType; // NOPMD
+
+	/**
+	 * resource schema. (Body?)
+	 */
+	private String resourceSchema; // NOPMD
+	/**
+	 * file where a copy of the schema is stored locally TODO: why ?
+	 */
+	private File fileSchema;
+
+	/**
+	 * instanciate an already registered resource type, fetching it from the store.
+	 * 
+	 * @param resourceType
+	 *            resourceType name
+	 * @param store
+	 *            store service where the type is stored
+	 * @param basedir
+	 *            base dir where a local copy is held (why?)
+	 * @throws ISStoreException
+	 *             happens
+	 */
+	public ResourceType(final String resourceType, final ISStoreService store, final String basedir) throws ISStoreException {
+		this(resourceType, store.getXML(resourceType, RESOURCE_TYPES), basedir);
+	}
+
+	/**
+	 * construct a resource type.
+	 * 
+	 * @param resourceType
+	 *            resourceType name
+	 * @param resourceSchema
+	 *            resourceSchema xsd body
+	 * @param basedir
+	 *            base directory of some local copy (?)
+	 * @throws ISStoreException
+	 *             happens
+	 */
+	public ResourceType(final String resourceType, final String resourceSchema, final String basedir) throws ISStoreException {
+		this.resourceType = resourceType;
+		this.resourceSchema = resourceSchema;
+		if (basedir != null)
+			this.fileSchema = saveSchemaAsFile(basedir);
+	}
+
+	/**
+	 * stores the schema on the xmldb.
+	 * 
+	 * @param store
+	 *            store service
+	 * @throws ISStoreException
+	 *             happens
+	 */
+	public void store(final ISStoreService store) throws ISStoreException {
+		store.insertXML(resourceType, RESOURCE_TYPES, resourceSchema);
+	}
+
+	/**
+	 * updates the in memory resource instance from the store.
+	 * 
+	 * @param store store service
+	 * @throws ISStoreException happens
+	 */
+	public void update(final ISStoreService store) throws ISStoreException {
+		store.updateXML(resourceType, RESOURCE_TYPES, resourceSchema);
+	}
+
+	/**
+	 * save the schema to a file.
+	 * 
+	 * @param basedir
+	 *            base directory
+	 * @return the newly created file
+	 * @throws ISStoreException
+	 *             happens, even if the file cannot be created.
+	 */
+	private File saveSchemaAsFile(final String basedir) throws ISStoreException {
+		fileSchema = new File(basedir + "/" + resourceType);
+		if (!fileSchema.exists()) {
+			try {
+				final BufferedWriter out = new BufferedWriter(new FileWriter(fileSchema));
+				out.write(resourceSchema);
+				out.close();
+			} catch (IOException e) {
+				throw new ISStoreException("Error saving file", e);
+			}
+		}
+		return fileSchema;
+	}
+
+	/**
+	 * it says "delete and notify" but it only deletes the schema from the filesystem and from the store.
+	 * 
+	 * TODO: document and possibly refactor.
+	 * 
+	 * @param store
+	 *            store service
+	 * @param issn
+	 *            ISSN service
+	 * @throws ISStoreException
+	 *             happens
+	 */
+	public void deleteAndNotify(final ISStoreService store, final ISSNService issn) throws ISStoreException {
+		fileSchema.delete();
+		store.deleteXML(resourceType, RESOURCE_TYPES);
+	}
+
+	public String getResourceType() {
+		return resourceType;
+	}
+
+	public void setResourceType(final String resourceType) {
+		this.resourceType = resourceType;
+	}
+
+	public String getResourceSchema() {
+		return resourceSchema;
+	}
+
+	public void setResourceSchema(final String resourceSchema) {
+		this.resourceSchema = resourceSchema;
+	}
+
+	public File getFileSchema() {
+		return fileSchema;
+	}
+
+	public void setFileSchema(final File fileSchema) {
+		this.fileSchema = fileSchema;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo107.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo107.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo107.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="33-8655f853-211a-4814-b1e5-3fa1641b9776_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-06T17:29:43+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>Univ. Konstanz: Konstanzer Online-Publikations-System (KOPS)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Konstanz: Konstanzer Online-Publikations-System (KOPS)</ENGLISH_NAME><ICON_URI>http://www.uni-konstanz.de/images/logo.png</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.187</LONGITUDE><LATITUDE>47.689</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ub.uni-konstanz.de/kops/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Univ. Konstanz</REPOSITORY_INSTITUTION><ADMIN_INFO>arno.scharmann@uni-konstanz.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.ub.uni-konstanz.de/kops/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>6220</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/xquery/dnet.xqm
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/xquery/dnet.xqm	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/store/xquery/dnet.xqm	(revision 47801)
@@ -0,0 +1,10 @@
+xquery version "1.0";
+
+module namespace dnet="http://namespace.dnetlib.eu/xquery/dnet";
+declare namespace xmldb="http://exist-db.org/xquery/xmldb";
+
+declare function dnet:deleteDocument($x as element()) {
+
+ xmldb:remove(replace($x/base-uri(),'/[^/]*$', ''), replace($x/base-uri(),'^.*/([^/]*)$', '$1'))
+
+};
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo148.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo148.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo148.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="65-8f2e6454-4da3-40c4-a06a-cb46e2de2ccf_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-06T18:15:25+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>RUDAR - Roskilde University Digital Archive</OFFICIAL_NAME><ENGLISH_NAME>RUDAR - Roskilde University Digital Archive</ENGLISH_NAME><ICON_URI>http://diggy.ruc.dk/image/rudar-logo.png</ICON_URI><COUNTRY>DK</COUNTRY><LOCATION><LONGITUDE>12.080</LONGITUDE><LATITUDE>55.641</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://diggy.ruc.dk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Roskilde Univ.</REPOSITORY_INSTITUTION><ADMIN_INFO>http://diggy.ruc.dk/image/rudar-logo.png</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://diggy.ruc.dk:8080/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3263</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo137.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo137.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo137.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="58-9f00351f-d62d-474a-a269-bc4158a6be83_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T18:05:36+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Pica-Verbundkatalog</TYPOLOGY><OFFICIAL_NAME>OAI-Repository SUB Goettingen</OFFICIAL_NAME><ENGLISH_NAME>GOEDOC document server of Goettingen University (SUB Goettingen)</ENGLISH_NAME><ICON_URI>http://vts.uni-ulm.de/standards/logo_vts.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.93</LONGITUDE><LATITUDE>51.53</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://webdoc.sub.gwdg.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>kinstler@gbv.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.gbv.de/goai/gbvrep.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>mabxml-1</FORMAT></FORMATS><SETS><SET>Online-Dissertationen der SUB Goettingen</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1755</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo67.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo67.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo67.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="20-e59ab946-319e-4470-bd7a-a230ba4baa66_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-29T18:01:21+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Digital.CSIC</OFFICIAL_NAME><ENGLISH_NAME>Digital.CSIC</ENGLISH_NAME><ICON_URI>http://digital.csic.es/image/digital_csic_en.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.68631</LONGITUDE><LATITUDE>40.437889</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://digital.csic.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Spanish National Research Council (CSIC)</REPOSITORY_INSTITUTION><ADMIN_INFO>digital.csic-soportetecnico@csic.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPcsic</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>6351</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo178.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo178.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo178.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="9-505e1a08-fdf5-4edc-b385-8176fde60d11_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-05T11:33:10+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DIVA</TYPOLOGY><OFFICIAL_NAME>Publikationer från Högskolan i Jönköping</OFFICIAL_NAME><ENGLISH_NAME>Publications from Jönköping University</ENGLISH_NAME><ICON_URI>http://www.hj.se/img/2007/gfx/hj_head_logo_eng.png</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>14.16295</LONGITUDE><LATITUDE>57.7796</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.hj.se/doc/5900</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Jönköping University</REPOSITORY_INSTITUTION><ADMIN_INFO>diva-support@ub.uu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.diva-portal.org/oai/hj/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1228</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo114.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo114.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo114.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="35-80bde3e4-df3f-4e12-9527-ebfe2f10c439_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-18T13:51:57+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>OAR, het Open Archief van VIOE-publicaties</OFFICIAL_NAME><ENGLISH_NAME>OAR, het Open Archief van VIOE-publicaties</ENGLISH_NAME><ICON_URI>http://www.vioe.be/uploads/f47.gif</ICON_URI><COUNTRY>BE</COUNTRY><LOCATION><LONGITUDE>4.357</LONGITUDE><LATITUDE>50.860</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://oar.vioe.be/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Vlaams Instituut voor het Onroerend Erfgoed</REPOSITORY_INSTITUTION><ADMIN_INFO>bart.debunne@rwo.vlaanderen.be</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://oar.vioe.be/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>166</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo118.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo118.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo118.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="3-939f35a3-6ee7-4383-b256-091c604c05d3_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-06T20:04:22+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Univ. Murcia: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ: Murcia: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-1.125843</LONGITUDE><LATITUDE>37.988425</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad de Murcia</REPOSITORY_INSTITUTION><ADMIN_INFO>:tdr@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdr.cesca.es/TDR_UM/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>151</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/applicationContext-isregistry.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/applicationContext-isregistry.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/is/registry/applicationContext-isregistry.xml	(revision 47801)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:wsa="http://cxf.apache.org/ws/addressing"
+	xmlns:p="http://www.springframework.org/schema/p" xmlns:http="http://cxf.apache.org/transports/http/configuration"
+	xmlns:t="http://dnetlib.eu/springbeans/t" xmlns:template="http://dnetlib.eu/springbeans/template"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+                                    http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+                                    http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
+                                    http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+                            http://dnetlib.eu/springbeans/template http://dnetlib.eu/springbeans/template.xsd">
+	<!--  beans -->
+	<bean id="isRegistryService" class="eu.dnetlib.enabling.is.registry.ISRegistryServiceImpl"
+		init-method="start" destroy-method="stop" p:isLookup-ref="isLookUpService" p:isStore-ref="isStoreService"
+		p:pendingManager-ref="pendingManager" p:resourceValidator-ref="resourceValidator" p:xqueryUtils-ref="xqueryUtils" />
+
+	<bean id="registryBlackboardManager"
+		class="eu.dnetlib.enabling.is.registry.RegistryBlackboardManagerImpl"
+		p:messageFactory-ref="blackboardMessageFactory" p:isLookup-ref="isLookUpService"
+		p:registryService-ref="isRegistryService" />
+
+	<alias alias="pendingManager" name="${services.registry.pending.resource.manager}" />
+
+	<bean id="compatPendingManager"
+		class="eu.dnetlib.enabling.is.registry.CompatPendingResourceManagerImpl"
+		p:isRegistry-ref="isRegistryService" p:resourceKindResolver-ref="resourceKindResolverChain" />
+		
+	<bean id="idPreservingPendingManager"
+		class="eu.dnetlib.enabling.is.registry.IdPreservingPendingResourceManagerImpl"
+		p:resourceValidator-ref="resourceValidator"	p:xqueryUtils-ref="xqueryUtils"
+		p:isRegistry-ref="isRegistryService" p:isStore-ref="isStoreService"
+		p:resourceKindResolver-ref="resourceKindResolverChain" />			
+
+	<bean id="resourceKindResolverChain"
+		class="eu.dnetlib.enabling.is.registry.ResourceKindResolverChain">
+		<property name="resolvers">
+			<list>
+				<ref bean="resourceKindResolver" />
+				<ref bean="nameBasedResourceKindResolver" />
+			</list>
+		</property>
+	</bean>
+
+	<bean id="nameBasedResourceKindResolver"
+		class="eu.dnetlib.enabling.is.registry.NameBasedResourceKindResolver" />
+
+	<bean id="resourceKindResolver"
+		class="eu.dnetlib.enabling.is.registry.ApplicationProfileResourceKindResolver" />
+
+	<bean id="resourceIdentifierResolver"
+		class="eu.dnetlib.enabling.tools.CompatResourceIdentifierResolverImpl" />
+
+	<bean id="resourceValidator"
+		class="eu.dnetlib.enabling.is.registry.schema.OpaqueResourceValidatorImpl"
+		p:schemaDao-ref="resourceSchemaDao" />
+
+	<bean id="resourceSchemaDao"
+		class="eu.dnetlib.enabling.is.registry.schema.ResourceSchemaDAOImpl"
+		p:isLookup-ref="isLookUpService" />
+		
+	<bean id="profileValidationStrategy" class="eu.dnetlib.enabling.is.registry.validation.ProfileValidationStrategy" />
+	
+	<bean id="alwaysAcceptProfileValidator" class="eu.dnetlib.enabling.is.registry.validation.AlwaysAcceptProfileValidator" />
+
+	<!-- endpoints -->
+	<jaxws:endpoint id="isRegistryServiceEndpoint"
+		implementor="#isRegistryService" implementorClass="eu.dnetlib.enabling.is.registry.rmi.ISRegistryService"
+		address="/isRegistry" />
+
+	<template:instance name="serviceRegistrationManager"
+		t:serviceRegistrationManagerClass="eu.dnetlib.enabling.tools.registration.ValidatingServiceRegistrationManagerImpl"
+		t:name="isRegistryServiceRegistrationManager" t:service="isRegistryService"
+		t:endpoint="isRegistryServiceEndpoint" t:jobScheduler="jobScheduler" />
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo31.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo31.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo31.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="133-eff088ad-504d-40fc-9995-70f365711218_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-29T15:36:28+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>edoc</TYPOLOGY><OFFICIAL_NAME>GFZ Publications</OFFICIAL_NAME><ENGLISH_NAME>GFZ Publications</ENGLISH_NAME><ICON_URI>http://edoc.gfz-potsdam.de/gfz/images/eda.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>13.058</LONGITUDE><LATITUDE>52.378</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://edoc.gfz-potsdam.de/gfz/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>GeoForschungsZentrum Potsdam (GFZ),</REPOSITORY_INSTITUTION><ADMIN_INFO>webmaster@gfz-potsdam.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://bib-app.gfz-potsdam.de/oai.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>787</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/tools/applicationContext-tools.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/tools/applicationContext-tools.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/main/resources/eu/dnetlib/enabling/tools/applicationContext-tools.xml	(revision 47801)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:wsa="http://cxf.apache.org/ws/addressing"
+	xmlns:p="http://www.springframework.org/schema/p" xmlns:http="http://cxf.apache.org/transports/http/configuration"
+
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+                                    http://cxf.apache.org/ws/addressing http://cxf.apache.org/schemas/ws-addr-conf.xsd
+                                    http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
+                                    http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
+
+	<bean id="xqueryUtils" class="eu.dnetlib.enabling.tools.XQueryUtilsImpl" />
+</beans>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo61.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo61.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo61.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-fd5279d6-6497-4ef0-9756-e8a214445318_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T18:51:32+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>LSE Research Online</OFFICIAL_NAME><ENGLISH_NAME>LSE Research Online</ENGLISH_NAME><ICON_URI>http://www.lse.ac.uk/images/header/library.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.1167</LONGITUDE><LATITUDE>51.5</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.lse.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>s.mcleish@lse.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.lse.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Data Library Trial 1</SET><SET>Kate (BSS)</SET><SET>Projects Team Documents Collection</SET><SET>Projects Team Private Documents</SET><SET>Test1</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>6764</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImplTest.java	(revision 47801)
@@ -0,0 +1,106 @@
+package eu.dnetlib.enabling.is.sn.resourcestate.hib;
+
+import java.util.Collection;
+import javax.annotation.Resource;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateSubscriptionDAOImplTest;
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription;
+import eu.dnetlib.test.utils.EPRTestUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import static org.junit.Assert.*;
+
+/**
+ * test HibernateResourceStateSubscriptionDAOImplTest.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration
+public class HibernateResourceStateSubscriptionDAOImplTest extends AbstractResourceStateSubscriptionDAOImplTest {
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(HibernateResourceStateSubscriptionDAOImplTest.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * instance under test.
+	 */
+	@Resource
+	private transient HibernateResourceStateSubscriptionDAOImpl hibdao;
+
+	/**
+	 * cleanup db.
+	 */
+	@After
+	public void tearDown() {
+		final Collection<ResourceStateSubscription> subs = hibdao.listSubscriptions();
+		if (subs != null) {
+			subs.forEach(r -> hibdao.removeSubscription(r.getSubscriptionId()));
+		}
+	}
+
+	/**
+	 * test addition.
+	 */
+	@Test
+	public void testAddSubscription() {
+		assertNotNull("check dao", getDao());
+
+		getDao().addSubscription(getSub());
+
+		log.info("sub id: " + getSub().getSubscriptionId());
+	}
+
+	/**
+	 * test encoding of endpoint references.
+	 */
+	@Test
+	@DirtiesContext
+	public void testEndpoint() {
+		getSub().setSubscriber(EPRTestUtil.getTestEpr());
+
+		getDao().addSubscription(getSub());
+
+		final ResourceStateSubscription fresh = getDao().getSubscription(getSub().getSubscriptionId());
+
+		assertNotNull("check", fresh);
+		assertTrue("equals", compare(getSub(), fresh));
+
+		assertNotNull("epr", getSub().getSubscriber());
+		assertNotNull("fetched epr", fresh.getSubscriber());
+
+		assertEquals("eprs", getSub().getSubscriber().toString(), fresh.getSubscriber().toString());
+	}
+
+	/**
+	 * multiple subscriptions should not be allowed.
+	 */
+	@Test(expected = DataIntegrityViolationException.class)
+	@DirtiesContext
+	public void testMultiple() { // NOPMD
+		getDao().addSubscription(getSub());
+		getDao().addSubscription(getSub());
+	}
+
+	
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see eu.dnetlib.enabling.is.sn.resourcestate.AbstractResourceStateSubscriptionDAOImplTest#prepareDao()
+	 */
+	@Override
+	protected void prepareDao() {
+		setDao(hibdao);
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo65.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo65.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo65.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="20-b98be73a-d928-4a47-b3fc-43e645267b9d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-05T21:24:04+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Fedora</TYPOLOGY><OFFICIAL_NAME>DIPP NRW</OFFICIAL_NAME><ENGLISH_NAME>DIPP NRW</ENGLISH_NAME><ICON_URI>http://www.dipp.nrw.de/favicon.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>6.936</LONGITUDE><LATITUDE>50.935</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.dipp.nrw.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Hochschulbibliothekszentrum Köln</REPOSITORY_INSTITUTION><ADMIN_INFO>dipp-tech@hbz-nrw.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.dipp.nrw.de/repository/oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>847</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo112.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo112.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo112.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="35-15b92e28-1d5c-4e25-9c2d-7df1bd33e1a1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-14T22:21:40+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Oberta de Catalunya: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Oberta de Catalunya: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.133508</LONGITUDE><LATITUDE>41.414938</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Oberta de Catalunya</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UOC/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo72.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo72.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo72.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="21-eea3d920-3243-41b1-ad0c-f1bb654022c5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-10T14:02:18+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>University of Technics Hamburg, GERMANY, TUBdok</OFFICIAL_NAME><ENGLISH_NAME>TUBdok - Publication Server of the Hamburg University of Technology</ENGLISH_NAME><ICON_URI/><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.992</LONGITUDE><LATITUDE>53.55</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://doku.b.tu-harburg.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:tubdok@tu-harburg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://doku.b.tu-harburg.de/oai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT><FORMAT>oai_pp</FORMAT><FORMAT>xMetaDiss</FORMAT><FORMAT>XMetaDissPlus</FORMAT></FORMATS><SETS><SET>Data processing Computer science</SET><SET>Library and information sciences</SET><SET>Psychology</SET><SET>Social sciences</SET><SET>Economics</SET><SET>Education</SET><SET>Commerce, communications, transport</SET><SET>Mathematics</SET><SET>Physics</SET><SET>Chemistry and allied sciences</SET><SET>Life sciences</SET><SET>Technology (Applied sciences)</SET><SET>Engineering and allied operations</SET><SET>Chemical engineering</SET><SET>Civic and landscape art</SET><SET>Article</SET><SET>Book</SET><SET>HonoursThesis</SET><SET>InBook</SET><SET>InProceedings</SET><SET>Journal</SET><SET>Manual</SET><SET>MastersThesis</SET><SET>Misc</SET><SET>Preprint</SET><SET>Proceedings</SET><SET>ResearchPaper</SET><SET>TechReport</SET><SET>Text.Thesis.Doctoral</SET><SET>Everything with an SWB identiifer</SET><SET>Everything without an SWB identiifer</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>459</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo153.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo153.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo153.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="70-20b5d945-6a6d-47fa-9629-dff385425e01_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-14T21:51:25+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Edinburgh Research Archive</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Edinburgh: Edinburgh Research Archive</ENGLISH_NAME><ICON_URI>http://www.era.lib.ed.ac.uk/image/is_logo_era.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-3.2</LONGITUDE><LATITUDE>55.95</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.era.lib.ed.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Edinburgh</REPOSITORY_INSTITUTION><ADMIN_INFO>era.admin@ed.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.era.lib.ed.ac.uk/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Acoustics and Fluid Dynamics (Theses and Dissertations)</SET><SET>Atmospheric and Environmental Science</SET><SET>Atmospheric and Environmental Science (Theses and Dissertations)</SET><SET>Biomedical and Clinical Laboratory Sciences</SET><SET>Biophysical Chemistry</SET><SET>Biophysical Chemistry (Theses and Dissertations)</SET><SET>BRE Research Publications</SET><SET>BRE Theses and Dissertations</SET><SET>Centre for Inflammation Research</SET><SET>Centre for Inflammation Research</SET><SET>Centre for Intelligent Systems and their Applications</SET><SET>Centre for Intelligent Systems and their Applications (Theses and Dissertations)</SET><SET>Centre of African Studies</SET><SET>Centre of African Studies (Theses and Dissertations)</SET><SET>Chemical Biology</SET><SET>Chemical Biology (Theses and Dissertations)</SET><SET>Condensed Matter</SET><SET>Condensed Matter (Theses and Dissertations)</SET><SET>CRFR Publications</SET><SET>CSTR PhD Theses</SET><SET>CSTR publications</SET><SET>Department of Artificial Intelligence</SET><SET>Digital Communications (Theses and Dissertations)</SET><SET>Digital Curation Centre</SET><SET>Digital Library Division</SET><SET>Directorate of Undergraduate Learning and Teaching (Theses and Dissertations)</SET><SET>Divinity PhD theses</SET><SET>Division of Clinical Neurosciences</SET><SET>Division of Neuroscience</SET><SET>Division of Psychiatry</SET><SET>Earth Science</SET><SET>Earth Sciences (Theses and Dissertations)</SET><SET>EDINA</SET><SET>Energy Systems</SET><SET>Energy Systems (Theses and Dissertations)</SET><SET>European Languages and Cultures</SET><SET>FireGrid Cluster</SET><SET>Geography</SET><SET>Geography (Theses and Dissertations)</SET><SET>Geometry and Topology</SET><SET>Historical Theses</SET><SET>History and Classics PhD Theses</SET><SET>History of Art PhD theses</SET><SET>Informatics (British University in Dubai theses)</SET><SET>Infrastructure and Environment (Theses and Dissertations)</SET><SET>Inorganic Chemistry</SET><SET>Inorganic Chemistry (Theses and Dissertations)</SET><SET>Institute for Adaptive and Neural Computation</SET><SET>Institute for Adaptive and Neural Computation (Theses and Dissertations)</SET><SET>Institute for Astronomy (Theses and Dissertations)</SET><SET>Institute for Communicating and Collaborative Systems</SET><SET>Institute for Communicating and Collaborative Systems  (Theses and Dissertations)</SET><SET>Institute for Computing Systems Architecture</SET><SET>Institute for Computing Systems Architecture (Theses and Dissertations)</SET><SET>Institute for Immunology and Infection Research   (3IR)</SET><SET>Institute for Immunology and Infection Research   (Theses and Dissertations)</SET><SET>Institute for Stem Cell Research (ISCR)</SET><SET>Institute for Stem Cell Research (Theses and Dissertations)</SET><SET>Institute of Cell Biology  (ICB)</SET><SET>Institute of Cell Biology (Theses and Dissertations)</SET><SET>Institute of Evolutionary Biology</SET><SET>Institute of Evolutionary Biology (Theses and Dissertations)</SET><SET>Institute of Geography Online Papers Series</SET><SET>Institute of Molecular Plant Sciences</SET><SET>Institute of Perception, Action and Behaviour</SET><SET>Institute of Perception, Action and Behaviour (Theses and Dissertations)</SET><SET>Institute of Structural and Molecular Biology</SET><SET>Integrated Micro and Nano Systems (Theses and Dissertations)</SET><SET>Laboratory for Foundations of Computer Science</SET><SET>Laboratory for Foundations of Computer Science (Theses and Dissertations)</SET><SET>Library (General)</SET><SET>Linguistics and English Language PhD theses</SET><SET>Management School and Economics PhD Theses</SET><SET>Materials</SET><SET>Materials and Processes (Theses and Dissertations)</SET><SET>Materials (Theses and Dissertations)</SET><SET>Medical Genetics Section</SET><SET>Molecular and Clinical Medicine</SET><SET>Molecular and Optical Science (Theses and Dissertations)</SET><SET>MSc by Research in Geographical Information Science</SET><SET>MSc by Research in Geographical Information Science and Society</SET><SET>MSc Geographical Information Science</SET><SET>Nursing Studies (Theses and Dissertations)</SET><SET>Organic Synthesis</SET><SET>Organic Synthesis (Theses and Dissertations)</SET><SET>Particle Physics Experiments (Theses and Dissertations)</SET><SET>Philosophy PhD theses</SET><SET>Philosophy research publications</SET><SET>Physical Chemistry/Chemical Physics</SET><SET>Physical Chemistry/Chemical Physics (Theses and Dissertations)</SET><SET>Politics</SET><SET>Politics (Theses and Dissertations)</SET><SET>Psychology PhD theses</SET><SET>Psychology research publications</SET><SET>Report on Cardington Tests</SET><SET>Royal (Dick) School of Veterinary Studies PhD Theses</SET><SET>School of Clinical Sciences and Community Health PhD Theses</SET><SET>Scottish History</SET><SET>Social Anthropology (Theses and dissertations)</SET><SET>Sociology</SET><SET>Sociology (Theses and Dissertations)</SET><SET>StORe project</SET><SET>Structural Chemistry</SET><SET>Structural Chemistry (Theses and Dissertations)</SET><SET>TESOL (Theses and Dissertations)</SET><SET>The Centre for the Study of Christian Origins</SET><SET>Theoretical and Applied Linguistics (Theses and Dissertations)</SET><SET>Theses and Dissertations</SET><SET>Undergraduate  Psychology Honours  Final Year Dissertations</SET><SET>Veterinary Biomedical Sciences</SET><SET>Veterinary Clinical Studies</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2028</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo15.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo15.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo15.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="115-37243bb4-caa7-4ae4-b1ee-46d74adc1004_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-07T16:56:46+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>AUP publications</OFFICIAL_NAME><ENGLISH_NAME>AUP publications</ENGLISH_NAME><ICON_URI/><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.893</LONGITUDE><LATITUDE>52.37</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE/><REPOSITORY_INSTITUTION/><ADMIN_INFO>dpcmedewerkers-uba@uva.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dare.uva.nl/cgi/arno/oai/aup</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>arno</FORMAT><FORMAT>imsmd_v1p2</FORMAT></FORMATS><SETS><SET>Keur der Wetenschap</SET><SET>Keur der Wetenschap</SET><SET>Scholar Economics</SET><SET>Scholar Economics</SET><SET>Full text available</SET><SET>Full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>65</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo159.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo159.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo159.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="73-3c16d575-1d13-4522-b79b-f7ea8d53da80_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-07T21:17:22+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Linköping University Electronic Press</OFFICIAL_NAME><ENGLISH_NAME>Linköping University Electronic Press</ENGLISH_NAME><ICON_URI>http://www.liu.se/mall06/grafik/logotyp_liggande.gif</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>15.57297</LONGITUDE><LATITUDE>58.400392</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ep.liu.se/index.en.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Linköping University</REPOSITORY_INSTITUTION><ADMIN_INFO>diva-support@ub.uu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.diva-portal.org/oai/liu/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5354</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo19.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo19.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo19.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="11-8fe656af-b50d-4f06-8d7a-53583ae24df6_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-24T08:49:26+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Genova - IMATI Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Genova - IMATI Repository</ENGLISH_NAME><ICON_URI>http://imati.area.ge.cnr.it/ima/images/home_it.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>8.900492</LONGITUDE><LATITUDE>44.408715</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/imatige_geConf/cnr_imatige-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto di Matematica Applicata e Tecnologie Informatiche - CNR Genova</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>123</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo35.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo35.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo35.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="14-36ce7785-3ae2-4351-8228-d87543842f28_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T18:57:36+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>memSIC : Memoires en Sciences de l'Information et de la Communication</OFFICIAL_NAME><ENGLISH_NAME>memSIC : Memoires en Sciences de l'Information et de la Communication (CNRS)</ENGLISH_NAME><ICON_URI>http://memsic.ccsd.cnrs.fr/images/b_memsic.gif</ICON_URI><COUNTRY>FR</COUNTRY><LOCATION><LONGITUDE>4.8833</LONGITUDE><LATITUDE>45.7667</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://memsic.ccsd.cnrs.fr/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:adminMEM@ccsd.cnrs.fr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://memsic.ccsd.cnrs.fr/perl/oai2</BASE_URL><FORMATS><FORMAT>ccsd_inist</FORMAT><FORMAT>ccsd_tel</FORMAT><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Bibliometry, scientometry</SET><SET>Cinema, art, esthetics</SET><SET>Conflicts, information strategy, intelligence</SET><SET>Economy, cultural industry</SET><SET>Education, e-learning, training</SET><SET>Electronic publishing</SET><SET>Geopolitics</SET><SET>History of information/communication</SET><SET>Hypertext, hypermedia</SET><SET>Information retrieval</SET><SET>Information system engineering</SET><SET>Information/communication law</SET><SET>Knowledge management</SET><SET>Local authorities</SET><SET>Mass media</SET><SET>Museology</SET><SET>Organisation and communication</SET><SET>Others</SET><SET>Public Sphere</SET><SET>Scientific communication and information</SET><SET>Sociology of information and communication</SET><SET>Theory of information/communication</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>155</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo39.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo39.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo39.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-4d426c10-72c3-490f-a00a-6192cbb2bc00_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-24T21:05:06+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>e_buah Biblioteca digital de la Universidad de Alcala</OFFICIAL_NAME><ENGLISH_NAME>e_buah Biblioteca digital de la Universidad de Alcala</ENGLISH_NAME><ICON_URI>http://dspace.uah.es/dspace/image/e_buah1.jpg</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.363293</LONGITUDE><LATITUDE>40.482807</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.uah.es/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad de Alcala</REPOSITORY_INSTITUTION><ADMIN_INFO>ebuah@uah.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPuah</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1148</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo76.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo76.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo76.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="23-2f41af9e-9ff9-4f35-9e85-02c74e7a6548_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-14T21:01:28+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat de Lleida: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Lleida: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>0.619674</LONGITUDE><LATITUDE>41.614199</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat de Lleida</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UdL/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>160</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo123.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo123.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo123.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="42-d26b4d03-8196-4e86-a78a-fdb1ba931108_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T23:04:09+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at Cambridge</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Cambridge: DSpace</ENGLISH_NAME><ICON_URI>http://www.dspace.cam.ac.uk/image/title-left.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>0.1223</LONGITUDE><LATITUDE>52.208</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.dspace.cam.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>info@dspace.cam.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.dspace.cam.ac.uk/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>2nd Annual Lecture Series in Sustainable Development 2004</SET><SET>Anthropological Ancestors</SET><SET>Audio collection</SET><SET>Cambridge Working Papers in Economics</SET><SET>CamRAD Rock-Art images</SET><SET>China 2004</SET><SET>Clinical Skills Online</SET><SET>D. H. Mellor</SET><SET>Digital Himalaya</SET><SET>Digital Orient</SET><SET>Dutch</SET><SET>Early Digital Chemical Objects</SET><SET>English</SET><SET>File formats and supporting software</SET><SET>French</SET><SET>German</SET><SET>Greek</SET><SET>History</SET><SET>Kilise Tepe</SET><SET>Kilise Tepe - dark archive</SET><SET>Latin</SET><SET>LLCC Dark Collection</SET><SET>Miscellaneous</SET><SET>Nepal Materials</SET><SET>Northern Skies, Southern Stars</SET><SET>Preprints</SET><SET>Publications</SET><SET>Published papers and preprints</SET><SET>RFC collection (Requests For Comments)</SET><SET>Royal Commonwealth Society</SET><SET>Senate house graduation photography, 9 December 2006</SET><SET>The Fitzwilliam Museum Corporate Publications</SET><SET>The Heinrich Schenker Correspondence</SET><SET>Theses</SET><SET>Video collection</SET><SET>WWMM</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>172242</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateSubscriptionRegistryTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateSubscriptionRegistryTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/resourcestate/AbstractResourceStateSubscriptionRegistryTest.java	(revision 47801)
@@ -0,0 +1,165 @@
+package eu.dnetlib.enabling.is.sn.resourcestate;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import eu.dnetlib.enabling.is.sn.SubscriptionRequest;
+import eu.dnetlib.enabling.is.sn.rmi.SubscriptionRequestRejectedException;
+import eu.dnetlib.test.utils.EPRTestUtil;
+
+/**
+ * Common tests for resource state subscription registry tests.
+ *
+ * @author marko
+ *
+ */
+public abstract class AbstractResourceStateSubscriptionRegistryTest {
+
+	/**
+	 * star.
+	 */
+	private static final String STAR = "*";
+
+	/**
+	 * create topic prefix.
+	 */
+	private static final String CREATE = "CREATE";
+
+	/**
+	 * test resource type.
+	 */
+	private static final String SOME_TYPE = "someType";
+
+	/**
+	 * test other resource type.
+	 */
+	private static final String SOME_OTHER_TYPE = "someOtherType";
+
+	/**
+	 * test resource id.
+	 */
+	private static final String SOME_ID = "sub123";
+
+	/**
+	 * instance under test.
+	 */
+	private ResourceStateSubscriptionRegistry registry;
+
+	/**
+	 * test subscritpion request.
+	 */
+	private transient SubscriptionRequest sub;
+
+	/**
+	 * setup registry. subclasses should set the dao.
+	 */
+	@Before
+	public void setUpRegistry() {
+		registry = new ResourceStateSubscriptionRegistry();
+
+		final SubscriptionRequestFilter filter = new SubscriptionRequestFilter();
+		filter.setActive(true);
+		registry.setSubscriptionRequestFilter(filter);
+
+		setUpDao();
+
+		sub = new SubscriptionRequest(SOME_ID, EPRTestUtil.getTestEpr(), "CREATE/*/*/someXpath", 0);
+	}
+
+	/**
+	 * test subscription registration.
+	 *
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test
+	public void testRegisterSubscription() throws SubscriptionRequestRejectedException {
+		registry.registerSubscription(sub);
+
+		final Collection<ResourceStateSubscription> res = registry.listMatchingSubscriptions(CREATE, STAR, STAR);
+		for (final ResourceStateSubscription r : res) {
+			assertEquals("check add subscription", SOME_ID, r.getSubscriptionId());
+		}
+
+		assertEquals("check that is really added", 1, res.size());
+	}
+
+	/**
+	 * test match.
+	 *
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test
+	public void testMatch() throws SubscriptionRequestRejectedException {
+		registry.registerSubscription(sub);
+
+		ResourceStateSubscription re1 = null; // NOPMD
+		ResourceStateSubscription re2 = null; // NOPMD
+
+		final Collection<ResourceStateSubscription> res = registry.listMatchingSubscriptions(CREATE, SOME_TYPE, STAR);
+		for (final ResourceStateSubscription r : res) {
+			re1 = r; // NOPMD
+			assertEquals("check match subscription", SOME_ID, r.getSubscriptionId());
+		}
+
+		assertEquals("check that only one matched", 1, res.size());
+
+		final Collection<ResourceStateSubscription> res2 = registry.listMatchingSubscriptions(CREATE, SOME_OTHER_TYPE, STAR);
+		for (final ResourceStateSubscription r : res2) {
+			re2 = r; // NOPMD
+			assertEquals("check match subscription", SOME_ID, r.getSubscriptionId());
+		}
+
+		assertEquals("check that only one matched", 1, res2.size());
+		assertEquals("check that the same subscription is returned", re1, re2);
+	}
+
+	/**
+	 * multiple subscriptions should be registered only once.
+	 *
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test
+	public void testMultiple() throws SubscriptionRequestRejectedException {
+		final String subId = registry.registerSubscription(sub);
+		final String subId2 = registry.registerSubscription(sub);
+
+		assertEquals("avoid duplicates", subId, subId2);
+	}
+
+	/**
+	 * test unsubscribe.
+	 *
+	 * @throws SubscriptionRequestRejectedException
+	 */
+	@Test
+	public void testUnsubscribe() throws SubscriptionRequestRejectedException {
+		final String subId = registry.registerSubscription(sub);
+		final boolean res = registry.unsubscribe(subId);
+
+		assertTrue("unsubscribed", res);
+
+		final boolean res2 = registry.unsubscribe(subId);
+
+		assertFalse("not unsubscribed", res2);
+	}
+
+	/**
+	 * subclasses should implement this with a specific instance of the dao.
+	 */
+	protected abstract void setUpDao();
+
+	public ResourceStateSubscriptionRegistry getRegistry() {
+		return registry;
+	}
+
+	public void setRegistry(final ResourceStateSubscriptionRegistry registry) {
+		this.registry = registry;
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo160.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo160.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo160.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="75-cb063ed1-c127-49f9-8d87-9150725b3487_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T18:18:10+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Dissertations of the Universiteit van Amsterdam</OFFICIAL_NAME><ENGLISH_NAME>Univ. van Amsterdam: Dissertations Online</ENGLISH_NAME><ICON_URI>http://dare.uva.nl/u/uvadis/graphics/header-print.jpg</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.890174</LONGITUDE><LATITUDE>52.368765</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dare.uva.nl/cgi/b/bib/bib-idx?c=uvadis</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universiteit van Amsterdam</REPOSITORY_INSTITUTION><ADMIN_INFO>dpcmedewerkers-uba@uva.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dare.uva.nl/cgi/arno/oai/uvadis</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>arno</FORMAT><FORMAT>imsmd_v1p2</FORMAT></FORMATS><SETS><SET>Keur der Wetenschap</SET><SET>Keur der Wetenschap</SET><SET>Scholar Economics</SET><SET>Scholar Economics</SET><SET>Full text available</SET><SET>Full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2344</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo58.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo58.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo58.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-c86d02ed-6dca-4202-afc7-837e66d7e910_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-26T11:30:25+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>UNESCO-IHE Institute for Water Education</OFFICIAL_NAME><ENGLISH_NAME>UNESCO-IHE Institute for Water Education</ENGLISH_NAME><ICON_URI>http://www.unesco-ihe.org/design/ihe/images/logo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.3562185</LONGITUDE><LATITUDE>52.0090527</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.narcis.info/repositories/repository/UNESCO/Language/en/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>UNESCO-IHE Institute for Water Educatio</REPOSITORY_INSTITUTION><ADMIN_INFO>a.j.bosman@tudelft.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://repository.tudelft.nl/ihe/oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>21</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/NotificationTriggerImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/NotificationTriggerImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/sn/NotificationTriggerImplTest.java	(revision 47801)
@@ -0,0 +1,159 @@
+package eu.dnetlib.enabling.is.sn;
+
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.verify;
+
+import java.io.IOException;
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateNotificationDetector;
+import eu.dnetlib.enabling.tools.OpaqueResource;
+
+/**
+ * Test NotificationTriggerImpl, a simple forwarder.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class NotificationTriggerImplTest {
+
+	/**
+	 * Check that the resource has the expected properties.
+	 * 
+	 * @author marko
+	 * 
+	 */
+	private static final class MatchResource implements ArgumentMatcher<OpaqueResource> {
+		/**
+		 * {@inheritDoc}
+		 * 
+		 * @see org.mockito.ArgumentMatcher#matches(java.lang.Object)
+		 */
+		@Override
+		public boolean matches(final OpaqueResource argument) {
+			return argument.getResourceId().equals("123") && argument.getResourceType().equals("type") && argument.getResourceKind().equals("kind");
+		}
+	}
+
+	/**
+	 * test old document version.
+	 */
+	private static final String OLD_DOC = "<RESOURCE_PROFILE><HEADER><RESOURCE_KIND value=\"kind\"/><RESOURCE_TYPE value=\"type\"/><RESOURCE_IDENTIFIER value=\"123\"/></HEADER><BODY>old</BODY></RESOURCE_PROFILE>";
+
+	/**
+	 * test old document version.
+	 */
+	private static final String NEW_DOC = "<RESOURCE_PROFILE><HEADER><RESOURCE_KIND value=\"kind\"/><RESOURCE_TYPE value=\"type\"/><RESOURCE_IDENTIFIER value=\"123\"/></HEADER><BODY>new</BODY></RESOURCE_PROFILE>";
+
+	/**
+	 * class under test.
+	 */
+	private transient NotificationTriggerImpl trigger;
+
+	/**
+	 * detector mock.
+	 */
+	@Mock
+	private transient ResourceStateNotificationDetector<OpaqueResource> detector;
+
+	/**
+	 * common preparation.
+	 * 
+	 */
+	@Before
+	public void setUp() {
+		trigger = new NotificationTriggerImpl();
+		trigger.setName("test trigger");
+		trigger.setDetector(detector);
+	}
+
+	/**
+	 * test created.
+	 * 
+	 * @throws IOException
+	 *             never
+	 * @throws SAXException
+	 *             never
+	 * @throws ParserConfigurationException
+	 *             never
+	 */
+
+	@Test
+	public void testCreated() throws ParserConfigurationException, SAXException, IOException {
+		trigger.created("someFile", "someCollection", parse(NEW_DOC));
+		verify(detector).resourceCreated(argThat(new MatchResource()));
+
+		assertNotNull("dummy", detector);
+	}
+
+	/**
+	 * test deleted.
+	 * 
+	 * @throws IOException
+	 *             never
+	 * @throws SAXException
+	 *             never
+	 * @throws ParserConfigurationException
+	 *             never
+	 */
+	@Test
+	public void testDeleted() throws ParserConfigurationException, SAXException, IOException {
+		trigger.deleted("someFile", "someCollection", parse(OLD_DOC));
+		verify(detector).resourceDeleted(argThat(new MatchResource()));
+
+		assertNotNull("dummy", detector);
+	}
+
+	/**
+	 * test updated.
+	 * 
+	 * @throws IOException
+	 *             never
+	 * @throws SAXException
+	 *             never
+	 * @throws ParserConfigurationException
+	 *             never
+	 */
+	@Test
+	public void testUpdated() throws ParserConfigurationException, SAXException, IOException {
+		trigger.updated("someFile", "someCollection", parse(OLD_DOC), parse(NEW_DOC));
+		verify(detector).resourceUpdated(argThat(new MatchResource()), argThat(new MatchResource()));
+
+		assertNotNull("dummy", detector);
+	}
+
+	/**
+	 * helper method.
+	 * 
+	 * @param source
+	 *            xml source
+	 * @return DOM object
+	 * @throws ParserConfigurationException
+	 *             shouldn't happen
+	 * @throws SAXException
+	 *             shouldn't happen
+	 * @throws IOException
+	 *             shouldn't happen
+	 */
+	private Document parse(final String source) throws ParserConfigurationException, SAXException, IOException {
+		final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+		return builder.parse(new InputSource(new StringReader(source)));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo101.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo101.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo101.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-dae8d08a-4800-4466-8d68-3cc967874bc6_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-21T17:03:43+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Opus</TYPOLOGY><OFFICIAL_NAME>SciDok, der Wissenschafts-Server der Universitaet des Saarlandes</OFFICIAL_NAME><ENGLISH_NAME>SciDok: Der Wissenschafts-Server der Univ. des Saarlandes</ENGLISH_NAME><ICON_URI>http://scidok.sulb.uni-saarland.de/Icons/sci.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>6.9982</LONGITUDE><LATITUDE>49.23</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://scidok.sulb.uni-saarland.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:scidok@sulb.uni-saarland.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://scidok.sulb.uni-saarland.de/phpoai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT><FORMAT>oai_pp</FORMAT><FORMAT>xMetaDiss</FORMAT></FORMATS><SETS><SET>Generalities, Science</SET><SET>Data processing Computer science</SET><SET>Library and information sciences</SET><SET>News media, journalism, publishing</SET><SET>Psychology</SET><SET>Social sciences</SET><SET>General statistics</SET><SET>Political science</SET><SET>Economics</SET><SET>Law</SET><SET>Public administration</SET><SET>Education</SET><SET>Language, Linguistics</SET><SET>Germanic</SET><SET>Romance languages French</SET><SET>Italian, Romanian, Rhaeto-Romantic</SET><SET>Natural sciences and mathematics</SET><SET>Mathematics</SET><SET>Physics</SET><SET>Chemistry and allied sciences</SET><SET>Earth sciences</SET><SET>Life sciences</SET><SET>Zoological sciences</SET><SET>Technology (Applied sciences)</SET><SET>Medical sciences Medicine</SET><SET>Engineering and allied operations</SET><SET>Chemical engineering</SET><SET>Manufacturing</SET><SET>Athletic and outdoor sports and games</SET><SET>Literatures of Germanic languages</SET><SET>Italian, Romanian, Rhaeto-Romanic literatures</SET><SET>Geography and history</SET><SET>Geography and travel</SET><SET>History of ancient world</SET><SET>Article</SET><SET>Book</SET><SET>HonoursThesis</SET><SET>InBook</SET><SET>InProceedings</SET><SET>Manual</SET><SET>MastersThesis</SET><SET>Misc</SET><SET>Preprint</SET><SET>ResearchPaper</SET><SET>TechReport</SET><SET>Text.Thesis.Doctoral</SET><SET>Text.Thesis.Habilitation</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1299</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo164.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo164.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo164.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="7-96cf9371-efc0-41a6-9c74-dadfecc42140_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-10-22T12:49:03+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>ORBi (University of Liège)</OFFICIAL_NAME><ENGLISH_NAME>ORBi (University of Liege)</ENGLISH_NAME><ICON_URI>http://orbi.ulg.ac.be/img/nav/digitheque.png</ICON_URI><COUNTRY>BE</COUNTRY><LOCATION><LONGITUDE>5.575316</LONGITUDE><LATITUDE>50.640879</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://orbi.ulg.ac.be/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Liege</REPOSITORY_INSTITUTION><ADMIN_INFO>orbi@misc.ulg.ac.be</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://orbi.ulg.ac.be/oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1682</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo142.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo142.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo142.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="60-6bfd7103-77f7-46f9-afd8-c9894c007e0d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-18T20:53:20+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>UDCDspace</OFFICIAL_NAME><ENGLISH_NAME>UDCDspace</ENGLISH_NAME><ICON_URI>http://dspace.udc.es/image/LogoDSpace.jpg</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-8.39</LONGITUDE><LATITUDE>43.371</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.udc.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidade da Coruña</REPOSITORY_INSTITUTION><ADMIN_INFO>dspace-admin@udc.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.udc.es/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>458</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo127.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo127.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo127.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="44-1f2c65f0-f833-4978-af2e-5ad91679b56b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-12T09:04:05+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at University Leiden</OFFICIAL_NAME><ENGLISH_NAME>DSpace at Leiden University</ENGLISH_NAME><ICON_URI/><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.4946</LONGITUDE><LATITUDE>52.1545</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>https://openaccess.leidenuniv.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>dspace-help@library.leidenuniv.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://openaccess.leidenuniv.nl/dspace-oai/request</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Africanists at Leiden University</SET><SET>African Studies Centre</SET><SET>Archaeology</SET><SET>Arts</SET><SET>DAREnet</SET><SET>Dissertations</SET><SET>Dissertations Online</SET><SET>E-depot</SET><SET>Electronisch Depot Nederlandse Archeologie</SET><SET>Institute of Environmental Sciences</SET><SET>ISIM</SET><SET>ISIM Annual Reports</SET><SET>ISIM Dissertations</SET><SET>ISIM Paper</SET><SET>ISIM Review</SET><SET>Keur der Wetenschap</SET><SET>Law</SET><SET>Mathematics and Natural Sciences</SET><SET>Medicine / Leiden University Medical Center (LUMC)</SET><SET>Open Access Leiden</SET><SET>Other ISIM Publications</SET><SET>Philosophy</SET><SET>Popularising publications</SET><SET>Professional publications</SET><SET>Scholarly publications</SET><SET>Social and Behavioural Sciences</SET><SET>Special Lectures Online</SET><SET>Theology</SET><SET>Institutional Repository Leiden University</SET><SET>Other types of publications</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>9030</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo146.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo146.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo146.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="6-36172912-3c24-4da0-9422-58cabc2e4896_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-08-22T09:06:05+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Estudo Geral</OFFICIAL_NAME><ENGLISH_NAME>Estudo Geral</ENGLISH_NAME><ICON_URI>https://estudogeral.sib.uc.pt:8443/dspace/image/uc/bannerTop.jpg</ICON_URI><COUNTRY>PT</COUNTRY><LOCATION><LONGITUDE>-8.426095</LONGITUDE><LATITUDE>40.207453</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://estudogeral.sib.uc.pt:8443/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Coimbra</REPOSITORY_INSTITUTION><ADMIN_INFO>inf@sib.uc.pt</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>https://estudogeral.sib.uc.pt:8443/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2970</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo168.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo168.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo168.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="84-f47fde39-0c55-4d1d-8a6c-256af5caef2c_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-29T10:38:57+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Scientific production, Tilburg University</OFFICIAL_NAME><ENGLISH_NAME>Univ. van Tilburg: Scientific Production</ENGLISH_NAME><ICON_URI>http://images.uvt.nl/images/2006/images/uvt_logo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.0833</LONGITUDE><LATITUDE>51.5667</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dbiref.uvt.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>wilko.haast@uvt.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://arno.uvt.nl/oai/wo.uvt.nl.cgi</BASE_URL><FORMATS><FORMAT>arno</FORMAT><FORMAT>netspar</FORMAT><FORMAT>nereus</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>dare_didl</FORMAT></FORMATS><SETS><SET>Authors selected for 'Economists Online'</SET><SET>Authors selected for 'Economists Online'</SET><SET>Faculty = 'FRW' and full text available</SET><SET>Author or one of the authors is selected for 'Keur der Wetenschap'</SET><SET>Author or one of the authors is selected for 'Keur der Wetenschap'</SET><SET>Only records that have full text available</SET><SET>Only records that have full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>8874</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo24.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo24.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo24.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="12-2f51e3c2-8c96-4618-b346-0c9f38debf61_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-17T20:51:32+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Goldsmiths Research Online</OFFICIAL_NAME><ENGLISH_NAME>Goldsmiths Research Online</ENGLISH_NAME><ICON_URI>http://eprints.goldsmiths.ac.uk/images/sitelogo.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.034</LONGITUDE><LATITUDE>51.475</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.goldsmiths.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Goldsmiths, University London</REPOSITORY_INSTITUTION><ADMIN_INFO>lib-eprints@gold.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.goldsmiths.ac.uk/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>475</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo40.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo40.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo40.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="15-28651b5b-8d43-479a-b126-bb648336b72d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-08-21T17:14:23+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>Fraunhofer-ePrints</OFFICIAL_NAME><ENGLISH_NAME>Fraunhofer-ePrints</ENGLISH_NAME><ICON_URI>http://publica.fraunhofer.de/starweb/images/fhg_logo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>11.531118</LONGITUDE><LATITUDE>48.131002</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://publica.fraunhofer.de/starweb/ep08/en/index.htm</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Fraunhofer-Gesellschaft</REPOSITORY_INSTITUTION><ADMIN_INFO>har@irb.fhg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://publica.fraunhofer.de/eprints.har</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3547</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo81.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo81.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo81.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-55b686cf-067b-47b0-8749-8da081dc5621_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-14T22:48:13+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Pompeu Fabra: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Pompeu Fabra: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.179152</LONGITUDE><LATITUDE>41.378995</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Pompeu Fabra</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UPF/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>203</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAOImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAOImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/schema/ResourceSchemaDAOImplTest.java	(revision 47801)
@@ -0,0 +1,70 @@
+package eu.dnetlib.enabling.is.registry.schema;
+
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.when;
+
+import java.io.StringWriter;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.tools.StreamOpaqueResource;
+
+/**
+ * test resource schema dao.
+ * 
+ * @author marko
+ * 
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ResourceSchemaDAOImplTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient ResourceSchemaDAOImpl dao;
+
+	/**
+	 * lookup service.
+	 */
+	@Mock
+	private transient ISLookUpService lookupService;
+
+	/**
+	 * prepare common stuff.
+	 * 
+	 * @throws Exception
+	 *             shouldn't happen
+	 */
+	@Before
+	public void setUp() throws Exception {
+		final StringWriter writer = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("schema.xsd"), writer);
+
+		when(lookupService.getResourceTypeSchema(anyString())).thenReturn(writer.getBuffer().toString());
+
+		dao = new ResourceSchemaDAOImpl();
+		dao.setIsLookup(lookupService);
+
+	}
+
+	/**
+	 * test dao by validating a resource.
+	 * 
+	 * @throws Exception
+	 *             shouldn't happen
+	 */
+	@Test
+	public void testGetResourceSchema() throws Exception { // NOPMD
+		final OpaqueResourceValidatorImpl validator = new OpaqueResourceValidatorImpl();
+		validator.setSchemaDao(dao);
+
+		validator.validate(new StreamOpaqueResource(getClass().getResourceAsStream("valid-profile.xml")));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo28.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo28.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo28.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="128-de293be3-3c12-416d-a5fc-ccb074c7f23b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-29T15:27:57+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Electronic Research Archive</OFFICIAL_NAME><ENGLISH_NAME>Electronic Research Archive</ENGLISH_NAME><ICON_URI>http://www.bth.se/bth/images/eng/forskningbild.jpg</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>15.586</LONGITUDE><LATITUDE>56.160</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.bth.se/fou/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Blekinge Institute of Technology</REPOSITORY_INSTITUTION><ADMIN_INFO>peter.linde@bth.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www3.bth.se/servlet/Forskinfo</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>955</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo46.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo46.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo46.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="165-4892b1a4-df59-4a9b-9159-d7b37c4d83bb_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-09T18:01:43+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>University of Mannheim, GERMANY, MADOC</OFFICIAL_NAME><ENGLISH_NAME>MADOC: Mannheim Electronic DOCument Server of Univ. Mannheim</ENGLISH_NAME><ICON_URI>http://www.bib.uni-mannheim.de/fileadmin/relaunch/img/logoUB.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.4667</LONGITUDE><LATITUDE>49.48</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://madoc.bib.uni-mannheim.de</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:madoc@bib.uni-mannheim.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://madoc.bib.uni-mannheim.de/madoc/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT></FORMATS><SETS><SET>Generalities, Science</SET><SET>Data processing Computer science</SET><SET>Bibliography</SET><SET>Library and information sciences</SET><SET>General encyclopedic works</SET><SET>General serials and their indexes</SET><SET>General organization and museology</SET><SET>News media, journalism, publishing</SET><SET>General collections</SET><SET>Manuscripts and rare books</SET><SET>Philosophy</SET><SET>Paranormal phenomena</SET><SET>Psychology</SET><SET>Religion</SET><SET>Bible</SET><SET>Christian theology</SET><SET>Other and comparative religions</SET><SET>Social sciences</SET><SET>General statistics</SET><SET>Political science</SET><SET>Economics</SET><SET>Law</SET><SET>Public administration</SET><SET>Military science</SET><SET>"Social services; association"</SET><SET>Education</SET><SET>Commerce, communications, transport</SET><SET>Customs, etiquette, folklore</SET><SET>Language, Linguistics</SET><SET>English</SET><SET>Germanic</SET><SET>Other Germanic languages</SET><SET>Romance languages French</SET><SET>Italian, Romanian, Rhaeto-Romantic</SET><SET>Spanish and Portugese languages</SET><SET>Italic Latin</SET><SET>Hellenic languages Classical Greek</SET><SET>Other languages</SET><SET>Natural sciences and mathematics</SET><SET>Mathematics</SET><SET>Astronomy and allied sciences</SET><SET>Physics</SET><SET>Chemistry and allied sciences</SET><SET>Earth sciences</SET><SET>Paleontology Paleozoology</SET><SET>Life sciences</SET><SET>Botanical sciences</SET><SET>Zoological sciences</SET><SET>Technology (Applied sciences)</SET><SET>Medical sciences Medicine</SET><SET>Engineering and allied operations</SET><SET>Agriculture</SET><SET>Home economics and family living</SET><SET>Management and auxiliary services</SET><SET>Chemical engineering</SET><SET>Manufacturing</SET><SET>Buildings</SET><SET>The arts</SET><SET>Civic and landscape art</SET><SET>Architecture</SET><SET>Plastic arts Sculpture</SET><SET>Drawing and decorative arts</SET><SET>Comics, Cartoons</SET><SET>Painting and paintings</SET><SET>Graphic arts Printmaking and prints</SET><SET>Photography and photographs</SET><SET>Music</SET><SET>Recreational and performing arts</SET><SET>Public performances</SET><SET>Stage presentations</SET><SET>Indoor games and amusements</SET><SET>Athletic and outdoor sports and games</SET><SET>Literature and rhetoric</SET><SET>American literature in English</SET><SET>English and Old English literatures</SET><SET>Literatures of Germanic languages</SET><SET>Other Germanic literatures</SET><SET>Literatures of Romance languages</SET><SET>Italian, Romanian, Rhaeto-Romanic literatures</SET><SET>Spanish and Portuguese literatures</SET><SET>Italic literatures Latin</SET><SET>Hellenic literatures Classical Greek</SET><SET>Literatures of other languages</SET><SET>Geography and history</SET><SET>Geography and travel</SET><SET>Geography and travel Germany</SET><SET>Biography, genealogy, insignia</SET><SET>History of ancient world</SET><SET>General history of Europe</SET><SET>General history of Europe Central Europe Germany</SET><SET>General history of Asia Far East</SET><SET>General history of Africa</SET><SET>General history of North America</SET><SET>General history of South America</SET><SET>General history of other areas</SET><SET>Article</SET><SET>Book</SET><SET>MastersThesis</SET><SET>Text.Thesis.Doctoral</SET><SET>HonoursThesis</SET><SET>Journal</SET><SET>ResearchPaper</SET><SET>TechReport</SET><SET>Preprint</SET><SET>Text.Thesis.Habilitation</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2036</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo110.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo110.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo110.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="34-5318c0cc-05c8-4ded-bc93-096fb65a6b19_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-28T20:26:11+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Elektronische Dissertationen der Ruhr-Univ. Bochum</OFFICIAL_NAME><ENGLISH_NAME>Elektronische Dissertationen der Ruhr-Univ. Bochum</ENGLISH_NAME><ICON_URI>http://www.ub.ruhr-uni-bochum.de/zentral_files/rub_schrift.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>7.258</LONGITUDE><LATITUDE>51.447</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ub.ruhr-uni-bochum.de/DigiBib/DissWeb/E_Diss.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitaet Bochum</REPOSITORY_INSTITUTION><ADMIN_INFO>markus.schmidt-essen@web.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://oai.ub.rub.de/oai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2400</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo116.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo116.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo116.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="38-a89f4ba6-ec64-44db-a1d3-40ea712692c7_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T20:27:21+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>MONARCH - Dokumenten- und Publikationsservice</OFFICIAL_NAME><ENGLISH_NAME>MONARCH - Dokumenten- und Publikationsservice</ENGLISH_NAME><ICON_URI/><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>12.9214</LONGITUDE><LATITUDE>50.836</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE/><REPOSITORY_INSTITUTION/><ADMIN_INFO>archiv@hrz.tu-chemnitz.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://archiv.tu-chemnitz.de/cgi-bin/interfaces/oai/oai2.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>xmetadiss</FORMAT></FORMATS><SETS><SET>Objects having a formal publication type; Objekte mit einem formalen Dokumenttyp</SET><SET>Journal Articles; Zeitschriftenartikel</SET><SET>Conference Proceedings; Tagungs- und Konferenzbeitraege</SET><SET>Dissertations and Professional Dissertations; Dissertationen und Habilitationen</SET><SET>Lectures; Vorlesungen</SET><SET>Diploma Theses; Diplomarbeiten</SET><SET>Books, Monographs; Buecher, Monographien</SET><SET>Reports; Berichte</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1716</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo157.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo157.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo157.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="71-1de8ab80-9a5c-4632-8766-9670c6786d88_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T18:16:59+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Pisa - IFC Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Pisa - IFC Repository</ENGLISH_NAME><ICON_URI>http://leonardo.isti.cnr.it/metaopac/sfondi/ifc.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>10.42</LONGITUDE><LATITUDE>43.71</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrConf/ifc-pub-list.sys.file</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto di Fisiologia Clinica - CNR Pisa</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>147</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo87.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo87.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo87.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-6e4daf60-a765-4d4f-92e9-4a45ceb6ca53_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-14T20:32:55+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>The Univ. of Birmingham: The ePrints Archive</OFFICIAL_NAME><ENGLISH_NAME>The Univ. of Birmingham: ePrints Archive</ENGLISH_NAME><ICON_URI>http://www.eprints.bham.ac.uk/globalssi/images/university-crest-subpage.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.9167</LONGITUDE><LATITUDE>52.4667</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.bham.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:eprints-admin@redhat3.bham.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.bham.ac.uk/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Status = Submitted</SET><SET>Status = Published</SET><SET>Status = In Press</SET><SET>Status = Unpublished</SET><SET>Subject = D History General and Old World: DA Great Britain: DAW Central Europe</SET><SET>Subject = Q Science: QP Physiology</SET><SET>Subject = R Medicine: RC Internal medicine: RC0254 Neoplasms. Tumors. Oncology (including Cancer)</SET><SET>Subject = Q Science: QR Microbiology</SET><SET>Subject = M Music and Books on Music: MT Musical instruction and study</SET><SET>Subject = J Political Science: JA Political science (General)</SET><SET>Subject = R Medicine: R Medicine (General)</SET><SET>Subject = N Fine Arts: N Visual arts (General) For photography, see TR</SET><SET>Subject = J Political Science: JC Political theory</SET><SET>Subject = C Auxiliary Sciences of History: CB History of civilization</SET><SET>Subject = G Geography. Anthropology. Recreation: G Geography (General)</SET><SET>Subject = C Auxiliary Sciences of History: CC Archaeology</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals</SET><SET>Subject = J Political Science: JF Political institutions (General)</SET><SET>Subject = C Auxiliary Sciences of History: CE Technical chronology. Calendar</SET><SET>Subject = T Technology: T Technology (General): T201 Patents. Trademarks</SET><SET>Subject = D History General and Old World: D History (General): D051 Ancient History</SET><SET>Subject = A General Works</SET><SET>Subject = J Political Science: JK Political institutions (United States)</SET><SET>Subject = C Auxiliary Sciences of History: CJ Numismatics</SET><SET>Subject = B Philosophy. Psychology. Religion</SET><SET>Subject = J Political Science: JL Political institutions (America except United States)</SET><SET>Subject = C Auxiliary Sciences of History</SET><SET>Subject = D History General and Old World</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z719 Libraries (General)</SET><SET>Subject = J Political Science: JN Political institutions (Europe)</SET><SET>Subject = E History America</SET><SET>Subject = F History United States, Canada, Latin America</SET><SET>Subject = R Medicine: RC Internal medicine: RC0321 Neuroscience. Biological psychiatry. Neuropsychiatry</SET><SET>Subject = G Geography. Anthropology. Recreation</SET><SET>Subject = C Auxiliary Sciences of History: CN Inscriptions. Epigraphy.</SET><SET>Subject = L Education: LB Theory and practice of education: LB2361 Curriculum</SET><SET>Subject = H Social Sciences</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology: BV1460 Religious Education</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0080 Criticism</SET><SET>Subject = J Political Science</SET><SET>Subject = K Law</SET><SET>Subject = L Education</SET><SET>Subject = J Political Science: JQ Political institutions Asia</SET><SET>Subject = R Medicine: RA Public aspects of medicine</SET><SET>Subject = M Music and Books on Music</SET><SET>Subject = R Medicine: RB Pathology</SET><SET>Subject = N Fine Arts: NA Architecture</SET><SET>Subject = N Fine Arts</SET><SET>Subject = J Political Science: JS Local government Municipal government</SET><SET>Subject = C Auxiliary Sciences of History: CR Heraldry</SET><SET>Subject = V Naval Science: V Naval Science (General)</SET><SET>Subject = R Medicine: RC Internal medicine</SET><SET>Subject = N Fine Arts: NB Sculpture</SET><SET>Subject = G Geography. Anthropology. Recreation: GA Mathematical geography. Cartography</SET><SET>Subject = C Auxiliary Sciences of History: CS Genealogy</SET><SET>Subject = R Medicine: RD Surgery</SET><SET>Subject = N Fine Arts: NC Drawing Design Illustration</SET><SET>Subject = G Geography. Anthropology. Recreation: GB Physical geography</SET><SET>Subject = C Auxiliary Sciences of History: CT Biography</SET><SET>Subject = R Medicine: RE Ophthalmology</SET><SET>Subject = N Fine Arts: ND Painting</SET><SET>Subject = K Law: K Law (General)</SET><SET>Subject = J Political Science: JV Colonies and colonization. Emigration and immigration. International migration</SET><SET>Subject = G Geography. Anthropology. Recreation: GC Oceanography</SET><SET>Subject = R Medicine: RF Otorhinolaryngology</SET><SET>Subject = N Fine Arts: NE Print media</SET><SET>Subject = D History General and Old World: D History (General)</SET><SET>Subject = R Medicine: RG Gynecology and obstetrics</SET><SET>Subject = J Political Science: JX International law</SET><SET>Subject = G Geography. Anthropology. Recreation: GE Environmental Sciences</SET><SET>Subject = G Geography. Anthropology. Recreation: GF Human ecology. Anthropogeography</SET><SET>Subject = D History General and Old World: D History (General): D731 World War II</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN1187 Scotland</SET><SET>Subject = P Language and Literature</SET><SET>Subject = Q Science</SET><SET>Subject = J Political Science: JZ International relations</SET><SET>Subject = R Medicine: RJ Pediatrics</SET><SET>Subject = R Medicine</SET><SET>Subject = S Agriculture</SET><SET>Subject = R Medicine: RK Dentistry</SET><SET>Subject = T Technology</SET><SET>Subject = R Medicine: RL Dermatology</SET><SET>Subject = U Military Science</SET><SET>Subject = N Fine Arts: NK Decorative arts Applied arts Decoration and ornament</SET><SET>Subject = V Naval Science</SET><SET>Subject = R Medicine: RM Therapeutics. Pharmacology</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA1001 Forensic Medicine. Medical jurisprudence. Legal medicine</SET><SET>Subject = G Geography. Anthropology. Recreation: GN Anthropology</SET><SET>Subject = Z Bibliography. Library Science. Information Resources</SET><SET>Subject = R Medicine: RS Pharmacy and materia medica</SET><SET>Subject = R Medicine: RT Nursing</SET><SET>Subject = G Geography. Anthropology. Recreation: GR Folklore</SET><SET>Subject = S Agriculture: S Agriculture (General)</SET><SET>Subject = R Medicine: RV Botanic, Thomsonian, and eclectic medicine</SET><SET>Subject = G Geography. Anthropology. Recreation: GT Manners and customs</SET><SET>Subject = D History General and Old World: DA Great Britain</SET><SET>Subject = D History General and Old World: DB Austria</SET><SET>Subject = R Medicine: RX Homeopathy</SET><SET>Subject = K Law: KD England and Wales</SET><SET>Subject = H Social Sciences: H Social Sciences (General)</SET><SET>Subject = G Geography. Anthropology. Recreation: GV Recreation Leisure</SET><SET>Subject = D History General and Old World: DC France</SET><SET>Subject = N Fine Arts: NX Arts in general</SET><SET>Subject = D History General and Old World: DD Germany</SET><SET>Subject = Q Science: QH Natural history: QH301 Biology</SET><SET>Subject = K Law: KF United States Federal Law</SET><SET>Subject = F History United States, Canada, Latin America: F1201 Latin America (General)</SET><SET>Subject = D History General and Old World: DE The Mediterranean Region. The Greco-Roman World</SET><SET>Subject = D History General and Old World: DF Greece</SET><SET>Subject = D History General and Old World: DG Italy</SET><SET>Subject = P Language and Literature: PN Literature (General): PN2000 Dramatic representation. The Theater</SET><SET>Subject = D History General and Old World: DH Netherlands (The Low Countries)</SET><SET>Subject = R Medicine: RZ Other systems of medicine</SET><SET>Subject = R Medicine: RJ Pediatrics: RJ101 Child Health. Child health services</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD28 Management. Industrial Management</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland)</SET><SET>Subject = V Naval Science: VM Naval architecture. Shipbuilding. Marine engineering</SET><SET>Subject = D History General and Old World: DK Russia. Soviet Union. Former Soviet Republics</SET><SET>Subject = D History General and Old World: DL Northern Europe. Scandinavia</SET><SET>Subject = Q Science: QH Natural history: QH426 Genetics</SET><SET>Subject = D History General and Old World: D History (General): D880 Developing Countries</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources</SET><SET>Subject = D History General and Old World: DP Spain</SET><SET>Subject = L Education: LC Special aspects of education: LC5201 Education extension. Adult education. Continuing education</SET><SET>Subject = S Agriculture: SB Plant culture</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA0421 Public health. Hygiene. Preventive Medicine</SET><SET>Subject = D History General and Old World: DR Balkan Peninsula</SET><SET>Subject = H Social Sciences: HA Statistics</SET><SET>Subject = D History General and Old World: DS Asia</SET><SET>Subject = S Agriculture: SD Forestry</SET><SET>Subject = P Language and Literature: P Philology. Linguistics</SET><SET>Subject = H Social Sciences: HB Economic Theory</SET><SET>Subject = D History General and Old World: DT Africa</SET><SET>Subject = L Education: L Education (General)</SET><SET>Subject = H Social Sciences: HC Economic History and Conditions</SET><SET>Subject = D History General and Old World: DU Oceania (South Seas)</SET><SET>Subject = S Agriculture: SF Animal culture</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor</SET><SET>Subject = A General Works: AC Collections. Series. Collected works</SET><SET>Subject = H Social Sciences: HE Transportation and Communications</SET><SET>Subject = S Agriculture: SH Aquaculture. Fisheries. Angling</SET><SET>Subject = H Social Sciences: HF Commerce</SET><SET>Subject = H Social Sciences: HG Finance</SET><SET>Subject = A General Works: AI Indexes (General)</SET><SET>Subject = D History General and Old World: D History (General): D501 World War I</SET><SET>Subject = D History General and Old World: D History (General): D839 Post-war History, 1945 on</SET><SET>Subject = K Law: KZ Law of Nations</SET><SET>Subject = S Agriculture: SK Hunting sports</SET><SET>Subject = Q Science: QR Microbiology: QR180 Immunology</SET><SET>Subject = H Social Sciences: HJ Public Finance</SET><SET>Subject = H Social Sciences: HM Sociology</SET><SET>Subject = A General Works: AM Museums (General). Collectors and collecting (General)</SET><SET>Subject = H Social Sciences: HN Social history and conditions. Social problems. Social reform</SET><SET>Subject = D History General and Old World: D History (General): D901 Europe (General)</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland): DJK Eastern Europe</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4050 Electronic information resources</SET><SET>Subject = H Social Sciences: HQ The family. Marriage. Woman</SET><SET>Subject = P Language and Literature: PA Classical philology</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1990 Broadcasting</SET><SET>Subject = P Language and Literature: PB Modern European Languages</SET><SET>Subject = L Education: LA History of education</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN101 Great Britain</SET><SET>Subject = H Social Sciences: HS Societies secret benevolent etc</SET><SET>Subject = T Technology: T Technology (General)</SET><SET>Subject = P Language and Literature: PC Romance languages</SET><SET>Subject = L Education: LB Theory and practice of education</SET><SET>Subject = H Social Sciences: HT Communities. Classes. Races</SET><SET>Subject = A General Works: AS Academies and learned societies (General)</SET><SET>Subject = P Language and Literature: PD Germanic languages</SET><SET>Subject = L Education: LC Special aspects of education</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1993 Motion Pictures</SET><SET>Subject = P Language and Literature: PE English</SET><SET>Subject = L Education: LD Individual institutions (United States)</SET><SET>Subject = H Social Sciences: HV Social pathology. Social and public welfare</SET><SET>Subject = P Language and Literature: PF West Germanic</SET><SET>Subject = L Education: LE Individual institutions (America except United States)</SET><SET>Subject = B Philosophy. Psychology. Religion: B Philosophy (General)</SET><SET>Subject = P Language and Literature: PG Slavic, Baltic, Albanian languages and literature</SET><SET>Subject = L Education: LF Individual institutions (Europe)</SET><SET>Subject = H Social Sciences: HX Socialism. Communism. Anarchism</SET><SET>Subject = P Language and Literature: PH Finno-Ugrian, Basque languages and literatures</SET><SET>Subject = L Education: LG Individual institutions (Asia. Africa)</SET><SET>Subject = P Language and Literature: PI Oriental languages and literatures</SET><SET>Subject = P Language and Literature: PJ Semitic</SET><SET>Subject = A General Works: AZ History of Scholarship The Humanities</SET><SET>Subject = P Language and Literature: PK Indo-Iranian</SET><SET>Subject = P Language and Literature: PL Languages and literatures of Eastern Asia, Africa, Oceania</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4450 Databases</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0441 Literary History</SET><SET>Subject = P Language and Literature: PM Hyperborean, Indian, and Artificial languages</SET><SET>Subject = P Language and Literature: PN Literature (General)</SET><SET>Subject = L Education: LB Theory and practice of education: LB1501 Primary Education</SET><SET>Subject = H Social Sciences: HF Commerce: HF5601 Accounting</SET><SET>Subject = D History General and Old World: D History (General): D204 Modern History</SET><SET>Subject = P Language and Literature: PB Modern European Languages: PB1501 Gaelic (Scottish Gaelic, Erse)</SET><SET>Subject = R Medicine: RC Internal medicine: RC1200 Sports Medicine</SET><SET>Subject = P Language and Literature: PQ Romance literatures</SET><SET>Subject = P Language and Literature: PR English literature</SET><SET>Subject = T Technology: TA Engineering (General). Civil engineering (General)</SET><SET>Subject = P Language and Literature: PS American literature</SET><SET>Subject = P Language and Literature: PT Germanic literature</SET><SET>Subject = T Technology: TC Hydraulic engineering. Ocean engineering</SET><SET>Subject = L Education: LT Textbooks</SET><SET>Subject = T Technology: TD Environmental technology. Sanitary engineering</SET><SET>Subject = Q Science: Q Science (General)</SET><SET>Subject = T Technology: TE Highway engineering. Roads and pavements</SET><SET>Subject = M Music and Books on Music: M Music</SET><SET>Subject = E History America: E151 United States (General)</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z665 Library Science. Information Science</SET><SET>Subject = T Technology: TF Railroad engineering and operation</SET><SET>Subject = B Philosophy. Psychology. Religion: BC Logic</SET><SET>Subject = T Technology: TG Bridge engineering</SET><SET>Subject = B Philosophy. Psychology. Religion: BD Speculative Philosophy</SET><SET>Subject = T Technology: TH Building construction</SET><SET>Subject = B Philosophy. Psychology. Religion: BF Psychology</SET><SET>Subject = B Philosophy. Psychology. Religion: BH Aesthetics</SET><SET>Subject = D History General and Old World: D History (General): D890 Eastern Hemisphere</SET><SET>Subject = P Language and Literature: PZ Childrens literature</SET><SET>Subject = L Education: LB Theory and practice of education: LB2300 Higher Education</SET><SET>Subject = F History United States, Canada, Latin America: F1001 Canada (General)</SET><SET>Subject = T Technology: TJ Mechanical engineering and machinery</SET><SET>Subject = T Technology: TK Electrical engineering. Electronics Nuclear engineering</SET><SET>Subject = D History General and Old World: D History (General): D111 Medieval History</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z004 Books. Writing. Paleography</SET><SET>Subject = T Technology: TL Motor vehicles. Aeronautics. Astronautics</SET><SET>Subject = B Philosophy. Psychology. Religion: BJ Ethics</SET><SET>Subject = T Technology: TN Mining engineering. Metallurgy</SET><SET>Subject = B Philosophy. Psychology. Religion: BL Religion</SET><SET>Subject = E History America: E11 America (General)</SET><SET>Subject = B Philosophy. Psychology. Religion: BM Judaism</SET><SET>Subject = T Technology: TP Chemical technology</SET><SET>Subject = F History United States, Canada, Latin America: F001 United States local history</SET><SET>Subject = T Technology: TR Photography</SET><SET>Subject = T Technology: TS Manufactures</SET><SET>Subject = K Law: KD England and Wales: KDC Scotland</SET><SET>Subject = B Philosophy. Psychology. Religion: BP Islam. Bahaism. Theosophy, etc</SET><SET>Subject = T Technology: TT Handicrafts Arts and crafts</SET><SET>Subject = Q Science: QA Mathematics</SET><SET>Subject = B Philosophy. Psychology. Religion: BQ Buddhism</SET><SET>Subject = Q Science: QB Astronomy</SET><SET>Subject = B Philosophy. Psychology. Religion: BR Christianity</SET><SET>Subject = U Military Science: U Military Science (General)</SET><SET>Subject = Q Science: QC Physics</SET><SET>Subject = B Philosophy. Psychology. Religion: BS The Bible</SET><SET>Subject = Q Science: QD Chemistry</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD61 Risk Management</SET><SET>Subject = B Philosophy. Psychology. Religion: BT Doctrinal Theology</SET><SET>Subject = T Technology: TX Home economics</SET><SET>Subject = Q Science: QE Geology</SET><SET>Subject = J Political Science: J General legislative and executive papers</SET><SET>Subject = C Auxiliary Sciences of History: C Auxiliary sciences of history (General)</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology</SET><SET>Subject = Q Science: QH Natural history</SET><SET>Subject = B Philosophy. Psychology. Religion: BX Christian Denominations</SET><SET>Subject = Q Science: QR Microbiology: QR355 Virology</SET><SET>Subject = Q Science: QK Botany</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals: CD921 Archives</SET><SET>Subject = Q Science: QL Zoology</SET><SET>Subject = Q Science: QM Human anatomy</SET><SET>Subject = Q Science: QA Mathematics: QA75 Electronic computers. Computer science</SET><SET>Subject = M Music and Books on Music: ML Literature of music</SET><SET>Subject = Q Science: QA Mathematics: QA76 Computer software</SET><SET>Subject = L Education: LB Theory and practice of education: LB1603 Secondary Education. High schools</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>69</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo70.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo70.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo70.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="21-60ac0845-94c3-4097-98ab-e453164dea58_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-03T21:58:36+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>Oulun yliopiston julkaisemia elektronisia julkaisuja</OFFICIAL_NAME><ENGLISH_NAME>University of Oulu - Electronic Publications</ENGLISH_NAME><ICON_URI>http://www.kirjasto.oulu.fi/grafiikka/logot/logo_su.gif</ICON_URI><COUNTRY>FI</COUNTRY><LOCATION><LONGITUDE>25.466</LONGITUDE><LATITUDE>65.059</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.kirjasto.oulu.fi/english/julkaisutoiminta/elektroniset/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Oulu</REPOSITORY_INSTITUTION><ADMIN_INFO>Ville.Varjonen@oulu.fi</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://herkules.oulu.fi/OAI/OAI-script.xsql</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1191</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo85.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo85.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo85.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-6a1d7539-6098-4ecd-b2b1-795715a70fbe_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-08T17:32:36+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Debreceni Egyetem elektronikus Archivumanak (DEA)</OFFICIAL_NAME><ENGLISH_NAME>Debreceni Egyetem elektronikus Archivumanak (DEA)</ENGLISH_NAME><ICON_URI>http://ganymedes.lib.unideb.hu:8080/dea/image/fejlec_eleje.png</ICON_URI><COUNTRY>HU</COUNTRY><LOCATION><LONGITUDE>21.67</LONGITUDE><LATITUDE>47.58</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.lib.unideb.hu:8080/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Debrecen</REPOSITORY_INSTITUTION><ADMIN_INFO>xxx</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://ganymedes.lib.unideb.hu:8080/oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>32035</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo3.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo3.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo3.xml	(revision 47801)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="103-06668aa8-019e-4eb2-bab7-47d394385d7f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-21T16:52:46+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>Les Bibliothèques Virtuelles Humanistes (BVH)</OFFICIAL_NAME><ENGLISH_NAME>Les Bibliothèques Virtuelles Humanistes (BVH)</ENGLISH_NAME><ICON_URI>http://www.bvh.univ-tours.fr/Img/titre.jpg</ICON_URI><COUNTRY>FR</COUNTRY><LOCATION><LONGITUDE>0.680</LONGITUDE><LATITUDE>47.395</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.bvh.univ-tours.fr/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Centre d’Études Supérieures de la Renaissance
+Université François-Rabelais, Tours</REPOSITORY_INSTITUTION><ADMIN_INFO>sebastien.busson@univ-tours.fr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.bvh.univ-tours.fr/oai2/repositoryOAI.asp</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>225</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo74.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo74.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo74.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="22-73ee0619-28f3-4f63-89c6-f47ade0d9bfd_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T19:30:50+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Nottingham ePrints</OFFICIAL_NAME><ENGLISH_NAME>The Univ. of Nottingham: ePrints</ENGLISH_NAME><ICON_URI>http://www.nottingham.ac.uk/is/images/vis-logo.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.1667</LONGITUDE><LATITUDE>52.9667</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.nottingham.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:eprints@eprints.nottingham.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.nottingham.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dp</FORMAT></FORMATS><SETS><SET>Status = Published</SET><SET>Status = In Press</SET><SET>Status = Unpublished</SET><SET>School / Department = Faculty of Science: School of Computer Science and Information Technology</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Department of Modern Cultural Studies</SET><SET>School / Department = General: General</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Human Development</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Postgraduate School of Critical Theory and Cultural Studies</SET><SET>School / Department = Faculty of Arts: School of Humanities: Department of Art History</SET><SET>School / Department = Faculty of Science: School of Biosciences: Food Sciences</SET><SET>School / Department = Faculty of Arts: School of Humanities: Department of Classics</SET><SET>School / Department = Faculty of Science: School of Biosciences: Nutritional Sciences</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Human Development: Obstetrics Midwifery and Gynaecology</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Department of Russian and Slavonic Studies</SET><SET>School / Department = Faculty of Engineering: School of Civil Engineering: Engineering, Surveying and Space Geodesy</SET><SET>School / Department = Faculty of Science: School of Psychology</SET><SET>School / Department = Faculty of Law and Social Sciences: School of the Built Environment</SET><SET>School / Department = Faculty of Law and Social Sciences: Institute for the Study of Genetics, Biorisks and Society</SET><SET>School / Department = Faculty of Arts: School of American and Canadian Studies: Institute of Film Studies</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Trent Institute for Health Services Research</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Genetics</SET><SET>School / Department = Faculty of Science: School of Chemistry</SET><SET>School / Department = General</SET><SET>School / Department = Faculty of Arts: School of Humanities: Department of Archaeology</SET><SET>School / Department = Faculty of Arts: School of English Studies</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Nursing</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Department of French</SET><SET>School / Department = Faculty of Engineering</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Department of German</SET><SET>School / Department = Faculty of Law and Social Sciences: School of Politics</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Child and Adolescent Psychiatry</SET><SET>School / Department = Faculty of Arts: School of Humanities: Department of Philosophy</SET><SET>School / Department = Faculty of Science: School of Chemistry: Department of Organic Chemistry</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Immunology</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Clinical Chemistry</SET><SET>School / Department = Faculty of Law and Social Sciences: Nottingham University Business School</SET><SET>School / Department = Faculty of Education: School of Continuing Education</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences: Anaesthesia</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Microbiology and Infectious Diseases</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Department of Portuguese</SET><SET>School / Department = Faculty of Science: School of Life and Environmental Sciences</SET><SET>School / Department = General: Information Services</SET><SET>School / Department = Faculty of Arts: School of Modern Languages: Department of Hispanic and Latin American Studies</SET><SET>School / Department = Faculty of Arts: School of History</SET><SET>School / Department = Faculty of Law and Social Sciences: Institute of Work, Health and Organization</SET><SET>School / Department = Faculty of Arts: School of Modern Languages</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Infections and Immunity</SET><SET>School / Department = Faculty of Science: School of Biosciences: Animal Physiology</SET><SET>School / Department = Faculty of Law and Social Sciences: School of Economics</SET><SET>School / Department = Faculty of Science: School of Pharmacy</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences: Academic Radiology</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Pathology</SET><SET>School / Department = Faculty of Engineering: School of Mechanical, Materials and Manufacturing Engineering</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Biomedical Sciences</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Learning Disabilities</SET><SET>School / Department = Faculty of Law and Social Sciences: School of Sociology and Social Policy</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Physiotherapy</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences: Medicine</SET><SET>School / Department = Faculty of Education</SET><SET>School / Department = Faculty of Medicine and Health Sciences: Institute of Hearing Research</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: General Practice</SET><SET>School / Department = Faculty of Science: School of Chemistry: Department of Physical Chemistry</SET><SET>School / Department = Faculty of Engineering: School of Chemical, Environmental and Mining Engineering</SET><SET>School / Department = Faculty of Education: School of Education</SET><SET>School / Department = Faculty of Science: School of Mathematical Sciences: Theoretical Mechanics</SET><SET>School / Department = Faculty of Law and Social Sciences</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Haematology</SET><SET>School / Department = Faculty of Engineering: School of Electrical and Electronic Engineering</SET><SET>School / Department = Faculty of Science: School of Biosciences: Agriculture and Horticulture</SET><SET>School / Department = Faculty of Science: School of Chemistry: Department of Inorganic Chemistry</SET><SET>School / Department = Faculty of Arts: School of American and Canadian Studies</SET><SET>School / Department = Faculty of Science: School of Mathematical Sciences: Mathematical Physics</SET><SET>School / Department = Faculty of Science: School of Physics and Astronomy</SET><SET>School / Department = Faculty of Science: School of Mathematical Sciences: Statistics</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences: Stroke Medicine</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Public Health Sciences</SET><SET>School / Department = Faculty of Arts: School of Humanities: Department of Music</SET><SET>School / Department = Faculty of Science: School of Biosciences: Plant Science</SET><SET>School / Department = Faculty of Arts: School of Humanities</SET><SET>School / Department = Faculty of Science: School of Mathematical Sciences: Pure Mathematics</SET><SET>School / Department = Faculty of Science</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Human Development: Child Health</SET><SET>School / Department = Faculty of Engineering: School of Civil Engineering</SET><SET>School / Department = Faculty of Arts</SET><SET>School / Department = Faculty of Science: School of Mathematical Sciences</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Clinical Oncology</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences: Orthopaedic and Accident Surgery</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Psychiatry</SET><SET>School / Department = Faculty of Law and Social Sciences: School of Geography</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Community Health Sciences: Rehabilitation and Ageing</SET><SET>School / Department = Faculty of Medicine and Health Sciences</SET><SET>School / Department = Faculty of Science: School of Biosciences</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Clinical Laboratory Sciences: Ophthamology and Visual Sciences</SET><SET>School / Department = Faculty of Law and Social Sciences: School of Law</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences: Surgery</SET><SET>School / Department = Faculty of Medicine and Health Sciences: School of Medical and Surgical Sciences</SET><SET>School / Department = Faculty of Arts: School of Humanities: Department of Theology</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>569</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo7.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo7.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo7.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="108-be3a9266-7462-4b2c-b6a8-2ee283a4427e_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-21T19:55:07+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>E-LIB Dokumentserver</OFFICIAL_NAME><ENGLISH_NAME>E-LIB Document Server</ENGLISH_NAME><ICON_URI>http://elib.suub.uni-bremen.de/bilder/ElibLogo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.863</LONGITUDE><LATITUDE>53.105</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://elib.suub.uni-bremen.de/cocoon/diss/start</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University Bremen</REPOSITORY_INSTITUTION><ADMIN_INFO>haake@suub.uni-bremen.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://elib.suub.uni-bremen.de/cgi-bin/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1110</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo121.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo121.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo121.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="41-23ecfbc8-7f69-4d85-9278-2b0294f36b8c_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T17:42:24+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>Online-Publikationsservice der Universitaet Tuebingen</OFFICIAL_NAME><ENGLISH_NAME>Online-Publikationsservice der Universitaet Tuebingen</ENGLISH_NAME><ICON_URI/><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.0490</LONGITUDE><LATITUDE>48.5204</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE/><REPOSITORY_INSTITUTION/><ADMIN_INFO/><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://w210.ub.uni-tuebingen.de/dbt/oai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2995</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo130.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo130.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo130.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="4-f22b98f3-ac5e-421b-b162-88954b31b73d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-05-23T13:26:54+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Nottingham eTheses</OFFICIAL_NAME><ENGLISH_NAME>Nottingham eTheses</ENGLISH_NAME><ICON_URI>http://www.nottingham.ac.uk/is/images/vis-logo.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.19466</LONGITUDE><LATITUDE>52.934504</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://etheses.nottingham.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Nottingham</REPOSITORY_INSTITUTION><ADMIN_INFO>etheses@nottingham.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://etheses.nottingham.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>261</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo162.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo162.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo162.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="7-7af230ee-f01e-4bde-bf55-9de146aa1fed_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="http://validator.driver.research-infrastructures.eu/validatorWeb"/><DATE_OF_CREATION value="2008-12-05T13:56:36+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>DSpace</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Ιδρυματικό Αποθετήριο του Εθνικού Ιδρύματος Ερευνών (Ήλιος)</OFFICIAL_NAME><ENGLISH_NAME>Institutional Repository of National Hellenic Research Foundation (Helios)</ENGLISH_NAME><ICON_URI>http://validator.driver.research-infrastructures.eu/validatorWeb/getRepositoryImage.do?&amp;repositoryId=2-3c6b8a98-5cc5-468e-9cb7-619530c9b1da_UGVuZGluZ1JlcG9zaXRvcnlSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</ICON_URI><COUNTRY>GR</COUNTRY><LOCATION><LONGITUDE>23.74538</LONGITUDE><LATITUDE>37.973144</LATITUDE><TIMEZONE>2.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://helios-eie.ekt.gr/EIE/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>National Hellenic Research Foundation</REPOSITORY_INSTITUTION><ADMIN_INFO>stavrakis@ekt.gr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://pandektis.ekt.gr/oai-driver/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>driver</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>88</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD><LAST_REQUEST/><LAST_RESPONSE/></BLACKBOARD></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo134.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo134.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo134.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="54-7f745c8c-8bc2-408b-b0ae-5684c5b424e0_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-18T09:59:14+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Politecnica de Catalunya</OFFICIAL_NAME><ENGLISH_NAME>Universitat Politecnica de Catalunya</ENGLISH_NAME><ICON_URI>http://www.tdx.cesca.es/images/tdx/logos_unis/logofull_UPC_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.18</LONGITUDE><LATITUDE>41.41</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/UPC.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Politecnica de Catalunya</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UPC/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>811</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo166.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo166.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo166.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="80-5529ed62-b130-4c35-a0cb-c58688ba8bf7_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-15T13:08:43+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Archivio Eprints Universita di Firenze</OFFICIAL_NAME><ENGLISH_NAME>Archivio Eprints Universita di Firenze</ENGLISH_NAME><ICON_URI>http://eprints.unifi.it/images/logo_alto_ep.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.259</LONGITUDE><LATITUDE>43.778</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://e-prints.unifi.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universita di Firenze</REPOSITORY_INSTITUTION><ADMIN_INFO>eprints@unifi.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://e-prints.unifi.it/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>200</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo173.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo173.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo173.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="8-c1aee522-6104-4e1b-aae4-73c9eed9e6ab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="http://validator.driver.research-infrastructures.eu/validatorWeb"/><DATE_OF_CREATION value="2008-12-01T16:30:31+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>DSpace</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Repositório Aberto da Universidade do Porto</OFFICIAL_NAME><ENGLISH_NAME>University of Porto Open Repository</ENGLISH_NAME><ICON_URI>http://validator.driver.research-infrastructures.eu/validatorWeb/getRepositoryImage.do?&amp;repositoryId=2-53df6e6b-f019-436d-ba0f-82931f2da43c_UGVuZGluZ1JlcG9zaXRvcnlSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</ICON_URI><COUNTRY>POR</COUNTRY><LOCATION><LONGITUDE>-8.637979</LONGITUDE><LATITUDE>41.152461</LATITUDE><TIMEZONE>0.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://repositorio.up.pt</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidade do Porto</REPOSITORY_INSTITUTION><ADMIN_INFO>rramos@reit.up.pt</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://repositorio.up.pt/aberto/oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>All sets</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>955</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD><LAST_REQUEST/><LAST_RESPONSE/></BLACKBOARD></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo44.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo44.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo44.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="160-663cc44b-36a7-405c-999b-11424ef98a3e_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-09T17:23:33+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>ask23 repository (lkw, hfbk hamburg, germany)</OFFICIAL_NAME><ENGLISH_NAME>Hfbk Hamburg: Labor Kunst und Wissenschaft: archivsystem ask23</ENGLISH_NAME><ICON_URI>http://admin.driver.research-infrastructures.eu/images/repositoryLogos/back_papier1_logo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.992</LONGITUDE><LATITUDE>53.55</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://ask23.hfbk-hamburg.de</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>technik@ask23.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://purl.oclc.org/NET/ugent/lib/srepod/oai.ask23.de/static/ask23-oai.xml</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>91</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo179.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo179.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo179.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="96-77bcd32c-825f-4940-92f8-32067ea7fe8f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-20T21:58:08+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>Thèses de l'Ecole nationale des chartes</OFFICIAL_NAME><ENGLISH_NAME>Thèses de l'Ecole nationale des chartes</ENGLISH_NAME><ICON_URI>http://theses.enc.sorbonne.fr/images/theses_r1_c1.jpg</ICON_URI><COUNTRY>FR</COUNTRY><LOCATION><LONGITUDE>2.342</LONGITUDE><LATITUDE>48.848</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://theses.enc.sorbonne.fr/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Ecole nationale des chartes</REPOSITORY_INSTITUTION><ADMIN_INFO>webenc@enc.sorbonne.fr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://oai.enc.sorbonne.fr/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>306</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo48.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo48.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo48.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="16-a4bba9f1-745b-4d2a-9711-203ef5da5f9d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-10T13:35:31+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Bristol Repository of Scholarly Eprints (ROSE)</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Bristol: Bristol Repository of Scholarly Eprints (ROSE)</ENGLISH_NAME><ICON_URI>http://deneb.lib.bris.ac.uk/dspace/image/bannerRose.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-2.5914</LONGITUDE><LATITUDE>51.4536</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://deneb.lib.bris.ac.uk/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>rose-help@bristol.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://rose.bris.ac.uk/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Artificial Intelligence Group</SET><SET>Bristol Centre for Applied Nonlinear Mathematics</SET><SET>Dr Evan Jones</SET><SET>Dr Hugh Pemberton</SET><SET>Dr James Thompson</SET><SET>Palaeobiology and Biodiversity Research Group (PBRG)</SET><SET>Professor Robert Bickers</SET><SET>Wireless Communications</SET><SET>Xenopus tadpole neurobiology</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1981</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo136.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo136.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo136.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="5-8706f123-fd3b-4513-8c3d-f7e8f4a96294_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-22T13:47:16+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Waterford Inst. of Technology: WIT Institutional Repository</OFFICIAL_NAME><ENGLISH_NAME>Waterford Inst. of Technology: WIT Institutional Repository</ENGLISH_NAME><ICON_URI>http://waterfordnewmusicweek.com/newlib/images/liblogo.gif</ICON_URI><COUNTRY>IE</COUNTRY><LOCATION><LONGITUDE>-7.15</LONGITUDE><LATITUDE>52.241</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.wit.ie/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Waterford Institute of Technology (WIT)</REPOSITORY_INSTITUTION><ADMIN_INFO>dkane@wit.ie</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.wit.ie/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>335</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo51.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo51.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo51.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="170-41507e24-e3b1-4d4c-99ac-43c853c31c27_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-01-01T19:12:56+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Univ. Maastricht</OFFICIAL_NAME><ENGLISH_NAME>Univ. Maastricht: Electronic Documents</ENGLISH_NAME><ICON_URI>http://edata.ub.unimaas.nl/images/alg_hoeklogo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.686668</LONGITUDE><LATITUDE>50.8471</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://edata.ub.unimaas.nl/www-digiarchum/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>j.odekerken@ub.unimaas.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://arno.unimaas.nl/oai/dare.cgi</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>nereus</FORMAT><FORMAT>arno</FORMAT></FORMATS><SETS><SET>KB e-depot</SET><SET>KB e-depot</SET><SET>Economists online</SET><SET>Economists online</SET><SET>Keur der wetenschap</SET><SET>Keur der wetenschap</SET><SET>Maastricht University. Faculty of Law</SET><SET>Maastricht University. Faculty of Law</SET><SET>Maastricht University. Faculty of Law, full text available</SET><SET>Maastricht University. Faculty of Law, full text available</SET><SET>Full text available</SET><SET>Full text available</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>9405</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo177.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo177.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo177.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="93-cffe5de2-770e-4b51-85e2-095382d488fb_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-29T12:30:49+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Genova - IBF Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Genova - IBF Repository</ENGLISH_NAME><ICON_URI>http://leonardo.isti.cnr.it/metaopac/sfondi/ibf.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>8.900492</LONGITUDE><LATITUDE>44.408715</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/ibfge_geConf/cnr_ibfge-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto di Biofisica - CNR Genova</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo89.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo89.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo89.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="27-7382d42b-d9f9-4761-885d-7c71951e14c6_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-05T21:28:46+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>xerxes</OFFICIAL_NAME><ENGLISH_NAME>xerxes</ENGLISH_NAME><ICON_URI>http://theses.lub.lu.se/undergrad/images/xerxes.jpg.sv</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>13.196</LONGITUDE><LATITUDE>55.712</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://theses.lub.lu.se/undergrad/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Lund University</REPOSITORY_INSTITUTION><ADMIN_INFO>dissertations@lub.lu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://theses.lub.lu.se/oai-service/xerxes/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7741</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo14.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo14.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo14.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="11-429f6e5b-c388-4207-8f91-720b0adf03cd_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-08-21T17:12:19+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>Propylaeum-DOK Publikationsplattform Altertumswissenschaften</OFFICIAL_NAME><ENGLISH_NAME>Propylaeum-DOK - Digital Repository Classical Studies</ENGLISH_NAME><ICON_URI>http://archiv.ub.uni-heidelberg.de/propylaeumdok/Icons/propylaeum_dok.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.707999</LONGITUDE><LATITUDE>49.409922</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://archiv.ub.uni-heidelberg.de/propylaeumdok/index.php?&amp;la=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>UniversitÃ¤t Heidelberg</REPOSITORY_INSTITUTION><ADMIN_INFO>Effinger@ub.uni-heidelberg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://archiv.ub.uni-heidelberg.de/propylaeumdok/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>156</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo132.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo132.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo132.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="5-37b61151-0d74-4323-b5bf-fae2adf28a4b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="http://validator.driver.research-infrastructures.eu/validatorWeb"/><DATE_OF_CREATION value="2008-11-20T20:30:13+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>DSpace</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Repositorio Institucional da FCT-UNL</OFFICIAL_NAME><ENGLISH_NAME>FCTUNL Institutional Repository</ENGLISH_NAME><ICON_URI>http://validator.driver.research-infrastructures.eu/validatorWeb/getRepositoryImage.do?&amp;repositoryId=1-64066e8e-c306-4cc6-94f2-a1c492b40b9a_UGVuZGluZ1JlcG9zaXRvcnlSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</ICON_URI><COUNTRY>POR</COUNTRY><LOCATION><LONGITUDE>-9.1598935</LONGITUDE><LATITUDE>38.7339073</LATITUDE><TIMEZONE>0.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.fct.unl.pt</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>http://www.fct.unl.pt</REPOSITORY_INSTITUTION><ADMIN_INFO>paulo.matos@fct.unl.pt</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.fct.unl.pt/oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>All sets</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>383</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD><LAST_REQUEST/><LAST_RESPONSE/></BLACKBOARD></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo18.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo18.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo18.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="11-6aa78126-33c0-40cc-9ff7-ee8cfd22fff8_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-26T13:28:39+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>International Institute for the Study of Islam in the Modern World</OFFICIAL_NAME><ENGLISH_NAME>International Institute for the Study of Islam in the Modern World</ENGLISH_NAME><ICON_URI>http://www.isim.nl/images/logo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.485253</LONGITUDE><LATITUDE>52.1579573</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.narcis.info/repositories/repository/isim/Language/en/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>International Institute for the Study of Islam in the Modern World</REPOSITORY_INSTITUTION><ADMIN_INFO>dspace-help@library.leidenuniv.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://openaccess.leidenuniv.nl/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>83</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo171.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo171.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo171.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="86-b399a1d7-b35e-434f-b99e-d4fe49742f01_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-16T11:30:41+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>AperTo</OFFICIAL_NAME><ENGLISH_NAME>AperTo</ENGLISH_NAME><ICON_URI>http://aperto.unito.it/image/logo_unito.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>7.689</LONGITUDE><LATITUDE>45.069</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://aperto.unito.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universita degli studi di Torino</REPOSITORY_INSTITUTION><ADMIN_INFO>enrico.francese@unito.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace-unito.cilea.it/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>243</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo57.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo57.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo57.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-a0bbfcb8-6c5b-4c7b-b7f5-733537526ed3_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-08-21T07:49:04+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>ART-Dok Publikationsplattform Kunstgeschichte</OFFICIAL_NAME><ENGLISH_NAME>Art-DOK - Digital Repository Art History</ENGLISH_NAME><ICON_URI>http://archiv.ub.uni-heidelberg.de/artdok/Icons/art-dok_dt.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.707999</LONGITUDE><LATITUDE>49.409922</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://archiv.ub.uni-heidelberg.de/artdok/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>UniversitÃ¤t Heidelberg</REPOSITORY_INSTITUTION><ADMIN_INFO>Effinger@ub.uni-heidelberg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://archiv.ub.uni-heidelberg.de/artdok/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>599</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo175.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo175.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo175.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="90-63efb3ce-710a-4374-98cf-a489bf7a6252_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T22:28:29+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>Heidelberger Dokumentenserver (HeiDok)</OFFICIAL_NAME><ENGLISH_NAME>University of Heidelberg, GERMANY, HeiDok</ENGLISH_NAME><ICON_URI>http://archiv.ub.uni-heidelberg.de/nav1/grafik/layout/uni_hd_siegel.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.700</LONGITUDE><LATITUDE>49.417</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://archiv.ub.uni-heidelberg.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Univ. Heidelberg</REPOSITORY_INSTITUTION><ADMIN_INFO>Maylein@ub.uni-heidelberg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://archiv.ub.uni-heidelberg.de/volltextserver/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>dc:000</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7839</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo90.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo90.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo90.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-77d05e90-9a3e-445f-b4da-999e0e691eb1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-23T15:44:57+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Genova - IENI Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Genova - IENI Repository</ENGLISH_NAME><ICON_URI>http://www.ieni.cnr.it/images/header1.png</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>8.900492</LONGITUDE><LATITUDE>44.408715</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://metabsrv.isti.cnr.it:8080/test_metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/ienige_geConf/cnr_ienige-pub-list.sys.file_x_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto per l'Energetica e le Interfasi - CNR Genova</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>88</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo12.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo12.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo12.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="11-33b80042-4f35-4392-81ef-ff26ea3c75e5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-02T11:41:55+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Bologna - ISOF Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Bologna - ISOF Repository</ENGLISH_NAME><ICON_URI>http://www.isof.cnr.it/IMMAGINI/logoisofrifeng.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.30</LONGITUDE><LATITUDE>44.53</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrpConf/cnr_isof-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institute for Organic Syntheses and Photoreactivity - CNR Bologna</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>11</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo53.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo53.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo53.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="17-eca74062-939f-45ba-a816-829642bce4a7_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-15T09:53:37+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>ETH E-Collection</OFFICIAL_NAME><ENGLISH_NAME>ETH E-Collection</ENGLISH_NAME><ICON_URI>http://e-collection.ethbib.ethz.ch/images/home_ecollection2.gif</ICON_URI><COUNTRY>CH</COUNTRY><LOCATION><LONGITUDE>8.654</LONGITUDE><LATITUDE>47.384</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://e-collection.ethbib.ethz.ch/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>ETH Zürich</REPOSITORY_INSTITUTION><ADMIN_INFO>heinz.vogt@library.ethz.ch</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://oai.ethz.ch/oai.asp</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>8969</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo94.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo94.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo94.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="29-7226f75e-5e33-4434-89cc-8f74d57e4c3e_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T17:25:57+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at Utrecht University</OFFICIAL_NAME><ENGLISH_NAME>Univ. Utrecht: Igitur - Utrecht Publishing and Archiving Services</ENGLISH_NAME><ICON_URI>http://www.igitur.nl/nl/uu_home_midden.jpg</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.11667</LONGITUDE><LATITUDE>52.1</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.igitur.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>G.vanderLinde@library.uu.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.library.uu.nl:8080/dspace-oai/request</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>1 Select collection</SET><SET>Aardwetenschappen</SET><SET>Biologie</SET><SET>Biologie Proefschriften</SET><SET>Biomedische Wetenschappen Proefschriften</SET><SET>CERES</SET><SET>Collectie Tjalling Koopmans</SET><SET>Collectie Wiarda</SET><SET>Copernicus</SET><SET>DARE collectie</SET><SET>DARLIN</SET><SET>Diergeneeskunde</SET><SET>Diergeneeskunde AV</SET><SET>Diergeneeskunde proefschriften</SET><SET>E-books</SET><SET>Farmaceutische Wetenschappen</SET><SET>Farmaceutische Wetenschappen Proefschriften</SET><SET>Fysische Geografie</SET><SET>Gedigitaliseerde boeken</SET><SET>Gedigitaliseerde kaarten</SET><SET>Geneeskunde</SET><SET>Geneeskunde Proefschriften</SET><SET>Geowetenschappen Proefschriften</SET><SET>Godgeleerdheid</SET><SET>Godgeleerdheid Proefschriften</SET><SET>Godgeleerdheid Scripties</SET><SET>ICO-ISOR</SET><SET>IVLOS</SET><SET>IVLOS Proefschriften</SET><SET>IVLOS scripties</SET><SET>Innovatie- en Milieuwetenschappen</SET><SET>KEUR</SET><SET>Leren doceren</SET><SET>Letteren</SET><SET>Letteren Proefschriften</SET><SET>Letteren Scripties</SET><SET>Natuur- en Sterrenkunde</SET><SET>Natuur- en Sterrenkunde Proefschriften</SET><SET>Rechtsgeleerdheid</SET><SET>Rechtsgeleerdheid Proefschriften</SET><SET>Scheikunde</SET><SET>Scheikunde Proefschriften</SET><SET>Sociale Geografie en Planologie</SET><SET>Sociale Wetenschappen</SET><SET>Sociale Wetenschappen Proefschriften</SET><SET>Studium Generale Publicaties</SET><SET>Universiteit voor Humanistiek</SET><SET>University College</SET><SET>University College Proefschriften</SET><SET>Utrecht School of Economics</SET><SET>Utrecht School of Economics Proefschriften</SET><SET>Utrechtse School voor Bestuurs- en Organisatiewetenschap</SET><SET>Utrechtse School voor Bestuurs- en Organisatiewetenschap Proefschriften</SET><SET>Wijsbegeerte</SET><SET>Wijsbegeerte Proefschriften</SET><SET>Wiskunde en Informatica</SET><SET>Wiskunde en Informatica Proefschriften</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>22776</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo92.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo92.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo92.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="29-0689928c-b201-4a7c-8ae2-91735d907ae7_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-08-21T16:21:46+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>SavifaDok Publikationsplattform fuer die Sozialwissenschaften</OFFICIAL_NAME><ENGLISH_NAME>SavifaDok Digital Repository South Asian Studies</ENGLISH_NAME><ICON_URI>http://archiv.ub.uni-heidelberg.de/savifadok/Icons/savifadokpublikation.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.707999</LONGITUDE><LATITUDE>49.409922</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://archiv.ub.uni-heidelberg.de/savifadok/?la=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>UniversitÃ¤t Heidelberg</REPOSITORY_INSTITUTION><ADMIN_INFO>merkel@sai.uni-heidelberg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://archiv.ub.uni-heidelberg.de/savifadok/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>187</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo100.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo100.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo100.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-cd6f8690-aaa4-41df-9761-73156073cb6d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-10T14:36:16+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>DORAS</OFFICIAL_NAME><ENGLISH_NAME>DORAS</ENGLISH_NAME><ICON_URI>http://doras.dcu.ie/images/banner_right.jpg</ICON_URI><COUNTRY>IE</COUNTRY><LOCATION><LONGITUDE>-6.225</LONGITUDE><LATITUDE>53.386</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://doras.dcu.ie/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Dublin City University</REPOSITORY_INSTITUTION><ADMIN_INFO>doras@dcu.ie</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://doras.dcu.ie/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>759</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo96.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo96.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo96.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-b12a5da0-6e51-461e-bcce-15e033a088da_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-28T09:49:04+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Publikationer från Uppsala universitet</OFFICIAL_NAME><ENGLISH_NAME>Publications from Uppsala University</ENGLISH_NAME><ICON_URI>http://epc.ub.uu.se/uu_img/uulogo_white.gif</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>17.634483</LONGITUDE><LATITUDE>59.86196</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://publications.uu.se/?lang=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Uppsala University</REPOSITORY_INSTITUTION><ADMIN_INFO>diva-support@ub.uu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.diva-portal.org/oai/uu/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3979</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo98.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo98.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo98.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-b49377b0-3097-4c5d-89e8-17f93f24bfaa_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-04T15:14:17+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software </TYPOLOGY><OFFICIAL_NAME>Alma Mater Digital Library</OFFICIAL_NAME><ENGLISH_NAME>Alma Mater Digital Library</ENGLISH_NAME><ICON_URI>http://diglib.cib.unibo.it/images/logo_unibo.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.353</LONGITUDE><LATITUDE>44.497</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://diglib.cib.unibo.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universita di Bologna</REPOSITORY_INSTITUTION><ADMIN_INFO>fmorroia@cib.unibo.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://diglib.cib.unibo.it/oai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>121</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo106.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo106.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo106.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="32-ad524f6b-8af8-468f-933c-46cc5eae4d03_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-18T21:13:43+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>ePub WU</OFFICIAL_NAME><ENGLISH_NAME>ePub WU</ENGLISH_NAME><ICON_URI>http://epub.wu-wien.ac.at/images/ePub_logo_klein.jpg</ICON_URI><COUNTRY>AT</COUNTRY><LOCATION><LONGITUDE>16.357</LONGITUDE><LATITUDE>48.230</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://epub.wu-wien.ac.at/english/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>VIENNA UNIVERSITY OF ECONOMICS AND BUSINESS ADMINISTRATION</REPOSITORY_INSTITUTION><ADMIN_INFO>hahsler@ai.wu-wien.ac.at</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://epub.wu-wien.ac.at/dyn/OAI/oaicgi.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>812</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo141.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo141.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo141.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="5-cc2024c2-b9c3-433d-849a-00c5c42e3d47_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-12T11:08:47+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>The Depot</OFFICIAL_NAME><ENGLISH_NAME>The Depot</ENGLISH_NAME><ICON_URI>http://www.depot.edina.ac.uk/images/newlogo_solidbackground.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-3.176015</LONGITUDE><LATITUDE>55.921585</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.depot.edina.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>JISC</REPOSITORY_INSTITUTION><ADMIN_INFO>Ian.Stuart@ed.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://deposit.depot.edina.ac.uk/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>67</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo108.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo108.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo108.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="34-14d29372-09cf-4b5d-95cd-39bb6a4db09c_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-06T11:25:26+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>fedOA</OFFICIAL_NAME><ENGLISH_NAME>fedOA</ENGLISH_NAME><ICON_URI>http://www.fedoa.unina.it/due.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>14.341</LONGITUDE><LATITUDE>40.811</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.fedoa.unina.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Naples Federico II</REPOSITORY_INSTITUTION><ADMIN_INFO>nicastro@unina.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.fedoa.unina.it/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2046</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo145.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo145.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo145.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="63-29890ff5-6ec4-4e97-9dab-6e6cc19eeb3d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T18:14:54+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Opus</TYPOLOGY><OFFICIAL_NAME>PsyDok, Psychologie Open Access Server der Saarlaendischen Universitaets- und Landesbibliothek</OFFICIAL_NAME><ENGLISH_NAME>PsyDok: Volltextserver der Virtuellen Fachbibliothek Psychologie (Host: Saarland Univ.)</ENGLISH_NAME><ICON_URI>http://psydok.sulb.uni-saarland.de/Icons/psy.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>6.9982</LONGITUDE><LATITUDE>49.23</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://psydok.sulb.uni-saarland.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:psydok@sulb.uni-saarland.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://psydok.sulb.uni-saarland.de/phpoai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT><FORMAT>oai_pp</FORMAT><FORMAT>xMetaDiss</FORMAT></FORMATS><SETS><SET>Library and information sciences</SET><SET>Psychology</SET><SET>Social sciences</SET><SET>General statistics</SET><SET>Law</SET><SET>Education</SET><SET>Medical sciences Medicine</SET><SET>The arts</SET><SET>Athletic and outdoor sports and games</SET><SET>Article</SET><SET>Book</SET><SET>InBook</SET><SET>InProceedings</SET><SET>Journal</SET><SET>Lecture</SET><SET>MastersThesis</SET><SET>Misc</SET><SET>Preprint</SET><SET>Proceedings</SET><SET>ResearchPaper</SET><SET>Teaching Material</SET><SET>TechReport</SET><SET>Text.Thesis.Bachelor</SET><SET>Text.Thesis.Doctoral</SET><SET>Text.Thesis.Habilitation</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1633</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/NameBasedResourceKindResolverTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/NameBasedResourceKindResolverTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/is/registry/NameBasedResourceKindResolverTest.java	(revision 47801)
@@ -0,0 +1,41 @@
+package eu.dnetlib.enabling.is.registry;
+
+
+import static org.junit.Assert.*;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test the name based resource kind resolver.
+ * 
+ * @author marko
+ *
+ */
+public class NameBasedResourceKindResolverTest {
+
+	/**
+	 * instance under test.
+	 */
+	private NameBasedResourceKindResolver resolver;
+	
+	@Before
+	public void setUp() throws Exception {
+		resolver = new NameBasedResourceKindResolver();
+	}
+	
+	@Test
+	public void testService() throws XPathExpressionException {
+		assertEquals("ServiceResources", resolver.getNormalKindForType("MyNewServiceResourceType"));
+		assertEquals("PendingServiceResources", resolver.getPendingKindForType("MyNewServiceResourceType"));
+	}
+	
+	@Test
+	public void testGeneric() throws XPathExpressionException {
+		assertEquals("MyNewResources", resolver.getNormalKindForType("MyNewResourceType"));
+		assertEquals("PendingDSResources", resolver.getPendingKindForType("MyNewResourceType"));
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo104.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo104.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo104.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="3-0c5284d4-37d8-4165-bbe2-059cb289dab7_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-01-22T13:46:12+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>Wageningen University and Researchcenter Publications</OFFICIAL_NAME><ENGLISH_NAME>Wageningen University and Researchcenter Publications</ENGLISH_NAME><ICON_URI/><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.6609</LONGITUDE><LATITUDE>51.964</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE/><REPOSITORY_INSTITUTION/><ADMIN_INFO>servicedesk.library@wur.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://library.wur.nl/oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>collexis</FORMAT><FORMAT>wever</FORMAT><FORMAT>dare_didl</FORMAT></FORMATS><SETS><SET>Publicly available objects</SET><SET>Keur der wetenschap</SET><SET>Distributed Africana Repositories Community</SET><SET>Wiskunde</SET><SET>Wiskunde (algemeen)</SET><SET>Toegepaste wiskunde</SET><SET>Wiskundige modellen</SET><SET>Statistiek</SET><SET>Statistiek (algemeen)</SET><SET>Ontwerp van proeven</SET><SET>Toegepaste statistiek</SET><SET>Fysica</SET><SET>Fysica (algemeen)</SET><SET>Biofysica</SET><SET>Biofysica (algemeen)</SET><SET>Meteorologie</SET><SET>Meteorologie (algemeen)</SET><SET>Klimatologie</SET><SET>Klimaatverandering</SET><SET>Chemie (algemeen)</SET><SET>Chemie</SET><SET>Organische chemie</SET><SET>Fysische chemie</SET><SET>Kollod en oppervlaktechemie</SET><SET>Biochemie</SET><SET>Eiwitten en enzymen</SET><SET>Biologie</SET><SET>Celbiologie</SET><SET>Evolutie en fylogenie</SET><SET>Biosystematiek</SET><SET>Moleculaire biologie</SET><SET>Moleculaire biologie (algemeen)</SET><SET>Moleculaire plantenbiologie</SET><SET>Genetische modificatie</SET><SET>Genetica</SET><SET>Genetica (algemeen)</SET><SET>Cytogenetica</SET><SET>Moleculaire genetica</SET><SET>Kwantitatieve- en populatiegenetica</SET><SET>Biotechnologie</SET><SET>Bioveiligheid, risico-evaluatie</SET><SET>Bioinformatica</SET><SET>Bioinformatica (algemeen)</SET><SET>Genoominformatica</SET><SET>Proteomics</SET><SET>Microbiologie</SET><SET>Microbiologie (algemeen)</SET><SET>Virologie</SET><SET>Bacteriologie</SET><SET>Industrile microbiologie</SET><SET>Landbouw</SET><SET>Landbouw (algemeen)</SET><SET>Landbouwsystemen</SET><SET>Landgebruikssystemen</SET><SET>Bedrijfssystemen</SET><SET>Agro-ecosystemen</SET><SET>Alternatieve Landbouw</SET><SET>Ecologische landbouw</SET><SET>Geneeskunde</SET><SET>Humane fysiologie en anatomie</SET><SET>Epidemiologie</SET><SET>Communicatie</SET><SET>Communicatie (algemeen)</SET><SET>Communicatieprocessen</SET><SET>Publiceren</SET><SET>Bibliotheken</SET><SET>Bibliotheken (algemeen)</SET><SET>Sociologie</SET><SET>Sociologie (algemeen)</SET><SET>Rurale samenleving</SET><SET>Agrarische sociologie</SET><SET>Gezinssociologie</SET><SET>Rampenstudies</SET><SET>Rampenstudies (algemeen)</SET><SET>Seksen en hun onderlinge verhoudingen</SET><SET>Seksen en hun onderlinge verhoudingen (algemeen)</SET><SET>Rurale vrouwen</SET><SET>Recreatie, toerisme</SET><SET>Recreatie, toerisme (algemeen)</SET><SET>Onderwijs</SET><SET>Onderwijs (algemeen)</SET><SET>Didactiek</SET><SET>Economie</SET><SET>Economie (algemeen)</SET><SET>Economische voorwaarden, ontwikkeling en structuur</SET><SET>Economische beleid</SET><SET>Milieu-economie</SET><SET>Ontwikkelingsstudies</SET><SET>Ontwikkelingsstudies (algemeen)</SET><SET>Ontwikkelingseconomie</SET><SET>Plattelandsontwikkeling</SET><SET>Voedselvoorzieningsbeleid</SET><SET>Voedselzekerheid</SET><SET>Ontwikkelingssociologie</SET><SET>Agrarische economie</SET><SET>Agrarische economie (algemeen)</SET><SET>Landbouwbeleid</SET><SET>Agrarische bedrijfsvoering</SET><SET>Agrarische bedrijfseconomie</SET><SET>Huishoudkunde</SET><SET>Huishoudkunde (algemeen)</SET><SET>Management, bedrijfskunde, organisatiekunde</SET><SET>Management studies</SET><SET>Bedrijfskunde</SET><SET>Kwaliteitszorg</SET><SET>Beheer van productieketens</SET><SET>Logistiek</SET><SET>Operationeel onderzoek</SET><SET>Bedrijfseconomie</SET><SET>Marketing</SET><SET>Marketing (algemeen)</SET><SET>Marketing-onderzoek</SET><SET>Consumentenstudies</SET><SET>Consumentenstudies (algemeen)</SET><SET>Consumentengedrag</SET><SET>Economie m.b.t. consumenten</SET><SET>Recht</SET><SET>Recht (algemeen)</SET><SET>Openbaar bestuur</SET><SET>Openbaar bestuur (algemeen)</SET><SET>Filosofie</SET><SET>Filosofie (algemeen)</SET><SET>Filosofische stelsels</SET><SET>Ethiek, bio-ethiek</SET><SET>Sociale filosofie</SET><SET>Economische, sociale en cultuurgeschiedenis</SET><SET>Rurale geschiedenis</SET><SET>Innovatiestudies</SET><SET>Innovatiestudies (algemeen)</SET><SET>Techniek</SET><SET>Techniek (algemeen)</SET><SET>Werktuigbouwkunde en elektrotechniek</SET><SET>Meet- en regeltechniek</SET><SET>Energie</SET><SET>Windenergie</SET><SET>Milieutechnologie</SET><SET>Afvalverwerking</SET><SET>Afvalwaterbehandeling</SET><SET>Informatie- en communicatietechnologie</SET><SET>Informatie- en communicatietechnologie (algemeen)</SET><SET>Landbouwtechniek</SET><SET>Landbouwtechniek (algemeen)</SET><SET>Landbouwbedrijfsgebouwen en landbouwinstallaties</SET><SET>Mechanisatie</SET><SET>Levensmiddelen- en bioproceskunde</SET><SET>Levensmiddelen- en bioproceskunde (algemeen)</SET><SET>Membraantechnologie</SET><SET>(Bio)reactorkunde</SET><SET>Procescontrolesystemen</SET><SET>Levensmiddelentechnologie</SET><SET>Levensmiddelentechnologie (algemeen)</SET><SET>Levensmiddelenfysica</SET><SET>Levensmiddelenchemie</SET><SET>Levensmiddelenmicrobiologie</SET><SET>Bewaring, verpakking en opslag van levensmiddelen</SET><SET>Bewaring van levensmiddelen</SET><SET>Kwaliteit van levensmiddelen, voedselveiligheid</SET><SET>Productontwikkeling van levensmiddelen</SET><SET>Nieuwe voedingsmiddelen</SET><SET>Humane voeding</SET><SET>Humane voeding (algemeen)</SET><SET>Humane voeding en gezondheid</SET><SET>Toxicologie</SET><SET>Toxicologie (algemeen)</SET><SET>Milieutoxicologie, ecotoxicologie</SET><SET>Milieuwetenschappen</SET><SET>Milieuwetenschappen (algemeen)</SET><SET>Remote sensing en Geografische Informatiesystemen</SET><SET>Remote sensing</SET><SET>Geografische informatiesystemen</SET><SET>Ruimtelijke ordening</SET><SET>Ruimtelijke ordening (algemeen)</SET><SET>Landgebruiksplanning</SET><SET>Landschapsarchitectuur</SET><SET>Landschapsarchitectuur (algemeen)</SET><SET>Geologie</SET><SET>Geologie (algemeen)</SET><SET>Bodemkunde</SET><SET>Bodemkunde (algemeen)</SET><SET>Bodemchemie</SET><SET>Bodemfysica</SET><SET>Bodemclassificatie</SET><SET>Landevaluatie</SET><SET>Grondbewerking</SET><SET>Bodemdegradatie en bodembescherming</SET><SET>Erosie</SET><SET>Bodemvruchtbaarheid</SET><SET>Bodembiologie</SET><SET>Landinrichting</SET><SET>Landinrichting (algemeen)</SET><SET>Waterbeheer</SET><SET>Waterbeheer (algemeen)</SET><SET>Hydrologie</SET><SET>Grondwaterhydrologie</SET><SET>Agrohydrologie</SET><SET>Irrigatie</SET><SET>Waterkwaliteit</SET><SET>Milieubeheer</SET><SET>Milieubeheer (algemeen)</SET><SET>Milieusystemen, milieusysteemanalyse</SET><SET>Milieubeleid</SET><SET>Milieuverontreiniging</SET><SET>Bodemverontreiniging</SET><SET>Natuurbeheer</SET><SET>Natuurbeheer (algemeen)</SET><SET>Natuurbescherming</SET><SET>Biodiversiteit</SET><SET>Ecologie</SET><SET>Ecologie (algemeen)</SET><SET>Aquatische ecologie</SET><SET>Bosbouw</SET><SET>Bosbouw (algemeen)</SET><SET>Bosecologie</SET><SET>Bosteelt</SET><SET>Bosbeheer</SET><SET>Bosbeleid</SET><SET>Botanie</SET><SET>Botanische technieken</SET><SET>Plantentaxonomie</SET><SET>Plantencelbiologie</SET><SET>Plantenontwikkeling</SET><SET>Plantenfysiologie</SET><SET>Fotosynthese</SET><SET>Plantengroei</SET><SET>Plantenecologie</SET><SET>Vegetatieonderzoek</SET><SET>Biologie van bacterin, schimmels en planten</SET><SET>Prokaryoten</SET><SET>Cyanobacterin</SET><SET>Schimmels</SET><SET>Gewaswetenschappen</SET><SET>Gewaswetenschappen (algemeen)</SET><SET>Tuinbouw</SET><SET>Plantaardige productiesystemen</SET><SET>Landbouwplantenteelt</SET><SET>Onkruidkunde</SET><SET>Onkruidkunde (algemeen)</SET><SET>Plantenveredeling- en genetica</SET><SET>Plantenveredeling en -genetica (algemeen)</SET><SET>Plantenveredeling, selectiemethoden</SET><SET>Resistentieveredeling</SET><SET>Plantenziekten, -plagen en afwijkingen</SET><SET>Plantenziekten, -plagen en -afwijkingen (algemeen)</SET><SET>Gastheer parasiet relaties</SET><SET>Symptomen van plantenziekten en -plagen</SET><SET>Landbouwkundige bacteriologie</SET><SET>Landbouwkundige bacteriologie (algemeen)</SET><SET>Landbouwkundige virologie (algemeen)</SET><SET>Plantenvirussen</SET><SET>Virussen van ongewervelden</SET><SET>Landbouwkundige mycologie</SET><SET>Landbouwkundige mycologie (algemeen)</SET><SET>Landbouwkundige nematologie</SET><SET>Landbouwkundige nematologie (algemeen)</SET><SET>Plantenparasitaire nematoden</SET><SET>Landbouwkundige entomologie en acaralogie</SET><SET>Landbouwkundige entomologie en acaralogie (algemeen)</SET><SET>Landbouwkundige entomologie</SET><SET>Ecologische entomologie</SET><SET>Fysiologische entomologie</SET><SET>Plant- en gewasbescherming</SET><SET>Plant- en gewasbescherming (algemeen)</SET><SET>Biologische bestrijding</SET><SET>Zooelogie</SET><SET>Zooelogie (algemeen)</SET><SET>Dierlijke ontwikkeling en levenscyclus</SET><SET>Dierfysiologie en -biochemie</SET><SET>Voortplanting en vruchtbaarheid</SET><SET>Fysiologie van de diervoeding</SET><SET>Stressfysiologie en adaptatie</SET><SET>Immunologie</SET><SET>Diergedrag en ethologie</SET><SET>Dierecologie</SET><SET>Biologie van diertaxonomische groepen</SET><SET>Insecta</SET><SET>Pisces</SET><SET>Diergeneeskunde</SET><SET>Diergeneeskunde (algemeen)</SET><SET>Dierpathologie</SET><SET>Infectieziekten</SET><SET>Veterinaire epidemiologie</SET><SET>Dierhouderij</SET><SET>Dierhouderij (algemeen)</SET><SET>Huisvesting, management en verzorging van dieren</SET><SET>Gezondheid en welzijn van dieren</SET><SET>Fokkerij en genetica</SET><SET>Fokkerij en genetica (algemeen)</SET><SET>Fokmethoden en voortplanting</SET><SET>Diervoeding en -voedering</SET><SET>Diervoeding en -voedering (algemeen)</SET><SET>Dierlijke productiesystemen</SET><SET>Dierlijke productiesystemen (algemeen)</SET><SET>Aquacultuur en visserij</SET><SET>Aquacultuur en visserij (algemeen)</SET><SET>Aquacultuur</SET><SET>Visserij</SET><SET>Landbouwhuisdieren en dieren in gevangenschap</SET><SET>Landbouwhuisdieren en dieren in gevangenschap (algemeen)</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>15136</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ServiceRegistratorTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ServiceRegistratorTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/ServiceRegistratorTest.java	(revision 47801)
@@ -0,0 +1,148 @@
+package eu.dnetlib.enabling.tools.registration;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+
+import javax.xml.namespace.QName;
+
+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 org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.endpoint.ServerImpl;
+import org.apache.cxf.jaxws.EndpointImpl;
+import org.apache.cxf.service.Service;
+import org.apache.cxf.service.model.EndpointInfo;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.Ignore;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+
+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.soap.cxf.CxfEndpointReferenceBuilder;
+import eu.dnetlib.soap.cxf.JaxwsEndpointReferenceBuilder;
+
+/**
+ * ServiceRegistrator test.
+ *
+ * @author marko
+ *
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class ServiceRegistratorTest {
+	/**
+	 * instance under test.
+	 */
+	private transient ServiceRegistrator registrator;
+
+	/**
+	 * service mock.
+	 */
+	@Mock
+	private transient Service service;
+
+	/**
+	 * endpoint info mock.
+	 */
+	@Mock
+	private transient EndpointInfo endpointInfo;
+
+	/**
+	 * endpoint mock.
+	 */
+	@Mock
+	private transient Endpoint endpoint;
+
+	/**
+	 * registry service mock.
+	 */
+	@Mock
+	private transient ISRegistryService registryService;
+
+	/**
+	 * isLookup service mock.
+	 */
+	@Mock
+	private transient ISLookUpService isLookUpService;
+
+	/**
+	 * jaxws endpoint mock.
+	 */
+	@Mock
+	private transient EndpointImpl jaxwsEndpoint;
+
+	/**
+	 * cxf server mock.
+	 */
+	@Mock
+	private transient ServerImpl server;
+
+	/**
+	 * hnm locator mock.
+	 */
+	@Mock
+	private transient HNMLocator hnmLocator;
+	@Mock
+	private UniqueServiceLocator serviceLocator;
+
+	/**
+	 * setup common stuff.
+	 *
+	 */
+    @Before
+	public void disabled() throws ISLookUpException {
+	     final String service = "TestService";
+	     when(this.service.getName()).thenReturn(new QName("http://my.test", service));
+
+		when(endpoint.getEndpointInfo()).thenReturn(endpointInfo);
+		when(endpoint.getService()).thenReturn(this.service);
+		when(endpointInfo.getAddress()).thenReturn("http://localhost/something");
+		when(endpointInfo.getName()).thenReturn(new QName("http://my.test", "TestServiceEndpoint"));
+
+		when(jaxwsEndpoint.getServer()).thenReturn(server);
+		when(server.getEndpoint()).thenReturn(endpoint);
+
+		when(hnmLocator.getHNMForUrl("http://localhost/something")).thenReturn("555444");
+
+	    // serviceLocator.getService(ISLookUpService.class).getResourceTypeSchema(serviceName);
+
+	    when(isLookUpService.getResourceTypeSchema(service)).thenThrow(ISLookUpDocumentNotFoundException.class);
+
+	    when(serviceLocator.getService(ISLookUpService.class)).thenReturn(isLookUpService);
+		when(serviceLocator.getService(ISRegistryService.class, true)).thenReturn(registryService);
+		
+		
+		registrator = new ServiceRegistrator();
+		registrator.setServiceLocator(serviceLocator);
+
+		final CxfEndpointReferenceBuilder cxfEprBuilder = new CxfEndpointReferenceBuilder();
+
+		final JaxwsEndpointReferenceBuilder eprBuilder = new JaxwsEndpointReferenceBuilder();
+		eprBuilder.setBuilder(cxfEprBuilder);
+
+		registrator.setEprBuilder(eprBuilder);
+		registrator.setHnmLocator(hnmLocator);
+	}
+
+	/**
+	 * test register service.
+	 * @throws ISRegistryException shouldn't happen
+	 */
+	@Test
+    //@Ignore
+	public void testRegisterService() throws ISRegistryException {
+		when(registryService.insertProfileForValidation(eq("TestServiceResourceType"), anyString())).thenReturn("123");
+
+		final String rsId = registrator.registerService("TestService", jaxwsEndpoint);
+		assertEquals("registered", "123", rsId);
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo180.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo180.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo180.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="98-80d4d982-2040-4751-9c63-a5fe2a552198_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-16T13:00:17+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>TU Delft repository</OFFICIAL_NAME><ENGLISH_NAME>Delft Univ. of Technology: Delft Dissertations</ENGLISH_NAME><ICON_URI>http://www.library.tudelft.nl/consumption/groups/btudwebsite/documents/image/header1_logo_en_0.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.3663</LONGITUDE><LATITUDE>51.9945</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.library.tudelft.nl/dissertations/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>info@library.tudelft.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://repository.tudelft.nl/oai</BASE_URL><FORMATS><FORMAT>dare_didl</FORMAT><FORMAT>oai_dc</FORMAT><FORMAT>qdc</FORMAT></FORMATS><SETS><SET>DARE harvesting</SET><SET>TU Delft selected scientists</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>11083</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameResolverCompatibilityTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameResolverCompatibilityTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/registration/InterfaceServiceNameResolverCompatibilityTest.java	(revision 47801)
@@ -0,0 +1,56 @@
+package eu.dnetlib.enabling.tools.registration;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import eu.dnetlib.enabling.is.store.ISStoreServiceImpl;
+
+/**
+ * compatibility interface service name tester.
+ * @author marko
+ *
+ */
+public class InterfaceServiceNameResolverCompatibilityTest {
+
+	/**
+	 * instance under test.
+	 */
+	private transient InterfaceServiceNameResolverCompatibility resolver;
+	
+	/**
+	 * setup. 
+	 */
+	@Before
+	public void setUp() {
+		resolver = new InterfaceServiceNameResolverCompatibility();
+	
+	}
+
+	/**
+	 * test mapping without override.
+	 */
+	@Test
+	public void testGetName() {
+		assertEquals("check without override", "ISStoreService", resolver.getName(new ISStoreServiceImpl()));
+	}
+	
+	/**
+	 * test mapping override.
+	 */
+	@Test
+	public void testGetNameWithOverride() {
+		final Map<String, String> mapping = new HashMap<String, String>();
+		mapping.put("ISStoreService", "IS_StoreService");
+		resolver.setMapping(mapping);	
+		
+		assertEquals("check is store service name", "IS_StoreService", resolver.getName(new ISStoreServiceImpl()));
+	}
+	
+	
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo149.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo149.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo149.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="6-636a3541-c134-4243-8160-025757e6bc88_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-10T11:26:42+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at UGent</OFFICIAL_NAME><ENGLISH_NAME>Gent Univ.: ePrints</ENGLISH_NAME><ICON_URI>http://admin.driver.research-infrastructures.eu/images/repositoryLogos/logo-boekentoren.png</ICON_URI><COUNTRY>BE</COUNTRY><LOCATION><LONGITUDE>3.7286</LONGITUDE><LATITUDE>51.0556</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>https://archive.ugent.be/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>libservice@ugent.be</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://archive.ugent.be/oai/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET><SET>Faculty of Agricultural and Applied Biological Sciences (LA)</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5028</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo21.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo21.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo21.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="11-d69475a8-5538-49c1-b60c-5405d7b4aafe_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-08-25T10:42:01+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DigitalCommons</TYPOLOGY><OFFICIAL_NAME>ARROW@DIT</OFFICIAL_NAME><ENGLISH_NAME>ARROW@DIT</ENGLISH_NAME><ICON_URI>http://arrow.dit.ie/assets/md5images/d4c03b1a4a29a793a35d4017c4d63ccb.gif</ICON_URI><COUNTRY>IE</COUNTRY><LOCATION><LONGITUDE>-6.280381</LONGITUDE><LATITUDE>53.35139666</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://arrow.dit.ie/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Dublin Institute of Technology</REPOSITORY_INSTITUTION><ADMIN_INFO>yvonne.desmond@dit.ie</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://arrow.dit.ie/cgi/oai2.cgi</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>401</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo25.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo25.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo25.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="12-48aa0e11-f048-4b58-8b14-d97d714fece1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-03T11:34:18+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>BiPrints</OFFICIAL_NAME><ENGLISH_NAME>BiPrints</ENGLISH_NAME><ICON_URI>http://www.ub.uni-bielefeld.de/graphics/ubneu/BiPrints_gruen.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.494706153869629</LONGITUDE><LATITUDE>52.037656647947244</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://repositories.ub.uni-bielefeld.de/biprints/index.php?la=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Bielefeld University</REPOSITORY_INSTITUTION><ADMIN_INFO>tobias.tappe@uni-bielefeld.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://repositories.ub.uni-bielefeld.de/escholarship/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>859</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo62.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo62.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo62.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="20-1753e59e-5c83-42b1-be5b-7fd4c674ba4e_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-02T11:51:58+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Bologna - IMM Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Bologna - IMM Repository</ENGLISH_NAME><ICON_URI>http://www.imm.cnr.it/artwork/header_green_3_left.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.30</LONGITUDE><LATITUDE>44.53</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrpConf/cnr_immbo-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institute for Microelectronics and Microsystems - CNR Bologna</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/blackboard/BlackboardMessageImplTest.java
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/blackboard/BlackboardMessageImplTest.java	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/java/eu/dnetlib/enabling/tools/blackboard/BlackboardMessageImplTest.java	(revision 47801)
@@ -0,0 +1,62 @@
+package eu.dnetlib.enabling.tools.blackboard;
+
+
+import static org.junit.Assert.assertEquals;
+
+import javax.xml.bind.JAXBException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Test;
+
+import eu.dnetlib.miscutils.jaxb.JaxbFactory;
+
+/**
+ * Jaxb Blackboard message implementation test.
+ * 
+ * @author marko
+ *
+ */
+public class BlackboardMessageImplTest {
+
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(BlackboardMessageImplTest.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	/**
+	 * test message (de)serialization.
+	 * 
+	 * @throws JAXBException could happen
+	 */
+	@Test
+	public void testMessage() throws JAXBException {
+		final JaxbFactory<BlackboardMessage> factory = new JaxbFactory<BlackboardMessage>(BlackboardMessageImpl.class);
+		
+		final BlackboardMessage message = factory.newInstance();
+		message.setAction("FEED");
+		message.setActionStatus(ActionStatus.ONGOING);
+		message.setId("12");
+		message.setDate("5123");
+		
+		final BlackboardParameter param1 = new BlackboardParameterImpl();
+		param1.setName("someName");
+		param1.setValue("someValue");
+		message.getParameters().add(param1);
+		
+		final BlackboardParameter param2 = new BlackboardParameterImpl();
+		param2.setName("otherName");
+		param2.setValue("otherValue");
+		message.getParameters().add(param2);
+
+		final String serialized = factory.serialize(message);
+		log.info(serialized);
+		
+		final BlackboardMessage res = factory.parse(serialized);
+		log.info(res.getParameters());
+		
+		assertEquals("list serialization", 2, res.getParameters().size());
+		assertEquals("enum serialization", ActionStatus.ONGOING, res.getActionStatus());
+	}
+
+}
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo23.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo23.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo23.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="120-7d809e14-8c8e-4b6c-a77c-fab4ec266270_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-16T19:43:30+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>University Digital Archive of the University of Groningen, The Netherlands.</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Groningen: DARE</ENGLISH_NAME><ICON_URI>http://dspace.ou.nl/dspace-oai/request</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>6.5666</LONGITUDE><LATITUDE>53.2167</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>https://dspace.ub.rug.nl</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>report.db@ub.rug.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://ir.ub.rug.nl/oai/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Dissertations</SET><SET>Proceedings repository</SET><SET>Electronic publications Faculty of Arts</SET><SET>SOM electronic reports</SET><SET>Electronic documents of the Faculty of Law</SET><SET>Cream of Science of Groningen</SET><SET>Energy and Environmental Sciences</SET><SET>N.V. Nederlandse Gasunie</SET><SET>Stratingh Institute</SET><SET>Publications ICS</SET><SET>DNPP: Documentation center for Dutch Political Parties</SET><SET>Faculty Economics, Management &amp; Organization and Spatial Sciences</SET><SET>Inaugural lectures</SET><SET>Science Shops</SET><SET>GGDC: Groningen Growth &amp; Development Centre</SET><SET>Zernike Institute for Advanced Materials</SET><SET>Theologie</SET><SET>CCSO: Centre for Economic Research</SET><SET>CDS: Centre for Development Studies</SET><SET>COELO: Centrum voor Onderzoek van de Economie van de Lagere Overheden</SET><SET>URSI: Urban and Regional Studies Institute</SET><SET>PRC: Population Research Centre</SET><SET>Library RUG</SET><SET>GBB: Groningen Biomolecular Sciences and Biotechnology Institute</SET><SET>Astronomy University of Groningen</SET><SET>Adamsappel</SET><SET>GMW: Behavioural and Social Sciences</SET><SET>De Digitale zadenatlas van Nederland / The Digital Seed Atlas of the Netherlands</SET><SET>DNPP: Partij- en verkiezingsaffiches</SET><SET>Pictogram</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>6218</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo66.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo66.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo66.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-0df77128-3ce5-4cf5-97a6-614cb77cf814_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T20:44:12+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Royal Holloway Research Online</OFFICIAL_NAME><ENGLISH_NAME>Univ. of London, Royal Holloway: Research Online</ENGLISH_NAME><ICON_URI>http://www.rhul.ac.uk/information-services/library/images/rheprints.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.5469</LONGITUDE><LATITUDE>51.43</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.rhul.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:eprints@rhul.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.rhul.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1015</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo27.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo27.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo27.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="126-af12c865-e8f8-4d75-8801-f19be9a89b1b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-07T18:03:14+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>Universitaet Stuttgart</OFFICIAL_NAME><ENGLISH_NAME>Publication Server of the University of Stuttgart</ENGLISH_NAME><ICON_URI>http://elib.uni-stuttgart.de/img/institutmitlogo.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.18333</LONGITUDE><LATITUDE>48.7667</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://elib.uni-stuttgart.de/opus/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>reportadm@informatik.uni-stuttgart.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://elib.uni-stuttgart.de/opus/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Computer Science: Technical Report</SET><SET>Computer Science: Doctoral Thesis, Postdoctoral Qualification</SET><SET>Computer Science: Master Thesis, Diploma Thesis</SET><SET>Computer Science: Student Thesis</SET><SET>Computer Science: Practical Course, Presentation, Seminar Paper, Lecture Script</SET><SET>Computer Science: Article in Journal</SET><SET>Computer Science: Article in Proceedings</SET><SET>Computer Science: Article in Book or Article in Collection of Papers</SET><SET>Computer Science: Book, Proceedings, Collection of Papers</SET><SET>Computer Science: Miscellaneous (Media, etc.)</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3580</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo150.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo150.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo150.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="68-c8fb4d94-b131-4e15-bfd3-12a1971cc8a1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-25T14:21:09+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>TARA</OFFICIAL_NAME><ENGLISH_NAME>TARA</ENGLISH_NAME><ICON_URI>http://www.tara.tcd.ie/image/tcd_top.gif</ICON_URI><COUNTRY>IE</COUNTRY><LOCATION><LONGITUDE>-6.258</LONGITUDE><LATITUDE>53.345</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tara.tcd.ie/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Dublin University, Trinity College</REPOSITORY_INSTITUTION><ADMIN_INFO>nbrennan@tcd.ie</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tara.tcd.ie/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7230</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo68.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo68.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo68.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-1060dfb7-1242-41af-92ea-ebdb69b68163_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-05-23T08:46:05+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>ePrints.FRI</OFFICIAL_NAME><ENGLISH_NAME>ePrints.FRI</ENGLISH_NAME><ICON_URI>http://eprints.fri.uni-lj.si/images/fri.png</ICON_URI><COUNTRY>SI</COUNTRY><LOCATION><LONGITUDE>14.505965</LONGITUDE><LATITUDE>46.051426</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.fri.uni-lj.si/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Faculty of Computer and Information Science (FRI), University of Ljubljana, Slovenia.</REPOSITORY_INSTITUTION><ADMIN_INFO>Miha.Peternel@fri.uni-lj.si</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.fri.uni-lj.si/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>217</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo29.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo29.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo29.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="12-afa72495-1ef7-4864-ae38-f5353b42f88e_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-10T13:34:38+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpaceUnipr - University of Parma</OFFICIAL_NAME><ENGLISH_NAME>DspaceUnipr - University of Parma</ENGLISH_NAME><ICON_URI>http://dspace-unipr.cilea.it/image/unipr.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>10.33</LONGITUDE><LATITUDE>44.80</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace-unipr.cilea.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Parma</REPOSITORY_INSTITUTION><ADMIN_INFO>fabrizia.bevilacqua@unipr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace-unipr.cilea.it/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>481</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo84.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo84.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo84.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="26-93ce3b45-0175-48d6-93b5-850ebc44bd9f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-25T10:47:07+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Doktori disszertációk</OFFICIAL_NAME><ENGLISH_NAME>Ph.D. dissertations</ENGLISH_NAME><ICON_URI>http://phd.lib.uni-corvinus.hu/images/logo.jpg</ICON_URI><COUNTRY>HU</COUNTRY><LOCATION><LONGITUDE>19.0523</LONGITUDE><LATITUDE>47.4974</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://phd.lib.uni-corvinus.hu</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Corvinus University Budapest</REPOSITORY_INSTITUTION><ADMIN_INFO>webmester-lib@uni-corvinus.hu</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://phd.lib.uni-corvinus.hu/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>298</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo113.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo113.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo113.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="3-570b2c7c-e4f8-449f-afb3-3374e31f16ae_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-13T21:39:21+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>eDoc Server Max Planck Institute for Plasma Physics</OFFICIAL_NAME><ENGLISH_NAME>eDoc Server Max Planck Institute for Plasma Physics</ENGLISH_NAME><ICON_URI>http://www.ipp.mpg.de/ippcms/de/images/logos/ippweblogo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>11.670434</LONGITUDE><LATITUDE>48.262956</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://edoc.mpg.de/search.epl</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Max-Planck-Institut fÃ¼r Plasmaphysik</REPOSITORY_INSTITUTION><ADMIN_INFO>vdm@zim.mpg.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://edoc.mpg.de/ac_ft_oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1016</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo2.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo2.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo2.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="102-b11d4543-2dbc-4a78-bd63-6049cff20b63_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-29T13:07:38+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Opus</TYPOLOGY><OFFICIAL_NAME>Publikationsserver der Universitaet Potsdam</OFFICIAL_NAME><ENGLISH_NAME>Publikationsserver der Universität Potsdam</ENGLISH_NAME><ICON_URI>http://opus.kobv.de/ubp/Icons/unilogo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>13.012</LONGITUDE><LATITUDE>52.40</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://opus.kobv.de/ubp/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Univ. Potsdam</REPOSITORY_INSTITUTION><ADMIN_INFO>schobert@uni-potsdam.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://opus.kobv.de/ubp/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2476</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo154.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo154.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo154.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="7-06d5bec7-5527-4cff-a67e-353114379065_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-14T20:38:57+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universidad de Cantabria: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Cantabria: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.793493</LONGITUDE><LATITUDE>43.472402</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad de Cantabria</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdr.cesca.es/TDR_UC/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>58</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo133.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo133.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo133.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="54-45842b0b-42a1-46c1-8b13-325dfea3b6b5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T18:03:07+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Doks</TYPOLOGY><OFFICIAL_NAME>Eindwerkensite Katholieke Hogeschool Kempen</OFFICIAL_NAME><ENGLISH_NAME>Doks @ KHK</ENGLISH_NAME><ICON_URI>http://doks2.khk.be/eindwerk/assets/img/logo.gif</ICON_URI><COUNTRY>BE</COUNTRY><LOCATION><LONGITUDE>4.881706</LONGITUDE><LATITUDE>51.136278</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://doks2.khk.be/eindwerk/do/folder/View?dispatch=info</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Katholieke Hogeschool Kempen</REPOSITORY_INSTITUTION><ADMIN_INFO>doks@khk.be</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://doks2.khk.be/eindwerk/oai</BASE_URL><FORMATS><FORMAT>dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>4049</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo115.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo115.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo115.xml	(revision 47801)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="3-6eab899a-b7ba-413c-b4b0-ecf26e928dd9_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-03T09:44:51+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Faenza - ISTEC Repository </OFFICIAL_NAME><ENGLISH_NAME>National Research Council Faenza - ISTEC Repository</ENGLISH_NAME><ICON_URI>http://www.istec.cnr.it/img/top01.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.88333</LONGITUDE><LATITUDE>44.28333</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrpConf/cnr_istec-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institute of Science and Technology for 
+Ceramics Faenza - CNR Torino</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>30</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo172.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo172.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo172.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="8-8c1fee46-3f16-41ab-8516-95361837000d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-29T16:43:07+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Fedora</TYPOLOGY><OFFICIAL_NAME>e-spacio UNED</OFFICIAL_NAME><ENGLISH_NAME>e-spacio UNED</ENGLISH_NAME><ICON_URI>http://e-spacio.uned.es/fez/images/escudo.gif/</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.73446</LONGITUDE><LATITUDE>40.44664</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://e-spacio.uned.es/fez/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>UNED</REPOSITORY_INSTITUTION><ADMIN_INFO>alopezm@pas.uned.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPuned</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>14150</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo119.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo119.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo119.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="4-01a7e487-a30c-41f7-91a7-a2d9b3400376_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T20:46:20+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>SOAS Eprints</OFFICIAL_NAME><ENGLISH_NAME>School of Oriental and African Studies Library: SOAS' Library Eprints Online Research Repository</ENGLISH_NAME><ICON_URI>http://www.soas.ac.uk/libfiles/soaseprintstitle.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.12</LONGITUDE><LATITUDE>51.52</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.soas.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:lib-eprints@soas.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.soas.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5457</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo117.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo117.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo117.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="38-f3e07f90-4a0d-4d46-a504-6b38ea0338d1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T21:17:19+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>Archimer, Archive Institutionnelle de l'Ifremer</OFFICIAL_NAME><ENGLISH_NAME>ArchiMer, Institutional Archive of Ifremer</ENGLISH_NAME><ICON_URI>http://www.ifremer.fr/docelec/imgborders/logo.gif</ICON_URI><COUNTRY>FR</COUNTRY><LOCATION><LONGITUDE>-4.4862</LONGITUDE><LATITUDE>48.3903</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ifremer.fr/docelec/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institut français de recherche pour l'exploitation de la mer</REPOSITORY_INSTITUTION><ADMIN_INFO>archimer-admin@ifremer.fr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.ifremer.fr/docelec/oai/OAIHandler</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3985</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo32.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo32.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo32.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-3b49deab-e92a-4e78-a7e1-caceb54d8ace_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-12T13:01:18+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>CDSware</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Infoscience</OFFICIAL_NAME><ENGLISH_NAME>Infoscience EPFL</ENGLISH_NAME><ICON_URI>http://www.epfl.ch/tools/label.php?s=22&amp;BG=99cccc&amp;FG=ffffff&amp;label=INFOSCIENCE</ICON_URI><COUNTRY>CH</COUNTRY><LOCATION><LONGITUDE>6.565963</LONGITUDE><LATITUDE>46.520371</LATITUDE><TIMEZONE>0.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://infoscience.epfl.ch/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>EPFL - Ecole Polytechnique Fédérale de Lausanne</REPOSITORY_INSTITUTION><ADMIN_INFO>infoscience@epfl.ch</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://infoscience.epfl.ch/oai2d/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>All sets</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>11047</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD><LAST_REQUEST/><LAST_RESPONSE/></BLACKBOARD></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo158.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo158.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo158.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="7-124de4a1-da7d-4e31-a82b-ac5a6b8c0680_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-23T16:18:54+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Pisa - IIT Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Pisa - IIT Repository</ENGLISH_NAME><ICON_URI>http://www.iit.cnr.it/english/images/top_banner.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>10.42</LONGITUDE><LATITUDE>43.71</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://puma.isti.cnr.it</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institute for Informatics and Telematics - CNR Pisa</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>194</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo73.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo73.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo73.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="22-39695699-4c02-49e4-ad1d-b6f20a6f311c_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T21:09:49+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Oxford Eprints</OFFICIAL_NAME><ENGLISH_NAME>Oxford Univ. Library Services: Oxford Eprints</ENGLISH_NAME><ICON_URI>http://www.lib.ox.ac.uk/images/crest/reverse-small.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.25</LONGITUDE><LATITUDE>51.75</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.ouls.ox.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:benjamin.osteen@sers.ox.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.ouls.ox.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>mets</FORMAT></FORMATS><SETS><SET>Status = In Press</SET><SET>Status = Published</SET><SET>Status = Unpublished</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: NON-CLINICAL: Pathology</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Clinical Laboratory Sciences</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Italic languages, i.e., Latin</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Chinese Studies</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: American Studies</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Psychology</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: European Studies</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Clinical Pharmacology</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: Library &amp; information sciences</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Human Genetics (Wellcome Trust Centre for Medical Oncology)</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: General history of other areas</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: English and Old English literature</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Botanical sciences</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Educational Studies</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES: Plant Sciences</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES: Geography</SET><SET>Subject = A.University of Oxford Departments: CONTINUING EDUCATION: Continuing Education</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Astronomy &amp; allied sciences</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Spanish &amp; Portuguese literatures</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES: Archaeology</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: NON-CLINICAL: Pharmacology</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Law</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Metaphysics</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Literatures of Romance languages</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Italian, Romanian, Rhaeto-Romanic languages</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES: Engineering Science</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: History of Art</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Modern History</SET><SET>Subject = A.University of Oxford Departments: ASUC (Academic Services): OULS</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: History of Medicine</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: Bibliographies &amp; catalogues</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Literatures of other languages</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: General history of Asia &amp; Far East</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Manufacture for specific uses</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Zoological sciences</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Judaism</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Molecular Medicine (Weatherall Institute)</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Chemical engineering</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Economics</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: General history of Europe</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Anaesthetics</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Photography &amp; photographs</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Plastic arts</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Law</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL</SET><SET>Subject = B.SHERPA Oxford Classification: Religion</SET><SET>Subject = B.SHERPA Oxford Classification: Language: English &amp; Old English</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Psychiatry</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Recreational &amp; performing arts</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Buddhism</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Ethics (Moral philosophy)</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Russian and East European Studies</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: News media, journalism, publishing</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Public administration</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Spanish &amp; Portuguese languages</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: Biography, genealogy, insignias</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: MATHEMATICAL SCIENCES</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Earth sciences</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Social Policy and Social Work</SET><SET>Subject = A.University of Oxford Departments: ASUC (Academic Services)</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Other languages</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Paediatrics</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Romance languages, i.e., French</SET><SET>Subject = A.University of Oxford Departments: CONTINUING EDUCATION</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Italian, Romanian, Rhaeto-Romanic</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Hellenic literatures, i.e., Classical Greek</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: General organisations &amp; museology</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: General statistics</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Religions of the Far East</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Islam</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Clinical Neurology</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Prehistoric and primitve religions</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Home economics &amp; family living</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Japanese Studies</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES: Materials</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Architecture</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Epistemology, causation, humankind</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: MATHEMATICAL SCIENCES: Statistics</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES: Zoology (including the Institute of Biological Anthropology)</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: English Language and Literature</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: Manuscripts &amp; rare books</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Politics and International Relations</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: General history of South America</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Physics</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Internet Institute</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Medical sciences</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Management Studies (Said Business School)</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Interdisciplinary Area Studies</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Linguistics</SET><SET>Subject = B.SHERPA Oxford Classification: Language</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Commerce, communications, transport</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Paleontology, Paleozoology</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES: Physics</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: History of the ancient world</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Clinical Medicine</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Drawing &amp; decorative arts</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Religions of the indian subcontinent. Hinduism, Jainism, Sihkism</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Ancient, medieval, Oriental philosophy</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: General history of North America</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: General history of Africa</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Logic</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Life Sciences</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Comparative Philology and General Linguistics and Phonetics</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Surgery</SET><SET>Subject = A.University of Oxford Departments: ASUC (Academic Services): OUCS</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Cardiovascular Medicine</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Management &amp; auxiliary services</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Italic literatures, i.e., Latin</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Germanic languages, i.e., German</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Graphic arts</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: General encyclopaedic works</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: African Studies</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Classics (including Classical Languages and Literature and Ancient History)</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Engineering &amp; allied sciences</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences)</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Ophthalmology</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Philosophy</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Sociology</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: NON-CLINICAL: Human Anatomy and Genetics</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: MATHEMATICAL SCIENCES: Mathematics</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: General serials &amp; their indexes</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Contemporary Chinese Studies</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Buildings</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Modern spiritual movements</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES: Biochemistry</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Civic &amp; landscape art</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Brazilian Studies</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: MATHEMATICAL SCIENCES: Computing Laboratory</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Development Studies (Queen Elizabeth House)</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Education</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Chemistry &amp; allied sciences</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES: Chemistry</SET><SET>Subject = B.SHERPA Oxford Classification: Language: Hellenic languages, i.e., Classical Greek</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Public Health and Primary Care</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: Literatures of Germanic languages</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: South Asian Studies</SET><SET>Subject = B.SHERPA Oxford Classification</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Social services; associations</SET><SET>Subject = A.University of Oxford Departments: LIFE AND ENVIRONMENTAL SCIENCES: Anthropology</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Music</SET><SET>Subject = B.SHERPA Oxford Classification: Natural Sciences &amp; Mathematics: Mathematics</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Customs, etiquette, folklore</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Obstetrics and Gynaecology</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: NON-CLINICAL: Physiology</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Theology</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Christianity</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Specific philosophical schools</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: CLINICAL: Orthopaedic Surgery</SET><SET>Subject = B.SHERPA Oxford Classification: Literature &amp; Rhetoric: American literature in English</SET><SET>Subject = B.SHERPA Oxford Classification: Social Sciences: Political science</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Paranormal phenomena</SET><SET>Subject = B.SHERPA Oxford Classification: Philosophy &amp; Psychology: Modern Western philosophy</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Agriculture</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Music</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES: Earth Sciences</SET><SET>Subject = B.SHERPA Oxford Classification: Religion: Religions of antiquity. Minor cults and religions</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: NON-CLINICAL: Experimental Psychology</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Medieval and Modern Languages</SET><SET>Subject = B.SHERPA Oxford Classification: Generalities: General collections</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Latin American Studies</SET><SET>Subject = A.University of Oxford Departments: SOCIAL SCIENCES: Economics</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Ruskin School of Drawing and Fine Art</SET><SET>Subject = A.University of Oxford Departments: MATHEMATICAL AND PHYSICAL SCIENCES: PHYSICAL SCIENCES: Astrophysics</SET><SET>Subject = A.University of Oxford Departments: HUMANITIES: Oriental Studies</SET><SET>Subject = A.University of Oxford Departments</SET><SET>Subject = B.SHERPA Oxford Classification: Technology (Applied Sciences): Manufacturing</SET><SET>Subject = A.University of Oxford Departments: MEDICAL SCIENCES: NON-CLINICAL</SET><SET>Subject = B.SHERPA Oxford Classification: The Arts: Painting &amp; paintings</SET><SET>Subject = B.SHERPA Oxford Classification: Geography &amp; History: Geography &amp; travel</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>555</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo30.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo30.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo30.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-2d26eb1f-20b2-4391-a0f1-8997e48ce23f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-10-11T10:01:51+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Publikationer från Stockholms universitet</OFFICIAL_NAME><ENGLISH_NAME>Publications from Stockholm University</ENGLISH_NAME><ICON_URI>http://www.diva-portal.org/image/jpg/su_DiVA_sidhuvud.jpg</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>18.058204</LONGITUDE><LATITUDE>59.363326</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.diva-portal.org/su/index.xsql?lang=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Stockholm University</REPOSITORY_INSTITUTION><ADMIN_INFO>diva-support@ub.uu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.diva-portal.org/oai/su/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2706</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo71.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo71.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo71.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="21-da362d46-6255-4452-b337-c5d969c49981_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-01-17T21:21:07+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>OAI Repository of the Technische Universiteit Eindhoven (TU/e)</OFFICIAL_NAME><ENGLISH_NAME>Technische Univ. Eindhoven: Repository TU/e</ENGLISH_NAME><ICON_URI>http://w3.tue.nl/fileadmin/tue/img/tue-logo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.484</LONGITUDE><LATITUDE>51.4344</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://w3.tue.nl/en/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>denis@sandcat.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://library.tue.nl/csp/dare/DARE.Repository.cls</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dare_qdc</FORMAT><FORMAT>dare_didl</FORMAT></FORMATS><SETS><SET>Publications TU/e</SET><SET>Publications Keur der Wetenschap</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>16265</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo36.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo36.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo36.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-4590af18-8004-4762-9961-bdec9702cff0_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-29T08:18:22+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Horizon / Pleins textes</OFFICIAL_NAME><ENGLISH_NAME>Horizon / Pleins textes</ENGLISH_NAME><ICON_URI>http://www.ird.fr/images/bandeau_r1_c2.gif</ICON_URI><COUNTRY>FR</COUNTRY><LOCATION><LONGITUDE>2.35</LONGITUDE><LATITUDE>48.85</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.documentation.ird.fr/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institut de Recherche pour le Developpement (IRD)</REPOSITORY_INSTITUTION><ADMIN_INFO>archambe@paris.ird.fr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.documentation.ird.fr/fdi/oai.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>33713</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo77.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo77.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo77.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-3bd5aa7f-2796-448d-a543-acbafef77e19_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-09T10:25:50+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>Naturalis Digital Academic Repository</OFFICIAL_NAME><ENGLISH_NAME>Naturalis Digital Academic Repository</ENGLISH_NAME><ICON_URI>http://www.repository.naturalis.nl/n/naturalis/graphics/header-top.jpg</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.473802</LONGITUDE><LATITUDE>52.164194</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.repository.naturalis.nl/cgi/b/bib/bib-idx?c=naturalis;cc=naturalis;lang=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Naturalis National Natural History Museum Foundation</REPOSITORY_INSTITUTION><ADMIN_INFO>dpcmedewerkers-uba@uva.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dare.uva.nl/cgi/arno/oai/naturalis</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1036</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo124.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo124.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo124.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="43-9d277b6a-f9ff-4c2f-bf34-904dd90bae1b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-18T09:20:06+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Univ. Girona: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Girona: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.827</LONGITUDE><LATITUDE>41.985</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat de Girona</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UdG/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>329</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo79.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo79.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo79.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="24-415fd477-3365-4e07-974f-cab57963f1c2_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-10T14:03:28+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>DSpace at Erasmus</OFFICIAL_NAME><ENGLISH_NAME>Erasmus Univ. Rotterdam: Digital Repository</ENGLISH_NAME><ICON_URI>https://ep.eur.nl/image/eur_logo.png</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.4783</LONGITUDE><LATITUDE>51.922</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>https://ep.eur.nl/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>ruigrokvanderwerven@ubib.eur.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://ep.eur.nl/oai/request</BASE_URL><FORMATS><FORMAT>eur_qdc</FORMAT><FORMAT>dare_qdc</FORMAT><FORMAT>dare_data</FORMAT><FORMAT>nereus_qdc</FORMAT><FORMAT>dare_checksum</FORMAT><FORMAT>dare_metadata</FORMAT><FORMAT>dare_dc</FORMAT><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Articles (EMC)</SET><SET>Articles (ESE)</SET><SET>Articles (Jan Tinbergen)</SET><SET>Articles Philosophy</SET><SET>Articles (published) (FHKW History)</SET><SET>Books (EMC)</SET><SET>Books (ESE)</SET><SET>Books (FHKW Arts)</SET><SET>Books (FHKW History)</SET><SET>Books (Jan Tinbergen)</SET><SET>Books Philosophy</SET><SET>Center for Informatics and Law</SET><SET>Centre for Local Democracy</SET><SET>Centre for Public Management</SET><SET>Commercial and Entrepreneurial Law</SET><SET>Database of Happiness</SET><SET>Datasets (ESE)</SET><SET>Department of Informatics</SET><SET>Department of Medical Psychology and Psychotherapy: Reports</SET><SET>Dissertations DRIFT</SET><SET>Dissertations (ESE)</SET><SET>Dissertations ESM</SET><SET>Dissertations (FHKW Arts)</SET><SET>Dissertations (FHKW History)</SET><SET>Dissertations in Management 1984-1999</SET><SET>Dissertations Philosophy</SET><SET>Dissertations Psychology</SET><SET>Dissertations (Public Administration)</SET><SET>Dissertations (School of Law)</SET><SET>Dissertations Sociology</SET><SET>Dissertations (UL)</SET><SET>DRIFT</SET><SET>Econometric Institute</SET><SET>Econometric Institute: Annual Reports</SET><SET>Economists Online</SET><SET>Erasmus Center Law and Society</SET><SET>Erasmus MC Annual Reports</SET><SET>Erasmus Research Institute of Management (ERIM) : Annual Reports</SET><SET>Erasmus University Rotterdam: Annual Reports</SET><SET>ERIM Article Series (EAS)</SET><SET>ERIM Electronic Books</SET><SET>ERIM Inaugural Lectures Research in Management Series</SET><SET>ERIM Ph.D. Series Research in Management</SET><SET>ERIM Report Series Research in Management</SET><SET>ERIM Seminars and Workshops</SET><SET>ESM</SET><SET>EUR Medical Dissertations</SET><SET>European Law</SET><SET>Farewell Lectures (EMC)</SET><SET>Farewell Lectures (ESE)</SET><SET>Farewell Lectures (FHKW)</SET><SET>Farewell Lectures (School of Law)</SET><SET>Filosofiedag 2005</SET><SET>Handbook of Cultural Economics</SET><SET>Inaugural Lectures: Arts (FHKW)</SET><SET>Inaugural Lectures (DRIFT)</SET><SET>Inaugural Lectures (EMC)</SET><SET>Inaugural Lectures (ESE)</SET><SET>Inaugural Lectures (FHKW)</SET><SET>Inaugural Lectures (Psychology)</SET><SET>Inaugural Lectures (Public Administration)</SET><SET>Inaugural Lectures (School of Law)</SET><SET>Inaugural Lectures (Sociology)</SET><SET>Institute of Medical Technology Assessment (iMTA)</SET><SET>Keur der Wetenschap (Cream of Science)</SET><SET>NIG Annual Work Conference 2004 Rotterdam</SET><SET>NIG Annual Work Conference 2005 Nijmegen</SET><SET>Other publications: FHKW</SET><SET>Papers (FHKW History)</SET><SET>Papers (published): Arts (FHKW)</SET><SET>Papers (unpublished): Arts (FHKW)</SET><SET>PH D Series Safety and Security in Society</SET><SET>Private Law</SET><SET>Psychology</SET><SET>Publications by R.A. de Mooij (Tinbergen Institute)</SET><SET>Public Governance</SET><SET>Reports: Arts (FHKW)</SET><SET>Reports: BMG</SET><SET>Reports Safety and Security in Society</SET><SET>Research Centre for Economic Policy (OCFEB)</SET><SET>Research Group Complex Decision-making and Management of Networks</SET><SET>Research Papers Philosophy</SET><SET>Rotterdam Institute of Law and Economics</SET><SET>SEOR</SET><SET>SEOR (ESE)</SET><SET>Sociology</SET><SET>Staphylococcus Aureus: Resources</SET><SET>The European Metropolis 1920-2000</SET><SET>The New Educational Benefits of ICT in Higher Education</SET><SET>Tinbergen Institute</SET><SET>University Library: Annual Reports</SET><SET>null</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>6759</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo176.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo176.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo176.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="93-903b2cea-3285-49ea-a8d4-ba271ff22d99_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-09-18T09:46:40+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>Whiterose Research Online</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Leeds, York and Sheffield: White Rose Consortium ePrints Repository</ENGLISH_NAME><ICON_URI>http://eprints.whiterose.ac.uk/images/wr_acolour.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.5465</LONGITUDE><LATITUDE>53.7944</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.whiterose.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:eprints@whiterose.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://sherpa.leeds.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dp</FORMAT></FORMATS><SETS><SET>Status = In Press</SET><SET>Status = Submitted</SET><SET>Status = Published</SET><SET>Status = Unpublished</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division South (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Institute of Geological Sciences (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Terrestrial Carbon Dynamics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Music (Leeds): Leeds University Centre for the Study of the World's Popular Musics</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of English (Sheffield): Department of English Literature (Sheffield): National Centre for English Cultural Tradition (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Musculoskeletal Disease (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Pathology (Leeds): Pathology (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division North (Sheffield): Department of Surgical Sciences (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute for Advanced Study in Art (Leeds): Centre for Jewish Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre of Catchment Science (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Advanced Research In Identification Science (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: The Centre for Research into Freemasonry (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Politics (Sheffield): Political Economy Research Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Psychological Sciences (Leeds): Psychological Therapies Research Centre (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of History (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Dentistry (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds)</SET><SET>Academic Unit = The University of York: Economics and Related Studies (York)</SET><SET>Academic Unit = The University of York: Centre for Women's Studies (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Process, Environmental and Materials Engineering (Leeds): Institute for Materials Research (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Chemical and Process Engineering (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Sheffield University Management School: Leisure Management Unit (Sheffield)</SET><SET>Academic Unit = The University of York: Archaeology (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of Modern Languages (Sheffield): Department of Germanic Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield): Probability and Statistics (Sheffield): Applied Probability Trust (Sheffield)</SET><SET>Academic Unit = The University of York: History of Art (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of Modern Languages (Sheffield): Department of French (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Robert Hill Institute (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Leeds University Centre for Russian, Eurasian and Central European Studies</SET><SET>Academic Unit = The University of York: Social Work Research and Development Unit (York)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute of Language, Speech and Hearing (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School: International Institute of Banking and Financial Services (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute of Molecular Biophysics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division North (Sheffield): Clinical Science Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Nuffield Management and Leadership (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Bayesian Statistics and Health Economics (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): School of Education (Sheffield): Education- Postgraduate Unit (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Trent Institute for Health Services Research (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield): Probability and Statistics (Sheffield): Statistics Services Unit (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Fine Art, History of Art &amp; Cultural Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Education (Leeds): Centre for Studies in Science and Mathematics Education (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Medical Care Research Unit (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Dentistry (Sheffield): Department of Oral Pathology (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): Institute for Earth, Energy and Environment (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield): Probability and Statistics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Civil Engineering (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Biological Sciences (Sheffield): Department of Biomedical Science (Sheffield): Centre for Developmental Genetics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Political Economy Research Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): School of Mathematics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for the Study of Childhood and Youth (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Translation Studies (Leeds)</SET><SET>Academic Unit = The University of York: Centre for Eighteenth-Century Studies (York)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for the Study of the Bible in the Modern World (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Design (Leeds): Centre for Colour Design and Technology (Leeds)</SET><SET>Academic Unit = The University of York: School of Politics, Economics and Philosophy (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Sociology and Social Policy (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Computer Science (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Dentistry (Sheffield): Department of Oral Health and Development (Sheffield)</SET><SET>Academic Unit = The University of York: Health Sciences (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Oncology (Leeds): Haematological Malignancy Diagnostic Service (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: The Krebs Institute for Biomolecular Research (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Academic Services (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Politics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Geography (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Informatics Collaboratory for the Social Sciences (ICoSS) (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): School of Education (Sheffield): Institute for Lifelong Learning (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Psychological Sciences (Leeds): Health Psychology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Academic Unit of Primary Care (Leeds)</SET><SET>Academic Unit = The University of York: Hull York Medical School (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): School of Education (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Biological Sciences (Sheffield): Department of Molecular Biology and Biotechnology (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Research in Family, Kinship and Childhood (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Music (Leeds): Leeds University Centre for English Music (LUCEM)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Canadian Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Sociological Studies (Sheffield): Social Science Research Training Office (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Psychology (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute for Underground Science (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of English (Sheffield): Department of English Literature (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Performance and Cultural Industries (Leeds): Research Centre for Dance (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Performance and Cultural Industries (Leeds)</SET><SET>Academic Unit = The University of York</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): Earth and Biosphere Institute (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Institute for Biotechnological Law and Ethics</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Health Policy and Management (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Psychological Sciences (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Experimental Haematology (Leeds)</SET><SET>Academic Unit = The University of York: Mathematics (York)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute for Microstructural and Mechanical Process Engineering (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Clinical Physiology (Cardiology) (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds): Academic Unit of Learning and Teaching (Leeds)</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School: Institute For Corporate Learning (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Health Information Management Research (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds): AU Learning and Teaching (Leeds)</SET><SET>Academic Unit = The University of York: Centre for Criminal Justice Economics and Psychology (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Psychological Sciences (Leeds): Leeds Family Therapy and Research Centre</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Clinical Trials Research Unit (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Biodiversity and Conservation (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds): Paediatrics, Obstetrics and Gynaecology (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield): Section of Functional Genomics (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Operational Research (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Academic UK Public Health (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Humanities Research Institute (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: South East European Research Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Yorkshire Centre for Health Informatics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Informatics Collaboratory for the Social Sciences (ICoSS) (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): Institute of Transport Studies (Leeds)</SET><SET>Academic Unit = The University of York: York Health Economics Consortium (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Politics &amp; International Studies (POLIS) (Leeds): Centre for Development Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Astbury Centre for Structural Molecular Biology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Education (Leeds): Higher Education Policy Unit (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Centre for Arctic Ecology</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute for Advanced Study in Art (Leeds): Centre for Cultural Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): School of Physics and Astronomy (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Information Studies (Sheffield)</SET><SET>Academic Unit = The University of York: York Electronics Centre (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Mechanical Engineering (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Sheffield Centre for Health and Related Research</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds): Medical Education Unit (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Sheffield University Management School: Division of Accounting and Finance (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Mother and Infant Research Unit (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds): School of Philosophy (Leeds)</SET><SET>Academic Unit = The University of York: Social Policy Research Unit (York)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Keyworth Institute (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Law (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Centre for Advanced Magnetic Materials and Devices</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Luxembourg Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Centre for International Drylands Research</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Combustion and Energy Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Chinese Business &amp; Development (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Geography (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division North (Sheffield): Sheffield Kidney Institute</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Oncology (Leeds): National Cancer Research Network / UKCRM / INVOLVE (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Civil and Structural Engineering (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): Department of Biblical Studies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Academic Unit of Paediatrics, Obstetrics and Gynaecology (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Hang Seng Centre for Cognitive Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Cement and Concrete (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Information Resources (SCHARR) (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Nuffield Health and Social Care (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Wetlands Research Centre (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Biomaterials and Tissue Engineering (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Signal Processing in NeuroImaging and Systems Neuroscience (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: ESCUS The European Social and Cultural Studies Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Process, Environmental and Materials Engineering (Leeds): Continuing Professional Development Unit (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Nursing and Midwifery (Sheffield): Department of Community, Ageing, Rehabilitation, Education &amp; Research (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Sustainability Research Institute (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Stem Cell Biology (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield): Division of Molecular and Genetic Medicine (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Design (Leeds): Contemporary Art Practice (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Interdisciplinary Centre for Scientific Research in Music (ICSRiM) (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): Leeds Social Sciences Institute</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of Modern Languages (Sheffield): Modern Languages Teaching Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Mediterranean Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Computer Science (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): School of Mathematics (Leeds): Applied Mathematics (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Photobiology and Photodynamic Therapy (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Sheffield University Management School: Division of Strategy, Systems &amp; Management (Sheffield)</SET><SET>Academic Unit = The University of York: Politics (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): East Asian Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Leeds Biomaterials Network Centre</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Disability Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Medical Imaging Research (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Experimental Therapeutics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Electronic and Electrical Engineering (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Politics &amp; International Studies (POLIS) (Leeds): Centre for Democratization Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Information Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division North (Sheffield): Department of Medicine (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Rolls-Royce University Technology Centre in advanced Electrical Machine and Drives (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Earth Sciences (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield): Section of Oncology and Pathology (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Medicine, Surgery, and Anaesthesia (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Biological Sciences (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Academic Unit of Health Economics (Leeds)</SET><SET>Academic Unit = The University of York: History (York)</SET><SET>Academic Unit = The University of Leeds: Academic Services (Leeds): Library (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Rolls-Royce University Technology Centre in Materials Damping Technologies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Faraday Packaging Partnership (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: The Urban and Regional Policy Research Institute (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): The Procter Department of Food Science (Leeds)</SET><SET>Academic Unit = The University of York: Electronics (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Continuing Education (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Geographic Information and Spatial Analysis (Sheffield)</SET><SET>Academic Unit = The University of York: Centre for Reviews and Dissemination (York)</SET><SET>Academic Unit = The University of Sheffield: Administrative Services (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute for Advanced Study in Art (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Geography (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Mental Health Section (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Nursing and Midwifery (Sheffield): Department of Midwifery and Childrens Nursing (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of Modern Languages (Sheffield): Department of Russian and Slavonic Studies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Virtual Working Systems (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Electronic &amp; Electrical Engineering (Leeds): Institute of Microwaves and Photonics (Leeds)</SET><SET>Academic Unit = The University of York: Biology (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): School of Mathematics (Leeds): Pure Mathematics (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute for Advanced Study in Art (Leeds): Centre for Studies in Architecture and Material Culture (Leeds)</SET><SET>Academic Unit = The University of Leeds: Academic Services (Leeds): Information Systems Services (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Computational Fluid Dynamics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: EPSRC National Centre for III-V Technologies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Institute of Communication Studies (Leeds): Louis le Prince Centre for Cinema Photography and Television (Leeds)</SET><SET>Academic Unit = The University of York: Science and Technology Studies Unit (SATSU) (York)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Bioinformatics and Computational Biology (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Academy for Steel Construction (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Process, Environmental and Materials Engineering (Leeds): Energy and Resources Research Institute (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Architectural Studies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Law (Leeds): Centre for Criminal Justice Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): Russian &amp; Slavonic Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield): Section of Genetics and Informatics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Nursing (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Gender Studies in Europe (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Administrative Services (Sheffield): Library (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute for the Study of Political Parties (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Centre for Earth Observation Science</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School: Centre for International Business University of Leeds (CIBUL)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of English (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Law (Leeds): Centre for the Study of Law and Policy in Europe (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division South (Sheffield): Medical Sciences (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Centre for Training Policy Research (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division North (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Antimicrobial Research (Leeds)</SET><SET>Academic Unit = The University of York: English and Related Literature (York)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Policy Studies in Education (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Education (Leeds): Centre for Citizenship and Human Rights Education (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): School of Mathematics (Leeds): Statistics (Leeds)</SET><SET>Academic Unit = The University of York: Centre for Health Economics (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Biological Sciences (Sheffield): Department of Animal and Plant Sciences (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Oncology (Leeds)</SET><SET>Academic Unit = The University of York: Stockholm Environment Institute at York (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Education (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Psychology (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Academic Pharmacy Practice (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Computer Analysis of Language and Speech (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Heritage Research (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Mechanical Engineering (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Bakhtin Centre (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield): Department of Pure Maths (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Oncology (Leeds): Oncolocy/Cancer Research UK Clinical Centre</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Polymer Centre</SET><SET>Academic Unit = The University of Sheffield: Faculty of Architectural Studies (Sheffield): Department of Town and Regional Planning (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield): Applied Maths (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Music (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Imaging Science (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Aegean Archaeology (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Institute for Studies on Ageing</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Nursing and Midwifery (Sheffield): Department of Acute and Critical Care Nursing (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): Linguistics &amp; Phonetics (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Genetics (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Nonlinear Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Electronic &amp; Electrical Engineering (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Academic Unit of Psychiatry and Behavioural Sciences (Leeds)</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School: Centre for Industrial Policy and Performance (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of Modern Languages (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Psychological Sciences (Leeds): Biological Psychology (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Environmental and Geological Sciences Unit (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Ethnicity and Racism Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Mental Health Section (Sheffield): Forensic Psychiatry (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds): Procurement Office (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Politics &amp; International Studies (POLIS) (Leeds): Centre for International Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): Leeds Centre for Polar Science</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Institute of Communication Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield): Department of Psychiatry (Sheffield)</SET><SET>Academic Unit = The University of York: Centre for Housing Policy (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): Department of History (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): French (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Environment (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of History (Leeds): Centre for Military History (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute for Research on Contemporary China (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Glass Research (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Advanced Manufacturing Research Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Process, Environmental and Materials Engineering (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): School of East Asian Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): Department of Music (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Process, Environmental and Materials Engineering (Leeds): Leeds University BNFL Research Alliance</SET><SET>Academic Unit = The University of Leeds: Faculty of Biological Sciences (Leeds): Institute of Integrative and Comparative Biology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Institute of Communication Studies (Leeds): Research Centre For Future Communications (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Sheffield University Management School: Management Development Unit (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Sheffield University Management School</SET><SET>Academic Unit = The University of Leeds</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division South (Sheffield): Reproductive and Developmental Medicine (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Electronic &amp; Electrical Engineering (Leeds): Institute of Integrated Information Systems (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Nineteenth Century Studies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Process, Environmental and Materials Engineering (Leeds): Institute of Particle Science and Engineering (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division South (Sheffield): Department of Medical Physics and Clinical Engineering (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Applied Health Sciences (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Interdisciplinary Gender Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Leeds University Centre for African Studies (LUCAS)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Rolls-Royce University Technology Centre for Control and Systems Engineering (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): Spanish &amp; Portuguese (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Leisure Industries Research Centre (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Business and Professional Ethics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Institute of General Practice &amp; Primary Care (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield)</SET><SET>Academic Unit = The University of York: Chemistry (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): Department of Colour and Polymer Chemistry (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): Italian (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): Institute of Communication Studies (Leeds): Centre for European Political Communications (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Sheffield University Management School: Division of HRM and Organisational Behaviour (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield)</SET><SET>Academic Unit = The University of York: Post-war Reconstruction and Development Unit (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Law (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Midwifery (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Leeds Stem Cell Network</SET><SET>Academic Unit = The University of York: Psychology (York)</SET><SET>Academic Unit = The University of York: Environment (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Politics &amp; International Studies (POLIS) (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield): Academic Neurology Unit (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of English (Sheffield): Department of English Language and Linguistics (Sheffield)</SET><SET>Academic Unit = The University of York: Physics (York)</SET><SET>Academic Unit = The University of York: Language and Linguistic Science (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Economics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Biological Sciences (Leeds): Institute of Membrane and Systems Biology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT): Cardiovascular Research Institute at Leeds (CRISTAL)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Biological Sciences (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Medical Care Research Unit (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Law (Leeds): Centre for Business Law and Practice (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Institute of Geophysics and Tectonics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Academic Unit of Medical Education (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield Centre for the History of Medicine</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Support Service (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): Institute for Medieval Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School: Credit Management Research Centre (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Self-Organising Molecular Systems (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Mathematics and Statistics (Sheffield): Applied Maths (Sheffield): Sheffield Centre for Earth Observation Science</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute for Advanced Study in Art (Leeds): AHRB Centre for Cultural Analysis Theory &amp; History (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Education, Social Sciences and Law (Leeds): School of Politics &amp; International Studies (POLIS) (Leeds): Centre for British Government (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds): Inter-Disciplinary Ethics Applied (IDEA CETL) (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): Department of Philosophy (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Nursing and Midwifery (Sheffield): Department of Mental Health and Learning Disabilities (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Journalism Studies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of History (Leeds): Centre for Business History (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Plant Sciences (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Dentistry (Sheffield): Department of Adult Dental Care (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): School of Biological Sciences (Sheffield): Department of Biomedical Science (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Lifelong Learning Institute (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Computing (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds): School of Chemistry (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Sociological Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Archaeology (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Sheffield Health Economics Group</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Molecular Gastroenterology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Pathology (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): Department of Archaeology (Sheffield)</SET><SET>Academic Unit = The University of York: Centre for Leadership and Management (York)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute for Folklore Studies in Britain and Canada (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Medicine (Leeds): Academic Unit of Epidemiology and Health Services Research (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sorby Centre for Electron Microscopy and microanalysis (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Division of Genomic Medicine (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): School of Mechanical Engineering (Leeds): Institute of Medical and Biological Engineering (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute for Molecular Physiology (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Nursing and Midwifery (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: The Ibberson Centre (Sheffield)</SET><SET>Academic Unit = The University of York: Sociology (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Design (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: University of Leeds Advanced Driving Simulator</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of English (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Immobilisation Science Laboratory (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Department of Public Health (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds): Classics (Leeds)</SET><SET>Academic Unit = The University of Sheffield</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT): Academic Unit of Medical Physics (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT): Academic Unit of Cardiovascular Medicine (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Environmental Geochemistry Group (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Molecular Medicine, Epidemiology and Cancer Research (IMMECR) (Leeds): Section of Epidemiology and Biostatistics (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division North (Sheffield): Sheffield Institute for Studies on Ageing</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Institute of Medical and Biological Engineering (Leeds)</SET><SET>Academic Unit = The University of York: Computer Science (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): French (Leeds): Centre for Francophone Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Research in Primary Care (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Institute of Work Psychology (Sheffield)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Centre for Decision Research (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Social Sciences (Sheffield): Department of Human Communication Sciences (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: National Centre for English Cultural Tradition (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Health and Related Research (Sheffield): Mental Health Section (Sheffield): Centre for Psychotherapeutic Studies (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT): Centre for Epidemiology &amp; Biostatistics (Leeds): Reproduction and Early Development Research (RED) Group (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds): School of Theology &amp; Religious Studies (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Interdisciplinary Research Centre in Polymer Science and Technology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Health Sciences and Public Health Research (Leeds): Nuffield International Development (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds): Philosophical and Religious Studies Subject Centre (Leeds)</SET><SET>Academic Unit = The University of York: Music (York)</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School: Centre for Industrial Relations and Human Resource Management (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Sheffield University Waste Incineration Centre</SET><SET>Academic Unit = The University of Leeds: Faculty of Biological Sciences (Leeds): Institute for Molecular and Cellular Biology (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT): Academic Unit of Molecular Vascular Medicine (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): German (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Law (Sheffield): Department of Law (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Institute of Psychological Sciences (Leeds): Cognitive Psychology (Leeds)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Skin Research Centre (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of History (Leeds)</SET><SET>Academic Unit = The University of Leeds: Faculty of Environment (Leeds): School of Earth and Environment (Leeds): Institute for Atmospheric Science (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Dentistry (Sheffield): Department of Dental Services (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Leeds University Business School</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Automatic Control and Systems Engineering (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): School of Healthcare (Leeds): Audiology (Leeds)</SET><SET>Academic Unit = The University of York: Philosophy (York)</SET><SET>Academic Unit = The University of Leeds: University of Leeds Research Centres and Institutes: Jean Monnet European Centre of Excellence (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Architectural Studies (Sheffield): School of Architecture (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Earth Sciences (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Humanities (Leeds): School of Philosophy (Leeds): Division of the History and Philosophy of Science (Leeds)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Rolls-Royce University Technology Centre for Partnership for Design (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Engineering (Sheffield): Department of Engineering Materials (Sheffield)</SET><SET>Academic Unit = The University of York: Centre for Medieval Studies (York)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: The Centre for Criminological Research (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Physics and Astronomy (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Maths and Physical Sciences (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Architectural Studies (Sheffield): Department of Landscape (Sheffield)</SET><SET>Academic Unit = The University of York: Social Policy and Social Work (York)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Medicine (Sheffield): School of Medicine (Sheffield): Clinical Sciences Division South (Sheffield): Department of Surgical and Anaesthetic Science (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Pure Science (Sheffield): Department of Chemistry (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Medicine, Dentistry, Psychology &amp; Health (Leeds): Leeds Institute of Genetics, Health and Therapeutics (LIGHT): Centre for Epidemiology &amp; Biostatistics (Leeds)</SET><SET>Academic Unit = The University of York: Management Studies (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Engineering (Leeds): Nanofactory Interdisciplinary Institute (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): School of Modern Languages (Sheffield): Department of Hispanic Studies (Sheffield)</SET><SET>Academic Unit = The University of Sheffield: University of Sheffield Research Centres and Institutes: Centre for Developmental Genetics (Sheffield)</SET><SET>Academic Unit = The University of Leeds: Faculty of Arts (Leeds): School of Modern Languages and Cultures (Leeds): Arabic &amp; Middle Eastern Studies (Leeds)</SET><SET>Academic Unit = The University of Sheffield: Faculty of Arts (Sheffield): Humanities Research Institute (Sheffield)</SET><SET>Academic Unit = The University of York: Educational Studies (York)</SET><SET>Academic Unit = The University of Leeds: Faculty of Performance, Visual Arts and Communications (Leeds): School of Design (Leeds): Centre for Technical Textiles (Leeds)</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3427</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo50.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo50.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo50.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="16-b27d97ba-b489-4ae5-a5ee-82af8c0ba84b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-23T15:32:38+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>ePrints</TYPOLOGY><OFFICIAL_NAME>National Research Council, Bologna Research Area Library Eprints Service</OFFICIAL_NAME><ENGLISH_NAME>National Research Council, Bologna Research Area Library Eprints Service</ENGLISH_NAME><ICON_URI>http://biblio-eprints.bo.cnr.it/images/logoCNR.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.34</LONGITUDE><LATITUDE>44.49</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://biblio-eprints.bo.cnr.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Biblioteca d'Area - CNR Area della Ricerca di Bologna</REPOSITORY_INSTITUTION><ADMIN_INFO>a.tugnoli@area.bo.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://biblio-eprints.bo.cnr.it/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo54.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo54.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo54.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="17-fe86c905-a110-484c-8a88-530d09936d7f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-14T20:53:15+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat de Vic: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Vic:: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.248301</LONGITUDE><LATITUDE>41.933395</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat de Vic</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UVIC/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo75.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo75.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo75.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="23-14ad659c-677f-4062-8afb-f75d8217ecf2_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-05T20:35:33+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Autònoma de Barcelona: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Autònoma de Barcelona: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>2.100031</LONGITUDE><LATITUDE>41.504336</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Autònoma de Barcelona</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UAB/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2065</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo122.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo122.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo122.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="4-2a4a29f2-320e-4902-b955-2d1e879622ad_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-04T15:15:10+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>mediatum</TYPOLOGY><OFFICIAL_NAME>mediaTUM</OFFICIAL_NAME><ENGLISH_NAME>mediaTUM</ENGLISH_NAME><ICON_URI>http://portal.mytum.de//header1n.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>10.739838</LONGITUDE><LATITUDE>48.714629</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://mediatum2.ub.tum.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Techn. Univ. München</REPOSITORY_INSTITUTION><ADMIN_INFO>mediatum2@ub.tum.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://mediatum2.ub.tum.de/oai/oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3730</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo128.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo128.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo128.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="46-0a65aab8-7657-49ed-94f4-f1d804262b11_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T23:06:08+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at Vrije Universiteit Amsterdam</OFFICIAL_NAME><ENGLISH_NAME>DSpace Digital Academic REpository (DARE) of the Vrije Universiteit Amsterdam</ENGLISH_NAME><ICON_URI>http://dare.ubvu.vu.nl/image/dspace-blue.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.88333</LONGITUDE><LATITUDE>52.3667</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dare.ubvu.vu.nl/index.jsp</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>r.feenstra@ubvu.vu.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.ubvu.vu.nl/oai/request</BASE_URL><FORMATS><FORMAT>dare_qdc</FORMAT><FORMAT>dare_dc</FORMAT><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7454</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo93.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo93.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo93.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="29-3b849703-fd4c-4f28-9e4f-1b6f8d0042bf_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T21:12:30+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>UCL Eprints</OFFICIAL_NAME><ENGLISH_NAME>Univ. College London: UCL Eprints</ENGLISH_NAME><ICON_URI>http://www.ucl.ac.uk/Library/Images/ucl0013.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.105</LONGITUDE><LATITUDE>51.517</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.ucl.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:lib-eprints@ucl.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.ucl.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dp</FORMAT></FORMATS><SETS><SET>Type = Thesis</SET><SET>Type = Book</SET><SET>Type = Book section</SET><SET>Type = Patent</SET><SET>Type = Conference, workshop or other event</SET><SET>Type = Monograph</SET><SET>Type = Article</SET><SET>Thesis type = Masters</SET><SET>Thesis type = Doctoral.PhD</SET><SET>Thesis type = Masters.MSc</SET><SET>Thesis type = Doctoral.EngD</SET><SET>Thesis type = Masters.MA</SET><SET>Thesis type = Masters.MPhil</SET><SET>Status = In press</SET><SET>Status = Submitted</SET><SET>Status = Published</SET><SET>Status = Unpublished</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Mathematics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection: Centre for Paediatric Infectious Diseases and Microbiology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Institute of Behavioural Neuroscience</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Psychology: Sub-department of Clinical Health Psychology: CORE - Centre for Outcomes Research and Effectiveness</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: UCL Management Studies Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Economic Learning and Social Evolution (ELSE)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Academic Unit of Audiological Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Biochemical and Nutritional Sciences: Nutrition Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Oral and Maxillofacial Surgery</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Biochemical Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Cardiorespiratory Sciences: Portex Anasthaesia, Intensive Therapy and Respiratory Medicine Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health: Department of Primary Care and Population Sciences: Centre for Sexual Health and HIV Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Anatomy and Developmental Biology: Wellcome Trust Centre for the History of Medicine at UCL: Wellcome Trust Centre for the History of Medicine at UCL</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Institute of Archaeology: Institute of Archaeology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Department of Clinical Neurosciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Computer Science: Vision Imaging and Virtual Environments</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: The OMEGA Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Economics: Discussion Paper Series</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Biology: Centre for Ecology and Evolution</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Department of Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Biochemistry and Endocrinology Research Groups: Proteomics and Enzymology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Eastman Dental Institute</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Academic Centre for Medical Education</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Electronic and Electrical Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: UCL Library Services</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Obstetrics and Gynaecology: Centre for Preimplantation Genetic Diagnosis</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Department of Surgery</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection: Centre for Virology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health: Department of Primary Care and Population Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Molecular Cell Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Greek and Latin</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection: Centre for Medical Microbiology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Geomatic Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Intensive Care Medicine and Bloomsbury Institute of Intensive Care</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Department of Headache, Brain Injury and Rehabilitation</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Paediatric Dentistry</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Oncology: CR UK and UCL Cancer Trials Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Mathematics and Physical Sciences in the Life Sciences and Experimental Biology (COMPLEX)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Cardiorespiratory Sciences: Cardiac Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Computer Science: Intelligent Systems</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: UCL Ear Institute: Institute of Laryngology and Otology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Department of Neuroinflammation</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of History of Art</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Physics and Astronomy: Atomic, Molecular, Optical and Positron Physics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: The Bartlett School of Planning</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Political Science: Constitution Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Nonlinear Dynamics and its Applications (CNDA)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Economics: Department of Economics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Immunology and Molecular Pathology: Centre for Paediatric and Adolescent Rheumatology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Anatomy and Developmental Biology: Department of Anatomy and Developmental Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: National Medical Laser Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Civil and Environmental Engineering: Centre for Transport Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Psychology: Sub-department of Clinical Health Psychology: Sub-department of Clinical Health Psychology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: School of Library, Archive and Information Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Chemical Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Political Science: School of Public Policy (SPP): School of Public Policy (SPP)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Biology: Department of Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Biochemistry and Endocrinology Research Groups</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Biochemical and Nutritional Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Psychiatry and Behavioural Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Immunology and Molecular Pathology: Department of Immunology and Molecular Pathology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Institute of Archaeology: AHRC Centre for the Evolution of Cultural Diversity</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Immunology and Molecular Pathology: Centre for Immunodeficiency</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Physics and Astronomy: Elementary Particle Physics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of English Language and Literature</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Computer Science: Networks</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Biomedical Informatics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: ABC Breast Cancer Research Group</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Mathematics: Department of Mathematics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Space and Climate Physics at the Mullard Space Science Laboratory</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Psychology: Sub-department of Clinical Health Psychology: Psychoanalysis Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Anatomy and Developmental Biology: Wellcome Trust Centre for the History of Medicine at UCL: Wellcome Witnesses to Twentieth Century Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Institute of Urology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Coloproctology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws: Centre for Politics, Law and Society</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Functional Neuroimaging</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Cancer: Molecular Haematology and Cancer Biology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws: Faculty of Laws</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Pharmacology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Office of the Vice-Provost (Academic and International)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: School of Library, Archive and Information Studies: School of Library, Archive and Information Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection: Centre for Infectious Diseases and International Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Immunology and Molecular Pathology: Centre for Rheumatology Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: UCL Centre for Systems Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Computer Science: Bioinformatics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of European Social and Political Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Biochemistry and Endocrinology Research Groups: Molecular Endocrinology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Mechanical Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Civil and Environmental Engineering: Department of Civil and Environmental Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection: Department of Infection</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Radiology and Physics Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: Development Planning Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: UCL Ear Institute: Centre for Auditory Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: The Bartlett School of Construction and Project Management</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of German</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Infection and Immunity: Molecular Immunology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Institute of Cognitive Neuroscience</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Institute of Hepatology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Institute of Archaeology: Institute for Archaeo-metallurgical Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Psychology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Population Health Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Molecular Medicine Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of English Language and Literature: Survey of English Usage</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Developmental Biology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Infection and Immunity</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health: Department of Mental Health Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Education and Information Support Division</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Medical Molecular Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Cardiology and Hatter Institute for Cardiovascular Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: UCL Ear Institute</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Physics and Astronomy: Condensed Matter and Materials Physics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Centre for Intercultural Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Boxgrove Project</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Clinical and Molecular Genetics Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection: Centre for Clinical Infection</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Physiology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of History</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Oral Medicine, Pathology and Special Needs Dentistry</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Education and Information Support Division: Management Systems</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: London Centre for Nanotechnology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Advanced Spatial Analysis (CASA)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Biomaterials and Tissue Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: UCLIC - UCL Interaction Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Centre for Human Communication</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Human Genetics (CHG)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Earth Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Neurosciences Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Oral and Maxillofacial Implantology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Infection and Immunity: Infectious Diseases and Microbiology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Biochemistry and Molecular Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Nephrology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Anatomy and Developmental Biology: Evolutionary Anatomy Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Hebrew and Jewish Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Academic Vascular Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Geography: Department of Geography</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Computer Science: Software Systems Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Physics and Astronomy</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Psychology: Department of Psychology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Institute of Human Genetics and Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Obstetrics and Gynaecology: Department of Obstetrics and Gynaecology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: UCL Library Services: UCL Library Services</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Gatsby Computational Neuroscience Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Developmental Cognitive Neurosciences Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Institute of Movement Neuroscience</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Immunology and Molecular Pathology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: School of Slavonic and Eastern European Studies (SSEES)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Centre for Health Informatics and Multiprofessional Education (CHIME)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Amyloidosis and Acute Phase Proteins</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Visual Sciences Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Neural Development Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Cancer</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Philosophy</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: CBaS - Centre for Bioscience and Society</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: CSERGE - Economics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Leonard Cheshire Centre of Conflict Recovery</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Human Communication Science: Centre for Developmental Language Disorders and Cognitive Neuroscience</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: School of Slavonic and Eastern European Studies (SSEES): Department of History</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Gastroenterology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Cardiorespiratory Sciences: Centre for Nursing and Allied Health Professionals Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Physics and Astronomy: Image Processing</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Centre for Advanced Instrumentation Systems (CAIS)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Institute of Child Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws: Bentham Project: Bentham Project</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Psychology: Sub-department of Clinical Health Psychology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Medical Physics and Bioengineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health: MRC Clinical Trials</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws: Constitution Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Wellcome Department of Imaging Neuroscience</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Phonetics and Linguistics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Diabetes and Endocrinology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Nephro-urology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Biochemistry and Endocrinology Research Groups: Metabolism</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Cardiorespiratory Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Civil and Environmental Engineering</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Neural Plasticity Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Clinical Pharmacology and Therapeutics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Continuing Professional Development</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: UCL Library Services: SHERPA-LEAP Conference on Open Access to Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: School of Slavonic and Eastern European Studies (SSEES): School of Slavonic and Eastern European Studies (SSEES)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Dutch</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Oncology: Department of Oncology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Prosthetic Dentistry</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Scandinavian Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Ophthalmology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Engineering Sciences: Department of Computer Science</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Statistical Science</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Pathology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Infection and Immunity: Rheumatology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Economics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health: Behavioural and Brain Sciences Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws: Bentham Project</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Population Health Sciences: Centre for International Health and Development</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Virtual Reality Centre for the Built Environment</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Slade School of Fine Art</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Institute for Human Health and Performance</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Wolfson Institute for Biomedical Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: UCL Library Services: London Advocacy Event on Scholarly Communications 2002</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Anthropology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Centre for Anasthaesia</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Human Communication Science</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of French</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: School of Library, Archive and Information Studies: Centre for Publishing</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute for Women's Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Cardiovascular Biology and Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Neuroendocrinology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Anatomy and Developmental Biology: Wellcome Trust Centre for the History of Medicine at UCL</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Oncology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health: Department of Primary Care and Population Sciences: Department of Primary Care and Population Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Medical Imaging</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Molecular Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: International Health and Medical Education Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Institute of Archaeology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Education and Information Support Division: Education and Professional Development</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Centre for European Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Human Communication Science: Department of Human Communication Science</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Infection</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Rheumatology and Bloomsbury Rheumatology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Education and Information Support Division: Information Systems</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Population Health Sciences: Paediatric Epidemiology and Biostatistics Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Geography</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Respiratory Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Political Science: School of Public Policy (SPP)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: UCL Library Services: LIFE Project</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Cardiovascular Genetics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Neurosciences and Mental Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Department of Clinical and Experimental Epilepsy</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Cardiology in the Young</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Sobell Department of Motor Neuroscience and Movement Disorders</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Surgical Oncology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Orthodontics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Clinical Trials Group</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Bone and Mineral Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Physics and Astronomy: Astronomy, Astrophysics and Atmospheric Physics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Life Sciences: Department of Anatomy and Developmental Biology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Spanish and Latin American Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Space Syntax Laboratory</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of English Language and Literature: Department of English Language and Literature</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: The Bartlett School of Architecture</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Genes, Development and Disease: Biochemistry and Endocrinology Research Groups: Nutrition</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Centre for European Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Department of Neurodegenerative Disease</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: Centre for Sustainable Heritage</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Institute of Orthopaedics and Musculoskeletal Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Infection and Immunity: Department of Immunology and Molecular Pathology: Wohl Virion Centre</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Arts and Humanities: Department of Italian</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Obstetrics and Gynaecology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Conservative Dentistry</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Department of Histopathology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Centre for Microbial Diseases</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: LICR/UCL Breast Cancer Laboratory</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences: Department of Surgery: Windeyer Institute</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Geography: Environmental Change Research Centre (ECRC)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Education and Information Support Division: Media Resources</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Science and Technology Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Political Science</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Institute for the Natural Environment</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Laws: Bentham Project: Journal of Bentham Studies</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Cancer Institute</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Political Science: School of Public Policy (SPP): Jill Dando Institute of Crime Science</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Mathematics: Clinical Operations Research Unit (CORU)</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Mathematics and Physical Sciences: Department of Chemistry</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Clinical Science, Technology and Geriatrics</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Services, Central Departments and Divisions: Scholarly Communications</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Hepatology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Social and Historical Sciences: Department of Economics: IFS Working Papers</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Neurology: Department of Molecular Neuroscience</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Infection and Immunity: Immunobiology Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Biochemical and Nutritional Sciences: Surgery Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Surgical and Interventional Sciences</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Population Health: Department of Epidemiology and Public Health</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Department of Nuclear Medicine</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Institute of Child Health: Population Health Sciences: International Perinatal Care Unit</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Eastman Dental Institute: Periodontology</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Biomedical Sciences: Division of Medicine: Centre for Rheumatology and Connective Tissue Diseases</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Interdepartmental and Cross-faculty Research Groups and Centres: Wolfson Institute for Biomedical Research</SET><SET>UCL Departments and Research Centres = UCL Departments and Research Centres: Faculty of Built Environment: The Bartlett School of Graduate Studies</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5582</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo99.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo99.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo99.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-ccd3ecf7-d21f-4c99-8f72-b97237043969_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-02-01T13:46:12+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>research_online@UCD</OFFICIAL_NAME><ENGLISH_NAME>research_online@UCD</ENGLISH_NAME><ICON_URI>http://irserver.ucd.ie/dspace/image/research_online_2.gif</ICON_URI><COUNTRY>IE</COUNTRY><LOCATION><LONGITUDE>-6.215</LONGITUDE><LATITUDE>53.307</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://irserver.ucd.ie/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University College Dublin</REPOSITORY_INSTITUTION><ADMIN_INFO>research.online@ucd.ie</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://irserver.ucd.ie/dspace_oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>667</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo105.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo105.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo105.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="32-71314496-8bc2-4220-8d62-f310fce3ea62_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-29T19:29:46+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>OPUS</TYPOLOGY><OFFICIAL_NAME>OPUS Publikationsserver</OFFICIAL_NAME><ENGLISH_NAME>OPUS publication server</ENGLISH_NAME><ICON_URI>http://ub.uni-hohenheim.de/uploads/tf/header.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.198733</LONGITUDE><LATITUDE>48.71024</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://ub.uni-hohenheim.de/62810.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>UniversitÃ¤t Hohenheim</REPOSITORY_INSTITUTION><ADMIN_INFO>opus@uni-hohenheim.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://opus.ub.uni-hohenheim.de/oai2/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>272</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo161.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo161.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo161.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="77-890eaf29-f06f-439b-8195-343e0e625271_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-01-31T12:17:03+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>HAL - Hyper Article on Line</OFFICIAL_NAME><ENGLISH_NAME>CCSD (Centre pour la Communication Scientifique Directe): HAL - Hyper Article on Line</ENGLISH_NAME><ICON_URI>http://hal.archives-ouvertes.fr/images/hal.gif</ICON_URI><COUNTRY>FR</COUNTRY><LOCATION><LONGITUDE>4.883</LONGITUDE><LATITUDE>45.767</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://hal.archives-ouvertes.fr/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>hal@ccsd.cnrs.fr</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://hal.ccsd.cnrs.fr/oai/oai.php</BASE_URL><FORMATS><FORMAT>oai_hal</FORMAT><FORMAT>oai_hal</FORMAT></FORMATS><SETS><SET>Biology and Medicine</SET><SET>Biochemistry and Molecular Biology</SET><SET>Biological Sciences</SET><SET>Biomecanics</SET><SET>Biomedical Ingeniering</SET><SET>Biostatistics</SET><SET>Cellular Biology</SET><SET>Immunology</SET><SET>Medication Sciences</SET><SET>Neurosciences</SET><SET>Organisms biology</SET><SET>Plant biology</SET><SET>Reproduction biology</SET><SET>Others Areas</SET><SET>Physico-chemical sciences and pharmaceutical technologie</SET><SET>Physiology</SET><SET>Population Biology and Ecology</SET><SET>Chemical Sciences</SET><SET>Catalysis</SET><SET>Materials Science</SET><SET>Others areas</SET><SET>Communication and Information Sciences</SET><SET>Bibliometry, scientometry</SET><SET>Cinema, art, esthetics</SET><SET>Conflicts, information strategy, intelligence</SET><SET>Economy, cultural industry</SET><SET>Education, e-learning, training</SET><SET>Electronic publishing</SET><SET>Geopolitics</SET><SET>History of information/communication</SET><SET>Hypertext, hypermedia</SET><SET>Information retrieval</SET><SET>Information system engineering</SET><SET>Information/communication law</SET><SET>Knowledge management</SET><SET>Local authorities</SET><SET>Mass media</SET><SET>Museology</SET><SET>Organisation and communication</SET><SET>Others Areas</SET><SET>Public Sphere</SET><SET>Scientific communication and information</SET><SET>Sociology of information and communication</SET><SET>Theory of information/communication</SET><SET>Computer Science</SET><SET>HCI, Images Processing, Data Management, Knowledge Systems</SET><SET>Modelling and Scientific Computing</SET><SET>Networks and Systems</SET><SET>Others Areas</SET><SET>Software Engineering and Symbolic Computing</SET><SET>Engineering Sciences</SET><SET>Civil Engineering</SET><SET>Geotechnique</SET><SET>Materials and Structures</SET><SET>Control</SET><SET>Energy</SET><SET>Industrial engineering</SET><SET>Materials, Mechanics</SET><SET>Microelectronics</SET><SET>Others Areas</SET><SET>Process Engineering</SET><SET>Robotics</SET><SET>Signal</SET><SET>Humanities and Social Sciences</SET><SET>Human sciences</SET><SET>Biological Anthropology</SET><SET>History</SET><SET>Social anthropology</SET><SET>Languages, knowledge and creation</SET><SET>Literature</SET><SET>Musicology</SET><SET>Philosophy</SET><SET>Sciences of the language</SET><SET>Others Areas</SET><SET>Psychology</SET><SET>Social sciences</SET><SET>Economics</SET><SET>Geography and installation</SET><SET>Law</SET><SET>Management</SET><SET>Political Sciences</SET><SET>Sociology</SET><SET>Mathematics</SET><SET>Other area</SET><SET>Physics</SET><SET>Acoustics</SET><SET>Astroparticle and Cosmology</SET><SET>Astrophysics</SET><SET>Condensed matter</SET><SET>Electronic Systems</SET><SET>Magnetism</SET><SET>Quantum fluids</SET><SET>Supraconductivity</SET><SET>Thin Layers</SET><SET>Hydrodynamics and Complex Fluids</SET><SET>Materials under irradiation</SET><SET>Nanophysics</SET><SET>Non-Linear Physics</SET><SET>Nuclear Physics</SET><SET>Others Areas</SET><SET>Particle Physics</SET><SET>Pluridisciplinary</SET><SET>Physics-Biology</SET><SET>Physics-Economy</SET><SET>Physics-Environment</SET><SET>Quantum Optics, Atomic and Molecular Physics</SET><SET>Collisional Physics</SET><SET>Lasers and materials</SET><SET>Molecules</SET><SET>Statistical Physics</SET><SET>Disordered and/or Out of Equilibrium Systems</SET><SET>Phase Transitions</SET><SET>Soft Matter</SET><SET>Surfaces and Interfaces</SET><SET>Theoretical and Mathematical Physics</SET><SET>Sciences of education</SET><SET>Sciences of the Universe</SET><SET>Astrophysics</SET><SET>Earth Sciences</SET><SET>Geology</SET><SET>Geochemistry</SET><SET>Geochronology</SET><SET>Geodynamic of continental lithosphere</SET><SET>Geomaterials</SET><SET>Geomorphology</SET><SET>Geophysics</SET><SET>Mineral ressources</SET><SET>Minerals systems</SET><SET>Organic geochemistry</SET><SET>Organic matter</SET><SET>Paleomagnetism</SET><SET>Sedimentology</SET><SET>Silicated liquids</SET><SET>Stratigraphy</SET><SET>Tectonic</SET><SET>Hydrology</SET><SET>Hydraulics</SET><SET>Hydrogeology</SET><SET>Modelisation</SET><SET>Analog Modeling</SET><SET>Numerical Modelling</SET><SET>Superficial Formation</SET><SET>Agriculture</SET><SET>Alteration</SET><SET>Pedology</SET><SET>Ocean - Atmosphere</SET><SET>Atmosphere Chemistry</SET><SET>Climate Dynamics</SET><SET>Coastal Environment</SET><SET>Medium Scale Atmosphere and Ocean</SET><SET>Ocean Biogeochemical Processes and Fluxes</SET><SET>Others Areas</SET><SET>Test</SET><SET>Techniques of Informatics and Microelectronics for Computer Architecture</SET><SET>Theses de l'Universite Joseph Fourier</SET><SET>Theses du Laboratoire Kastler Brossel</SET><SET>Theses du Laboratoire Pierre Aigrain</SET><SET>Theses du Groupe Optique Atomique du LCFIO</SET><SET>Theses du Laboratoire d'analyse et d'architecture des systemes</SET><SET>Theses du Laboratoire de mathematiques Jean Leray</SET><SET>Theses de l'IRMAR</SET><SET>Ecole Doctorale Sciences et Technologies - Orleans</SET><SET>Theses de l'Universite d'Orleans</SET><SET>Theses de l'Universite Pierre et Marie Curie</SET><SET>Observatoire Midi-Pyrenees</SET><SET>Institut Neel - Theses</SET><SET>Grenoble Images Parole Signal Automatique</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>143958</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo165.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo165.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo165.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="7-a9ac3ae0-70cb-42a6-92c0-008e714b9876_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-26T13:26:59+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Universiteit voor Humanistiek</OFFICIAL_NAME><ENGLISH_NAME>University for Humanistics</ENGLISH_NAME><ICON_URI>http://www.uvh.nl/img/logo_UVH.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.1234261</LONGITUDE><LATITUDE>52.0943224</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.uvh.nl/default.asp</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universiteit voor Humanistiek</REPOSITORY_INSTITUTION><ADMIN_INFO>support-igitur@library.uu.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.library.uu.nl:8080/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>23</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo163.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo163.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo163.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="78-875fc99f-813a-4c79-93ac-30288f68c6ab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-20T17:29:37+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at Tartu University Library</OFFICIAL_NAME><ENGLISH_NAME>DSpace at Tartu University Library</ENGLISH_NAME><ICON_URI>http://dspace.utlib.ee/dspace/image/tul4.gif</ICON_URI><COUNTRY>EE</COUNTRY><LOCATION><LONGITUDE>26.714828</LONGITUDE><LATITUDE>58.370884</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.utlib.ee/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Tartu University</REPOSITORY_INSTITUTION><ADMIN_INFO>dspace-help@utlib.ee</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.utlib.ee/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7653</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo109.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo109.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo109.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="34-3ec4671d-a117-42b8-8793-175d59f7cf97_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-10T16:17:04+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>Hochschulschriftenserver(HSSS) SLUB Dresden, GERMANY, Document Server</OFFICIAL_NAME><ENGLISH_NAME>Electronic Publication Archive of the Saxon State and University Library Dresden</ENGLISH_NAME><ICON_URI>http://www.slub-dresden.de/slub_logo_small.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>13.7407</LONGITUDE><LATITUDE>51.0536</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://hsss.slub-dresden.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>ir268155@inf.tu-dresden.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://hsss.slub-dresden.de/oai/OAI-2.0</BASE_URL><FORMATS><FORMAT>xmetadissplus</FORMAT><FORMAT>xmetadiss</FORMAT><FORMAT>epicur</FORMAT><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Deutsche Nationalbibliografie Sachgruppe</SET><SET>Wissenschaft und Kultur allgemein</SET><SET>Schrift, Buch, Bibliothek, Information und Dokumentation</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Christliche Religion</SET><SET>Allg. und Vgl. Religionswiss., Nichtchristliche Religionen</SET><SET>Soziologie, Gesellschaft</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2952</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo22.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo22.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo22.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="120-4df624d5-7e21-41a3-a800-b46d2f122e11_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-07T17:03:18+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>TKK Teknillisen korkeakoulun elektroniset vaeitoeskirjat</OFFICIAL_NAME><ENGLISH_NAME>TKK electronic academic dissertations</ENGLISH_NAME><ICON_URI>http://lib.tkk.fi/Diss/tkklogo15.gif</ICON_URI><COUNTRY>FI</COUNTRY><LOCATION><LONGITUDE>25.0</LONGITUDE><LATITUDE>60.25</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://lib.tkk.fi/Diss/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Helsinki University of Technology</REPOSITORY_INSTITUTION><ADMIN_INFO>rita.voigt@tkk.fi</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://edoc.tkk.fi/oai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1232</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo41.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo41.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo41.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-54a903d1-9f70-4cf5-a582-cc67cbcce3b1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="http://validator.driver.research-infrastructures.eu/validatorWeb"/><DATE_OF_CREATION value="2008-12-08T21:40:53+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>DBClear</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Social Science Open Access Repository</OFFICIAL_NAME><ENGLISH_NAME>Social Science Open Access Repository</ENGLISH_NAME><ICON_URI>http://validator.driver.research-infrastructures.eu/validatorWeb/getRepositoryImage.do?&amp;repositoryId=5-f6f51a2c-88a3-4b37-9f1a-7a3899d10817_UGVuZGluZ1JlcG9zaXRvcnlSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.4630196</LONGITUDE><LATITUDE>49.4856023</LATITUDE><TIMEZONE>1.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ssoar.info</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>http://www.gesis.org</REPOSITORY_INSTITUTION><ADMIN_INFO>philipp.schaer@gesis.org</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.ssoar.info/ssoar/OAIHandler</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>All sets</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD><LAST_REQUEST/><LAST_RESPONSE/></BLACKBOARD></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo43.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo43.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo43.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="15-ff33cbc2-7c12-45fc-92ea-258f59ca62db_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-15T08:05:05+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universidad de Oviedo: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Oviedo: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-5.846183</LONGITUDE><LATITUDE>43.362066</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad de Oviedo</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdr.cesca.es/TDR_UM/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>148</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo82.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo82.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo82.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="25-c3360f6f-fab5-41d1-878c-ab19a259d6e3_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T17:21:24+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Glasgow ePrints Service</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Glasgow: ePrints Service</ENGLISH_NAME><ICON_URI>http://www.lib.gla.ac.uk/g/crest.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-4.2425</LONGITUDE><LATITUDE>55.857</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.gla.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:eprints@lib.gla.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.gla.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dp</FORMAT></FORMATS><SETS><SET>Status = FALSE</SET><SET>Status = TRUE</SET><SET>Subject = D History General and Old World: DA Great Britain: DAW Central Europe</SET><SET>Subject = Q Science: QP Physiology</SET><SET>Subject = R Medicine: RC Internal medicine: RC0254 Neoplasms. Tumors. Oncology (including Cancer)</SET><SET>Subject = Q Science: QR Microbiology</SET><SET>Subject = M Music and Books on Music: MT Musical instruction and study</SET><SET>Subject = J Political Science: JA Political science (General)</SET><SET>Subject = R Medicine: R Medicine (General)</SET><SET>Subject = N Fine Arts: N Visual arts (General) For photography, see TR</SET><SET>Subject = J Political Science: JC Political theory</SET><SET>Subject = C Auxiliary Sciences of History: CB History of civilization</SET><SET>Subject = G Geography. Anthropology. Recreation: G Geography (General)</SET><SET>Subject = C Auxiliary Sciences of History: CC Archaeology</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals</SET><SET>Subject = J Political Science: JF Political institutions (General)</SET><SET>Subject = C Auxiliary Sciences of History: CE Technical chronology. Calendar</SET><SET>Subject = T Technology: T Technology (General): T201 Patents. Trademarks</SET><SET>Subject = D History General and Old World: D History (General): D051 Ancient History</SET><SET>Subject = A General Works</SET><SET>Subject = J Political Science: JK Political institutions (United States)</SET><SET>Subject = C Auxiliary Sciences of History: CJ Numismatics</SET><SET>Subject = B Philosophy. Psychology. Religion</SET><SET>Subject = J Political Science: JL Political institutions (America except United States)</SET><SET>Subject = C Auxiliary Sciences of History</SET><SET>Subject = D History General and Old World</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z719 Libraries (General)</SET><SET>Subject = J Political Science: JN Political institutions (Europe)</SET><SET>Subject = E History America</SET><SET>Subject = F History United States, Canada, Latin America</SET><SET>Subject = R Medicine: RC Internal medicine: RC0321 Neuroscience. Biological psychiatry. Neuropsychiatry</SET><SET>Subject = G Geography. Anthropology. Recreation</SET><SET>Subject = C Auxiliary Sciences of History: CN Inscriptions. Epigraphy.</SET><SET>Subject = L Education: LB Theory and practice of education: LB2361 Curriculum</SET><SET>Subject = H Social Sciences</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology: BV1460 Religious Education</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0080 Criticism</SET><SET>Subject = J Political Science</SET><SET>Subject = K Law</SET><SET>Subject = L Education</SET><SET>Subject = J Political Science: JQ Political institutions Asia</SET><SET>Subject = R Medicine: RA Public aspects of medicine</SET><SET>Subject = M Music and Books on Music</SET><SET>Subject = R Medicine: RB Pathology</SET><SET>Subject = N Fine Arts: NA Architecture</SET><SET>Subject = N Fine Arts</SET><SET>Subject = J Political Science: JS Local government Municipal government</SET><SET>Subject = C Auxiliary Sciences of History: CR Heraldry</SET><SET>Subject = V Naval Science: V Naval Science (General)</SET><SET>Subject = R Medicine: RC Internal medicine</SET><SET>Subject = N Fine Arts: NB Sculpture</SET><SET>Subject = G Geography. Anthropology. Recreation: GA Mathematical geography. Cartography</SET><SET>Subject = C Auxiliary Sciences of History: CS Genealogy</SET><SET>Subject = R Medicine: RD Surgery</SET><SET>Subject = N Fine Arts: NC Drawing Design Illustration</SET><SET>Subject = G Geography. Anthropology. Recreation: GB Physical geography</SET><SET>Subject = C Auxiliary Sciences of History: CT Biography</SET><SET>Subject = R Medicine: RE Ophthalmology</SET><SET>Subject = N Fine Arts: ND Painting</SET><SET>Subject = K Law: K Law (General)</SET><SET>Subject = J Political Science: JV Colonies and colonization. Emigration and immigration. International migration</SET><SET>Subject = G Geography. Anthropology. Recreation: GC Oceanography</SET><SET>Subject = R Medicine: RF Otorhinolaryngology</SET><SET>Subject = N Fine Arts: NE Print media</SET><SET>Subject = D History General and Old World: D History (General)</SET><SET>Subject = R Medicine: RG Gynecology and obstetrics</SET><SET>Subject = J Political Science: JX International law</SET><SET>Subject = G Geography. Anthropology. Recreation: GE Environmental Sciences</SET><SET>Subject = G Geography. Anthropology. Recreation: GF Human ecology. Anthropogeography</SET><SET>Subject = D History General and Old World: D History (General): D731 World War II</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN1187 Scotland</SET><SET>Subject = P Language and Literature</SET><SET>Subject = Q Science</SET><SET>Subject = J Political Science: JZ International relations</SET><SET>Subject = R Medicine: RJ Pediatrics</SET><SET>Subject = R Medicine</SET><SET>Subject = S Agriculture</SET><SET>Subject = R Medicine: RK Dentistry</SET><SET>Subject = T Technology</SET><SET>Subject = R Medicine: RL Dermatology</SET><SET>Subject = U Military Science</SET><SET>Subject = N Fine Arts: NK Decorative arts Applied arts Decoration and ornament</SET><SET>Subject = V Naval Science</SET><SET>Subject = R Medicine: RM Therapeutics. Pharmacology</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA1001 Forensic Medicine. Medical jurisprudence. Legal medicine</SET><SET>Subject = G Geography. Anthropology. Recreation: GN Anthropology</SET><SET>Subject = Z Bibliography. Library Science. Information Resources</SET><SET>Subject = S Agriculture: SF Animal culture: SF600 Veterinary Medicine</SET><SET>Subject = R Medicine: RS Pharmacy and materia medica</SET><SET>Subject = R Medicine: RT Nursing</SET><SET>Subject = G Geography. Anthropology. Recreation: GR Folklore</SET><SET>Subject = S Agriculture: S Agriculture (General)</SET><SET>Subject = R Medicine: RV Botanic, Thomsonian, and eclectic medicine</SET><SET>Subject = G Geography. Anthropology. Recreation: GT Manners and customs</SET><SET>Subject = D History General and Old World: DA Great Britain</SET><SET>Subject = D History General and Old World: DB Austria</SET><SET>Subject = R Medicine: RX Homeopathy</SET><SET>Subject = K Law: KD England and Wales</SET><SET>Subject = H Social Sciences: H Social Sciences (General)</SET><SET>Subject = G Geography. Anthropology. Recreation: GV Recreation Leisure</SET><SET>Subject = D History General and Old World: DC France</SET><SET>Subject = N Fine Arts: NX Arts in general</SET><SET>Subject = D History General and Old World: DD Germany</SET><SET>Subject = Q Science: QH Natural history: QH301 Biology</SET><SET>Subject = K Law: KF United States Federal Law</SET><SET>Subject = F History United States, Canada, Latin America: F1201 Latin America (General)</SET><SET>Subject = D History General and Old World: DE The Mediterranean Region. The Greco-Roman World</SET><SET>Subject = D History General and Old World: DF Greece</SET><SET>Subject = D History General and Old World: DG Italy</SET><SET>Subject = P Language and Literature: PN Literature (General): PN2000 Dramatic representation. The Theater</SET><SET>Subject = D History General and Old World: DH Netherlands (The Low Countries)</SET><SET>Subject = R Medicine: RZ Other systems of medicine</SET><SET>Subject = R Medicine: RJ Pediatrics: RJ101 Child Health. Child health services</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD28 Management. Industrial Management</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland)</SET><SET>Subject = V Naval Science: VM Naval architecture. Shipbuilding. Marine engineering</SET><SET>Subject = D History General and Old World: DK Russia. Soviet Union. Former Soviet Republics</SET><SET>Subject = D History General and Old World: DL Northern Europe. Scandinavia</SET><SET>Subject = Q Science: QH Natural history: QH426 Genetics</SET><SET>Subject = D History General and Old World: D History (General): D880 Developing Countries</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources</SET><SET>Subject = D History General and Old World: DP Spain</SET><SET>Subject = L Education: LC Special aspects of education: LC5201 Education extension. Adult education. Continuing education</SET><SET>Subject = S Agriculture: SB Plant culture</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA0421 Public health. Hygiene. Preventive Medicine</SET><SET>Subject = D History General and Old World: DR Balkan Peninsula</SET><SET>Subject = H Social Sciences: HA Statistics</SET><SET>Subject = D History General and Old World: DS Asia</SET><SET>Subject = S Agriculture: SD Forestry</SET><SET>Subject = P Language and Literature: P Philology. Linguistics</SET><SET>Subject = H Social Sciences: HB Economic Theory</SET><SET>Subject = D History General and Old World: DT Africa</SET><SET>Subject = L Education: L Education (General)</SET><SET>Subject = H Social Sciences: HC Economic History and Conditions</SET><SET>Subject = D History General and Old World: DU Oceania (South Seas)</SET><SET>Subject = S Agriculture: SF Animal culture</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor</SET><SET>Subject = A General Works: AC Collections. Series. Collected works</SET><SET>Subject = H Social Sciences: HE Transportation and Communications</SET><SET>Subject = S Agriculture: SH Aquaculture. Fisheries. Angling</SET><SET>Subject = H Social Sciences: HF Commerce</SET><SET>Subject = H Social Sciences: HG Finance</SET><SET>Subject = A General Works: AI Indexes (General)</SET><SET>Subject = D History General and Old World: D History (General): D501 World War I</SET><SET>Subject = D History General and Old World: D History (General): D839 Post-war History, 1945 on</SET><SET>Subject = K Law: KZ Law of Nations</SET><SET>Subject = S Agriculture: SK Hunting sports</SET><SET>Subject = Q Science: QR Microbiology: QR180 Immunology</SET><SET>Subject = H Social Sciences: HJ Public Finance</SET><SET>Subject = H Social Sciences: HM Sociology</SET><SET>Subject = A General Works: AM Museums (General). Collectors and collecting (General)</SET><SET>Subject = H Social Sciences: HN Social history and conditions. Social problems. Social reform</SET><SET>Subject = D History General and Old World: D History (General): D901 Europe (General)</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland): DJK Eastern Europe</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4050 Electronic information resources</SET><SET>Subject = H Social Sciences: HQ The family. Marriage. Woman</SET><SET>Subject = P Language and Literature: PA Classical philology</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1990 Broadcasting</SET><SET>Subject = P Language and Literature: PB Modern European Languages</SET><SET>Subject = L Education: LA History of education</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN101 Great Britain</SET><SET>Subject = H Social Sciences: HS Societies secret benevolent etc</SET><SET>Subject = T Technology: T Technology (General)</SET><SET>Subject = P Language and Literature: PC Romance languages</SET><SET>Subject = L Education: LB Theory and practice of education</SET><SET>Subject = H Social Sciences: HT Communities. Classes. Races</SET><SET>Subject = A General Works: AS Academies and learned societies (General)</SET><SET>Subject = P Language and Literature: PD Germanic languages</SET><SET>Subject = L Education: LC Special aspects of education</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1993 Motion Pictures</SET><SET>Subject = P Language and Literature: PE English</SET><SET>Subject = L Education: LD Individual institutions (United States)</SET><SET>Subject = H Social Sciences: HV Social pathology. Social and public welfare</SET><SET>Subject = P Language and Literature: PF West Germanic</SET><SET>Subject = L Education: LE Individual institutions (America except United States)</SET><SET>Subject = B Philosophy. Psychology. Religion: B Philosophy (General)</SET><SET>Subject = P Language and Literature: PG Slavic, Baltic, Albanian languages and literature</SET><SET>Subject = L Education: LF Individual institutions (Europe)</SET><SET>Subject = H Social Sciences: HX Socialism. Communism. Anarchism</SET><SET>Subject = P Language and Literature: PH Finno-Ugrian, Basque languages and literatures</SET><SET>Subject = L Education: LG Individual institutions (Asia. Africa)</SET><SET>Subject = P Language and Literature: PI Oriental languages and literatures</SET><SET>Subject = P Language and Literature: PJ Semitic</SET><SET>Subject = A General Works: AZ History of Scholarship The Humanities</SET><SET>Subject = P Language and Literature: PK Indo-Iranian</SET><SET>Subject = P Language and Literature: PL Languages and literatures of Eastern Asia, Africa, Oceania</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4450 Databases</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0441 Literary History</SET><SET>Subject = P Language and Literature: PM Hyperborean, Indian, and Artificial languages</SET><SET>Subject = P Language and Literature: PN Literature (General)</SET><SET>Subject = L Education: LB Theory and practice of education: LB1501 Primary Education</SET><SET>Subject = H Social Sciences: HF Commerce: HF5601 Accounting</SET><SET>Subject = D History General and Old World: D History (General): D204 Modern History</SET><SET>Subject = P Language and Literature: PB Modern European Languages: PB1501 Gaelic (Scottish Gaelic, Erse)</SET><SET>Subject = R Medicine: RC Internal medicine: RC1200 Sports Medicine</SET><SET>Subject = P Language and Literature: PQ Romance literatures</SET><SET>Subject = P Language and Literature: PR English literature</SET><SET>Subject = T Technology: TA Engineering (General). Civil engineering (General)</SET><SET>Subject = P Language and Literature: PS American literature</SET><SET>Subject = P Language and Literature: PT Germanic literature</SET><SET>Subject = T Technology: TC Hydraulic engineering. Ocean engineering</SET><SET>Subject = L Education: LT Textbooks</SET><SET>Subject = T Technology: TD Environmental technology. Sanitary engineering</SET><SET>Subject = Q Science: Q Science (General)</SET><SET>Subject = T Technology: TE Highway engineering. Roads and pavements</SET><SET>Subject = M Music and Books on Music: M Music</SET><SET>Subject = E History America: E151 United States (General)</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z665 Library Science. Information Science</SET><SET>Subject = T Technology: TF Railroad engineering and operation</SET><SET>Subject = B Philosophy. Psychology. Religion: BC Logic</SET><SET>Subject = T Technology: TG Bridge engineering</SET><SET>Subject = B Philosophy. Psychology. Religion: BD Speculative Philosophy</SET><SET>Subject = T Technology: TH Building construction</SET><SET>Subject = B Philosophy. Psychology. Religion: BF Psychology</SET><SET>Subject = B Philosophy. Psychology. Religion: BH Aesthetics</SET><SET>Subject = D History General and Old World: D History (General): D890 Eastern Hemisphere</SET><SET>Subject = P Language and Literature: PZ Childrens literature</SET><SET>Subject = L Education: LB Theory and practice of education: LB2300 Higher Education</SET><SET>Subject = F History United States, Canada, Latin America: F1001 Canada (General)</SET><SET>Subject = T Technology: TJ Mechanical engineering and machinery</SET><SET>Subject = T Technology: TK Electrical engineering. Electronics Nuclear engineering</SET><SET>Subject = D History General and Old World: D History (General): D111 Medieval History</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z004 Books. Writing. Paleography</SET><SET>Subject = T Technology: TL Motor vehicles. Aeronautics. Astronautics</SET><SET>Subject = B Philosophy. Psychology. Religion: BJ Ethics</SET><SET>Subject = T Technology: TN Mining engineering. Metallurgy</SET><SET>Subject = B Philosophy. Psychology. Religion: BL Religion</SET><SET>Subject = E History America: E11 America (General)</SET><SET>Subject = B Philosophy. Psychology. Religion: BM Judaism</SET><SET>Subject = T Technology: TP Chemical technology</SET><SET>Subject = F History United States, Canada, Latin America: F001 United States local history</SET><SET>Subject = T Technology: TR Photography</SET><SET>Subject = T Technology: TS Manufactures</SET><SET>Subject = K Law: KD England and Wales: KDC Scotland</SET><SET>Subject = B Philosophy. Psychology. Religion: BP Islam. Bahaism. Theosophy, etc</SET><SET>Subject = T Technology: TT Handicrafts Arts and crafts</SET><SET>Subject = Q Science: QA Mathematics</SET><SET>Subject = B Philosophy. Psychology. Religion: BQ Buddhism</SET><SET>Subject = Q Science: QB Astronomy</SET><SET>Subject = B Philosophy. Psychology. Religion: BR Christianity</SET><SET>Subject = U Military Science: U Military Science (General)</SET><SET>Subject = Q Science: QC Physics</SET><SET>Subject = B Philosophy. Psychology. Religion: BS The Bible</SET><SET>Subject = Q Science: QD Chemistry</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD61 Risk Management</SET><SET>Subject = B Philosophy. Psychology. Religion: BT Doctrinal Theology</SET><SET>Subject = T Technology: TX Home economics</SET><SET>Subject = Q Science: QH Natural history: QH345 Biochemistry</SET><SET>Subject = Q Science: QE Geology</SET><SET>Subject = J Political Science: J General legislative and executive papers</SET><SET>Subject = C Auxiliary Sciences of History: C Auxiliary sciences of history (General)</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology</SET><SET>Subject = Q Science: QH Natural history</SET><SET>Subject = B Philosophy. Psychology. Religion: BX Christian Denominations</SET><SET>Subject = Q Science: QR Microbiology: QR355 Virology</SET><SET>Subject = Q Science: QK Botany</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals: CD921 Archives</SET><SET>Subject = Q Science: QL Zoology</SET><SET>Subject = Q Science: QM Human anatomy</SET><SET>Subject = Q Science: QA Mathematics: QA75 Electronic computers. Computer science</SET><SET>Subject = M Music and Books on Music: ML Literature of music</SET><SET>Subject = Q Science: QA Mathematics: QA76 Computer software</SET><SET>Subject = L Education: LB Theory and practice of education: LB1603 Secondary Education. High schools</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>4095</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/tools/local-cxf.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/tools/local-cxf.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/tools/local-cxf.xml	(revision 47801)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
+	xmlns:util="http://www.springframework.org/schema/util"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+
+	<import resource="classpath:META-INF/cxf/cxf.xml" />
+	<import resource="classpath:META-INF/cxf/cxf-extension-jaxws.xml" />
+
+	<bean class="org.apache.cxf.transport.local.LocalTransportFactory"
+		lazy-init="false">
+
+		<property name="transportIds">
+			<list>
+				<value>http://cxf.apache.org/transports/local</value>
+				<value>http://schemas.xmlsoap.org/soap/http</value>
+				<value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
+			</list>
+		</property>
+	</bean>
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/hsql-context.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/hsql-context.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/hsql-context.xml	(revision 47801)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:p="http://www.springframework.org/schema/p"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+	<!-- DATASOURCE HSQLDB -->
+	<bean id="issnDataSource" class="org.apache.commons.dbcp.BasicDataSource"
+		destroy-method="close">
+		<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+		<!--            <property name="url" value="jdbc:hsqldb:mem:memdb" />-->
+		<property name="url"
+			value="jdbc:hsqldb:file:/tmp/issndb/issn;shutdown=true" />
+		<property name="username" value="sa" />
+		<property name="password" value="" />
+	</bean>
+
+	<!-- Hibernate SessionFactory -->
+	<bean id="issnSessionFactory"
+		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
+		p:dataSource-ref="issnDataSource">
+		<property name="annotatedClasses">
+			<list>
+				<value>eu.dnetlib.enabling.is.sn.resourcestate.ResourceStateSubscription</value>
+			</list>
+		</property>
+		<property name="hibernateProperties">
+			<props>
+				<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect
+				</prop>
+				<prop key="hibernate.show_sql">true</prop>
+				<prop key="hibernate.hbm2ddl.auto">create</prop>
+			</props>
+		</property>
+	</bean>
+	
+	<bean id="issnTransactionManager"
+		class="org.springframework.orm.hibernate4.HibernateTransactionManager"
+		p:sessionFactory-ref="issnSessionFactory" />
+
+	<bean id="hibernateResourceStateSubscriptionDAO"
+		class="eu.dnetlib.enabling.is.sn.resourcestate.hib.HibernateResourceStateSubscriptionDAOImpl"
+		p:sessionFactory-ref="issnSessionFactory" />
+
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/any-schema.xsd
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/any-schema.xsd	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/any-schema.xsd	(revision 47801)
@@ -0,0 +1,166 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="USED_DISKSPACE" type="xs:int"/>
+    <xs:element name="TYPOLOGY" type="xs:string"/>
+    <xs:element name="MASTER" type="xs:boolean"/>
+    <xs:element name="THROUGHPUT" type="xs:double"/>
+    <xs:element name="STATUS">
+        <xs:complexType mixed="true">
+            <xs:all>
+                <xs:element ref="MASTER" minOccurs="0"/>
+                <xs:element ref="HANDLED_DATASTRUCTURE" />
+                <xs:element ref="USED_DISKSPACE" />
+                <xs:element name="LAST_UPDATE" type="LAST_UPDATEType" />
+            </xs:all>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="ACTION_STATUS">
+        <xs:simpleType>
+            <xs:restriction base="xs:string">
+                <xs:enumeration value="DONE"/>
+                <xs:enumeration value="ONGOING"/>
+                <xs:enumeration value="FAILED"/>
+                <xs:enumeration value="WAITING"/>
+                <xs:enumeration value="ASSIGNED"/>
+            </xs:restriction>
+        </xs:simpleType>
+    </xs:element>
+    <xs:element name="SECURITY_PARAMETERS" type="xs:string"/>
+    <xs:element name="RESPONSE_TIME" type="xs:int"/>
+    <xs:element name="RESOURCE_PROFILE">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="HEADER" type="HEADERType"/>
+                <xs:element name="BODY" type="BODYType"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:complexType name="RESOURCE_TYPEType">
+        <xs:attribute name="value" use="required">
+            <xs:simpleType>
+                <xs:restriction base="xs:string">
+                    <xs:enumeration value="IS_StoreServiceResourceType"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+    </xs:complexType>
+    <xs:complexType name="RESOURCE_URIType">
+        <xs:attribute name="value" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="RESOURCE_KINDType">
+        <xs:attribute name="value" use="required">
+            <xs:simpleType>
+                <xs:restriction base="xs:string">
+                    <xs:enumeration value="ServiceResources"/>
+                    <xs:enumeration value="PendingServiceResources"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+    </xs:complexType>
+    <xs:complexType name="RESOURCE_IDENTIFIERType">
+        <xs:attribute name="value" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="PARENT_IDType">
+        <xs:attribute name="value" type="xs:string" use="required"/>
+        <xs:attribute name="type" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="DATE_OF_CREATIONType">
+        <xs:attribute name="value" type="xs:dateTime" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="LAST_UPDATEType">
+        <xs:attribute name="value" type="xs:dateTime" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="PROTOCOLType">
+        <xs:attribute name="name" type="xs:string" use="required"/>
+        <xs:attribute name="address" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="PROTOCOLSType">
+        <xs:sequence>
+            <xs:element name="PROTOCOL" type="PROTOCOLType" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:element name="QOS">
+        <xs:complexType>
+            <xs:all>
+                <xs:element ref="AVAILABILITY"/>
+                <xs:element ref="CAPACITY"/>
+                <xs:element ref="RESPONSE_TIME"/>
+                <xs:element ref="THROUGHPUT"/>
+            </xs:all>
+        </xs:complexType>
+    </xs:element>
+    <xs:complexType name="MESSAGEType">
+        <xs:sequence>
+            <xs:element ref="ACTION"/>
+            <xs:element name="PARAMETER" type="PARAMETERType" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element ref="ACTION_STATUS"/>
+        </xs:sequence>
+        <xs:attribute name="id" type="xs:string" use="required"/>
+        <xs:attribute name="date" type="xs:dateTime" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="PARAMETERType">
+        <xs:attribute name="name" type="xs:string" use="required"/>
+        <xs:attribute name="value" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="SERVICEPROPERTIESType">
+        <xs:sequence>
+            <xs:element name="PROPERTY" type="PROPERTYType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="PROPERTYType">
+        <xs:attribute name="key" type="xs:string" use="required"/>
+        <xs:attribute name="value" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:element name="MAX_SIZE_OF_DATASTRUCTURE" type="xs:int"/>
+    <xs:element name="MAX_NUMBER_OF_DATASTRUCTURE" type="xs:int"/>
+    <xs:complexType name="HEADERType">
+        <xs:all>
+            <xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType"/>
+            <xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType"/>
+            <xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType"/>
+            <xs:element name="RESOURCE_URI" type="RESOURCE_URIType"/>
+            <xs:element name="PARENT_ID" type="PARENT_IDType" minOccurs="0"/>
+            <xs:element name="DATE_OF_CREATION" type="DATE_OF_CREATIONType"/>
+            <xs:element name="PROTOCOLS" type="PROTOCOLSType"/>
+        </xs:all>
+    </xs:complexType>
+    <xs:element name="HANDLED_DATASTRUCTURE" type="xs:int"/>
+    <xs:element name="CONFIGURATION">
+        <xs:complexType>
+            <xs:all>
+                <xs:element ref="TYPOLOGY"/>
+                <xs:element ref="MAX_SIZE_OF_DATASTRUCTURE"/>
+                <xs:element ref="AVAILABLE_DISKSPACE"/>
+                <xs:element ref="MAX_NUMBER_OF_DATASTRUCTURE"/>
+                <xs:element name="SERVICE_PROPERTIES" type="SERVICEPROPERTIESType" minOccurs="0"/>
+            </xs:all>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="CAPACITY" type="xs:string"/>
+    <xs:complexType name="BLACKBOARD_LASTType">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute name="date" type="xs:string"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+    <xs:complexType name="BLACKBOARDType">
+        <xs:sequence>
+            <xs:element name="LAST_REQUEST" type="BLACKBOARD_LASTType" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="LAST_RESPONSE" type="BLACKBOARD_LASTType" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="MESSAGE" type="MESSAGEType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="BODYType">
+        <xs:all>
+            <xs:element ref="CONFIGURATION"/>
+            <xs:element ref="STATUS"/>
+            <xs:element ref="QOS"/>
+            <xs:element ref="SECURITY_PARAMETERS"/>
+            <xs:element ref="BLACKBOARD"/>
+        </xs:all>
+    </xs:complexType>
+    <xs:element name="BLACKBOARD" type="BLACKBOARDType"/>
+    <xs:element name="AVAILABLE_DISKSPACE" type="xs:int"/>
+    <xs:element name="AVAILABILITY" type="xs:string"/>
+    <xs:element name="ACTION" type="xs:string"/>
+</xs:schema>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/schema.xsd
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/schema.xsd	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/schema.xsd	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2007 sp1 (http://www.altova.com) by pagano (CNR) --><!-- edited by hand and checked with XMLSpy by mikulicic (CNR) --><!--W3C Schema generated by XMLSpy v2007 sp1 (http://www.altova.com)--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="USED_DISKSPACE" type="xs:integer"/><xs:element name="TYPOLOGY" type="xs:string"/><xs:element name="OFFICIAL_NAME" type="xs:string"/><xs:element name="ENGLISH_NAME" type="xs:string"/><xs:element name="ICON_URI" type="xs:string"/><xs:element name="COUNTRY" type="xs:string"/><xs:element name="REPOSITORY_WEBPAGE" type="xs:string"/><xs:element name="ACCESS_PROTOCOL" type="xs:string"/><xs:element name="BASE_URL" type="xs:string"/><xs:element name="FORMAT" type="xs:string"/><xs:element name="REPOSITORY_INSTITUTION" type="xs:string"/><xs:element name="ADMIN_INFO" type="xs:string"/><xs:element name="SET" type="xs:string"/><xs:element name="THROUGHPUT" type="xs:double"/><xs:complexType name="LAST_UPDATEType"><xs:attribute name="value" type="xs:dateTime" use="required"/></xs:complexType><xs:element name="LOCATION"><xs:complexType><xs:all><xs:element name="LONGITUDE" type="xs:double"/><xs:element name="LATITUDE" type="xs:double"/><xs:element name="TIMEZONE"><xs:simpleType><xs:restriction base="xs:double"><xs:pattern value="-?[0-9]*(\.[05])?"/><xs:minInclusive value="-12.0"/><xs:maxInclusive value="12.0"/></xs:restriction></xs:simpleType></xs:element></xs:all></xs:complexType></xs:element><xs:element name="STATUS"><xs:complexType mixed="true"><xs:all><xs:element ref="HANDLED_DATASTRUCTURE" minOccurs="0"/><xs:element ref="USED_DISKSPACE" minOccurs="0"/><xs:element ref="NUMBER_OF_OBJECTS"/><xs:element name="LAST_UPDATE" type="LAST_UPDATEType" minOccurs="0"/></xs:all></xs:complexType></xs:element><xs:element name="ACTION_STATUS"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="DONE"/><xs:enumeration value="ONGOING"/><xs:enumeration value="FAILED"/><xs:enumeration value="WAITING"/><xs:enumeration value="ASSIGNED"/></xs:restriction></xs:simpleType></xs:element><xs:element name="SECURITY_PARAMETERS" type="xs:string"/><xs:element name="RESPONSE_TIME" type="xs:string" /><xs:element name="RESOURCE_PROFILE"><xs:complexType><xs:sequence><xs:element name="HEADER" type="HEADERType"/><xs:element name="BODY" type="BODYType"/></xs:sequence></xs:complexType></xs:element><xs:element name="SETS"><xs:complexType><xs:sequence><xs:element ref="SET" minOccurs="0" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="FORMATS"><xs:complexType><xs:sequence><xs:element ref="FORMAT" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="INTERFACE"><xs:complexType><xs:sequence><xs:element ref="ACCESS_PROTOCOL"/><xs:element ref="BASE_URL"/><xs:element ref="FORMATS"/><xs:element ref="SETS"/></xs:sequence></xs:complexType></xs:element><xs:element name="INTERFACES"><xs:complexType><xs:sequence><xs:element ref="INTERFACE" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:complexType name="RESOURCE_TYPEType"><xs:attribute name="value" use="required"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="RepositoryServiceResourceType"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType><xs:complexType name="RESOURCE_URIType"><xs:attribute name="value" type="xs:string" use="required"/></xs:complexType><xs:complexType name="RESOURCE_KINDType"><xs:attribute name="value" use="required"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="RepositoryServiceResources"/><xs:enumeration value="PendingRepositoryResources"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType><xs:complexType name="RESOURCE_IDENTIFIERType"><xs:attribute name="value" type="xs:string" use="required"/></xs:complexType><xs:complexType name="DATE_OF_CREATIONType"><xs:attribute name="value" type="xs:dateTime" use="required"/></xs:complexType><xs:element name="PROTOCOL" type="xs:string"/><xs:element name="QOS"><xs:complexType><xs:sequence><xs:element ref="AVAILABILITY"/><xs:element ref="CAPACITY"/><xs:element ref="RESPONSE_TIME" minOccurs="0"/><xs:element ref="THROUGHPUT"/></xs:sequence></xs:complexType></xs:element><xs:element name="PARAMETERS"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="name" type="xs:string" use="required"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="MESSAGE"><xs:complexType><xs:sequence><xs:element ref="ACTION"/><xs:element ref="PARAMETERS" maxOccurs="unbounded"/><xs:element ref="ACTION_STATUS"/></xs:sequence><xs:attribute name="id" type="xs:string" use="required"/></xs:complexType></xs:element><xs:element name="MAX_SIZE_OF_DATASTRUCTURE" type="xs:integer"/><xs:element name="MAX_NUMBER_OF_DATASTRUCTURE" type="xs:integer"/><xs:complexType name="HEADERType"><xs:all><xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType"/> <!-- ci pensa il registry --><xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType"/><xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType"/><xs:element name="RESOURCE_URI" type="RESOURCE_URIType"/><xs:element name="DATE_OF_CREATION" type="DATE_OF_CREATIONType"/> <!-- ci pensa il registry --><xs:element ref="PROTOCOL"/></xs:all></xs:complexType><xs:element name="HANDLED_DATASTRUCTURE" type="xs:integer"/><xs:element name="NUMBER_OF_OBJECTS" type="xs:integer"/><xs:element name="CONFIGURATION"><xs:complexType><xs:all><xs:element ref="TYPOLOGY"/><xs:element ref="MAX_SIZE_OF_DATASTRUCTURE"/><xs:element ref="AVAILABLE_DISKSPACE"/><xs:element ref="MAX_NUMBER_OF_DATASTRUCTURE"/><xs:element ref="OFFICIAL_NAME"/><xs:element ref="ENGLISH_NAME"/><xs:element ref="ICON_URI"/><xs:element ref="COUNTRY"/><xs:element ref="LOCATION"/><xs:element ref="REPOSITORY_WEBPAGE"/><xs:element ref="REPOSITORY_INSTITUTION"/><xs:element ref="ADMIN_INFO"/><xs:element ref="INTERFACES"/></xs:all></xs:complexType></xs:element><xs:element name="CAPACITY" type="xs:string"/><xs:complexType name="BODYType"><xs:sequence><xs:element ref="CONFIGURATION"/><xs:element ref="STATUS"/><xs:element ref="QOS"/><xs:element ref="SECURITY_PARAMETERS"/><xs:element ref="BLACKBOARD"/></xs:sequence></xs:complexType><xs:element name="BLACKBOARD"><xs:complexType><xs:sequence><xs:element name="LAST_REQUEST" type="xs:string" minOccurs="0" maxOccurs="1"/><xs:element name="LAST_RESPONSE" type="xs:string" minOccurs="0" maxOccurs="1"/><xs:element ref="MESSAGE" minOccurs="0" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="AVAILABLE_DISKSPACE" type="xs:string"/><xs:element name="AVAILABILITY" type="xs:string"/><xs:element name="ACTION"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="CREATE"/><xs:enumeration value="DELETE"/><xs:enumeration value="UPDATE"/><xs:enumeration value="MANAGE"/><xs:enumeration value="RELEASE"/><xs:enumeration value="CANCEL"/></xs:restriction></xs:simpleType></xs:element></xs:schema>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/valid-profile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/valid-profile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/valid-profile.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="10-11e40a85-cd4f-47e6-92b9-cab6efb75e50_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T18:55:44+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>edoc</TYPOLOGY><OFFICIAL_NAME>Humboldt University of Berlin, GERMANY, Document Server</OFFICIAL_NAME><ENGLISH_NAME>Humboldt Univ. Berlin: edoc Document and Publication Server</ENGLISH_NAME><ICON_URI>http://edoc.hu-berlin.de/e_modules/banner4.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>13.37</LONGITUDE><LATITUDE>52.5159</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://edoc.hu-berlin.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:oai@rz.hu-berlin.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://edoc.hu-berlin.de/OAI-2.0</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>oai_ems</FORMAT><FORMAT>oai_pp</FORMAT><FORMAT>oai_xmetadiss</FORMAT><FORMAT>oai_epdcx</FORMAT></FORMATS><SETS><SET>Allgemeines, Wissenschaft</SET><SET>Informatik</SET><SET>Bibliografien</SET><SET>Bibliotheks- und Informationswissenschaft</SET><SET>Organisationen, Museumswissenschaft</SET><SET>Geografie, Reisen</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Religion, Religionsphilosophie</SET><SET>Theologie, Christentum</SET><SET>Andere Religionen</SET><SET>Sozialwissenschaften, Soziologie</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET><SET>ffentliche Verwaltung</SET><SET>Soziale Probleme, Sozialarbeit</SET><SET>Erziehung, Schul- und Bildungswesen</SET><SET>Ethnologie</SET><SET>Sprachwissenschaft, Linguistik</SET><SET>Deutsch</SET><SET>Franzoesisch, romanische Sprachen allgemein</SET><SET>Italienisch, Rumaenisch, Raetoromanisch</SET><SET>Latein</SET><SET>Andere Sprachen</SET><SET>Naturwissenschaften</SET><SET>Mathematik</SET><SET>Physik</SET><SET>Chemie</SET><SET>Geowissenschaften</SET><SET>Biowissenschaften, Biologie</SET><SET>Pflanzen (Botanik)</SET><SET>Tiere (Zoologie)</SET><SET>Technik</SET><SET>Medizin</SET><SET>Landwirtschaft, Veterinaermedizin</SET><SET>Hauswirtschaft</SET><SET>Management</SET><SET>Kuenste, Bildende Kunst allgemein</SET><SET>Landschaftsgestaltung, Raumplanung</SET><SET>Architektur</SET><SET>Plastik, Numismatik, Keramik, Metallkunst</SET><SET>Malerei</SET><SET>Grafische Verfahren, Drucke</SET><SET>ffentliche Darbietungen, Film, Rundfunk</SET><SET>Theater, Tanz</SET><SET>Sport</SET><SET>Literatur, Rhetorik, Literaturwissenschaft</SET><SET>Deutsche Literatur</SET><SET>Literatur in anderen germanischen Sprachen</SET><SET>Franzoesische Literatur</SET><SET>Italienische, rumaenische, raetoromanische Literatur</SET><SET>Literatur in anderen Sprachen</SET><SET>Geschichte</SET><SET>Geografie, Reisen</SET><SET>Biografie, Genealogie, Heraldik</SET><SET>Alte Geschichte, Archaeologie</SET><SET>Geschichte Europas</SET><SET>Geschichte Deutschlands</SET><SET>Geschichte Asiens</SET><SET>Wissenschaft und Kultur allgemein</SET><SET>Schrift, Buch, Bibliothek, Information und Dokumentation</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Christliche Religion</SET><SET>Allg. und Vgl. Religionswiss., Nichtchristliche Religionen</SET><SET>Soziologie, Gesellschaft</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET><SET>Erziehung, Bildung, Unterricht</SET><SET>Volkskunde, Voelkerkunde</SET><SET>Natur, Naturwissenschaften allgemein</SET><SET>Mathematik</SET><SET>Informatik, Datenverarbeitung</SET><SET>Physik, Astronomie</SET><SET>Chemie</SET><SET>Geowissenschaften</SET><SET>Biologie</SET><SET>Medizin</SET><SET>Technik allgemein</SET><SET>Landwirtschaft, Garten</SET><SET>Architektur</SET><SET>Bildende Kunst</SET><SET>Theater, Tanz, Film</SET><SET>Sport, Spiele</SET><SET>Allg. und Vgl. Sprach- und Literaturwissenschaft</SET><SET>Deutsche Sprach- und Literaturwissenschaft</SET><SET>Sprach- und Literaturwiss. der uebrigen germanischen Sprachen</SET><SET>Romanische Sprach- und Literaturwissenschaft</SET><SET>Klassische Sprach- und Literaturwissenschaft</SET><SET>Slawische und baltische Sprach- und Literaturwissenschaft</SET><SET>Sprach- und Literaturwissenschaft sonstiger Sprachen</SET><SET>Archaeologie, Vorgeschichte</SET><SET>Geographie, Heimat- und Laenderkunde, Reisen</SET><SET>Geschichte und Historische Hilfswissenschaften</SET><SET>Sozialgeschichte</SET><SET>Wirtschaftsgeschichte</SET><SET>Books, Monographs</SET><SET>Conference Proceedings</SET><SET>Diploma Theses</SET><SET>Dissertations and Professional Dissertations</SET><SET>Journal Article</SET><SET>Lectures</SET><SET>Papers</SET><SET>Reports</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5507</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo63.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo63.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo63.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="20-3fd0f22a-fa3a-4214-b692-bce2b0058b53_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-15T08:24:56+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Rovira i Virgili: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. Rovira i Virgil: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>1.260145</LONGITUDE><LATITUDE>41.119736</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Rovira i Virgili</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_URV/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>378</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo169.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo169.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo169.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="8-544ab904-c31f-43f2-a6ce-f98f2447df9d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-06T21:21:00+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat de València: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Valencia: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-0.364511</LONGITUDE><LATITUDE>39.479201</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat de València</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UV/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>566</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo69.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo69.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo69.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-152e4c45-cba9-4ef8-a6be-8d6eca9bd4fa_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-04T16:26:29+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>ECNIS Repository (Environmental Cancer Risk, Nutrition and Individual Susceptibility Repository)</OFFICIAL_NAME><ENGLISH_NAME>ECNIS Repository (Environmental Cancer Risk, Nutrition and Individual Susceptibility Repository)</ENGLISH_NAME><ICON_URI>http://ecnis.openrepository.com/ecnis/image/header.gif</ICON_URI><COUNTRY>PL</COUNTRY><LOCATION><LONGITUDE>19.43716</LONGITUDE><LATITUDE>51.801829</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://ecnis.openrepository.com</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Nofer Institute of Occupational Medicine</REPOSITORY_INSTITUTION><ADMIN_INFO>library@imp.lodz.pl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://ecnis.openrepository.com/ecnis/oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>132</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo45.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo45.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo45.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="161-283b5e7b-c2b7-4d15-9bf1-65f035bd974d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-01-01T13:51:30+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>DSpace at Radboud Univ. Nijmegen</OFFICIAL_NAME><ENGLISH_NAME>Radboud Univ. Nijmegen: Digital Repository</ENGLISH_NAME><ICON_URI>http://dspace.ou.nl/dspace-oai/request</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.85</LONGITUDE><LATITUDE>51.8333</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dare.ubn.kun.nl:8080/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>systeembeheer@ubn.ru.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dare.ubn.kun.nl:8080/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Bogaers-Haalebos</SET><SET>DONOR-bestandsinventarisatie (2e release  april 2006)</SET><SET>Elektronische publicaties Radboud Universiteit</SET><SET>FNWI</SET><SET>Keur der Wetenschap</SET><SET>Keur extra</SET><SET>Metis Medische bibliotheek</SET><SET>RU 1995-1997</SET><SET>test</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7279</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImplTest-context.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImplTest-context.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/sn/resourcestate/hib/HibernateResourceStateSubscriptionDAOImplTest-context.xml	(revision 47801)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
+	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
+	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
+	xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
+		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
+		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
+		http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
+	<!--
+		swap comments on the following two lines if you want to test on a real
+		db (derby)
+	-->
+<!--	<import resource="applicationContext-issn-derby.xml" /> -->
+	<import resource="hsql-context.xml" />
+<!-- 	<import resource="applicationContext-issn-hib.xml" /> -->
+
+	<!-- Transactions -->
+
+	<tx:advice id="issnTxAdvice" transaction-manager="issnTransactionManager">
+		<tx:attributes>
+			<tx:method name="*" />
+		</tx:attributes>
+	</tx:advice>
+
+	<aop:config proxy-target-class="true">
+		<aop:pointcut id="issnDAOMethods"
+			expression="execution(* eu.dnetlib.enabling.is.sn.resourcestate.hib.*.*(..))" />
+
+		<aop:advisor advice-ref="issnTxAdvice" pointcut-ref="issnDAOMethods" />
+	</aop:config>
+
+</beans>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/RepositoryServiceResourceType.xsd
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/RepositoryServiceResourceType.xsd	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/RepositoryServiceResourceType.xsd	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="USED_DISKSPACE" type="xs:integer"/><xs:element name="TYPOLOGY" type="xs:string"/><xs:element name="OFFICIAL_NAME" type="xs:string"/><xs:element name="ENGLISH_NAME" type="xs:string"/><xs:element name="ICON_URI" type="xs:string"/><xs:element name="COUNTRY" type="xs:string"/><xs:element name="REPOSITORY_WEBPAGE" type="xs:string"/><xs:element name="ACCESS_PROTOCOL" type="xs:string"/><xs:element name="BASE_URL" type="xs:string"/><xs:element name="FORMAT" type="xs:string"/><xs:element name="REPOSITORY_INSTITUTION" type="xs:string"/><xs:element name="ADMIN_INFO" type="xs:string"/><xs:element name="SET" type="xs:string"/><xs:element name="THROUGHPUT" type="xs:double"/><xs:complexType name="LAST_UPDATEType"><xs:attribute name="value" type="xs:dateTime" use="required"/></xs:complexType><xs:element name="LOCATION"><xs:complexType><xs:all><xs:element name="LONGITUDE" type="xs:double"/><xs:element name="LATITUDE" type="xs:double"/><xs:element name="TIMEZONE"><xs:simpleType><xs:restriction base="xs:double"><xs:pattern value="-?[0-9]*(\.[05])?"/><xs:minInclusive value="-12.0"/><xs:maxInclusive value="12.0"/></xs:restriction></xs:simpleType></xs:element></xs:all></xs:complexType></xs:element><xs:element name="STATUS"><xs:complexType mixed="true"><xs:all><xs:element ref="HANDLED_DATASTRUCTURE" minOccurs="0"/><xs:element ref="USED_DISKSPACE" minOccurs="0"/><xs:element ref="NUMBER_OF_OBJECTS"/><xs:element name="LAST_UPDATE" type="LAST_UPDATEType" minOccurs="0"/></xs:all></xs:complexType></xs:element><xs:element name="ACTION_STATUS"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="DONE"/><xs:enumeration value="ONGOING"/><xs:enumeration value="FAILED"/><xs:enumeration value="WAITING"/><xs:enumeration value="ASSIGNED"/></xs:restriction></xs:simpleType></xs:element><xs:element name="SECURITY_PARAMETERS" type="xs:string"/><xs:element name="RESPONSE_TIME" type="xs:string" /><xs:element name="RESOURCE_PROFILE"><xs:complexType><xs:sequence><xs:element name="HEADER" type="HEADERType"/><xs:element name="BODY" type="BODYType"/></xs:sequence></xs:complexType></xs:element><xs:element name="SETS"><xs:complexType><xs:sequence><xs:element ref="SET" minOccurs="0" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="FORMATS"><xs:complexType><xs:sequence><xs:element ref="FORMAT" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="INTERFACE"><xs:complexType><xs:sequence><xs:element ref="ACCESS_PROTOCOL"/><xs:element ref="BASE_URL"/><xs:element ref="FORMATS"/><xs:element ref="SETS"/></xs:sequence></xs:complexType></xs:element><xs:element name="INTERFACES"><xs:complexType><xs:sequence><xs:element ref="INTERFACE" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:complexType name="RESOURCE_TYPEType"><xs:attribute name="value" use="required"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="RepositoryServiceResourceType"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType><xs:complexType name="RESOURCE_URIType"><xs:attribute name="value" type="xs:string" use="required"/></xs:complexType><xs:complexType name="RESOURCE_KINDType"><xs:attribute name="value" use="required"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="RepositoryServiceResources"/><xs:enumeration value="PendingRepositoryResources"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType><xs:complexType name="RESOURCE_IDENTIFIERType"><xs:attribute name="value" type="xs:string" use="required"/></xs:complexType><xs:complexType name="DATE_OF_CREATIONType"><xs:attribute name="value" type="xs:dateTime" use="required"/></xs:complexType><xs:element name="PROTOCOL" type="xs:string"/><xs:element name="QOS"><xs:complexType><xs:sequence><xs:element ref="AVAILABILITY"/><xs:element ref="CAPACITY"/><xs:element ref="RESPONSE_TIME" minOccurs="0"/><xs:element ref="THROUGHPUT"/></xs:sequence></xs:complexType></xs:element><xs:element name="PARAMETERS"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="name" type="xs:string" use="required"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="MESSAGE"><xs:complexType><xs:sequence><xs:element ref="ACTION"/><xs:element ref="PARAMETERS" maxOccurs="unbounded"/><xs:element ref="ACTION_STATUS"/></xs:sequence><xs:attribute name="id" type="xs:string" use="required"/></xs:complexType></xs:element><xs:element name="MAX_SIZE_OF_DATASTRUCTURE" type="xs:integer"/><xs:element name="MAX_NUMBER_OF_DATASTRUCTURE" type="xs:integer"/><xs:complexType name="HEADERType"><xs:all><xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType"/> <!-- ci pensa il registry --><xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType"/><xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType"/><xs:element name="RESOURCE_URI" type="RESOURCE_URIType"/><xs:element name="DATE_OF_CREATION" type="DATE_OF_CREATIONType"/> <!-- ci pensa il registry --><xs:element ref="PROTOCOL"/></xs:all></xs:complexType><xs:element name="HANDLED_DATASTRUCTURE" type="xs:integer"/><xs:element name="NUMBER_OF_OBJECTS" type="xs:integer"/><xs:element name="CONFIGURATION"><xs:complexType><xs:all><xs:element ref="TYPOLOGY"/><xs:element ref="MAX_SIZE_OF_DATASTRUCTURE"/><xs:element ref="AVAILABLE_DISKSPACE"/><xs:element ref="MAX_NUMBER_OF_DATASTRUCTURE"/><xs:element ref="OFFICIAL_NAME"/><xs:element ref="ENGLISH_NAME"/><xs:element ref="ICON_URI"/><xs:element ref="COUNTRY"/><xs:element ref="LOCATION"/><xs:element ref="REPOSITORY_WEBPAGE"/><xs:element ref="REPOSITORY_INSTITUTION"/><xs:element ref="ADMIN_INFO"/><xs:element ref="INTERFACES"/></xs:all></xs:complexType></xs:element><xs:element name="CAPACITY" type="xs:string"/><xs:complexType name="BODYType"><xs:sequence><xs:element ref="CONFIGURATION"/><xs:element ref="STATUS"/><xs:element ref="QOS"/><xs:element ref="SECURITY_PARAMETERS"/><xs:element ref="BLACKBOARD"/></xs:sequence></xs:complexType><xs:element name="BLACKBOARD"><xs:complexType><xs:sequence><xs:element name="LAST_REQUEST" type="xs:string" minOccurs="0" maxOccurs="1"/><xs:element name="LAST_RESPONSE" type="xs:string" minOccurs="0" maxOccurs="1"/><xs:element ref="MESSAGE" minOccurs="0" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:element name="AVAILABLE_DISKSPACE" type="xs:string"/><xs:element name="AVAILABILITY" type="xs:string"/><xs:element name="ACTION"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="CREATE"/><xs:enumeration value="DELETE"/><xs:enumeration value="UPDATE"/><xs:enumeration value="MANAGE"/><xs:enumeration value="RELEASE"/><xs:enumeration value="CANCEL"/></xs:restriction></xs:simpleType></xs:element></xs:schema>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/securityProfile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/securityProfile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/securityProfile.xml	(revision 47801)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3-28d1af46-e7fb-4446-9b9b-8d4b2d1c1927_U2VjdXJpdHlQcm9maWxlRFNSZXNvdXJjZXMvU2VjdXJpdHlQcm9maWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="SecurityProfileDSResourceType"/>
+        <RESOURCE_KIND value="SecurityProfileDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2009-02-16T15:44:48+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <resourceId></resourceId>
+            <identities>
+                <text>driver.security.identity.role#user</text>
+                <type>driver.security.identity.role</type>
+            </identities>
+            <identities>
+                <text>driver.security.identity.role#repositoryManager</text>
+                <type>driver.security.identity.role</type>
+            </identities>
+            <identities>
+                <text>test</text>
+                <type>password</type>
+            </identities>
+        </CONFIGURATION>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/valid-any-optional.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/valid-any-optional.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/valid-any-optional.xml	(revision 47801)
@@ -0,0 +1,38 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ed01951c-e4fd-450b-b775-4413d6762d33_U2VydmljZVJlc291cmNlcy9JU19TdG9yZVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="IS_StoreServiceResourceType"/>
+        <RESOURCE_KIND value="ServiceResources"/>
+        <RESOURCE_URI value="http://146.48.87.66:8090/app/services/isStore?wsdl"/>
+        <PARENT_ID type="HNM" value="3a34dc21-51b6-4625-b9e4-3fbd066a6a12_U2VydmljZVJlc291cmNlcy9Ib3N0aW5nTm9kZU1hbmFnZXJTZXJ2aWNlUmVzb3VyY2VUeXBl"/>
+        <DATE_OF_CREATION value="2009-09-23T16:38:23+02:00"/>
+        <PROTOCOLS>
+            <PROTOCOL address="http://146.48.87.66:8090/app/services/isStore" name="SOAP"/>
+        </PROTOCOLS>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <TYPOLOGY/>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+            <SERVICE_PROPERTIES/>
+        </CONFIGURATION>
+        <STATUS>
+            <HANDLED_DATASTRUCTURE>0</HANDLED_DATASTRUCTURE>
+            <USED_DISKSPACE>0</USED_DISKSPACE>
+            <LAST_UPDATE value="2000-01-01T00:00:00+00:00"/>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY/>
+            <CAPACITY/>
+            <RESPONSE_TIME>0</RESPONSE_TIME>
+            <THROUGHPUT>0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD>
+            <LAST_REQUEST/>
+            <LAST_RESPONSE/>
+        </BLACKBOARD>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo151.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo151.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo151.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="6-9cf30afc-306b-4cfa-858c-a9dc5934e03f_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-24T08:35:55+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Pisa - ISTI Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Pisa - ISTI Repository</ENGLISH_NAME><ICON_URI>http://www.isti.cnr.it/images/istiweb.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>10.42</LONGITUDE><LATITUDE>43.71</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrConf/cnr-pub-list.sys_1.file</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto di Scienza e Tecnologie dell'Informazione - CNR Pisa</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1779</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/lookup/collProfile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/lookup/collProfile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/lookup/collProfile.xml	(revision 47801)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?><RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="" />
+		<RESOURCE_TYPE       value="CollectionDSResourceType" />
+		<RESOURCE_KIND       value="CollectionDSResources" />
+		<RESOURCE_URI        value="http://test" />
+		<DATE_OF_CREATION    value="" />
+	</HEADER>
+	<BODY>
+	<CONFIGURATION>
+		<IMAGE_URL>file.gif</IMAGE_URL>
+		<NAME>Test Collection</NAME>
+		<OWNER id="mario" />
+		<FATHER id="" />
+		<SUBJECT>History</SUBJECT>
+		<PRIVATE>0</PRIVATE>
+		<VISIBLE>1</VISIBLE>
+		<CONTAINER>0</CONTAINER>           
+		<DESCRIPTION>
+			<FIELD ord="1" label="aaa">AAAAAAAAAAAAA</FIELD>
+			<FIELD ord="2" label="bbb">BBBBBBBBBBBBB</FIELD>
+			<FIELD ord="3" label="ccc">CCCCCCCCCCCCC</FIELD>
+		</DESCRIPTION>            
+		<CHILDREN></CHILDREN>
+		<MEMBERSHIP_CONDITION>queryA</MEMBERSHIP_CONDITION>
+		<ICON_URI>file.gif</ICON_URI>
+	</CONFIGURATION>
+	
+	<STATUS>
+		<COUNT_DOCS number="100" last_update="2009-01-01"/>
+		<RETRIEVAL_CONDITION frozen="0">query0000 AND queryA</RETRIEVAL_CONDITION>
+	</STATUS>
+	
+	<SECURITY_PARAMETERS></SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo155.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo155.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo155.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="70-86cc98c2-c277-4ac6-86ed-7d4e14952804_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-31T15:45:57+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY/><OFFICIAL_NAME>KNAW</OFFICIAL_NAME><ENGLISH_NAME>Royal Netherlands Acad. Of Arts and Sciences: Netherlands Inst. For Scientfic Inf. Sciences</ENGLISH_NAME><ICON_URI>http://www.niwi.knaw.nl/algemeen/logo.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>4.897742</LONGITUDE><LATITUDE>52.369622</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.niwi.knaw.nl/english/index.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Royal Netherlands Acad. Of Arts and Sciences: Netherlands Inst. For Scientfic Inf. Sciences</REPOSITORY_INSTITUTION><ADMIN_INFO>arjan.hogenaar@bureau.knaw.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.repository.knaw.nl/repository/knaw/oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dare_didl</FORMAT></FORMATS><SETS><SET>dare</SET><SET>keur</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1492</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/log4j.properties
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/log4j.properties	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/log4j.properties	(revision 47801)
@@ -0,0 +1,22 @@
+log4j.rootLogger=WARN, Console
+
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+log4j.appender.Console.layout.ConversionPattern=%-5p [%t] %37c %3x - %m%n
+
+log4j.logger.eu.dnetlib=INFO
+log4j.logger.eu.dnetlib.enabling.test=DEBUG
+log4j.logger.eu.dnetlib.enabling.is.sn=DEBUG
+log4j.logger.eu.dnetlib.enabling.is.sn.resourcestate=DEBUG
+
+log4j.logger.org.apache.cxf.interceptor=FATAL
+log4j.logger.org.apache.cxf.ws.addressing.ContextUtils=FATAL
+log4j.logger.eu.dnetlib.enabling.tools.AbstractBaseService=INFO
+log4j.logger.eu.dnetlib.xml.database.LoggingTrigger=FATAL
+
+
+log4j.logger.eu.dnetlib.enabling.tools.registration.ServiceRegistrator=INFO
+log4j.logger.eu.dnetlib.enabling.inspector=FATAL
+log4j.logger.eu.dnetlib.enabling.inspector.SubscriptionController=DEBUG
+log4j.logger.eu.dnetlib.springutils.stringtemplate.StringTemplateViewResolver=FATAL
+log4j.logger.eu.dnetlib.enabling.is.sn.SynchronousNotificationSenderImpl=DEBUG
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo33.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo33.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo33.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-3e33ba6f-1c06-4840-ae8a-4c0511a16bc5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-17T20:01:13+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>miami</OFFICIAL_NAME><ENGLISH_NAME>miami</ENGLISH_NAME><ICON_URI>http://miami.uni-muenster.de/pics/logo_gr.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>7.616</LONGITUDE><LATITUDE>51.963</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://miami.uni-muenster.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universität Münster</REPOSITORY_INSTITUTION><ADMIN_INFO>gressho@uni-muenster.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://miami.uni-muenster.de/servlets/OAIDataProvider</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3598</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/serviceProfileWithMessage.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/serviceProfileWithMessage.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/serviceProfileWithMessage.xml	(revision 47801)
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="76-df3e4e62-4e9d-4ca7-8081-021608270eb5_U2VydmljZVJlc291cmNlcy9NRFN0b3JlU2VydmljZVJlc291cmNlVHlwZQ=="/>
+        <RESOURCE_KIND value="ServiceResources"/>
+        <DATE_OF_CREATION value="2009-03-18T12:55:19+01:00"/>
+        <PARENT_ID value="74-5b4b8fed-3f1c-44cc-a24a-7ea5f8702db5_U2VydmljZVJlc291cmNlcy9Ib3N0aW5nTm9kZU1hbmFnZXJTZXJ2aWNlUmVzb3VyY2VUeXBl" type="HNM"/>
+        <RESOURCE_URI value="http://212.87.15.95:9002/wsdl/MDStoreService.wsdl"/>
+        <PROTOCOLS>
+            <PROTOCOL name="SOAP" address="http://212.87.15.95:9002/cgi-bin/SoapDriver.cgi"/>
+        </PROTOCOLS>
+        <RESOURCE_TYPE value="MDStoreServiceResourceType"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <TYPOLOGY/>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+        </CONFIGURATION>
+        <STATUS>
+            <HANDLED_DATASTRUCTURE>0</HANDLED_DATASTRUCTURE>
+            <USED_DISKSPACE>0</USED_DISKSPACE>
+            <LAST_UPDATE value="2009-03-18T12:55:19+01:00"/>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY/>
+            <CAPACITY/>
+            <RESPONSE_TIME>0</RESPONSE_TIME>
+            <THROUGHPUT>0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD>
+            <LAST_REQUEST date="1237185941.660461">action-10afbe80-11f6-11de-8e98-00163e7589aa</LAST_REQUEST>
+            <LAST_RESPONSE date="1237185952.417205">action-10afbe80-11f6-11de-8e98-00163e7589aa</LAST_RESPONSE>
+            <MESSAGE id="xxx"><ACTION>CREATE</ACTION><ACTION_STATUS>ASSIGNED</ACTION_STATUS><PARAMETER name="id" value=""/><PARAMETER/></MESSAGE>
+        </BLACKBOARD>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo37.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo37.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo37.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="14-a6edcb02-fc0d-4cdc-8adf-b7de9d4b8004_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T20:56:04+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Birkbeck ePrints</OFFICIAL_NAME><ENGLISH_NAME>Birkbeck, Univ. of London: Eprints Archive</ENGLISH_NAME><ICON_URI>http://eprints.bbk.ac.uk/images/bbklogo.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>0.002899</LONGITUDE><LATITUDE>51.500197</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.bbk.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:lib-eprints@bbk.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.bbk.ac.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Status = In Press</SET><SET>Status = Submitted</SET><SET>Status = Published</SET><SET>Status = Unpublished</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of History, Classics and Archeology: The Robert Boyle Project</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of Law</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Science: School of Psychology</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of English and Humanities: Centre for Nineteenth-Century Studies</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Social Sciences: School of Computer Science and Information Systems</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Social Sciences</SET><SET>School =  Birkbeck Schools and Research Centres</SET><SET>School = Central Administration Departments: Master's Office</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of Philosophy</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Social Sciences: School of Economics, Mathematics and Statistics</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Social Sciences: School of Geography</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of English and Humanities</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Continuing Education</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of Politics and Sociology</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of History of Art, Film and Visual Media</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Science: School of Crystallography: Institute of Structural Molecular Biology</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Science</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Science: School of Crystallography</SET><SET>School = Central Administration Departments</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of Languages, Linguistics and Culture</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Science: School of Earth Sciences</SET><SET>School = Central Administration Departments: Library</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Social Sciences: School of Management and Organizational Psychology</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Science: School of Biological and Chemical Sciences</SET><SET>School =  Birkbeck Schools and Research Centres: Faculty of Arts: School of History, Classics and Archeology</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>525</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/userProfile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/userProfile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/userProfile.xml	(revision 47801)
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="12-70b2a9e0-7d53-4ffb-be43-f3c571ae21a6_VXNlckRTUmVzb3VyY2VzL1VzZXJEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="UserDSResourceType"/>
+        <RESOURCE_KIND value="PendingDSResources"/>
+        <RESOURCE_URI value="http://146.48.87.216:8180/profile/services/UserProfileService?wsdl"/>
+        <DATE_OF_CREATION value="2008-06-15T15:36:28+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <PERSONAL_INFO>
+                <FIRST_NAME/>
+                <LAST_NAME/>
+                <INSTITUTION/>
+                <EMAIL value="marko.mikulicic@isti.cnr.it"/>
+                <ACTIVATION_ID value="-2137905530-2005015297"/>
+                <ACTIVE value="true"/>
+                <SEARCH_TEMPLATE>
+                    <CQL/>
+                </SEARCH_TEMPLATE>
+            </PERSONAL_INFO>
+            <COMMUNITIES/>
+            <LAYOUT>BRIEF</LAYOUT>
+            <RECOMMENDATION SEND_EMAIL="false">
+                <RECOMMENDATIONS/>
+            </RECOMMENDATION>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>
+            <SECURITY_PARAMETER>value</SECURITY_PARAMETER>
+        </SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo78.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo78.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo78.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-3f113d01-715d-42e2-94f6-7242dad757b7_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-10-15T14:28:27+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Proprietary Software</TYPOLOGY><OFFICIAL_NAME>Webbased Archive of RIVM Publications</OFFICIAL_NAME><ENGLISH_NAME>Webbased Archive of RIVM Publications</ENGLISH_NAME><ICON_URI>http://rivm.openrepository.com/rivm/image/header.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>5.188613</LONGITUDE><LATITUDE>52.118133</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://rivm.openrepository.com/rivm/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>National Institute for Public Health and the Environment</REPOSITORY_INSTITUTION><ADMIN_INFO>wichor.bramer@rivm.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://rivm.openrepository.com/rivm-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2201</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo125.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo125.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo125.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="4-3b35d89d-126d-4ff6-933f-96a544793b1d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T18:53:57+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>SciX</TYPOLOGY><OFFICIAL_NAME>ELPUB : Digital Library</OFFICIAL_NAME><ENGLISH_NAME>ELPUB : Digital Library</ENGLISH_NAME><ICON_URI>http://elpub.scix.net/logo.gif</ICON_URI><COUNTRY>SI</COUNTRY><LOCATION><LONGITUDE>14.5</LONGITUDE><LATITUDE>46.05</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://elpub.scix.net/cgi-bin/works/Home</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>ELPUB</REPOSITORY_INSTITUTION><ADMIN_INFO>b.martens@tuwien.ac.at</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://elpub.scix.net/cgi-bin/works/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>534</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo129.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo129.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo129.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="49-2c7ca48d-b04a-4876-921e-60bc67c0bd87_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T17:54:02+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>University of Newcastle Library E-Print Archives</OFFICIAL_NAME><ENGLISH_NAME>Univ of Newcastle Library E-Print Pilot</ENGLISH_NAME><ICON_URI>http://rogue.ncl.ac.uk/images/header_main_pic.jpg</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-1.6123</LONGITUDE><LATITUDE>54.9773</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://rogue.ncl.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mark.gavillet@ncl.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://rogue.ncl.ac.uk/xml/index.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>01 Cardiovascular Medicine</SET><SET>02 Cancer Studies</SET><SET>03 Infection and Immunology</SET><SET>04 Other Hospital Based Clinical Subjects</SET><SET>05 Other Laboratory Based Clinical Subjects</SET><SET>06 Epidermiology and Public Health</SET><SET>07 Health Services Research</SET><SET>08 Primary Care and Other Community Based Clinical Subjects</SET><SET>09 Psychiatry Neuroscience and Clinical Psychology</SET><SET>10 Dentistry</SET><SET>11 Nursing and Midwifery</SET><SET>12 Allied Health Professions and Studies</SET><SET>13 Pharmacy</SET><SET>14 Biological Sciences</SET><SET>15 Pre-clinical and Human Biological Sciences</SET><SET>16 Agriculture Veterinary and Food Science</SET><SET>17 Earth Systems and Environmental Sciences</SET><SET>18 Chemistry</SET><SET>19 Physics</SET><SET>20 Pure Mathematics</SET><SET>21 Applied Mathematics</SET><SET>22 Statistics and Operational Research</SET><SET>23 Computer Science</SET><SET>24 Electrical and Electronic Engineering</SET><SET>25 General Engineering and Mineral and Mining Engineering</SET><SET>26 Chemical Engineering</SET><SET>27 Civil Engineering</SET><SET>28 Mechanical Aeronautical and Manufacturing Engineering</SET><SET>29 Metallurgy and Materials</SET><SET>30 Architecture and the Built Environment</SET><SET>31 Town and Country Planning</SET><SET>32 Geography and Environmental Studies</SET><SET>33 Archaeology</SET><SET>34 Economics and Econometrics</SET><SET>35 Accounting and Finance</SET><SET>36 Business and Management Studies</SET><SET>37 Library and Information Management</SET><SET>38 Law</SET><SET>39 Politics and International Studies</SET><SET>40 Social Work Social Policy and Administration</SET><SET>41 Sociology</SET><SET>42 Anthropology</SET><SET>43 Development Studies</SET><SET>44 Psychology</SET><SET>45 Education</SET><SET>46 Sports-Related Studies</SET><SET>47 American Studies and Anglophone Area Studies</SET><SET>48 Middle Eastern and African Studies</SET><SET>49 Asian Studies</SET><SET>50 European Studies</SET><SET>51 Russian Slavonic and East European Languages</SET><SET>52 French</SET><SET>53 German Dutch and Scandinavian Languages</SET><SET>54 Italian</SET><SET>55 Iberian and Latin American Languages</SET><SET>56 Celtic Studies</SET><SET>57 English Language and Literature</SET><SET>58 Linguistics</SET><SET>59 Classics Ancient History Byzantine and Modern Greek Studies</SET><SET>60 Philosophy</SET><SET>61 Theology Divinity and Religious Studies</SET><SET>62 History</SET><SET>63 Art and Design</SET><SET>64 History of Art Architecture and Design</SET><SET>65 Drama Dance and Performing Arts</SET><SET>66 Communication Cultural and Media Studies</SET><SET>67 Music</SET><SET>General Central Services</SET><SET>Newcastle Law School</SET><SET>School of Agriculture Food and Rural Development</SET><SET>School of Architecture Planning and Landscape</SET><SET>School of Arts and Cultures</SET><SET>School of Biology</SET><SET>School of Biomedical Sciences</SET><SET>School of Chemical Engineering and Advanced Materials</SET><SET>School of Civil Engineering and Geosciences</SET><SET>School of Clinical and Laboratory Sciences</SET><SET>School of Clinical Medical Sciences</SET><SET>School of Computing Science</SET><SET>School of Dental Sciences</SET><SET>School of Education Communication and Language Sciences</SET><SET>School of Electrical Electronic and Computer Engineering</SET><SET>School of English Literature Language and Linguistics</SET><SET>School of Geography Politics and Sociology</SET><SET>School of Historical Studies</SET><SET>School of Marine Science and Technology</SET><SET>School of Mathematics and Statistics</SET><SET>School of Mechanical and Systems Engineering</SET><SET>School of Medical Education Development</SET><SET>School of Modern Languages</SET><SET>School of Natural Sciences</SET><SET>School of Neurology Neurobiology and Psychiatry</SET><SET>School of Population and Health Sciences</SET><SET>School of Surgical and Reproductive Sciences</SET><SET>The Language Centre</SET><SET>University of Newcastle upon Tyne Business School</SET><SET>University of Newcastle upon Tyne Medical School</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5370</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo42.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo42.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo42.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-5686e70e-9045-4a18-bd95-0db8cb88e409_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-07-15T08:38:47+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universidade da Coruña: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Univ. da Coruña: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-8.39271</LONGITUDE><LATITUDE>43.371644</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidade da Coruña:</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdr.cesca.es/TDR_UDC/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>23</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo83.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo83.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo83.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="26-2ea29c71-b587-494c-9f39-3effd1b0da8a_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T21:10:51+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>University of Ulm, GERMANY, VTS Publication Service</OFFICIAL_NAME><ENGLISH_NAME>Univ. Ulm: Volltextserver</ENGLISH_NAME><ICON_URI>http://vts.uni-ulm.de/standards/logo_vts.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>10</LONGITUDE><LATITUDE>48.4</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://vts.uni-ulm.de/index.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>vts@kiz.uni-ulm.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://vts.uni-ulm.de/oai/oai.asp</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT><FORMAT>xmetadissplus</FORMAT></FORMATS><SETS><SET>DDC classified objects</SET><SET>Computer science, information &amp; general works</SET><SET>Data processing &amp; computer science</SET><SET>Bibliography</SET><SET>Library &amp; information sciences</SET><SET>General encyclopedic works</SET><SET>General serial publications</SET><SET>Philosophy</SET><SET>Psychology</SET><SET>Social sciences</SET><SET>General statistics</SET><SET>Political science</SET><SET>Economics</SET><SET>Law</SET><SET>Public administration &amp; military science</SET><SET>Education</SET><SET>Natural sciences &amp; mathematics</SET><SET>Mathematics</SET><SET>Physics</SET><SET>Chemistry &amp; allied sciences</SET><SET>Life sciences</SET><SET>Botanical sciences</SET><SET>Technology (Applied sciences)</SET><SET>Medicine &amp; health</SET><SET>Engineering &amp; allied operations</SET><SET>Objects having a formal document type</SET><SET>Audio files</SET><SET>Binary data, (executable) programs</SET><SET>Data</SET><SET>Images</SET><SET>Multimedia files</SET><SET>Notes</SET><SET>Text</SET><SET>Video files</SET><SET>Objects having a formal publication type</SET><SET>Journal Articles</SET><SET>Conference Proceedings</SET><SET>Dissertations and Professional Dissertations</SET><SET>Lectures</SET><SET>Diploma Theses</SET><SET>Books, Monographs</SET><SET>Music</SET><SET>News</SET><SET>Papers</SET><SET>Plays</SET><SET>Programs / Software</SET><SET>Reports</SET><SET>Standards</SET><SET>Objects having a formal state</SET><SET>Draft</SET><SET>Not reviewed</SET><SET>Reviewed</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1336</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo1.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo1.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo1.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="10-11e40a85-cd4f-47e6-92b9-cab6efb75e50_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T18:55:44+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>edoc</TYPOLOGY><OFFICIAL_NAME>Humboldt University of Berlin, GERMANY, Document Server</OFFICIAL_NAME><ENGLISH_NAME>Humboldt Univ. Berlin: edoc Document and Publication Server</ENGLISH_NAME><ICON_URI>http://edoc.hu-berlin.de/e_modules/banner4.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>13.37</LONGITUDE><LATITUDE>52.5159</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://edoc.hu-berlin.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:oai@rz.hu-berlin.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://edoc.hu-berlin.de/OAI-2.0</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>oai_ems</FORMAT><FORMAT>oai_pp</FORMAT><FORMAT>oai_xmetadiss</FORMAT><FORMAT>oai_epdcx</FORMAT></FORMATS><SETS><SET>Allgemeines, Wissenschaft</SET><SET>Informatik</SET><SET>Bibliografien</SET><SET>Bibliotheks- und Informationswissenschaft</SET><SET>Organisationen, Museumswissenschaft</SET><SET>Geografie, Reisen</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Religion, Religionsphilosophie</SET><SET>Theologie, Christentum</SET><SET>Andere Religionen</SET><SET>Sozialwissenschaften, Soziologie</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET><SET>ffentliche Verwaltung</SET><SET>Soziale Probleme, Sozialarbeit</SET><SET>Erziehung, Schul- und Bildungswesen</SET><SET>Ethnologie</SET><SET>Sprachwissenschaft, Linguistik</SET><SET>Deutsch</SET><SET>Franzoesisch, romanische Sprachen allgemein</SET><SET>Italienisch, Rumaenisch, Raetoromanisch</SET><SET>Latein</SET><SET>Andere Sprachen</SET><SET>Naturwissenschaften</SET><SET>Mathematik</SET><SET>Physik</SET><SET>Chemie</SET><SET>Geowissenschaften</SET><SET>Biowissenschaften, Biologie</SET><SET>Pflanzen (Botanik)</SET><SET>Tiere (Zoologie)</SET><SET>Technik</SET><SET>Medizin</SET><SET>Landwirtschaft, Veterinaermedizin</SET><SET>Hauswirtschaft</SET><SET>Management</SET><SET>Kuenste, Bildende Kunst allgemein</SET><SET>Landschaftsgestaltung, Raumplanung</SET><SET>Architektur</SET><SET>Plastik, Numismatik, Keramik, Metallkunst</SET><SET>Malerei</SET><SET>Grafische Verfahren, Drucke</SET><SET>ffentliche Darbietungen, Film, Rundfunk</SET><SET>Theater, Tanz</SET><SET>Sport</SET><SET>Literatur, Rhetorik, Literaturwissenschaft</SET><SET>Deutsche Literatur</SET><SET>Literatur in anderen germanischen Sprachen</SET><SET>Franzoesische Literatur</SET><SET>Italienische, rumaenische, raetoromanische Literatur</SET><SET>Literatur in anderen Sprachen</SET><SET>Geschichte</SET><SET>Geografie, Reisen</SET><SET>Biografie, Genealogie, Heraldik</SET><SET>Alte Geschichte, Archaeologie</SET><SET>Geschichte Europas</SET><SET>Geschichte Deutschlands</SET><SET>Geschichte Asiens</SET><SET>Wissenschaft und Kultur allgemein</SET><SET>Schrift, Buch, Bibliothek, Information und Dokumentation</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Christliche Religion</SET><SET>Allg. und Vgl. Religionswiss., Nichtchristliche Religionen</SET><SET>Soziologie, Gesellschaft</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET><SET>Erziehung, Bildung, Unterricht</SET><SET>Volkskunde, Voelkerkunde</SET><SET>Natur, Naturwissenschaften allgemein</SET><SET>Mathematik</SET><SET>Informatik, Datenverarbeitung</SET><SET>Physik, Astronomie</SET><SET>Chemie</SET><SET>Geowissenschaften</SET><SET>Biologie</SET><SET>Medizin</SET><SET>Technik allgemein</SET><SET>Landwirtschaft, Garten</SET><SET>Architektur</SET><SET>Bildende Kunst</SET><SET>Theater, Tanz, Film</SET><SET>Sport, Spiele</SET><SET>Allg. und Vgl. Sprach- und Literaturwissenschaft</SET><SET>Deutsche Sprach- und Literaturwissenschaft</SET><SET>Sprach- und Literaturwiss. der uebrigen germanischen Sprachen</SET><SET>Romanische Sprach- und Literaturwissenschaft</SET><SET>Klassische Sprach- und Literaturwissenschaft</SET><SET>Slawische und baltische Sprach- und Literaturwissenschaft</SET><SET>Sprach- und Literaturwissenschaft sonstiger Sprachen</SET><SET>Archaeologie, Vorgeschichte</SET><SET>Geographie, Heimat- und Laenderkunde, Reisen</SET><SET>Geschichte und Historische Hilfswissenschaften</SET><SET>Sozialgeschichte</SET><SET>Wirtschaftsgeschichte</SET><SET>Books, Monographs</SET><SET>Conference Proceedings</SET><SET>Diploma Theses</SET><SET>Dissertations and Professional Dissertations</SET><SET>Journal Article</SET><SET>Lectures</SET><SET>Papers</SET><SET>Reports</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5507</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo5.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo5.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo5.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="106-2e19b672-08b6-471f-a0f7-b00a9c491a1d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-29T13:26:50+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Padua@research</OFFICIAL_NAME><ENGLISH_NAME>Padua@research</ENGLISH_NAME><ICON_URI>http://paduaresearch.cab.unipd.it/images/pd.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.876</LONGITUDE><LATITUDE>45.409</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://paduaresearch.cab.unipd.it/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universita degli studi di Padova</REPOSITORY_INSTITUTION><ADMIN_INFO>yuri.carrer@unipd.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://paduaresearch.cab.unipd.it/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>413</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo9.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo9.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo9.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="111-6b4ea417-d940-4dda-a194-3096f685789b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-12-05T13:58:12+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Opus</TYPOLOGY><OFFICIAL_NAME>ArchiMeD - Elektronische Publikationen der Universität Mainz</OFFICIAL_NAME><ENGLISH_NAME>Mainz Univ., ArchiMed</ENGLISH_NAME><ICON_URI>http://archimed.uni-mainz.de/opusubm/grafiken/kopf_schriftzug.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.27</LONGITUDE><LATITUDE>50.0006</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://archimed.uni-mainz.de/opusubm/archimed-home.html</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:seiler@hbz-nrw.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://ubm.opus.hbz-nrw.de/phpoai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT></FORMATS><SETS><SET>Generalities, Science</SET><SET>Data processing Computer science</SET><SET>Bibliography</SET><SET>Library and information sciences</SET><SET>General encyclopedic works</SET><SET>General serials and their indexes</SET><SET>General organization and museology</SET><SET>News media, journalism, publishing</SET><SET>General collections</SET><SET>Manuscripts and rare books</SET><SET>Philosophy</SET><SET>Paranormal phenomena</SET><SET>Psychology</SET><SET>Religion</SET><SET>Bible</SET><SET>Christian theology</SET><SET>Other and comparative religions</SET><SET>Social sciences</SET><SET>General statistics</SET><SET>Political science</SET><SET>Economics</SET><SET>Law</SET><SET>Public administration</SET><SET>Military science</SET><SET>"Social services; association"</SET><SET>Education</SET><SET>Commerce, communications, transport</SET><SET>Customs, etiquette, folklore</SET><SET>Language, Linguistics</SET><SET>English</SET><SET>Germanic</SET><SET>Other Germanic languages</SET><SET>Romance languages French</SET><SET>Italian, Romanian, Rhaeto-Romantic</SET><SET>Spanish and Portugese languages</SET><SET>Italic Latin</SET><SET>Hellenic languages Classical Greek</SET><SET>Other languages</SET><SET>Natural sciences and mathematics</SET><SET>Mathematics</SET><SET>Astronomy and allied sciences</SET><SET>Physics</SET><SET>Chemistry and allied sciences</SET><SET>Earth sciences</SET><SET>Paleontology Paleozoology</SET><SET>Life sciences</SET><SET>Botanical sciences</SET><SET>Zoological sciences</SET><SET>Technology (Applied sciences)</SET><SET>Medical sciences Medicine</SET><SET>Engineering and allied operations</SET><SET>Agriculture</SET><SET>Home economics and family living</SET><SET>Management and auxiliary services</SET><SET>Chemical engineering</SET><SET>Manufacturing</SET><SET>Buildings</SET><SET>The arts</SET><SET>Civic and landscape art</SET><SET>Architecture</SET><SET>Plastic arts Sculpture</SET><SET>Drawing and decorative arts</SET><SET>Comics, Cartoons</SET><SET>Painting and paintings</SET><SET>Graphic arts Printmaking and prints</SET><SET>Photography and photographs</SET><SET>Music</SET><SET>Recreational and performing arts</SET><SET>Public performances</SET><SET>Stage presentations</SET><SET>Indoor games and amusements</SET><SET>Athletic and outdoor sports and games</SET><SET>Literature and rhetoric</SET><SET>American literature in English</SET><SET>English and Old English literatures</SET><SET>Literatures of Germanic languages</SET><SET>Other Germanic literatures</SET><SET>Literatures of Romance languages</SET><SET>Italian, Romanian, Rhaeto-Romanic literatures</SET><SET>Spanish and Portuguese literatures</SET><SET>Italic literatures Latin</SET><SET>Hellenic literatures Classical Greek</SET><SET>Literatures of other languages</SET><SET>Geography and history</SET><SET>Geography and travel</SET><SET>Geography and travel Germany</SET><SET>Biography, genealogy, insignia</SET><SET>History of ancient world</SET><SET>General history of Europe</SET><SET>General history of Europe Central Europe Germany</SET><SET>General history of Asia Far East</SET><SET>General history of Africa</SET><SET>General history of North America</SET><SET>General history of South America</SET><SET>General history of other areas</SET><SET>Text.Thesis.Doctoral</SET><SET>Text.Thesis.Habilitation</SET><SET>MastersThesis</SET><SET>DiplomaThesis</SET><SET>MagisterThesis</SET><SET>Msc</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1371</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo138.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo138.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo138.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="5-acd2a08d-47e6-4506-8703-ab105c6d78ee_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-18T20:48:16+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Kobra - DSpace an der Universität Kassel</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Kassel: KOBRA (Kasseler Online Bibliothek Repository and Archiv)</ENGLISH_NAME><ICON_URI>http://dare.uva.nl/u/uvadis/graphics/header-print.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>9.502082</LONGITUDE><LATITUDE>51.32064</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://kobra.bibliothek.uni-kassel.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>dspace-master@bibliothek.uni-kassel.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://kobra.bibliothek.uni-kassel.de/dspace-oai</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>2002</SET><SET>2004</SET><SET>2005</SET><SET>2006</SET><SET>2007</SET><SET>Arbeitspapiere</SET><SET>DSpace Workshop</SET><SET>Das Recht, gut regiert zu werden</SET><SET>Die Brueder Murhard und ihre Zeit</SET><SET>Diplomarbeiten</SET><SET>Diplomarbeiten</SET><SET>Diplomarbeiten</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen</SET><SET>Dissertationen (aus den beteiligten Instituten)</SET><SET>Dissertationen (aus den beteiligten Instituten)</SET><SET>Dissertationen (aus den beteiligten Instituten)</SET><SET>Dissertationen (aus den beteiligten Instituten)</SET><SET>Erziehung-, Schul- und Bildungswesen</SET><SET>Handschriftenabteilung</SET><SET>In guter Gesellschaft ? - Unkonventionelle Lebensformen</SET><SET>Institutsuebergreifende Veroeffentlichungen</SET><SET>Institutsuebergreifende Veroeffentlichungen</SET><SET>Institutsuebergreifende Veroeffentlichungen</SET><SET>Jahresberichte</SET><SET>Kasseler Informatikschriften (KIS)</SET><SET>Kasseler Online-Schriften zur Didaktik der Stochastik</SET><SET>Kuenstlerbuecher</SET><SET>Landwirtschaft, Veterinaermedizin</SET><SET>Magisterarbeiten</SET><SET>Magisterarbeiten</SET><SET>Medizin und Gesundheit</SET><SET>OneWorld Perspectives</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Publikationen</SET><SET>Sozialwissenschaften, Soziologie</SET><SET>Testsammlung</SET><SET>Treffpunkt Eulensaal</SET><SET>Veroeffentlichungen</SET><SET>Veroeffentlichungen</SET><SET>Werkstattberichte</SET><SET>Wissenensgesellschaft - Eliten oder die Weisheit der Vielen</SET><SET>test2</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1264</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo10.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo10.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo10.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="112-20877a96-0d2e-46d5-b554-fd430b081773_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-07T16:55:51+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Univ. Tromsoe: Munin Open Research Archive</OFFICIAL_NAME><ENGLISH_NAME>Univ. Tromsoe: Munin Open Research Archive</ENGLISH_NAME><ICON_URI>http://www.ub.uit.no/munin/image/munin_banner-start_left.gif</ICON_URI><COUNTRY>NO</COUNTRY><LOCATION><LONGITUDE>18.95</LONGITUDE><LATITUDE>69.660</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ub.uit.no/munin/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Univ. i Tromsoe</REPOSITORY_INSTITUTION><ADMIN_INFO>munin@ub.uit.no</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.ub.uit.no/munin-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1427</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo16.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo16.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo16.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="115-b80a8e4f-8ec2-492e-86e6-614dac98486c_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-16T18:37:30+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>University of Twente Publications</OFFICIAL_NAME><ENGLISH_NAME>Univ. of Twente: Repository (i-TOR)</ENGLISH_NAME><ICON_URI>http://doc.utwente.nl/images/utlogo_en.gif</ICON_URI><COUNTRY>NL</COUNTRY><LOCATION><LONGITUDE>6.9</LONGITUDE><LATITUDE>52.2167</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://doc.utwente.nl/en/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>a.g.jippes@utwente.nl</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://doc.utwente.nl/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>dare_didl</FORMAT><FORMAT>mets</FORMAT><FORMAT>context_object</FORMAT></FORMATS><SETS><SET>Full-text = Restricted</SET><SET>Full-text = Public</SET><SET>Full-text = None</SET><SET>Group = KEUR</SET><SET>Group = CSTM</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>7181</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo55.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo55.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo55.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-84986e7e-b971-459b-822b-f0576711d6d0_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-09-02T10:21:52+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>EPrints</TYPOLOGY><OFFICIAL_NAME>British Library Research Archive</OFFICIAL_NAME><ENGLISH_NAME>British Library Research Archive (Sherpa)</ENGLISH_NAME><ICON_URI>http://sherpa.bl.uk/images/logo100.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.1167</LONGITUDE><LATITUDE>51.5</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://sherpa.bl.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:support.sherpa@bl.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://sherpa.bl.uk/perl/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS><SET>Status = In Press</SET><SET>Status = Submitted</SET><SET>Status = Published</SET><SET>Status = Unpublished</SET><SET>Subject = J Political Science: J General legislative and executive papers</SET><SET>Subject = S Agriculture: SD Forestry</SET><SET>Subject = C Auxiliary Sciences of History: C Auxiliary sciences of history (General)</SET><SET>Subject = G Geography. Anthropology. Recreation: GB Physical geography</SET><SET>Subject = D History General and Old World: DH Netherlands (The Low Countries)</SET><SET>Subject = P Language and Literature: PG Slavic, Baltic, Albanian languages and literature</SET><SET>Subject = E History America: E11 America (General)</SET><SET>Subject = U Military Science</SET><SET>Subject = L Education: LC Special aspects of education</SET><SET>Subject = U Military Science: U Military Science (General)</SET><SET>Subject = R Medicine: RZ Other systems of medicine</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1990 Broadcasting</SET><SET>Subject = Q Science: QR Microbiology: QR180 Immunology</SET><SET>Subject = D History General and Old World: DA Great Britain</SET><SET>Subject = R Medicine: RC Internal medicine: RC1200 Sports Medicine</SET><SET>Subject = P Language and Literature: PS American literature</SET><SET>Subject = D History General and Old World: D History (General): D204 Modern History</SET><SET>Subject = Q Science: QR Microbiology: QR355 Virology</SET><SET>Subject = N Fine Arts: ND Painting</SET><SET>Subject = P Language and Literature: PC Romance languages</SET><SET>Subject = L Education: LT Textbooks</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals</SET><SET>Subject = G Geography. Anthropology. Recreation: GF Human ecology. Anthropogeography</SET><SET>Subject = L Education: LB Theory and practice of education: LB2300 Higher Education</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA1001 Forensic Medicine. Medical jurisprudence. Legal medicine</SET><SET>Subject = D History General and Old World: D History (General): D731 World War II</SET><SET>Subject = C Auxiliary Sciences of History: CD Diplomatics. Archives. Seals: CD921 Archives</SET><SET>Subject = T Technology: TX Home economics</SET><SET>Subject = H Social Sciences: HT Communities. Classes. Races</SET><SET>Subject = H Social Sciences: HB Economic Theory</SET><SET>Subject = Q Science: QL Zoology</SET><SET>Subject = N Fine Arts</SET><SET>Subject = A General Works: AC Collections. Series. Collected works</SET><SET>Subject = B Philosophy. Psychology. Religion: BL Religion</SET><SET>Subject = G Geography. Anthropology. Recreation: GT Manners and customs</SET><SET>Subject = K Law: KZ Law of Nations</SET><SET>Subject = C Auxiliary Sciences of History: CS Genealogy</SET><SET>Subject = B Philosophy. Psychology. Religion: BR Christianity</SET><SET>Subject = D History General and Old World: D History (General): D501 World War I</SET><SET>Subject = C Auxiliary Sciences of History: CR Heraldry</SET><SET>Subject = T Technology: TH Building construction</SET><SET>Subject = R Medicine: RJ Pediatrics: RJ101 Child Health. Child health services</SET><SET>Subject = J Political Science: JX International law</SET><SET>Subject = F History United States, Canada, Latin America: F001 United States local history</SET><SET>Subject = Q Science: QD Chemistry</SET><SET>Subject = J Political Science</SET><SET>Subject = D History General and Old World: DU Oceania (South Seas)</SET><SET>Subject = R Medicine: RA Public aspects of medicine</SET><SET>Subject = T Technology: TK Electrical engineering. Electronics Nuclear engineering</SET><SET>Subject = N Fine Arts: NX Arts in general</SET><SET>Subject = H Social Sciences: HF Commerce</SET><SET>Subject = G Geography. Anthropology. Recreation</SET><SET>Subject = J Political Science: JN Political institutions (Europe)</SET><SET>Subject = P Language and Literature: P Philology. Linguistics</SET><SET>Subject = C Auxiliary Sciences of History</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z665 Library Science. Information Science</SET><SET>Subject = L Education: LA History of education</SET><SET>Subject = T Technology: TT Handicrafts Arts and crafts</SET><SET>Subject = H Social Sciences: HV Social pathology. Social and public welfare</SET><SET>Subject = D History General and Old World: DA Great Britain: DAW Central Europe</SET><SET>Subject = Q Science: QA Mathematics: QA76 Computer software</SET><SET>Subject = B Philosophy. Psychology. Religion: BT Doctrinal Theology</SET><SET>Subject = H Social Sciences: HQ The family. Marriage. Woman</SET><SET>Subject = J Political Science: JA Political science (General)</SET><SET>Subject = Z Bibliography. Library Science. Information Resources</SET><SET>Subject = Q Science: QH Natural history</SET><SET>Subject = J Political Science: JQ Political institutions Asia</SET><SET>Subject = R Medicine: R Medicine (General)</SET><SET>Subject = P Language and Literature: PT Germanic literature</SET><SET>Subject = D History General and Old World: D History (General): D880 Developing Countries</SET><SET>Subject = B Philosophy. Psychology. Religion: BS The Bible</SET><SET>Subject = S Agriculture: SH Aquaculture. Fisheries. Angling</SET><SET>Subject = B Philosophy. Psychology. Religion: BF Psychology</SET><SET>Subject = T Technology: TJ Mechanical engineering and machinery</SET><SET>Subject = L Education: LB Theory and practice of education</SET><SET>Subject = D History General and Old World: DP Spain</SET><SET>Subject = D History General and Old World: DF Greece</SET><SET>Subject = Q Science: QK Botany</SET><SET>Subject = P Language and Literature: PZ Childrens literature</SET><SET>Subject = T Technology: TA Engineering (General). Civil engineering (General)</SET><SET>Subject = T Technology: TR Photography</SET><SET>Subject = R Medicine: RC Internal medicine: RC0254 Neoplasms. Tumors. Oncology (including Cancer)</SET><SET>Subject = L Education: LC Special aspects of education: LC5201 Education extension. Adult education. Continuing education</SET><SET>Subject = N Fine Arts: NA Architecture</SET><SET>Subject = T Technology: TE Highway engineering. Roads and pavements</SET><SET>Subject = N Fine Arts: NC Drawing Design Illustration</SET><SET>Subject = M Music and Books on Music: M Music</SET><SET>Subject = A General Works</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z004 Books. Writing. Paleography</SET><SET>Subject = T Technology: TF Railroad engineering and operation</SET><SET>Subject = R Medicine</SET><SET>Subject = P Language and Literature: PH Finno-Ugrian, Basque languages and literatures</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources</SET><SET>Subject = E History America</SET><SET>Subject = J Political Science: JZ International relations</SET><SET>Subject = G Geography. Anthropology. Recreation: GR Folklore</SET><SET>Subject = T Technology: TS Manufactures</SET><SET>Subject = D History General and Old World: DE The Mediterranean Region. The Greco-Roman World</SET><SET>Subject = P Language and Literature: PB Modern European Languages</SET><SET>Subject = R Medicine: RV Botanic, Thomsonian, and eclectic medicine</SET><SET>Subject = Q Science: QA Mathematics: QA75 Electronic computers. Computer science</SET><SET>Subject = H Social Sciences: HF Commerce: HF5601 Accounting</SET><SET>Subject = H Social Sciences: HC Economic History and Conditions</SET><SET>Subject = R Medicine: RA Public aspects of medicine: RA0421 Public health. Hygiene. Preventive Medicine</SET><SET>Subject = J Political Science: JK Political institutions (United States)</SET><SET>Subject = B Philosophy. Psychology. Religion: BM Judaism</SET><SET>Subject = K Law: KF United States Federal Law</SET><SET>Subject = B Philosophy. Psychology. Religion: B Philosophy (General)</SET><SET>Subject = L Education: LG Individual institutions (Asia. Africa)</SET><SET>Subject = P Language and Literature: PM Hyperborean, Indian, and Artificial languages</SET><SET>Subject = C Auxiliary Sciences of History: CT Biography</SET><SET>Subject = R Medicine: RE Ophthalmology</SET><SET>Subject = Q Science: QB Astronomy</SET><SET>Subject = F History United States, Canada, Latin America: F1001 Canada (General)</SET><SET>Subject = D History General and Old World: D History (General)</SET><SET>Subject = R Medicine: RL Dermatology</SET><SET>Subject = B Philosophy. Psychology. Religion</SET><SET>Subject = S Agriculture: S Agriculture (General)</SET><SET>Subject = F History United States, Canada, Latin America</SET><SET>Subject = D History General and Old World: DT Africa</SET><SET>Subject = D History General and Old World: D History (General): D890 Eastern Hemisphere</SET><SET>Subject = K Law: K Law (General)</SET><SET>Subject = H Social Sciences: HJ Public Finance</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland)</SET><SET>Subject = R Medicine: RB Pathology</SET><SET>Subject = Q Science</SET><SET>Subject = L Education: L Education (General)</SET><SET>Subject = Q Science: QC Physics</SET><SET>Subject = A General Works: AS Academies and learned societies (General)</SET><SET>Subject = R Medicine: RF Otorhinolaryngology</SET><SET>Subject = G Geography. Anthropology. Recreation: G Geography (General)</SET><SET>Subject = H Social Sciences: HG Finance</SET><SET>Subject = H Social Sciences: HX Socialism. Communism. Anarchism</SET><SET>Subject = N Fine Arts: NB Sculpture</SET><SET>Subject = T Technology: TC Hydraulic engineering. Ocean engineering</SET><SET>Subject = A General Works: AI Indexes (General)</SET><SET>Subject = D History General and Old World</SET><SET>Subject = C Auxiliary Sciences of History: CJ Numismatics</SET><SET>Subject = M Music and Books on Music: MT Musical instruction and study</SET><SET>Subject = R Medicine: RX Homeopathy</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0080 Criticism</SET><SET>Subject = P Language and Literature: PN Literature (General): PN1993 Motion Pictures</SET><SET>Subject = P Language and Literature: PN Literature (General): PN0441 Literary History</SET><SET>Subject = D History General and Old World: DC France</SET><SET>Subject = K Law: KD England and Wales</SET><SET>Subject = D History General and Old World: DK Russia. Soviet Union. Former Soviet Republics</SET><SET>Subject = Q Science: QE Geology</SET><SET>Subject = R Medicine: RC Internal medicine</SET><SET>Subject = Q Science: QR Microbiology</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN101 Great Britain</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology: BV1460 Religious Education</SET><SET>Subject = A General Works: AZ History of Scholarship The Humanities</SET><SET>Subject = Q Science: QM Human anatomy</SET><SET>Subject = L Education: LB Theory and practice of education: LB1603 Secondary Education. High schools</SET><SET>Subject = D History General and Old World: DJ Netherlands (Holland): DJK Eastern Europe</SET><SET>Subject = D History General and Old World: D History (General): D839 Post-war History, 1945 on</SET><SET>Subject = R Medicine: RK Dentistry</SET><SET>Subject = P Language and Literature: PN Literature (General)</SET><SET>Subject = B Philosophy. Psychology. Religion: BQ Buddhism</SET><SET>Subject = P Language and Literature: PN Literature (General): PN2000 Dramatic representation. The Theater</SET><SET>Subject = D History General and Old World: DS Asia</SET><SET>Subject = C Auxiliary Sciences of History: CN Inscriptions. Epigraphy.</SET><SET>Subject = B Philosophy. Psychology. Religion: BC Logic</SET><SET>Subject = G Geography. Anthropology. Recreation: GV Recreation Leisure</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD28 Management. Industrial Management</SET><SET>Subject = K Law</SET><SET>Subject = J Political Science: JL Political institutions (America except United States)</SET><SET>Subject = V Naval Science: VM Naval architecture. Shipbuilding. Marine engineering</SET><SET>Subject = J Political Science: JF Political institutions (General)</SET><SET>Subject = D History General and Old World: DD Germany</SET><SET>Subject = M Music and Books on Music: ML Literature of music</SET><SET>Subject = H Social Sciences: HM Sociology</SET><SET>Subject = C Auxiliary Sciences of History: CB History of civilization</SET><SET>Subject = L Education: LB Theory and practice of education: LB1501 Primary Education</SET><SET>Subject = L Education: LF Individual institutions (Europe)</SET><SET>Subject = B Philosophy. Psychology. Religion: BH Aesthetics</SET><SET>Subject = P Language and Literature: PL Languages and literatures of Eastern Asia, Africa, Oceania</SET><SET>Subject = C Auxiliary Sciences of History: CC Archaeology</SET><SET>Subject = K Law: KD England and Wales: KDC Scotland</SET><SET>Subject = T Technology: T Technology (General): T201 Patents. Trademarks</SET><SET>Subject = Q Science: QA Mathematics</SET><SET>Subject = N Fine Arts: N Visual arts (General) For photography, see TR</SET><SET>Subject = R Medicine: RS Pharmacy and materia medica</SET><SET>Subject = R Medicine: RC Internal medicine: RC0321 Neuroscience. Biological psychiatry. Neuropsychiatry</SET><SET>Subject = Q Science: QH Natural history: QH426 Genetics</SET><SET>Subject = Q Science: QH Natural history: QH301 Biology</SET><SET>Subject = B Philosophy. Psychology. Religion: BJ Ethics</SET><SET>Subject = L Education: LE Individual institutions (America except United States)</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4450 Databases</SET><SET>Subject = P Language and Literature: PQ Romance literatures</SET><SET>Subject = P Language and Literature: PI Oriental languages and literatures</SET><SET>Subject = B Philosophy. Psychology. Religion: BP Islam. Bahaism. Theosophy, etc</SET><SET>Subject = T Technology: TN Mining engineering. Metallurgy</SET><SET>Subject = J Political Science: JV Colonies and colonization. Emigration and immigration. International migration</SET><SET>Subject = L Education: LB Theory and practice of education: LB2361 Curriculum</SET><SET>Subject = D History General and Old World: DR Balkan Peninsula</SET><SET>Subject = H Social Sciences: HS Societies secret benevolent etc</SET><SET>Subject = B Philosophy. Psychology. Religion: BV Practical Theology</SET><SET>Subject = P Language and Literature: PJ Semitic</SET><SET>Subject = Q Science: Q Science (General)</SET><SET>Subject = D History General and Old World: D History (General): D051 Ancient History</SET><SET>Subject = J Political Science: JC Political theory</SET><SET>Subject = R Medicine: RM Therapeutics. Pharmacology</SET><SET>Subject = P Language and Literature: PK Indo-Iranian</SET><SET>Subject = R Medicine: RG Gynecology and obstetrics</SET><SET>Subject = P Language and Literature: PF West Germanic</SET><SET>Subject = B Philosophy. Psychology. Religion: BD Speculative Philosophy</SET><SET>Subject = H Social Sciences</SET><SET>Subject = H Social Sciences: HA Statistics</SET><SET>Subject = T Technology: TD Environmental technology. Sanitary engineering</SET><SET>Subject = P Language and Literature</SET><SET>Subject = D History General and Old World: DL Northern Europe. Scandinavia</SET><SET>Subject = L Education</SET><SET>Subject = Q Science: QP Physiology</SET><SET>Subject = A General Works: AM Museums (General). Collectors and collecting (General)</SET><SET>Subject = R Medicine: RJ Pediatrics</SET><SET>Subject = G Geography. Anthropology. Recreation: GC Oceanography</SET><SET>Subject = N Fine Arts: NK Decorative arts Applied arts Decoration and ornament</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: Z719 Libraries (General)</SET><SET>Subject = V Naval Science</SET><SET>Subject = P Language and Literature: PB Modern European Languages: PB1501 Gaelic (Scottish Gaelic, Erse)</SET><SET>Subject = H Social Sciences: HE Transportation and Communications</SET><SET>Subject = T Technology: TG Bridge engineering</SET><SET>Subject = T Technology</SET><SET>Subject = H Social Sciences: H Social Sciences (General)</SET><SET>Subject = P Language and Literature: PE English</SET><SET>Subject = S Agriculture: SB Plant culture</SET><SET>Subject = D History General and Old World: D History (General): D901 Europe (General)</SET><SET>Subject = V Naval Science: V Naval Science (General)</SET><SET>Subject = P Language and Literature: PD Germanic languages</SET><SET>Subject = H Social Sciences: HN Social history and conditions. Social problems. Social reform</SET><SET>Subject = R Medicine: RT Nursing</SET><SET>Subject = D History General and Old World: D History (General): D111 Medieval History</SET><SET>Subject = D History General and Old World: DB Austria</SET><SET>Subject = N Fine Arts: NE Print media</SET><SET>Subject = S Agriculture: SF Animal culture</SET><SET>Subject = G Geography. Anthropology. Recreation: GE Environmental Sciences</SET><SET>Subject = T Technology: TL Motor vehicles. Aeronautics. Astronautics</SET><SET>Subject = C Auxiliary Sciences of History: CE Technical chronology. Calendar</SET><SET>Subject = Z Bibliography. Library Science. Information Resources: ZA Information resources: ZA4050 Electronic information resources</SET><SET>Subject = B Philosophy. Psychology. Religion: BX Christian Denominations</SET><SET>Subject = S Agriculture</SET><SET>Subject = F History United States, Canada, Latin America: F1201 Latin America (General)</SET><SET>Subject = G Geography. Anthropology. Recreation: GA Mathematical geography. Cartography</SET><SET>Subject = D History General and Old World: DG Italy</SET><SET>Subject = T Technology: TP Chemical technology</SET><SET>Subject = S Agriculture: SK Hunting sports</SET><SET>Subject = P Language and Literature: PA Classical philology</SET><SET>Subject = R Medicine: RD Surgery</SET><SET>Subject = L Education: LD Individual institutions (United States)</SET><SET>Subject = J Political Science: JN Political institutions (Europe): JN1187 Scotland</SET><SET>Subject = E History America: E151 United States (General)</SET><SET>Subject = G Geography. Anthropology. Recreation: GN Anthropology</SET><SET>Subject = M Music and Books on Music</SET><SET>Subject = H Social Sciences: HD Industries. Land use. Labor: HD61 Risk Management</SET><SET>Subject = P Language and Literature: PR English literature</SET><SET>Subject = J Political Science: JS Local government Municipal government</SET><SET>Subject = T Technology: T Technology (General)</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>58</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo59.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo59.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo59.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-eb219ce8-4bf2-414a-8023-ccff70fced1b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="http://validator.driver.research-infrastructures.eu/validatorWeb"/><DATE_OF_CREATION value="2008-10-07T09:20:25+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><TYPOLOGY>DSpace</TYPOLOGY><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><OFFICIAL_NAME>Cranfield CERES</OFFICIAL_NAME><ENGLISH_NAME>Cranfield CERES</ENGLISH_NAME><ICON_URI/><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>0.631265</LONGITUDE><LATITUDE>52.07001</LATITUDE><TIMEZONE>0.0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://dspace.lib.cranfield.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Cranfield University</REPOSITORY_INSTITUTION><ADMIN_INFO>paul.needham11@btinternet.com</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://dspace.lib.cranfield.ac.uk/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>uketd_dc</FORMAT></FORMATS><SETS><SET>All sets</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>2767</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><THROUGHPUT>0.0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo102.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo102.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo102.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-e09568eb-ffa7-4953-b9a7-d84a923da5be_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-05T09:31:50+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Fedora</TYPOLOGY><OFFICIAL_NAME>ePIC</OFFICIAL_NAME><ENGLISH_NAME>ePIC</ENGLISH_NAME><ICON_URI>http://epic.awi.de/Publications/Pics/epic.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.5795492</LONGITUDE><LATITUDE>53.5336852</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://epic.awi.de/epic/Main</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Alfred Wegener Institute for Polar and Marine Research (AWI),</REPOSITORY_INSTITUTION><ADMIN_INFO>fedora-admin@awi.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://rep.awi.de:8080/oaiprovider/</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>438</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo143.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo143.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo143.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="62-0965f098-daf8-4697-a325-9eea115419dd_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2007-12-29T10:11:48+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DIVA</TYPOLOGY><OFFICIAL_NAME>Publikationer fran Karlstads Universitet</OFFICIAL_NAME><ENGLISH_NAME>Publikationer fran Karlstads Universitet</ENGLISH_NAME><ICON_URI>http://www.intra.kau.se/bilder/kaugrafik/kaulogga.gif</ICON_URI><COUNTRY>SE</COUNTRY><LOCATION><LONGITUDE>13.580</LONGITUDE><LATITUDE>59.406</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.diva-portal.org/kau/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Karlstads Univ.</REPOSITORY_INSTITUTION><ADMIN_INFO>diva-support@ub.uu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.diva-portal.org/oai/kau/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1610</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo147.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo147.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo147.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="65-75ab4fe8-c5e0-4626-864e-e64a8511b7a1_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-18T21:26:48+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Surrey Scholarship Online</OFFICIAL_NAME><ENGLISH_NAME>Surrey Scholarship Online</ENGLISH_NAME><ICON_URI>http://epubs.surrey.ac.uk/assets/md5images/f3fd44d7614028b1200fb79c9d4eb18b.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.587</LONGITUDE><LATITUDE>51.242</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://epubs.surrey.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>University of Surrey</REPOSITORY_INSTITUTION><ADMIN_INFO>support@dc.bepress.com</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://epubs.surrey.ac.uk/cgi/oai2.cgi</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>852</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo60.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo60.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo60.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="1-f83c76b0-9b72-4c9d-82b7-e7f9bba5c3dd_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-24T08:21:18+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Genova - ISEM Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Genova - ISEM Repository</ENGLISH_NAME><ICON_URI>http://leonardo.isti.cnr.it/metaopac/sfondi/isem.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>8.926821</LONGITUDE><LATITUDE>44.414616</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/isemge_geConf/cnr_isemge-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto di Storia dell'Europa Mediterranea</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>6</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo64.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo64.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo64.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="20-afe9cc43-4be6-4e43-acf0-43b6f07de083_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2008-07-23T15:40:32+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Taranto - IAMC Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Taranto - IAMC Repository</ENGLISH_NAME><ICON_URI>http://leonardo.isti.cnr.it/metaopac/sfondi/logoCNR.jpg</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>17.236384</LONGITUDE><LATITUDE>40.474479</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/iamcta_taConf/cnr_iamcta-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Istituto per l'Ambiente Marino Costiero - CNR Taranto</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo111.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo111.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo111.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="34-95b84cec-367d-4c06-a615-e4cc432b47ae_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-17T22:28:41+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Pharmacy Eprints</OFFICIAL_NAME><ENGLISH_NAME>Pharmacy Eprints</ENGLISH_NAME><ICON_URI>http://eprints.pharmacy.ac.uk/images/site.gif</ICON_URI><COUNTRY>UK</COUNTRY><LOCATION><LONGITUDE>-0.122</LONGITUDE><LATITUDE>51.524</LATITUDE><TIMEZONE>0</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://eprints.pharmacy.ac.uk/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>School of Pharmacy, Univ. of London</REPOSITORY_INSTITUTION><ADMIN_INFO>library@pharmacy.ac.uk</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://eprints.pharmacy.ac.uk/cgi/oai2</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>892</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo152.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo152.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo152.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="6-b97767df-211e-4258-9a50-9523b305fa57_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-09-29T10:55:46+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DSpace</TYPOLOGY><OFFICIAL_NAME>Document Server@UHasselt</OFFICIAL_NAME><ENGLISH_NAME>Document Server@UHasselt</ENGLISH_NAME><ICON_URI>http://doclib.uhasselt.be/dspace/image/UHasselt.jpg</ICON_URI><COUNTRY>BE</COUNTRY><LOCATION><LONGITUDE>5.338</LONGITUDE><LATITUDE>50.929</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://doclib.uhasselt.be/dspace/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Univ. Hasselt</REPOSITORY_INSTITUTION><ADMIN_INFO>marc.goovaerts@uhasselt.be</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://uhdspace.uhasselt.be/dspace-oai/request</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1605</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo156.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo156.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo156.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="7-115066ea-49df-4f18-881f-9904dcd85675_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-28T19:40:06+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>VTOAI</TYPOLOGY><OFFICIAL_NAME>Universitat Jaume I: Tesis Doctorals en Xarxa (TDX)</OFFICIAL_NAME><ENGLISH_NAME>Universitat Jaume I: Theses and Dissertations Online (TDX)</ENGLISH_NAME><ICON_URI>http://www.tesisenxarxa.net/images/tdx/titol_transp.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-0.064777</LONGITUDE><LATITUDE>39.992815</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.tdx.cesca.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitat Jaume I</REPOSITORY_INSTITUTION><ADMIN_INFO>tdx@cesca.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.tdx.cesca.es/TDX_UJI/NDLTD-OAI/oai.pl</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>160</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo34.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo34.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo34.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="14-1e96718d-e255-41e2-af2c-ebc75ca24c31_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-01-03T19:59:30+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eigenentwicklung</TYPOLOGY><OFFICIAL_NAME>Elektronisches Volltextarchiv EVA</OFFICIAL_NAME><ENGLISH_NAME>Elektronisches Volltextarchiv EVA</ENGLISH_NAME><ICON_URI>http://www.ubka.uni-karlsruhe.de/grafiken/icons/unibiblogo_420.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.414</LONGITUDE><LATITUDE>49.011</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.ubka.uni-karlsruhe.de/eva/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universitaet Karlsruhe</REPOSITORY_INSTITUTION><ADMIN_INFO>tuszkowski@ubka.uni-karlsruhe.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.ubka.uni-karlsruhe.de/oai/eva/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>3790</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo38.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo38.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo38.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="14-ba2d797a-8685-441a-b6bd-ec027c9049f3_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-29T18:03:38+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Digitool</TYPOLOGY><OFFICIAL_NAME>Biblos-e Archivo Universidad Autonoma de Madrid</OFFICIAL_NAME><ENGLISH_NAME>Biblos-e Archivo Universidad Autonoma de Madrid</ENGLISH_NAME><ICON_URI>http://digitool-uam.greendata.es/exlibris/dtl/u3_1/dtle/www_r_spa/icon/header_left.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.69680</LONGITUDE><LATITUDE>40.545554</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://digitool-uam.greendata.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad Autonoma de Madrid</REPOSITORY_INSTITUTION><ADMIN_INFO>exlibris@exlibris.co.il</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPuam</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>882</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo120.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo120.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo120.xml	(revision 47801)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="4-0e29c744-04d2-4d1f-9bbf-93af663e6e62_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-12-03T15:23:01+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>PUMA</TYPOLOGY><OFFICIAL_NAME>National Research Council Bologna - ISAC Repository</OFFICIAL_NAME><ENGLISH_NAME>National Research Council Bologna - ISAC Repository</ENGLISH_NAME><ICON_URI>http://www.isac.cnr.it/images/isac.gif</ICON_URI><COUNTRY>IT</COUNTRY><LOCATION><LONGITUDE>11.30</LONGITUDE><LATITUDE>44.53</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://leonardo.isti.cnr.it/metaopac/servlet/Isis?Conf=/export/home/metaopac/mpisa/cnrpConf/cnr_isac-pub-list.sys.file_x</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Institute of atmospheric sciences and 
+climate - CNR Bologna</REPOSITORY_INSTITUTION><ADMIN_INFO>giuseppe.romano@isti.cnr.it</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://leonardo.isti.cnr.it/oai_cnrpubdriver</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo126.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo126.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo126.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="4-3c1ad2e4-3dd1-4085-9f28-748969a4d87a_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-11-24T22:45:47+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Eprints</TYPOLOGY><OFFICIAL_NAME>Archivo Digital UPM</OFFICIAL_NAME><ENGLISH_NAME>Archivo Digital UPM</ENGLISH_NAME><ICON_URI>http://oa.upm.es/images/upm_cabecera.gif</ICON_URI><COUNTRY>ES</COUNTRY><LOCATION><LONGITUDE>-3.628697</LONGITUDE><LATITUDE>40.388724</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://oa.upm.es/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Universidad Politécnica de Madrid</REPOSITORY_INSTITUTION><ADMIN_INFO>archivo.digital@upm.es</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://servmadrono.cs.urjc.es:8010/arcFuturo/servlet/OAIDPupm</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>970</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo167.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo167.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo167.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="84-d91744df-85a8-4587-80d8-82d471ffe152_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-06T19:13:52+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>Opus</TYPOLOGY><OFFICIAL_NAME>BieSOn - Bielefelder Server fuer Online-Publikationen (University of Bielefeld, GERMANY)</OFFICIAL_NAME><ENGLISH_NAME>Bielefeld Univ.: BieSOn - Bielefeld Server for Online Publications</ENGLISH_NAME><ICON_URI>http://bieson.ub.uni-bielefeld.de/Icons/bieson_logo.gif</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>8.5332</LONGITUDE><LATITUDE>52.022</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://bieson.ub.uni-bielefeld.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>bieson.ub@uni-bielefeld.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://bieson.ub.uni-bielefeld.de/phpoai/oai2.php</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>epicur</FORMAT></FORMATS><SETS><SET>Generalities, knowledge, the book</SET><SET>Data processing, computer science, computer systems</SET><SET>Bibliographies</SET><SET>Library and information sciences</SET><SET>Encyclopedias and books of facts</SET><SET>Magazines, journals and serials</SET><SET>Associations, organizations, and museum science</SET><SET>News media, journalism and publishing</SET><SET>General collections</SET><SET>Manuscripts and rare books</SET><SET>Philosophy</SET><SET>Parapsychology and occultism</SET><SET>Psychology</SET><SET>Religion, Philosophy and theory of religion</SET><SET>Bible</SET><SET>Christianity and Christian theology</SET><SET>Comparative religion and other religions</SET><SET>Social sciences, sociology and anthropology</SET><SET>Statistics</SET><SET>Political science</SET><SET>Economics</SET><SET>Law</SET><SET>Public administration</SET><SET>Military science</SET><SET>Social problems and social services</SET><SET>Education</SET><SET>Commerce, communications, transportation</SET><SET>Customs, etiquette, folklore</SET><SET>Language, linguistics</SET><SET>English and Old English languages</SET><SET>German language</SET><SET>Other Germanic languages</SET><SET>French and related languages</SET><SET>Italian, Romanian and related languages</SET><SET>Spanish and Portuguese languages</SET><SET>Latin and Italic languages</SET><SET>Classical and modern Greek languages</SET><SET>Other languages</SET><SET>Science</SET><SET>Mathematics</SET><SET>Astronomy and allied sciences</SET><SET>Physics</SET><SET>Chemistry and allied sciences</SET><SET>Earth sciences and geology</SET><SET>Fossils and prehistoric life</SET><SET>Life sciences, biology</SET><SET>Plants (Botany)</SET><SET>Animals (Zoology)</SET><SET>Technology (Applied sciences)</SET><SET>Medicine and health</SET><SET>Engineering</SET><SET>Agriculture and related technologies (including veterinary medicine)</SET><SET>Home and family management</SET><SET>Management and public relations</SET><SET>Chemical engineering</SET><SET>Manufacturing</SET><SET>Building and construction</SET><SET>Arts</SET><SET>Landscaping and area planning</SET><SET>Architecture</SET><SET>Sculpture, numismatics, ceramics, and metalwork</SET><SET>Drawing and decorative arts</SET><SET>Cartoons, caricatures</SET><SET>Painting</SET><SET>Graphic arts, prints</SET><SET>Photography and computer art</SET><SET>Music</SET><SET>Recreational and performing arts</SET><SET>Public performances</SET><SET>Stage presentations</SET><SET>Indoor games and amusements</SET><SET>Athletic and outdoor sports and games</SET><SET>Literature, rhetoric, and criticism</SET><SET>American literature in English</SET><SET>English and Old English literatures</SET><SET>German literature</SET><SET>Other Germanic literatures</SET><SET>French and related literatures</SET><SET>Italian, Romanian and related literatures</SET><SET>Spanish and Portuguese literatures</SET><SET>Latin and Italic literatures</SET><SET>Classical and modern Greek literatures</SET><SET>Literatures of other languages</SET><SET>History</SET><SET>Geography and travel</SET><SET>Geography of and travel in Germany</SET><SET>Biography, genealogy, and insignia</SET><SET>History of ancient world (to ca. 499), archaeology</SET><SET>History of Europe</SET><SET>History of Germany</SET><SET>History of Asia</SET><SET>History of Africa</SET><SET>History of North America</SET><SET>History of South America</SET><SET>History of other areas</SET><SET>Article</SET><SET>Book</SET><SET>Masters-Thesis.Diplom</SET><SET>Text.Thesis.Doctoral</SET><SET>Text.Thesis.Habilitation</SET><SET>In-Proceedings</SET><SET>Journal-Issue</SET><SET>Masters-Thesis.Magister</SET><SET>Organisation-Info</SET><SET>Preprint</SET><SET>Preprint-Collection</SET><SET>Proceedings</SET><SET>Continuing-Publication</SET><SET>Tech-Report</SET><SET>Research-Paper</SET><SET>Paper</SET><SET>Course-Material</SET><SET>Public-Lecture</SET><SET>Other</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1038</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo80.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo80.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/test/repositories/repo80.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE><HEADER><RESOURCE_IDENTIFIER value="2-5086a680-b6c3-43d0-ad03-2d1699b4f8a6_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value="00000000000000000000000000000000000000000"/><DATE_OF_CREATION value="2008-06-29T16:09:28+02:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>DIVA</TYPOLOGY><OFFICIAL_NAME>Publikasjoner fra Norges teknisk-naturvitenskapelige universitet</OFFICIAL_NAME><ENGLISH_NAME>Publications from Norwegian University of Science and Technology</ENGLISH_NAME><ICON_URI>http://www.ntnu.no//ntnu_images/logoicon.ico</ICON_URI><COUNTRY>NO</COUNTRY><LOCATION><LONGITUDE>10.402265</LONGITUDE><LATITUDE>63.419455</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://www.diva-portal.org/ntnu/index.xsql?lang=en</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION>Norwegian University of Science and Technology</REPOSITORY_INSTITUTION><ADMIN_INFO>diva-support@ub.uu.se</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://www.diva-portal.org/oai/ntnu/OAI</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT></FORMATS><SETS/></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>1839</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/tools/test-profile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/tools/test-profile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/tools/test-profile.xml	(revision 47801)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?><RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="111-6b4ea417-d940-4dda-a194-3096f685789b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+        <RESOURCE_KIND value="RepositoryServiceResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2008-12-05T13:58:12+01:00"/>
+        <PROTOCOL/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE/>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+            <TYPOLOGY>Opus</TYPOLOGY>
+            <OFFICIAL_NAME>ArchiMeD - Elektronische Publikationen der Universität Mainz</OFFICIAL_NAME>
+            <ENGLISH_NAME>Mainz Univ., ArchiMed</ENGLISH_NAME>
+            <ICON_URI>http://archimed.uni-mainz.de/opusubm/grafiken/kopf_schriftzug.gif</ICON_URI>
+            <COUNTRY>DE</COUNTRY>
+            <LOCATION>
+                <LONGITUDE>8.27</LONGITUDE>
+                <LATITUDE>50.0006</LATITUDE>
+                <TIMEZONE>1</TIMEZONE>
+            </LOCATION>
+            <REPOSITORY_WEBPAGE>http://archimed.uni-mainz.de/opusubm/archimed-home.html</REPOSITORY_WEBPAGE>
+            <REPOSITORY_INSTITUTION/>
+            <ADMIN_INFO>mailto:seiler@hbz-nrw.de</ADMIN_INFO>
+            <INTERFACES>
+                <INTERFACE>
+                    <ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL>
+                    <BASE_URL>http://ubm.opus.hbz-nrw.de/phpoai/oai2.php</BASE_URL>
+                    <FORMATS>
+                        <FORMAT>oai_dc</FORMAT>
+                        <FORMAT>epicur</FORMAT>
+                    </FORMATS>
+                    <SETS>
+                        <SET>Generalities, Science</SET>
+                        <SET>Data processing Computer science</SET>
+                        <SET>Bibliography</SET>
+                        <SET>Library and information sciences</SET>
+                        <SET>General encyclopedic works</SET>
+                        <SET>General serials and their indexes</SET>
+                        <SET>General organization and museology</SET>
+                        <SET>News media, journalism, publishing</SET>
+                        <SET>General collections</SET>
+                        <SET>Manuscripts and rare books</SET>
+                        <SET>Philosophy</SET>
+                        <SET>Paranormal phenomena</SET>
+                        <SET>Psychology</SET>
+                        <SET>Religion</SET>
+                        <SET>Bible</SET>
+                        <SET>Christian theology</SET>
+                        <SET>Other and comparative religions</SET>
+                        <SET>Social sciences</SET>
+                        <SET>General statistics</SET>
+                        <SET>Political science</SET>
+                        <SET>Economics</SET>
+                        <SET>Law</SET>
+                        <SET>Public administration</SET>
+                        <SET>Military science</SET>
+                        <SET>"Social services; association"</SET>
+                        <SET>Education</SET>
+                        <SET>Commerce, communications, transport</SET>
+                        <SET>Customs, etiquette, folklore</SET>
+                        <SET>Language, Linguistics</SET>
+                        <SET>English</SET>
+                        <SET>Germanic</SET>
+                        <SET>Other Germanic languages</SET>
+                        <SET>Romance languages French</SET>
+                        <SET>Italian, Romanian, Rhaeto-Romantic</SET>
+                        <SET>Spanish and Portugese languages</SET>
+                        <SET>Italic Latin</SET>
+                        <SET>Hellenic languages Classical Greek</SET>
+                        <SET>Other languages</SET>
+                        <SET>Natural sciences and mathematics</SET>
+                        <SET>Mathematics</SET>
+                        <SET>Astronomy and allied sciences</SET>
+                        <SET>Physics</SET>
+                        <SET>Chemistry and allied sciences</SET>
+                        <SET>Earth sciences</SET>
+                        <SET>Paleontology Paleozoology</SET>
+                        <SET>Life sciences</SET>
+                        <SET>Botanical sciences</SET>
+                        <SET>Zoological sciences</SET>
+                        <SET>Technology (Applied sciences)</SET>
+                        <SET>Medical sciences Medicine</SET>
+                        <SET>Engineering and allied operations</SET>
+                        <SET>Agriculture</SET>
+                        <SET>Home economics and family living</SET>
+                        <SET>Management and auxiliary services</SET>
+                        <SET>Chemical engineering</SET>
+                        <SET>Manufacturing</SET>
+                        <SET>Buildings</SET>
+                        <SET>The arts</SET>
+                        <SET>Civic and landscape art</SET>
+                        <SET>Architecture</SET>
+                        <SET>Plastic arts Sculpture</SET>
+                        <SET>Drawing and decorative arts</SET>
+                        <SET>Comics, Cartoons</SET>
+                        <SET>Painting and paintings</SET>
+                        <SET>Graphic arts Printmaking and prints</SET>
+                        <SET>Photography and photographs</SET>
+                        <SET>Music</SET>
+                        <SET>Recreational and performing arts</SET>
+                        <SET>Public performances</SET>
+                        <SET>Stage presentations</SET>
+                        <SET>Indoor games and amusements</SET>
+                        <SET>Athletic and outdoor sports and games</SET>
+                        <SET>Literature and rhetoric</SET>
+                        <SET>American literature in English</SET>
+                        <SET>English and Old English literatures</SET>
+                        <SET>Literatures of Germanic languages</SET>
+                        <SET>Other Germanic literatures</SET>
+                        <SET>Literatures of Romance languages</SET>
+                        <SET>Italian, Romanian, Rhaeto-Romanic literatures</SET>
+                        <SET>Spanish and Portuguese literatures</SET>
+                        <SET>Italic literatures Latin</SET>
+                        <SET>Hellenic literatures Classical Greek</SET>
+                        <SET>Literatures of other languages</SET>
+                        <SET>Geography and history</SET>
+                        <SET>Geography and travel</SET>
+                        <SET>Geography and travel Germany</SET>
+                        <SET>Biography, genealogy, insignia</SET>
+                        <SET>History of ancient world</SET>
+                        <SET>General history of Europe</SET>
+                        <SET>General history of Europe Central Europe Germany</SET>
+                        <SET>General history of Asia Far East</SET>
+                        <SET>General history of Africa</SET>
+                        <SET>General history of North America</SET>
+                        <SET>General history of South America</SET>
+                        <SET>General history of other areas</SET>
+                        <SET>Text.Thesis.Doctoral</SET>
+                        <SET>Text.Thesis.Habilitation</SET>
+                        <SET>MastersThesis</SET>
+                        <SET>DiplomaThesis</SET>
+                        <SET>MagisterThesis</SET>
+                        <SET>Msc</SET>
+                    </SETS>
+                </INTERFACE>
+            </INTERFACES>
+        </CONFIGURATION>
+        <STATUS>
+            <NUMBER_OF_OBJECTS>1371</NUMBER_OF_OBJECTS>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY/>
+            <CAPACITY/>
+            <RESPONSE_TIME/>
+            <THROUGHPUT>0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD/>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/invalid-profile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/invalid-profile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/schema/invalid-profile.xml	(revision 47801)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILEx><HEADER><RESOURCE_IDENTIFIER value="10-11e40a85-cd4f-47e6-92b9-cab6efb75e50_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/><RESOURCE_TYPE value="RepositoryServiceResourceType"/><RESOURCE_KIND value="RepositoryServiceResources"/><RESOURCE_URI value=""/><DATE_OF_CREATION value="2007-12-28T18:55:44+01:00"/><PROTOCOL/></HEADER><BODY><CONFIGURATION><MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE><AVAILABLE_DISKSPACE/><MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE><TYPOLOGY>edoc</TYPOLOGY><OFFICIAL_NAME>Humboldt University of Berlin, GERMANY, Document Server</OFFICIAL_NAME><ENGLISH_NAME>Humboldt Univ. Berlin: edoc Document and Publication Server</ENGLISH_NAME><ICON_URI>http://edoc.hu-berlin.de/e_modules/banner4.jpg</ICON_URI><COUNTRY>DE</COUNTRY><LOCATION><LONGITUDE>13.37</LONGITUDE><LATITUDE>52.5159</LATITUDE><TIMEZONE>1</TIMEZONE></LOCATION><REPOSITORY_WEBPAGE>http://edoc.hu-berlin.de/</REPOSITORY_WEBPAGE><REPOSITORY_INSTITUTION/><ADMIN_INFO>mailto:oai@rz.hu-berlin.de</ADMIN_INFO><INTERFACES><INTERFACE><ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL><BASE_URL>http://edoc.hu-berlin.de/OAI-2.0</BASE_URL><FORMATS><FORMAT>oai_dc</FORMAT><FORMAT>oai_ems</FORMAT><FORMAT>oai_pp</FORMAT><FORMAT>oai_xmetadiss</FORMAT><FORMAT>oai_epdcx</FORMAT></FORMATS><SETS><SET>Allgemeines, Wissenschaft</SET><SET>Informatik</SET><SET>Bibliografien</SET><SET>Bibliotheks- und Informationswissenschaft</SET><SET>Organisationen, Museumswissenschaft</SET><SET>Geografie, Reisen</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Religion, Religionsphilosophie</SET><SET>Theologie, Christentum</SET><SET>Andere Religionen</SET><SET>Sozialwissenschaften, Soziologie</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET><SET>ffentliche Verwaltung</SET><SET>Soziale Probleme, Sozialarbeit</SET><SET>Erziehung, Schul- und Bildungswesen</SET><SET>Ethnologie</SET><SET>Sprachwissenschaft, Linguistik</SET><SET>Deutsch</SET><SET>Franzoesisch, romanische Sprachen allgemein</SET><SET>Italienisch, Rumaenisch, Raetoromanisch</SET><SET>Latein</SET><SET>Andere Sprachen</SET><SET>Naturwissenschaften</SET><SET>Mathematik</SET><SET>Physik</SET><SET>Chemie</SET><SET>Geowissenschaften</SET><SET>Biowissenschaften, Biologie</SET><SET>Pflanzen (Botanik)</SET><SET>Tiere (Zoologie)</SET><SET>Technik</SET><SET>Medizin</SET><SET>Landwirtschaft, Veterinaermedizin</SET><SET>Hauswirtschaft</SET><SET>Management</SET><SET>Kuenste, Bildende Kunst allgemein</SET><SET>Landschaftsgestaltung, Raumplanung</SET><SET>Architektur</SET><SET>Plastik, Numismatik, Keramik, Metallkunst</SET><SET>Malerei</SET><SET>Grafische Verfahren, Drucke</SET><SET>ffentliche Darbietungen, Film, Rundfunk</SET><SET>Theater, Tanz</SET><SET>Sport</SET><SET>Literatur, Rhetorik, Literaturwissenschaft</SET><SET>Deutsche Literatur</SET><SET>Literatur in anderen germanischen Sprachen</SET><SET>Franzoesische Literatur</SET><SET>Italienische, rumaenische, raetoromanische Literatur</SET><SET>Literatur in anderen Sprachen</SET><SET>Geschichte</SET><SET>Geografie, Reisen</SET><SET>Biografie, Genealogie, Heraldik</SET><SET>Alte Geschichte, Archaeologie</SET><SET>Geschichte Europas</SET><SET>Geschichte Deutschlands</SET><SET>Geschichte Asiens</SET><SET>Wissenschaft und Kultur allgemein</SET><SET>Schrift, Buch, Bibliothek, Information und Dokumentation</SET><SET>Philosophie</SET><SET>Psychologie</SET><SET>Christliche Religion</SET><SET>Allg. und Vgl. Religionswiss., Nichtchristliche Religionen</SET><SET>Soziologie, Gesellschaft</SET><SET>Statistik</SET><SET>Politik</SET><SET>Wirtschaft</SET><SET>Recht</SET><SET>Erziehung, Bildung, Unterricht</SET><SET>Volkskunde, Voelkerkunde</SET><SET>Natur, Naturwissenschaften allgemein</SET><SET>Mathematik</SET><SET>Informatik, Datenverarbeitung</SET><SET>Physik, Astronomie</SET><SET>Chemie</SET><SET>Geowissenschaften</SET><SET>Biologie</SET><SET>Medizin</SET><SET>Technik allgemein</SET><SET>Landwirtschaft, Garten</SET><SET>Architektur</SET><SET>Bildende Kunst</SET><SET>Theater, Tanz, Film</SET><SET>Sport, Spiele</SET><SET>Allg. und Vgl. Sprach- und Literaturwissenschaft</SET><SET>Deutsche Sprach- und Literaturwissenschaft</SET><SET>Sprach- und Literaturwiss. der uebrigen germanischen Sprachen</SET><SET>Romanische Sprach- und Literaturwissenschaft</SET><SET>Klassische Sprach- und Literaturwissenschaft</SET><SET>Slawische und baltische Sprach- und Literaturwissenschaft</SET><SET>Sprach- und Literaturwissenschaft sonstiger Sprachen</SET><SET>Archaeologie, Vorgeschichte</SET><SET>Geographie, Heimat- und Laenderkunde, Reisen</SET><SET>Geschichte und Historische Hilfswissenschaften</SET><SET>Sozialgeschichte</SET><SET>Wirtschaftsgeschichte</SET><SET>Books, Monographs</SET><SET>Conference Proceedings</SET><SET>Diploma Theses</SET><SET>Dissertations and Professional Dissertations</SET><SET>Journal Article</SET><SET>Lectures</SET><SET>Papers</SET><SET>Reports</SET></SETS></INTERFACE></INTERFACES></CONFIGURATION><STATUS><NUMBER_OF_OBJECTS>5507</NUMBER_OF_OBJECTS></STATUS><QOS><AVAILABILITY/><CAPACITY/><RESPONSE_TIME/><THROUGHPUT>0</THROUGHPUT></QOS><SECURITY_PARAMETERS/><BLACKBOARD/></BODY></RESOURCE_PROFILEx>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/serviceProfile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/serviceProfile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/serviceProfile.xml	(revision 47801)
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="76-df3e4e62-4e9d-4ca7-8081-021608270eb5_U2VydmljZVJlc291cmNlcy9NRFN0b3JlU2VydmljZVJlc291cmNlVHlwZQ=="/>
+        <RESOURCE_KIND value="ServiceResources"/>
+        <DATE_OF_CREATION value="2009-03-18T12:55:19+01:00"/>
+        <PARENT_ID value="74-5b4b8fed-3f1c-44cc-a24a-7ea5f8702db5_U2VydmljZVJlc291cmNlcy9Ib3N0aW5nTm9kZU1hbmFnZXJTZXJ2aWNlUmVzb3VyY2VUeXBl" type="HNM"/>
+        <RESOURCE_URI value="http://212.87.15.95:9002/wsdl/MDStoreService.wsdl"/>
+        <PROTOCOLS>
+            <PROTOCOL name="SOAP" address="http://212.87.15.95:9002/cgi-bin/SoapDriver.cgi"/>
+        </PROTOCOLS>
+        <RESOURCE_TYPE value="MDStoreServiceResourceType"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <TYPOLOGY/>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+        </CONFIGURATION>
+        <STATUS>
+            <HANDLED_DATASTRUCTURE>0</HANDLED_DATASTRUCTURE>
+            <USED_DISKSPACE>0</USED_DISKSPACE>
+            <LAST_UPDATE value="2009-03-18T12:55:19+01:00"/>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY/>
+            <CAPACITY/>
+            <RESPONSE_TIME>0</RESPONSE_TIME>
+            <THROUGHPUT>0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD>
+            <LAST_REQUEST date="1237185941.660461">action-10afbe80-11f6-11de-8e98-00163e7589aa</LAST_REQUEST>
+            <LAST_RESPONSE date="1237185952.417205">action-10afbe80-11f6-11de-8e98-00163e7589aa</LAST_RESPONSE>
+        </BLACKBOARD>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/test-profile.xml
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/test-profile.xml	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/src/test/resources/eu/dnetlib/enabling/is/registry/test-profile.xml	(revision 47801)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="111-6b4ea417-d940-4dda-a194-3096f685789b_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+        <RESOURCE_KIND value="RepositoryServiceResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2008-12-05T13:58:12+01:00"/>
+        <PROTOCOL/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE/>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+            <TYPOLOGY>Opus</TYPOLOGY>
+            <OFFICIAL_NAME>ArchiMeD - Elektronische Publikationen der Universität Mainz</OFFICIAL_NAME>
+            <ENGLISH_NAME>Mainz Univ., ArchiMed</ENGLISH_NAME>
+            <ICON_URI>http://archimed.uni-mainz.de/opusubm/grafiken/kopf_schriftzug.gif</ICON_URI>
+            <COUNTRY>DE</COUNTRY>
+            <LOCATION>
+                <LONGITUDE>8.27</LONGITUDE>
+                <LATITUDE>50.0006</LATITUDE>
+                <TIMEZONE>1</TIMEZONE>
+            </LOCATION>
+            <REPOSITORY_WEBPAGE>http://archimed.uni-mainz.de/opusubm/archimed-home.html</REPOSITORY_WEBPAGE>
+            <REPOSITORY_INSTITUTION/>
+            <ADMIN_INFO>mailto:seiler@hbz-nrw.de</ADMIN_INFO>
+            <INTERFACES>
+                <INTERFACE>
+                    <ACCESS_PROTOCOL>OAI</ACCESS_PROTOCOL>
+                    <BASE_URL>http://ubm.opus.hbz-nrw.de/phpoai/oai2.php</BASE_URL>
+                    <FORMATS>
+                        <FORMAT>oai_dc</FORMAT>
+                        <FORMAT>epicur</FORMAT>
+                    </FORMATS>
+                    <SETS>
+                        <SET>Generalities, Science</SET>
+                        <SET>Data processing Computer science</SET>
+                        <SET>Bibliography</SET>
+                        <SET>Library and information sciences</SET>
+                        <SET>General encyclopedic works</SET>
+                        <SET>General serials and their indexes</SET>
+                        <SET>General organization and museology</SET>
+                        <SET>News media, journalism, publishing</SET>
+                        <SET>General collections</SET>
+                        <SET>Manuscripts and rare books</SET>
+                        <SET>Philosophy</SET>
+                        <SET>Paranormal phenomena</SET>
+                        <SET>Psychology</SET>
+                        <SET>Religion</SET>
+                        <SET>Bible</SET>
+                        <SET>Christian theology</SET>
+                        <SET>Other and comparative religions</SET>
+                        <SET>Social sciences</SET>
+                        <SET>General statistics</SET>
+                        <SET>Political science</SET>
+                        <SET>Economics</SET>
+                        <SET>Law</SET>
+                        <SET>Public administration</SET>
+                        <SET>Military science</SET>
+                        <SET>"Social services; association"</SET>
+                        <SET>Education</SET>
+                        <SET>Commerce, communications, transport</SET>
+                        <SET>Customs, etiquette, folklore</SET>
+                        <SET>Language, Linguistics</SET>
+                        <SET>English</SET>
+                        <SET>Germanic</SET>
+                        <SET>Other Germanic languages</SET>
+                        <SET>Romance languages French</SET>
+                        <SET>Italian, Romanian, Rhaeto-Romantic</SET>
+                        <SET>Spanish and Portugese languages</SET>
+                        <SET>Italic Latin</SET>
+                        <SET>Hellenic languages Classical Greek</SET>
+                        <SET>Other languages</SET>
+                        <SET>Natural sciences and mathematics</SET>
+                        <SET>Mathematics</SET>
+                        <SET>Astronomy and allied sciences</SET>
+                        <SET>Physics</SET>
+                        <SET>Chemistry and allied sciences</SET>
+                        <SET>Earth sciences</SET>
+                        <SET>Paleontology Paleozoology</SET>
+                        <SET>Life sciences</SET>
+                        <SET>Botanical sciences</SET>
+                        <SET>Zoological sciences</SET>
+                        <SET>Technology (Applied sciences)</SET>
+                        <SET>Medical sciences Medicine</SET>
+                        <SET>Engineering and allied operations</SET>
+                        <SET>Agriculture</SET>
+                        <SET>Home economics and family living</SET>
+                        <SET>Management and auxiliary services</SET>
+                        <SET>Chemical engineering</SET>
+                        <SET>Manufacturing</SET>
+                        <SET>Buildings</SET>
+                        <SET>The arts</SET>
+                        <SET>Civic and landscape art</SET>
+                        <SET>Architecture</SET>
+                        <SET>Plastic arts Sculpture</SET>
+                        <SET>Drawing and decorative arts</SET>
+                        <SET>Comics, Cartoons</SET>
+                        <SET>Painting and paintings</SET>
+                        <SET>Graphic arts Printmaking and prints</SET>
+                        <SET>Photography and photographs</SET>
+                        <SET>Music</SET>
+                        <SET>Recreational and performing arts</SET>
+                        <SET>Public performances</SET>
+                        <SET>Stage presentations</SET>
+                        <SET>Indoor games and amusements</SET>
+                        <SET>Athletic and outdoor sports and games</SET>
+                        <SET>Literature and rhetoric</SET>
+                        <SET>American literature in English</SET>
+                        <SET>English and Old English literatures</SET>
+                        <SET>Literatures of Germanic languages</SET>
+                        <SET>Other Germanic literatures</SET>
+                        <SET>Literatures of Romance languages</SET>
+                        <SET>Italian, Romanian, Rhaeto-Romanic literatures</SET>
+                        <SET>Spanish and Portuguese literatures</SET>
+                        <SET>Italic literatures Latin</SET>
+                        <SET>Hellenic literatures Classical Greek</SET>
+                        <SET>Literatures of other languages</SET>
+                        <SET>Geography and history</SET>
+                        <SET>Geography and travel</SET>
+                        <SET>Geography and travel Germany</SET>
+                        <SET>Biography, genealogy, insignia</SET>
+                        <SET>History of ancient world</SET>
+                        <SET>General history of Europe</SET>
+                        <SET>General history of Europe Central Europe Germany</SET>
+                        <SET>General history of Asia Far East</SET>
+                        <SET>General history of Africa</SET>
+                        <SET>General history of North America</SET>
+                        <SET>General history of South America</SET>
+                        <SET>General history of other areas</SET>
+                        <SET>Text.Thesis.Doctoral</SET>
+                        <SET>Text.Thesis.Habilitation</SET>
+                        <SET>MastersThesis</SET>
+                        <SET>DiplomaThesis</SET>
+                        <SET>MagisterThesis</SET>
+                        <SET>Msc</SET>
+                    </SETS>
+                </INTERFACE>
+            </INTERFACES>
+        </CONFIGURATION>
+        <STATUS>
+            <NUMBER_OF_OBJECTS>1371</NUMBER_OF_OBJECTS>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY/>
+            <CAPACITY/>
+            <RESPONSE_TIME/>
+            <THROUGHPUT>0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD/>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/deploy.info
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/deploy.info	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2/deploy.info	(revision 47801)
@@ -0,0 +1 @@
+{"type_source": "SVN", "goal": "package -U -T 4C source:jar", "url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet45/modules/cnr-enabling-services/trunk/", "deploy_repository": "dnet45-snapshots", "version": "4", "mail": "sandro.labruzzo@isti.cnr.it,michele.artini@isti.cnr.it, claudio.atzori@isti.cnr.it, alessia.bardi@isti.cnr.it", "deploy_repository_url": "http://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-snapshots", "name": "cnr-enabling-services"}
\ No newline at end of file
Index: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2
===================================================================
--- modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2	(nonexistent)
+++ modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2	(revision 47801)

Property changes on: modules/cnr-enabling-services/tags/cnr-enabling-services-2.2.2
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,6 ##
+.classpath
+target
+.settings
+.project
+
+*.iml
