source: xssim/trunk/src/test/rewolucja/energy/profile/PowerProfileFactory.java @ 189

Revision 189, 2.3 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package test.rewolucja.energy.profile;
2
3import test.rewolucja.energy.profile.implementation.ComputingNodePowerProfile;
4import test.rewolucja.energy.profile.implementation.DataCenterPowerProfile;
5import test.rewolucja.resources.Category;
6import test.rewolucja.resources.ResourceType;
7
8public class PowerProfileFactory {
9       
10        /*public static PowerInterface createPowerProfile(ComputingResource resource, EnergyExtension ee){
11
12                PowerInterface powerProfile;
13                if(true){
14                        String cpuPowerClass = null;
15                        if(cpuPowerClass != null) {
16                                powerProfile = (PowerInterface) InstanceFactory.createInstance(
17                                                                                                                cpuPowerClass, PowerInterface.class);
18                                if(powerProfile == null){
19                                        powerProfile = new ResourcePowerProfile(ee);
20                                        //log.info("Using default cpu power profile: " + CPUPowerProfile.class.getName());
21                                       
22                                } else {
23                                        String resourcePPconfig = null;
24                                        //resourcePPconfig = getPropertyValue(cpuHostParam, GssimConstants.RESOURCE_CONFIG_POWER_PROFILE_CONFIG);
25                                        powerProfile.init(resourcePPconfig);
26                                }
27                               
28                        } else {
29                                switch(resource.getType()){
30                                        case COMPUTING_GRID: powerProfile = null;
31                                        case DATA_CENTER: powerProfile = new DataCenterPowerProfile(); break;
32                                        case COMPUTING_NODE: powerProfile = new ComputingNodePowerProfile(); break;
33                                        case CPU: {
34                                                //CPU cpu = (CPU)resource;
35                                                //powerProfile = CPUPowerProfileFactory.createCPUPowerProfile(cpu.getParent().getCategory(), ee); break;
36                                                powerProfile = new CPU_A_PowerProfile(); break;
37                                        }
38                                default:
39                                        throw new IllegalArgumentException("ResourceType " + resource.getType() + " is not supported.");
40                                }
41                        //}
42                }
43                return powerProfile;
44        }*/
45       
46        public static PowerInterface createPowerProfile(ResourceType resourceType, Category category){
47
48                PowerInterface powerProfile;
49
50                switch(resourceType){
51                        case COMPUTING_GRID: powerProfile = null;break;
52                        case DATA_CENTER: powerProfile = new DataCenterPowerProfile(); break;
53                        case COMPUTING_NODE: powerProfile = new ComputingNodePowerProfile(); break;
54                        case CPU: {
55                                //CPU cpu = (CPU)resource;
56                                powerProfile = CPUPowerProfileFactory.createCPUPowerProfile(category); break;
57                                //powerProfile = new CPUPowerProfile(); break;
58                        }
59                        default:
60                                throw new IllegalArgumentException("ResourceType " + resourceType + " is not supported.");
61                }
62
63                return powerProfile;
64        }
65}
Note: See TracBrowser for help on using the repository browser.