Index: /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerStateNameFactory.java
===================================================================
--- /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerStateNameFactory.java	(revision 1396)
+++ /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerStateNameFactory.java	(revision 1438)
@@ -12,4 +12,10 @@
 			return StandardPowerStateName.OFF;
 		
+		else if(powerStateName.equals(StandardPowerStateName.BOOT.getLabel()))
+			return StandardPowerStateName.BOOT;
+		
+		else if(powerStateName.equals(StandardPowerStateName.POWEROFF.getLabel()))
+			return StandardPowerStateName.POWEROFF;
+		
 		else if(powerStateName.equals(StandardPowerStateName.HIBERNATE.getLabel()))
 			return StandardPowerStateName.HIBERNATE;
Index: /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/Transition.java
===================================================================
--- /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/Transition.java	(revision 477)
+++ /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/Transition.java	(revision 1438)
@@ -4,13 +4,18 @@
 
 public class Transition {
+	protected PowerStateName name;
 	protected PowerStateName to;
 	protected double powerUsage;
 	protected double time;
 	
-	public Transition(PowerStateName to, double powerUsage, double time) {
+	public Transition(PowerStateName name, PowerStateName to, double powerUsage, double time) {
 		super();
+		this.name = name;
 		this.to = to;
 		this.powerUsage = powerUsage;
 		this.time = time;
+	}
+	public PowerStateName getName() {
+		return name;
 	}
 	public PowerStateName getTo() {
Index: /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerProfile.java
===================================================================
--- /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerProfile.java	(revision 1423)
+++ /DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerProfile.java	(revision 1438)
@@ -26,4 +26,5 @@
 		this.supportedPowerStates = powerStates;
 		this.powerUsage = new ArrayList<PowerUsage>();
+		initTransitionStates();
 		initDefaultPowerStates();
 	}
@@ -38,4 +39,5 @@
 			supportedPStates.put(pState.getName(), pState);
 		}
+		initTransitionStates();
 		initDefaultPowerStates();
 	}
@@ -112,10 +114,22 @@
 		return parameters;
 	}
-
+	
+	protected void initTransitionStates(){
+		if(supportedPowerStates != null){
+			List<PowerState> transitionPowerStates = new ArrayList<PowerState>(0);
+			for(PowerState ps: supportedPowerStates){
+				for(Transition t: ps.getTransitions()){
+					transitionPowerStates.add(new PowerState(t.getName(), t.getPowerUsage(), new ArrayList<Transition>(0)));
+				}
+			}
+			supportedPowerStates.addAll(transitionPowerStates);
+		}
+	}
+	
 	protected void initDefaultPowerStates(){
 		boolean supportsON = false;
 		boolean supportsOFF = false;
 		if(supportedPowerStates == null){
-			supportedPowerStates = new ArrayList<PowerState>(4);
+			supportedPowerStates = new ArrayList<PowerState>(2);
 		}
 		for(PowerState ps: supportedPowerStates){
@@ -126,12 +140,9 @@
 			}
 		}
-		
 		if(!supportsON){
-			supportedPowerStates.add(new PowerState(StandardPowerStateName.ON, -1, null));
-			supportedPowerStates.add(new PowerState(StandardPowerStateName.BOOT, -1, null));
+			supportedPowerStates.add(new PowerState(StandardPowerStateName.ON, -1, new ArrayList<Transition>(0)));
 		}
 		if(!supportsOFF){
-			supportedPowerStates.add(new PowerState(StandardPowerStateName.OFF, -1, null));
-			supportedPowerStates.add(new PowerState(StandardPowerStateName.POWEROFF, -1, null));
+			supportedPowerStates.add(new PowerState(StandardPowerStateName.OFF, -1, new ArrayList<Transition>(0)));
 		}
 	}
