source: DCWoRMS/branches/coolemall/src/example/energy/BaseEnergyEstimationPlugin.java @ 1415

Revision 1415, 1.7 KB checked in by wojtekp, 11 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package example.energy;
2
3import schedframe.Parameters;
4import schedframe.PluginConfiguration;
5import schedframe.resources.computing.profiles.energy.ResourceEvent;
6import schedframe.resources.computing.profiles.energy.power.plugin.EnergyEstimationPlugin;
7import schedframe.resources.computing.profiles.energy.power.plugin.EnergyPluginConfiguration;
8import schedframe.resources.devices.PhysicalResource;
9import schedframe.scheduling.manager.tasks.JobRegistry;
10import schemas.StringValueWithUnit;
11
12public abstract class BaseEnergyEstimationPlugin implements EnergyEstimationPlugin {
13
14         EnergyPluginConfiguration plugConf;
15         
16        @Override
17        public PluginConfiguration getConfiguration() {
18                return plugConf;
19        }
20       
21        @Override
22        public double estimateAirflow(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource) {
23                throw new RuntimeException("Not implemented.");
24        }
25
26        @Override
27        public double estimateTemperature(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource  resource) {
28                throw new RuntimeException("Not implemented.");
29        }
30       
31        public void init(Parameters parameters) {
32                plugConf = new EnergyPluginConfiguration();
33                try{
34                        StringValueWithUnit powerCapLevel = parameters.get("powerCapLevel").get(0);
35                        plugConf.setPowerCapLevel(Double.valueOf(powerCapLevel.getContent()).doubleValue());
36                } catch(Exception e){
37                        plugConf.setPowerCapLevel(-1);
38                }
39                try{
40                        StringValueWithUnit powerFloorLevel = parameters.get("powerFloorLevel").get(0);
41                        plugConf.setPowerFloorLevel(Double.valueOf(powerFloorLevel.getContent()).doubleValue());
42                } catch(Exception e){
43                        plugConf.setPowerFloorLevel(-1);
44                }
45        }
46
47        public String getName() {
48                return getClass().getName();
49        }
50}
Note: See TracBrowser for help on using the repository browser.