Index: modules/dnet-openaireplus-workflows/trunk/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManagerTest.java
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManagerTest.java	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManagerTest.java	(revision 60357)
@@ -6,8 +6,7 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import eu.dnetlib.message.Message;
-import eu.dnetlib.message.MessageType;
+import eu.dnetlib.dhp.message.Message;
 import eu.dnetlib.msro.rmi.MSROException;
 
 public class DnetMessageManagerTest {
@@ -14,70 +13,38 @@
 
 	private DnetMessageManager manager;
 
+	private static final int MAX_N_MESSAGES = 10;
+
 	@Before
 	public void setUp() throws Exception {
 		manager = new DnetMessageManager();
-		manager.setMaxNumberOfOnGoingMessages(10);
-		manager.setMaxNumberOfReports(100);
+		manager.setMaxNumberOfMessages(MAX_N_MESSAGES);
 	}
 
 	@Test
-	public void testRegisterMessage_ongoing_multi_wfs() throws MSROException {
-		for (long i = 0; i < manager.getMaxNumberOfOnGoingMessages(); i++) {
-			manager.registerMessage(prepareMessage("wf-" + i, MessageType.ONGOING));
-			assertTrue(manager.getOnGonginMessages().size() <= manager.getMaxNumberOfOnGoingMessages());
+	public void testRegisterMessage_multi_wfs() throws MSROException {
+		for (long i = 0; i < MAX_N_MESSAGES; i++) {
+			manager.registerMessage(prepareMessage("wf-" + i));
+			assertTrue(manager.getMessages().size() <= MAX_N_MESSAGES);
 		}
 
-		for (long i = manager.getMaxNumberOfOnGoingMessages(); i < 200; i++) {
-			manager.registerMessage(prepareMessage("wf-" + i, MessageType.ONGOING));
-			assertEquals(manager.getMaxNumberOfOnGoingMessages(), manager.getOnGonginMessages().size());
+		for (long i = MAX_N_MESSAGES; i < 200; i++) {
+			manager.registerMessage(prepareMessage("wf-" + i));
+			assertEquals(MAX_N_MESSAGES, manager.getMessages().size());
 		}
 	}
 
 	@Test
-	public void testRegisterMessage_ongoing_single_wf() throws MSROException {
+	public void testRegisterMessage_single_wf() throws MSROException {
 		for (long i = 0; i < 100; i++) {
-			manager.registerMessage(prepareMessage("wf-xxxx", MessageType.ONGOING));
-			assertEquals(1, manager.getOnGonginMessages().size());
+			manager.registerMessage(prepareMessage("wf-xxxx"));
+			assertEquals(1, manager.getMessages().size());
 		}
 	}
 
-	@Test
-	public void testRegisterMessage_reports_multi_wf() throws MSROException {
-		for (long i = 0; i < manager.getMaxNumberOfReports(); i++) {
-			manager.registerMessage(prepareMessage("wf-" + i, MessageType.REPORT));
-			assertTrue(manager.getReports().size() <= manager.getMaxNumberOfReports());
-		}
-
-		for (long i = manager.getMaxNumberOfReports(); i < 200; i++) {
-			manager.registerMessage(prepareMessage("wf-" + i, MessageType.REPORT));
-			assertEquals(manager.getMaxNumberOfReports(), manager.getReports().size());
-		}
-	}
-
-	@Test
-	public void testRegisterMessage_reports_single_wf() throws MSROException {
-		for (long i = 1; i < 100; i++) {
-			manager.registerMessage(prepareMessage("wf-xxxx", MessageType.REPORT));
-			assertEquals(1, manager.getReports().size());
-			assertEquals(i, manager.getReports("wf-xxxx", false).size());
-		}
-	}
-
-	@Test
-	public void testRegisterMessage_reports_single_wf_delete() throws MSROException {
-		for (long i = 1; i < 100; i++) {
-			manager.registerMessage(prepareMessage("wf-xxxx", MessageType.REPORT));
-			assertEquals(1, manager.getReports().size());
-			assertEquals(1, manager.getReports("wf-xxxx", true).size());
-			assertEquals(0, manager.getReports().size());
-		}
-	}
-
-	private Message prepareMessage(final String wfId, final MessageType type) {
+	private Message prepareMessage(final String wfId) {
 		final Message msg = new Message();
 		msg.setWorkflowId(wfId);
-		msg.setType(type);
 		return msg;
 	}
 
Index: modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManager.java
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManager.java	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManager.java	(revision 60357)
@@ -1,9 +1,7 @@
 package eu.dnetlib.msro.openaireplus.workflows.nodes.dhp.message;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedHashMap;
-import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.logging.Log;
@@ -10,8 +8,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Required;
 
-import eu.dnetlib.message.Message;
-import eu.dnetlib.message.MessageType;
+import eu.dnetlib.dhp.message.Message;
 import eu.dnetlib.msro.rmi.MSROException;
 
 public class DnetMessageManager {
@@ -18,72 +15,32 @@
 
 	private static final Log log = LogFactory.getLog(DnetMessageManager.class);
 
-	private final Map<String, Message> onGonginMessages = Collections.synchronizedMap(new LinkedHashMap<>());
+	private final Map<String, Message> messages = Collections.synchronizedMap(new LinkedHashMap<>());
 
-	private final Map<String, List<Message>> reports = Collections.synchronizedMap(new LinkedHashMap<>());
+	private long maxNumberOfMessages;
 
-	private long maxNumberOfOnGoingMessages;
-
-	private long maxNumberOfReports;
-
 	public synchronized void registerMessage(final Message message) throws MSROException {
-		if (message.getType() == MessageType.ONGOING) {
-			log.debug("Received a ONGOING message");
-			onGonginMessages.put(message.getWorkflowId(), message);
-			if (onGonginMessages.size() > maxNumberOfOnGoingMessages) {
-				onGonginMessages.remove(onGonginMessages.keySet().iterator().next());
-			}
-		} else if (message.getType() == MessageType.REPORT) {
-			log.debug("Received a REPORT message");
-			if (!reports.containsKey(message.getWorkflowId())) {
-				reports.put(message.getWorkflowId(), new ArrayList<>());
-			}
-			reports.get(message.getWorkflowId()).add(message);
-			if (reports.size() > maxNumberOfReports) {
-				reports.remove(reports.keySet().iterator().next());
-			}
-		} else {
-			throw new MSROException("Invalid message type: " + message.getType());
+		log.debug("Received a ONGOING message");
+		messages.put(message.getWorkflowId(), message);
+		if (messages.size() > maxNumberOfMessages) {
+			messages.remove(messages.keySet().iterator().next());
 		}
 	}
 
-	public List<Message> getReports(final String workflowId, final boolean delete) {
-		if (!reports.containsKey(workflowId)) {
-			return new ArrayList<>();
-		} else if (delete) {
-			return reports.remove(workflowId);
-		} else {
-			return reports.get(workflowId);
-		}
+	public Message findMessage(final String workflowId) {
+		return messages.get(workflowId);
 	}
 
-	public Message getOnGoingMessage(final String workflowId) {
-		return onGonginMessages.get(workflowId);
+	protected Map<String, Message> getMessages() {
+		return messages;
 	}
 
-	public long getMaxNumberOfOnGoingMessages() {
-		return maxNumberOfOnGoingMessages;
+	public long getMaxNumberOfMessages() {
+		return maxNumberOfMessages;
 	}
 
 	@Required
-	public void setMaxNumberOfOnGoingMessages(final long maxNumberOfOnGoingMessages) {
-		this.maxNumberOfOnGoingMessages = maxNumberOfOnGoingMessages;
+	public void setMaxNumberOfMessages(final long maxNumberOfMessages) {
+		this.maxNumberOfMessages = maxNumberOfMessages;
 	}
-
-	public long getMaxNumberOfReports() {
-		return maxNumberOfReports;
-	}
-
-	@Required
-	public void setMaxNumberOfReports(final long maxNumberOfReports) {
-		this.maxNumberOfReports = maxNumberOfReports;
-	}
-
-	protected Map<String, Message> getOnGonginMessages() {
-		return onGonginMessages;
-	}
-
-	protected Map<String, List<Message>> getReports() {
-		return reports;
-	}
 }
Index: modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManagerController.java
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManagerController.java	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/DnetMessageManagerController.java	(revision 60357)
@@ -17,7 +17,7 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-import eu.dnetlib.message.Message;
+import eu.dnetlib.dhp.message.Message;
 import eu.dnetlib.msro.rmi.MSROException;
 
 @Controller
Index: modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/SubmitDnetHadoopJobNode.java
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/SubmitDnetHadoopJobNode.java	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/SubmitDnetHadoopJobNode.java	(revision 60357)
@@ -11,8 +11,8 @@
 import com.googlecode.sarasvati.NodeToken;
 import com.googlecode.sarasvati.env.Env;
 
+import eu.dnetlib.dhp.message.Message;
 import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
-import eu.dnetlib.message.Message;
 import eu.dnetlib.msro.openaireplus.workflows.nodes.dhp.message.DnetMessageManager;
 import eu.dnetlib.msro.workflows.hadoop.SubmitHadoopJobNode;
 import eu.dnetlib.msro.workflows.nodes.ProgressJobNode;
@@ -42,7 +42,7 @@
 	}
 
 	private void updateProgressProvider() {
-		final Message mess = dnetMessageManager.getOnGoingMessage(wfId);
+		final Message mess = dnetMessageManager.findMessage(wfId);
 		if (mess != null && mess.getBody() != null) {
 			if (mess.getBody().containsKey("current")) {
 				try {
Index: modules/dnet-openaireplus-workflows/trunk/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/applicationContext-msro-openaire-message.properties
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/applicationContext-msro-openaire-message.properties	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/applicationContext-msro-openaire-message.properties	(revision 60357)
@@ -1,2 +1 @@
-dnet.openaire.messageManager.maxNumberOfOnGoingMessages = 100
-dnet.openaire.messageManager.maxNumberOfReports         = 1000
\ No newline at end of file
+dnet.openaire.messageManager.maxNumberOfMessages = 100
Index: modules/dnet-openaireplus-workflows/trunk/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/applicationContext-msro-openaire-message.xml
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/applicationContext-msro-openaire-message.xml	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/dhp/message/applicationContext-msro-openaire-message.xml	(revision 60357)
@@ -4,8 +4,8 @@
        xmlns="http://www.springframework.org/schema/beans"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-    <bean id="dnetMessageManager" class="eu.dnetlib.msro.openaireplus.workflows.nodes.dhp.message.DnetMessageManager" 
-    	p:maxNumberOfOnGoingMessages="${dnet.openaire.messageManager.maxNumberOfOnGoingMessages}"
-    	p:maxNumberOfReports="${dnet.openaire.messageManager.maxNumberOfReports}" />
+    <bean id="dnetMessageManager" 
+    	class="eu.dnetlib.msro.openaireplus.workflows.nodes.dhp.message.DnetMessageManager" 
+    	p:maxNumberOfMessages="${dnet.openaire.messageManager.maxNumberOfMessages}" />
 
 </beans>
Index: modules/dnet-openaireplus-workflows/trunk/pom.xml
===================================================================
--- modules/dnet-openaireplus-workflows/trunk/pom.xml	(revision 60356)
+++ modules/dnet-openaireplus-workflows/trunk/pom.xml	(revision 60357)
@@ -186,7 +186,7 @@
 		<dependency>
 			<groupId>eu.dnetlib.dhp</groupId>
 			<artifactId>dhp-common</artifactId>
-			<version>[1.0.0, 2.0.0)</version>
+			<version>1.2.4-branch_hadoop_aggregator-SNAPSHOT</version>
 			<exclusions>
 				<exclusion>
 					<groupId>net.sf.saxon</groupId>
