package org.cloudbus.cloudsim.container.containerPlacementPolicies; import org.cloudbus.cloudsim.container.core.ContainerVm; import org.cloudbus.cloudsim.container.utils.RandomGen; import org.cloudbus.cloudsim.Log; import java.util.List; import java.util.Set; /** * Created by sareh fotuhi Piraghaj on 16/12/15. * For container placement Random policy. */ public class ContainerPlacementPolicyRandomSelection extends ContainerPlacementPolicy { @Override public ContainerVm getContainerVm(List<ContainerVm> vmList, Object obj, Set<? extends ContainerVm> excludedVmList) { ContainerVm containerVm = null; while (true) { if (vmList.size() > 0) { int randomNum = new RandomGen().getNum(vmList.size()); containerVm = vmList.get(randomNum); if (excludedVmList.contains(containerVm)) { continue; } } else { Log.print(String.format("Error: The VM list Size is: %d", vmList.size())); } return containerVm; } } }