package eu.fp7.scase.eticsbte.operationcommit.service;

import eu.fp7.scase.eticsbte.operationcommit.service.impl.AddSoftwareClient;
import eu.fp7.scase.eticsbte.operationcommit.service.impl.CreateHostClient;
import eu.fp7.scase.eticsbte.operationcommit.service.impl.RemoveSoftwareClient;
import eu.fp7.scase.eticsbte.operationcommit.service.impl.DeleteVirtualHostClient;
import eu.fp7.scase.eticsbte.operationcommit.service.impl.GetSoftwareClient;

public class ServiceClientFactory 
{
	
	public static ServiceClient generateService (int operation)
	{
    	switch (operation)
    	{
    	case 0: // read VMs and Software
    		return new GetSoftwareClient();

    	case 1: // create VM and Software
    		return  new CreateHostClient();
    	case 2: //add software
    		return  new AddSoftwareClient();
    	case 3: //Delete sofwrare
    		return  new DeleteVirtualHostClient();
    	case 4: // Delete VM
    		return new RemoveSoftwareClient();
    	}
    	
    	return null;
    
    }

}
