source: DCWoRMS/trunk/src/schedframe/scheduling/SchedulerDescription.java @ 477

Revision 477, 1.9 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package schedframe.scheduling;
2
3import java.util.ArrayList;
4import java.util.HashMap;
5import java.util.Iterator;
6import java.util.List;
7import java.util.Map;
8
9import schedframe.resources.StandardResourceType;
10import schedframe.resources.computing.description.ExecutingResourceDescription;
11import schedframe.resources.providers.ResourceProvider;
12import schedframe.resources.units.AbstractResourceUnit;
13import schedframe.resources.units.ResourceUnit;
14import schedframe.resources.units.ResourceUnitName;
15import schedframe.scheduling.queue.QueueDescription;
16
17public 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}
Note: See TracBrowser for help on using the repository browser.