package com.intrbiz.bergamot.cluster.migration;
import java.util.UUID;
import org.apache.log4j.Logger;
import com.intrbiz.bergamot.cluster.ClusterManager;
public class DeregisterPoolTask implements ClusterMigration
{
private static final long serialVersionUID = 1L;
private UUID site;
private int pool;
public DeregisterPoolTask()
{
super();
}
public DeregisterPoolTask(UUID site, int pool)
{
super();
this.site = site;
this.pool = pool;
}
public UUID getSite()
{
return site;
}
public void setSite(UUID site)
{
this.site = site;
}
public int getPool()
{
return pool;
}
public void setPool(int pool)
{
this.pool = pool;
}
@Override
public boolean applyMigration(ClusterManager clusterManager) throws Exception
{
Logger logger = Logger.getLogger(DeregisterPoolTask.class);
logger.info("Deregistering Pool " + this.site + "." + this.pool + " on member " + clusterManager.getLocalMemberUUID());
// unsetup result processing
if (!Boolean.getBoolean("bergamot.ui.resultprocessor.off"))
{
// tell the processor we are registering this pool with it
clusterManager.getResultProcessor().disownPool(this.getSite(), this.getPool());
}
// unsetup reading processing
if (!Boolean.getBoolean("bergamot.ui.readingprocessor.off"))
{
// tell the processor we are registering this pool with it
clusterManager.getReadingProcessor().disownPool(this.getSite(), this.getPool());
}
// unsetup scheduling
if (!Boolean.getBoolean("bergamot.ui.scheduler.off"))
{
// tell the scheduler we are registering this pool with it
clusterManager.getScheduler().disownPool(this.getSite(), this.getPool());
}
return true;
}
public String toString()
{
return "Deregister pool " + this.site + "." + this.pool;
}
}