package org.ow2.choreos.ee.bus.selector;
import java.util.List;
import org.ow2.choreos.ee.bus.EasyESBNode;
import org.ow2.choreos.ee.config.CloudConfiguration;
import org.ow2.choreos.ee.nodes.NPMFactory;
import org.ow2.choreos.nodes.NodePoolManager;
import org.ow2.choreos.nodes.datamodel.ResourceImpact;
import org.ow2.choreos.selectors.NotSelectedException;
import org.ow2.choreos.selectors.SingletonSelector;
public class SingletonESBNodeSelector implements ESBNodeSelector {
private SingletonSelector<EasyESBNode, ResourceImpact> selector;
public SingletonESBNodeSelector() {
NodePoolManager npm = NPMFactory.getNewNPMInstance(CloudConfiguration.DEFAULT);
ESBNodeFactory nodeFac = new ESBNodeFactory(npm);
this.selector = new SingletonSelector<EasyESBNode, ResourceImpact>(nodeFac);
}
@Override
public List<EasyESBNode> select(ResourceImpact requirements, int objectsQuantity) throws NotSelectedException {
return this.selector.select(requirements, objectsQuantity);
}
}