package schedframe.scheduling; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import schedframe.resources.StandardResourceType; import schedframe.resources.computing.description.ExecutingResourceDescription; import schedframe.resources.providers.ResourceProvider; import schedframe.resources.units.AbstractResourceUnit; import schedframe.resources.units.ResourceUnit; import schedframe.resources.units.ResourceUnitName; import schedframe.scheduling.queue.QueueDescription; public class SchedulerDescription extends ExecutingResourceDescription{ protected ResourceProvider provider; protected List accesQueues; public SchedulerDescription(ResourceProvider provider){ super(StandardResourceType.ResourceProvider); this.id = provider.getProviderId(); this.provider = provider; this.resUnits = new HashMap>(); this.accesQueues = new ArrayList(1); } public SchedulerDescription(String id){ super(StandardResourceType.ResourceProvider); this.id = id; this.provider = new ResourceProvider(id, null, null, null); this.resUnits = new HashMap>(); this.accesQueues = new ArrayList(1); } public void addQueueDescription(QueueDescription queue){ accesQueues.add(queue); } public void addQueuesDescription(List queue){ accesQueues.addAll(queue); } public List getAvailableQueues(){ return this.accesQueues; } public void addResourceUnit(Map allUnits){ Iterator itr = allUnits.values().iterator(); while(itr.hasNext()){ addResourceUnit(itr.next()); } } public void addResourceUnitList(Map> allUnits){ this.resUnits.putAll(allUnits); } public ResourceProvider getProvider() { return provider; } }