package org.ow2.choreos.ee.nodes;
import org.ow2.choreos.ee.config.CloudConfiguration;
import org.ow2.choreos.nodes.NodePoolManager;
public class NPMFactory {
public static NodePoolManager npmForTest;
public static boolean testing = false;
public static NodePoolManager getNewNPMInstance(String owner) {
if (testing) {
return npmForTest;
} else {
CloudConfiguration cloudConfiguration = getCloudConfiguration(owner);
return new NPMImpl(cloudConfiguration);
}
}
private static CloudConfiguration getCloudConfiguration(String owner) {
CloudConfiguration cloudConfiguration = null;
if (owner == null || owner.isEmpty()) {
cloudConfiguration = CloudConfiguration.getCloudConfigurationInstance();
} else {
cloudConfiguration = CloudConfiguration.getCloudConfigurationInstance(owner);
}
return cloudConfiguration;
}
public static NodePoolManager getNewNPMInstance(String owner, IdlePool idlePool) {
if (testing) {
return npmForTest;
} else {
CloudConfiguration cloudConfiguration = getCloudConfiguration(owner);
return new NPMImpl(cloudConfiguration, idlePool);
}
}
}