Index: modules/dnet-openaire-blacklist/trunk/src/main/java/eu/dnetlib/openaire/blacklist/OpenaireIdResolver.java
===================================================================
--- modules/dnet-openaire-blacklist/trunk/src/main/java/eu/dnetlib/openaire/blacklist/OpenaireIdResolver.java	(revision 55839)
+++ modules/dnet-openaire-blacklist/trunk/src/main/java/eu/dnetlib/openaire/blacklist/OpenaireIdResolver.java	(revision 55840)
@@ -3,11 +3,18 @@
 import java.io.StringReader;
 import java.util.List;
 
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+
+import eu.dnetlib.functionality.index.client.solr.SolrIndexClient;
+import eu.dnetlib.functionality.index.client.solr.SolrIndexClientFactory;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.impl.CloudSolrServer;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
@@ -17,14 +24,6 @@
 import org.dom4j.io.SAXReader;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
-import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
-import eu.dnetlib.enabling.locators.UniqueServiceLocator;
-
 /**
  * The goal of this task is to return the original identifiers of objects merged in a representative object by deduplication. Created by
  * alessia on 09/02/16.
@@ -31,7 +30,6 @@
  */
 public class OpenaireIdResolver {
 
-	public final static String SOLR_COLLECTION_POSTFIX = "-index-openaire";
 	private static final Log log = LogFactory.getLog(OpenaireIdResolver.class);
 	private final static String RESULT_FIELD = "__result";
 	private final static String XPATH_TO_MERGED = "//*[local-name()='entity']/*//children/result/@objidentifier";
@@ -38,6 +36,8 @@
 	private final SAXReader saxReader = new SAXReader();
 	@Autowired
 	private UniqueServiceLocator serviceLocator;
+	@Autowired
+	private SolrIndexClientFactory indexClientFactory;
 
 	public List<String> resolveIdentifier(final String id) {
 		if (StringUtils.isBlank(id)) return Lists.newArrayList();
@@ -47,16 +47,13 @@
 	}
 
 	protected List<String> findOriginalIds(final String id) {
-		CloudSolrServer solrCore = null;
-		final SolrQuery q = new SolrQuery("objidentifier:\"" + id + "\"");
-		QueryResponse response = null;
-		try {
-			solrCore = new CloudSolrServer(getIndexEndpoint());
-			solrCore.setDefaultCollection(getPublicIndexCollection() + SOLR_COLLECTION_POSTFIX);
-			response = solrCore.query(q);
+		try(final SolrIndexClient client = (SolrIndexClient) indexClientFactory.getClient(getPublicIndexCollection())) {
+
+			final String query = String.format("objidentifier:\"%s\"", id);
+			final QueryResponse response = client.query(query, 1);
 			final SolrDocumentList results = response.getResults();
 			if (results.isEmpty()) {
-				log.debug("Query " + q + " returned 0 documents");
+				log.debug("Query " + query + " returned 0 documents");
 				return Lists.newArrayList();
 			}
 			// my results contain the document with the given identifier
@@ -65,8 +62,6 @@
 		} catch (final Exception e) {
 			log.error("Can't get original ids for " + id + "\n ", e);
 			throw new RuntimeException("Can't get original ids for " + id + "\n " + e);
-		} finally {
-			solrCore.shutdown();
 		}
 	}
 
@@ -74,13 +69,7 @@
 	protected List<String> extractMergedIdentifiers(final SolrDocument doc) throws DocumentException {
 		final String xmlRecord = (String) doc.getFirstValue(RESULT_FIELD);
 		final Document xmlDoc = this.saxReader.read(new StringReader(xmlRecord));
-		return Lists.newArrayList(Iterables.transform(xmlDoc.selectNodes(XPATH_TO_MERGED), new Function<Attribute, String>() {
-
-			@Override
-			public String apply(final Attribute a) {
-				return a.getStringValue();
-			}
-		}));
+		return Lists.newArrayList(Iterables.transform(xmlDoc.selectNodes(XPATH_TO_MERGED), (Function<Attribute, String>) a -> a.getStringValue()));
 	}
 
 	protected String getIndexEndpoint() throws ISLookUpException {
Index: modules/dnet-openaire-blacklist/trunk/pom.xml
===================================================================
--- modules/dnet-openaire-blacklist/trunk/pom.xml	(revision 55839)
+++ modules/dnet-openaire-blacklist/trunk/pom.xml	(revision 55840)
@@ -1,69 +1,72 @@
 <?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>dnet-openaire-blacklist</artifactId>
-    <packaging>jar</packaging>
-    <version>1.1.4-SNAPSHOT</version>
-    <scm>
-        <developerConnection>
-            scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet45/modules/dnet-openaire-blacklist/trunk
-        </developerConnection>
-    </scm>
-    <dependencies>
-        <dependency>
-            <groupId>eu.dnetlib</groupId>
-            <artifactId>cnr-resultset-client</artifactId>
-            <version>[2.0.0,3.0.0)</version>
-        </dependency>
-        <dependency>
-            <groupId>eu.dnetlib</groupId>
-            <artifactId>cnr-enabling-database-api</artifactId>
-            <version>[2.0.0,3.0.0)</version>
-        </dependency>
-        <dependency>
-            <groupId>eu.dnetlib</groupId>
-            <artifactId>dnet-modular-ui</artifactId>
-            <version>[3.0.0,4.0.0)</version>
-        </dependency>
-        <dependency>
-            <groupId>eu.dnetlib</groupId>
-            <artifactId>dnet-msro-service</artifactId>
-            <version>[3.0.0,4.0.0)</version>
-        </dependency>
-        <dependency>
-            <groupId>eu.dnetlib</groupId>
-            <artifactId>dnet-hadoop-service-rmi</artifactId>
-            <version>[1.0.0,2.0.0)</version>
-        </dependency>
-        <dependency>
-	        <groupId>eu.dnetlib</groupId>
-	        <artifactId>dnet-openaireplus-mapping-utils</artifactId>
-	        <version>[6.0.0,7.0.0)</version>
-        </dependency>
-	    <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${javax.servlet.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
-	<dependency>
-	    <groupId>org.mockito</groupId>
-	    <artifactId>mockito-core</artifactId>
-	    <version>1.9.5</version>
-        </dependency>
+	<parent>
+		<groupId>eu.dnetlib</groupId>
+		<artifactId>dnet45-parent</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+		<relativePath/>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>eu.dnetlib</groupId>
+	<artifactId>dnet-openaire-blacklist</artifactId>
+	<packaging>jar</packaging>
+	<version>1.2.0-SNAPSHOT</version>
+	<scm>
+		<developerConnection>scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet45/modules/dnet-openaire-blacklist/trunk</developerConnection>
+	</scm>
+	<dependencies>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-resultset-client</artifactId>
+			<version>[2.0.0,3.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>cnr-enabling-database-api</artifactId>
+			<version>[2.0.0,3.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-modular-ui</artifactId>
+			<version>[3.0.0,4.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-msro-service</artifactId>
+			<version>[3.0.0,4.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-hadoop-service-rmi</artifactId>
+			<version>[1.0.0,2.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-openaireplus-mapping-utils</artifactId>
+			<version>[6.3.24,7.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-index-client</artifactId>
+			<version>[2.3.4,3.0.0)</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>javax.servlet-api</artifactId>
+			<version>${javax.servlet.version}</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>${junit.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+			<version>1.9.5</version>
+		</dependency>
 
-    </dependencies>
+	</dependencies>
 </project>
