Index: DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/AirThroughputInterface.java
===================================================================
--- DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/AirThroughputInterface.java	(revision 495)
+++ DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/AirThroughputInterface.java	(revision 754)
@@ -5,16 +5,19 @@
 import schedframe.Parameters;
 import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputState;
+import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputStateName;
 
 public interface AirThroughputInterface {
 	
-	public String getAirThroughputState();
+	public AirThroughputStateName  getAirThroughputState();
 	
-	public boolean setAirThroughputState(String airThroughputState);
+	public boolean setAirThroughputState(AirThroughputStateName airThroughputState);
 	
-	public boolean supportAirThroughputState(String powerState);
+	public boolean supportAirThroughputState(AirThroughputStateName powerState);
 	
 	public List<AirThroughputState> getSupportedAirThroughputStates() throws NoSuchFieldException;
 	
-	public double getPowerConsumption(String state) throws NoSuchFieldException;
+	public double getAirFlow(AirThroughputStateName state) throws NoSuchFieldException;
+	
+	public double getPowerConsumption(AirThroughputStateName state) throws NoSuchFieldException;
 	
 	public Parameters getParameters();
Index: DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirThroughputInterface.java
===================================================================
--- DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirThroughputInterface.java	(revision 754)
+++ DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirThroughputInterface.java	(revision 754)
@@ -0,0 +1,89 @@
+package schedframe.resources.computing.profiles.energy.airthroughput.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import schedframe.Parameters;
+import schedframe.resources.computing.ComputingResource;
+import schedframe.resources.computing.profiles.energy.EnergyEvent;
+import schedframe.resources.computing.profiles.energy.EnergyEventType;
+import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputProfile;
+import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputState;
+import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputStateName;
+import schedframe.resources.computing.profiles.energy.airthroughput.StandardAirThroughputStateName;
+
+public class ComputingResourceAirThroughputInterface implements AirThroughputInterface{
+
+	protected AirThroughputStateName currentAirThroughputState;
+	protected AirThroughputProfile airThroughputProfile;
+	protected ComputingResource resource;
+	
+	public ComputingResourceAirThroughputInterface(ComputingResource resource, AirThroughputProfile airThroughputProfile){
+		this.resource = resource;
+		this.airThroughputProfile = airThroughputProfile;
+		this.currentAirThroughputState = StandardAirThroughputStateName.FAN_ON;
+	}
+	
+	public AirThroughputStateName getAirThroughputState() {
+		return currentAirThroughputState;
+	}
+
+	public boolean setAirThroughputState(AirThroughputStateName state) {
+		if(supportAirThroughputState(state)){
+			currentAirThroughputState = state;
+			
+			//TO DO - notifications should be called for all resources starting form the lowest layer
+			resource.handleEvent(new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, resource.getName()));
+			return true;
+		}
+		return false;
+	}
+
+	public boolean supportAirThroughputState(AirThroughputStateName state) {
+		for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
+			if(airFlowState.getName().equals(state.getName())){
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public List<AirThroughputState> getSupportedAirThroughputStates() throws NoSuchFieldException {
+		List<AirThroughputState> airThroughputStates = new ArrayList<AirThroughputState>();
+		for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
+			airThroughputStates.add(airFlowState);
+		}
+		return airThroughputStates;
+	}
+
+	public double getAirFlow(AirThroughputStateName state) throws NoSuchFieldException {
+		double airThroughput = 0;
+		if(supportAirThroughputState(state)){
+			for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
+				if(airFlowState.getName().equals(state.getName())){
+					airThroughput = airFlowState.getValue();
+					break;
+				}
+			}
+		}
+		return airThroughput;
+	}
+
+	public double getPowerConsumption(AirThroughputStateName state) throws NoSuchFieldException {
+		double powerConsumption = 0;
+		if(supportAirThroughputState(state)){
+			for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
+				if(airFlowState.getName().equals(state.getName())){
+					powerConsumption = airFlowState.getPowerUsage();
+					break;
+				}
+			}
+		}
+		return powerConsumption;
+	}
+	
+	public Parameters getParameters() {
+		return airThroughputProfile.getParameters();
+	}
+
+}
Index: DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/DefaultAirThroughputInterface.java
===================================================================
--- DCWoRMS/trunk/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/DefaultAirThroughputInterface.java	(revision 495)
+++ 	(revision )
@@ -1,74 +1,0 @@
-package schedframe.resources.computing.profiles.energy.airthroughput.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import schedframe.Parameters;
-import schedframe.resources.computing.ComputingResource;
-import schedframe.resources.computing.profiles.energy.EnergyEvent;
-import schedframe.resources.computing.profiles.energy.EnergyEventType;
-import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputProfile;
-import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputState;
-
-public class DefaultAirThroughputInterface implements AirThroughputInterface{
-
-	protected String currentAirThroughputState;
-	protected AirThroughputProfile airThroughputProfile;
-	protected ComputingResource resource;
-	
-	public DefaultAirThroughputInterface(ComputingResource resource, AirThroughputProfile airThroughputProfile){
-		this.resource = resource;
-		this.airThroughputProfile = airThroughputProfile;
-	}
-	
-	public String getAirThroughputState() {
-		return currentAirThroughputState;
-	}
-
-	public boolean setAirThroughputState(String state) {
-		if(supportAirThroughputState(state)){
-			currentAirThroughputState = state;
-			
-			//TO DO - notifications should be called for all resources starting form the lowest layer
-			resource.handleEvent(new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, resource.getName()));
-
-			return true;
-		}
-		return false;
-	}
-
-	public boolean supportAirThroughputState(String state) {
-		for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
-			if(airFlowState.getName().equals(state)){
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public List<AirThroughputState> getSupportedAirThroughputStates() throws NoSuchFieldException {
-		List<AirThroughputState> airThroughputStates = new ArrayList<AirThroughputState>();
-		for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
-			airThroughputStates.add(airFlowState);
-		}
-		return airThroughputStates;
-	}
-
-	public double getPowerConsumption(String state) throws NoSuchFieldException {
-		double powerConsumption = 0;
-		if(supportAirThroughputState(state)){
-			for(AirThroughputState airFlowState: airThroughputProfile.getAirThroughputStates()){
-				if(airFlowState.getName().equals(state)){
-					powerConsumption = airFlowState.getPowerUsage();
-					break;
-				}
-			}
-		}
-		return powerConsumption;
-	}
-
-	public Parameters getParameters() {
-		return airThroughputProfile.getParameters();
-	}
-
-}
