[477] | 1 | package schedframe.scheduling; |
---|
| 2 | |
---|
| 3 | import java.util.ArrayList; |
---|
| 4 | import java.util.HashMap; |
---|
| 5 | import java.util.Iterator; |
---|
| 6 | import java.util.List; |
---|
| 7 | import java.util.Map; |
---|
| 8 | |
---|
| 9 | import schedframe.resources.StandardResourceType; |
---|
| 10 | import schedframe.resources.computing.description.ExecutingResourceDescription; |
---|
| 11 | import schedframe.resources.providers.ResourceProvider; |
---|
| 12 | import schedframe.resources.units.AbstractResourceUnit; |
---|
| 13 | import schedframe.resources.units.ResourceUnit; |
---|
| 14 | import schedframe.resources.units.ResourceUnitName; |
---|
| 15 | import schedframe.scheduling.queue.QueueDescription; |
---|
| 16 | |
---|
| 17 | public class SchedulerDescription extends ExecutingResourceDescription{ |
---|
| 18 | |
---|
| 19 | protected ResourceProvider provider; |
---|
| 20 | protected List<QueueDescription> accesQueues; |
---|
| 21 | |
---|
| 22 | public SchedulerDescription(ResourceProvider provider){ |
---|
| 23 | super(StandardResourceType.ResourceProvider); |
---|
| 24 | this.id = provider.getProviderId(); |
---|
| 25 | this.provider = provider; |
---|
| 26 | this.resUnits = new HashMap<ResourceUnitName, List<ResourceUnit>>(); |
---|
| 27 | this.accesQueues = new ArrayList<QueueDescription>(1); |
---|
| 28 | } |
---|
| 29 | |
---|
| 30 | public SchedulerDescription(String id){ |
---|
| 31 | super(StandardResourceType.ResourceProvider); |
---|
| 32 | this.id = id; |
---|
| 33 | this.provider = new ResourceProvider(id, null, null, null); |
---|
| 34 | this.resUnits = new HashMap<ResourceUnitName, List<ResourceUnit>>(); |
---|
| 35 | this.accesQueues = new ArrayList<QueueDescription>(1); |
---|
| 36 | } |
---|
| 37 | |
---|
| 38 | public void addQueueDescription(QueueDescription queue){ |
---|
| 39 | accesQueues.add(queue); |
---|
| 40 | } |
---|
| 41 | |
---|
| 42 | public void addQueuesDescription(List<QueueDescription> queue){ |
---|
| 43 | accesQueues.addAll(queue); |
---|
| 44 | } |
---|
| 45 | |
---|
| 46 | public List<QueueDescription> getAvailableQueues(){ |
---|
| 47 | return this.accesQueues; |
---|
| 48 | } |
---|
| 49 | |
---|
| 50 | public void addResourceUnit(Map<ResourceUnitName, ResourceUnit> allUnits){ |
---|
| 51 | Iterator<ResourceUnit> itr = allUnits.values().iterator(); |
---|
| 52 | while(itr.hasNext()){ |
---|
| 53 | addResourceUnit(itr.next()); |
---|
| 54 | } |
---|
| 55 | } |
---|
| 56 | |
---|
| 57 | public void addResourceUnitList(Map<ResourceUnitName, List<ResourceUnit>> allUnits){ |
---|
| 58 | this.resUnits.putAll(allUnits); |
---|
| 59 | } |
---|
| 60 | |
---|
| 61 | public ResourceProvider getProvider() { |
---|
| 62 | return provider; |
---|
| 63 | } |
---|
| 64 | } |
---|