/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.drools.mas; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.drools.mas.ACLMessage; import org.drools.mas.core.DroolsAgentResponseInformer; /** * * @author esteban */ public class SynchronousDroolsAgentResponseInformer implements DroolsAgentResponseInformer { private Map<ACLMessage,List<ACLMessage>> responses = new HashMap<ACLMessage, List<ACLMessage>>(); public synchronized void informResponse(ACLMessage originalMessage, ACLMessage reponse) { if (!responses.containsKey(originalMessage)){ responses.put(originalMessage, new ArrayList<ACLMessage>()); } responses.get(originalMessage).add(reponse); } public synchronized List<ACLMessage> retrieveResponses(ACLMessage originalMessage){ return this.responses.remove(originalMessage); } }