- Timestamp:
- 11/26/13 11:56:07 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/scheduling/SchedulerDescription.java
r477 r1207 2 2 3 3 import java.util.ArrayList; 4 import java.util.Collection; 4 5 import java.util.HashMap; 5 6 import java.util.Iterator; … … 9 10 import schedframe.resources.StandardResourceType; 10 11 import schedframe.resources.computing.description.ExecutingResourceDescription; 12 import schedframe.resources.computing.description.ResourceDescription; 11 13 import schedframe.resources.providers.ResourceProvider; 12 import schedframe.resources.units.AbstractResourceUnit;13 14 import schedframe.resources.units.ResourceUnit; 14 15 import schedframe.resources.units.ResourceUnitName; 15 16 import schedframe.scheduling.queue.QueueDescription; 16 17 17 public class SchedulerDescription extends ExecutingResourceDescription{18 public class SchedulerDescription extends ResourceDescription implements ExecutingResourceDescription{ 18 19 19 20 protected ResourceProvider provider; 20 21 protected List<QueueDescription> accesQueues; 22 protected Map<ResourceUnitName, List<ResourceUnit>> resUnits; 21 23 22 24 public SchedulerDescription(ResourceProvider provider){ … … 62 64 return provider; 63 65 } 66 67 public void addResourceUnit(ResourceUnit unit) { 68 if (this.resUnits == null) 69 this.resUnits = new HashMap<ResourceUnitName, List<ResourceUnit>>(1); 70 List<ResourceUnit> list = null; 71 if (this.resUnits.containsKey(unit.getName())) { 72 list = this.resUnits.get(unit.getName()); 73 } else { 74 list = new ArrayList<ResourceUnit>(1); 75 this.resUnits.put(unit.getName(), list); 76 } 77 list.add(unit); 78 } 79 80 public ResourceUnit getResourceUnit(ResourceUnitName unitName) throws NoSuchFieldException { 81 return getResourceUnitList(unitName).get(0); 82 } 83 84 public List<ResourceUnit> getResourceUnitList(ResourceUnitName unitName) throws NoSuchFieldException { 85 if (resUnits.containsKey(unitName)) 86 return resUnits.get(unitName); 87 else 88 throw new NoSuchFieldException("Resource unit " + unitName + " is not available in resource " + this.id); 89 } 90 91 public Collection<ResourceUnit> getResourceUnit() { 92 if (resUnits == null) 93 return null; 94 List<ResourceUnit> values = new ArrayList<ResourceUnit>(); 95 Collection<List<ResourceUnit>> lists = resUnits.values(); 96 Iterator<List<ResourceUnit>> itr = lists.iterator(); 97 98 while (itr.hasNext()) { 99 List<ResourceUnit> list = itr.next(); 100 values.addAll(list); 101 } 102 103 return values; 104 } 105 106 public Map<ResourceUnitName, List<ResourceUnit>> getResourceUnits() { 107 return resUnits; 108 } 64 109 }
Note: See TracChangeset
for help on using the changeset viewer.