package eu.dnetlib.enabling.test;

import eu.dnetlib.common.ifaces.BlackboardExecutionCallback;
import eu.dnetlib.common.services.BlackboardAction;
import eu.dnetlib.rmi.blackboard.SumMessage;

public class SumAction extends BlackboardAction<SumMessage> {

	@Override
	protected void doExecute(final SumMessage message, final BlackboardExecutionCallback<SumMessage> callback) throws Exception {
		message.setRes(100);
		callback.ongoing(message);
		Thread.sleep(1000);

		message.setRes(200);
		callback.ongoing(message);
		Thread.sleep(1000);

		message.setRes(300);
		callback.ongoing(message);
		Thread.sleep(1000);

		message.setRes(400);
		callback.ongoing(message);
		Thread.sleep(1000);

		message.setRes(message.getX() + message.getY());
		callback.success(message);
	}

}
