package cz.agents.agentpolis.darptestbed.simmodel.agent.driver; import cz.agents.agentpolis.darptestbed.siminfrastructure.communication.dispatching.message.DispatcherRequestsInsertionMessage; import cz.agents.agentpolis.darptestbed.siminfrastructure.communication.dispatching.message.DispatcherSendsOutTaxiMessage; import cz.agents.agentpolis.darptestbed.siminfrastructure.communication.dispatching.message.FinalPlanConfirmationMessage; import cz.agents.agentpolis.darptestbed.siminfrastructure.communication.dispatching.message.FinalPlanFailureMessage; import cz.agents.agentpolis.darptestbed.siminfrastructure.communication.driver.receiver.DriverCentralizedReceiverVisitor; import cz.agents.agentpolis.darptestbed.simmodel.agent.driver.logic.DriverCentralizedLogic; import cz.agents.agentpolis.simmodel.entity.EntityType; import cz.agents.agentpolis.simmodel.environment.model.query.AgentPositionQuery; import org.apache.log4j.Logger; public class DriverCentralizedAgent extends DriverAgent<DriverCentralizedLogic> implements DriverCentralizedReceiverVisitor { private static final Logger LOGGER = Logger.getLogger(DriverCentralizedAgent.class); public DriverCentralizedAgent(String agentId, EntityType agentType, DriverCentralizedLogic logic, AgentPositionQuery positionQuery) { super(agentId, agentType, logic, positionQuery); // TODO Auto-generated constructor stub } @Override public void visit(DispatcherSendsOutTaxiMessage dispatcherSendsOutTaxiMessage) { // if (getId().equals("DriverId19")) // LOGGER.debug("Received: " + dispatcherSendsOutTaxiMessage.hashCode() + " " + "DriverId: " + getId() + " " + // dispatcherSendsOutTaxiMessage); logic.setTripPlan(dispatcherSendsOutTaxiMessage.tripPlan); } @Override public void visit(DispatcherRequestsInsertionMessage dispatcherRequestsInsertionMessage) { // if (logic instanceof DriverCentralizedLogicSVExample) // ((DriverCentralizedLogicSVExample)logic).unexpectedPickUp(dispatcherRequestsInsertionMessage.request); } @Override public void visit(FinalPlanConfirmationMessage finalPlanConfirmationMessage) { logic.planConfirmed(); } @Override public void visit(FinalPlanFailureMessage finalPlanFailureMessage) { logic.planFailed(); } }