package com.cattles.virtualMachineManagement; import com.cattles.cloudplatforms.amazonec2.EC2VMOperationImpl; import com.cattles.cloudplatforms.interfaces.IVirtualMachineOperation; import com.cattles.cloudplatforms.opennebula.OpenNebulaVMOperationImpl; import com.cattles.cloudplatforms.openstack.OpenStackVMOperationImpl; import com.cattles.util.Constant; import com.cattles.util.PlatformConfiguration; /** * Created with IntelliJ IDEA. * User: youfuli * To change this template use File | Settings | File Templates. */ public class VMOperationFactory { public static IVirtualMachineOperation vmOperation() { PlatformConfiguration platformConfiguration = PlatformConfiguration.getPlatformConfiguration(); if (platformConfiguration.getPlatformName().equalsIgnoreCase(Constant.AMAZON_EC2_PLATFORM_NAME)) { return new EC2VMOperationImpl(); } else if (platformConfiguration.getPlatformName().equalsIgnoreCase(Constant.OPENNEBULA_PLATFORM_NAME)) { return new OpenNebulaVMOperationImpl(); } else if (platformConfiguration.getPlatformName().equalsIgnoreCase(Constant.OPENSTACK_PLATFORM_NAME)){ return new OpenStackVMOperationImpl(); } else { return null; } } }