source: DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/resources/ResourceManagerFactory.java @ 1455

Revision 1455, 1.9 KB checked in by wojtekp, 10 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package schedframe.scheduling.manager.resources;
2
3import schedframe.resources.StandardResourceType;
4import schedframe.scheduling.GridResourceDiscovery;
5import schedframe.scheduling.Scheduler;
6
7public class ResourceManagerFactory {
8
9        public static ResourceManager createResourceManager(Scheduler scheduler, ManagedResources managedResources){
10
11                ManagedComputingResources managedResource = scheduler.getCompResources();
12               
13                if(managedResources == null || scheduler.getType() == StandardResourceType.GS)
14                        return new GridResourceDiscovery(scheduler);
15                else if (managedResource.getType().getName().equals(StandardResourceType.Rack))
16                        return new ClusterResourceManager(scheduler.getCompResources(), scheduler.getChildren(), managedResources);
17                else if (managedResource.getType().getName().equals(StandardResourceType.Node))
18                        return new ClusterResourceManager(scheduler.getCompResources(), scheduler.getChildren(), managedResources);
19                else if (managedResource.getType().getName().equals(StandardResourceType.Processor))
20                        return new ClusterResourceManager(scheduler.getCompResources(), scheduler.getChildren(), managedResources);
21                else return new ClusterResourceManager(scheduler.getCompResources(), scheduler.getChildren(), managedResources);
22                //throw new IllegalArgumentException("ResourceType " + managedResource.getType() + " is not supported.");
23               
24                /*switch(managedResource.getType()){
25                        case DataCenter: return new GridResourceDiscovery(scheduler);
26                        case Rack: return new ClusterResourceManager(scheduler.getResources(), scheduler.getChildren());
27                        case ComputingNode: return new ClusterResourceManager(scheduler.getResources(), scheduler.getChildren());
28                        case Processor: return new ClusterResourceManager(scheduler.getResources(), scheduler.getChildren());
29                default:
30                        throw new IllegalArgumentException("ResourceType " + managedResource.getType() + " is not supported.");
31                }*/
32        }
33}
Note: See TracBrowser for help on using the repository browser.