Ignore:
Timestamp:
10/12/12 13:04:31 (13 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/trunk/src/simulator/reader/ResourceReader.java

    r509 r512  
    99import java.util.ArrayDeque; 
    1010import java.util.ArrayList; 
     11import java.util.Collections; 
     12import java.util.Comparator; 
    1113import java.util.Deque; 
    1214import java.util.HashMap; 
     
    2729import schedframe.ResourceController; 
    2830import schedframe.exceptions.ResourceException; 
     31import schedframe.resources.Resource; 
    2932import schedframe.resources.StandardResourceType; 
    3033import schedframe.resources.computing.ComputingResource; 
     
    5154 
    5255        protected ResourceCalendar resourceCalendar; 
    53         protected Deque<Initializable> toInit = new ArrayDeque<Initializable>(); 
     56        protected List<Initializable> toInit = new ArrayList<Initializable>(); 
    5457         
    5558        private ExecutionTimeEstimationPlugin execTimeEstimationPlugin; 
     
    8588 
    8689                ResourceController rc = new ResourceController(mainScheduler, computingResources); 
     90                Collections.sort(toInit, new ResourceTypeComparator(new ArrayList<String>(compResLayers))); 
    8791                rc.setInitList(toInit); 
    8892                rc.setCompResLayers(compResLayers); 
     
    430434        } 
    431435         
     436        class ResourceTypeComparator implements Comparator<Initializable>{ 
     437                 
     438                List<String> order; 
     439                ResourceTypeComparator(List<String> order) { 
     440                        this.order = order; 
     441                } 
     442                public int compare(Initializable init1, Initializable init2) { 
     443                        String type1 = ((Resource)init1).getType().getName(); 
     444                        String type2 = ((Resource)init2).getType().getName(); 
     445                        if(order.indexOf(type1) > order.indexOf(type2)) 
     446                                return -1; 
     447                        else if (order.indexOf(type1) < order.indexOf(type2)) 
     448                                return 1; 
     449                        else return 0; 
     450                         
     451                } 
     452        } 
     453         
    432454} 
Note: See TracChangeset for help on using the changeset viewer.