package org.ourgrid.broker.communication.sender;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.ourgrid.broker.BrokerConstants;
import org.ourgrid.broker.communication.dao.SchedulerFutureDAO;
import org.ourgrid.broker.response.ScheduleActionToRunOnceResponseTO;
import org.ourgrid.common.internal.SenderIF;
import br.edu.ufcg.lsd.commune.container.servicemanager.ServiceManager;
public class ScheduleActionToRunOnceSender implements SenderIF<ScheduleActionToRunOnceResponseTO> {
public void execute(ScheduleActionToRunOnceResponseTO response,
ServiceManager manager) {
SchedulerFutureDAO schedulerFutureDAO = SchedulerFutureDAO.getInstance();
if (!schedulerFutureDAO.isSchedulerActionActive()) {
Future<?> schedulerFuture = manager.scheduleActionToRunOnce(BrokerConstants.SCHEDULER_ACTION_NAME,
BrokerConstants.SCHEDULER_INTERVAL, TimeUnit.SECONDS);
schedulerFutureDAO.setSchedulerFuture(schedulerFuture);
}
}
}