Ignore:
Timestamp:
06/26/14 14:18:01 (11 years ago)
Author:
wojtekp
Message:
 
File:
1 moved

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/schedframe/scheduling/ResourceItem.java

    r1362 r1396  
    22 
    33import java.util.HashSet; 
     4import java.util.LinkedList; 
     5import java.util.List; 
    46import java.util.Map; 
    57import java.util.Set; 
    68 
     9import schedframe.resources.computing.ComputingResource; 
     10import schedframe.resources.units.ProcessingElements; 
    711import schedframe.resources.units.ResourceUnit; 
    812import schedframe.resources.units.ResourceUnitName; 
     13import schedframe.resources.units.StandardResourceUnitName; 
    914 
    10 public class ResourceHistoryItem { 
     15public class ResourceItem { 
    1116 
    1217        protected Map<ResourceUnitName, ResourceUnit> usedResources; 
    1318        protected Set<String> visitedResources; 
    1419 
    15         public ResourceHistoryItem(Map<ResourceUnitName, ResourceUnit> usedResources){ 
     20        public ResourceItem(Map<ResourceUnitName, ResourceUnit> usedResources){ 
    1621                this.usedResources = usedResources; 
    1722                this.visitedResources = new HashSet<String>(); 
     23                saveResourceNames(); 
    1824        } 
    1925         
     
    2228        } 
    2329         
    24         public void trackResource(String resName){ 
    25                 visitedResources.add(resName); 
    26         } 
    27          
    28         public Set<String> getVisitedResources(){ 
     30        public Set<String> getResourceNames(){ 
    2931                return visitedResources; 
    3032        } 
    3133         
     34        private void saveResourceNames(){ 
     35                ProcessingElements pes = (ProcessingElements) usedResources.get(StandardResourceUnitName.PE); 
     36                for (ComputingResource resource : pes) { 
     37 
     38                        LinkedList<ComputingResource> toExamine = new LinkedList<ComputingResource>(); 
     39                        toExamine.push(resource); 
     40 
     41                        while (!toExamine.isEmpty()) { 
     42                                ComputingResource compResource = toExamine.pop(); 
     43                                List<ComputingResource> resources = compResource.getChildren(); 
     44                                if(resources.isEmpty()){ 
     45                                        if(!visitedResources.contains(compResource.getFullName())){ 
     46                                                visitedResources.add(compResource.getFullName()); 
     47                                        } 
     48                                } else { 
     49                                        for (int i = 0; i < resources.size(); i++) { 
     50                                                ComputingResource resourceChild = resources.get(i); 
     51                                                toExamine.addLast(resourceChild); 
     52                                        } 
     53                                } 
     54                        } 
     55                } 
     56        } 
    3257} 
Note: See TracChangeset for help on using the changeset viewer.