Index: DCWoRMS/branches/coolemall/src/schedframe/resources/CoolEmAllResourceFactory.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/CoolEmAllResourceFactory.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/CoolEmAllResourceFactory.java	(revision 1247)
@@ -1,4 +1,5 @@
 package schedframe.resources;
 
+import schedframe.resources.computing.Node;
 import schedframe.resources.computing.ComputingResource;
 import schedframe.resources.computing.Core;
@@ -7,5 +8,4 @@
 import schedframe.resources.computing.ResourceFactory;
 import schedframe.resources.computing.coolemall.ComputeBox1;
-import schedframe.resources.computing.coolemall.Node;
 import schedframe.resources.computing.coolemall.NodeGroup;
 import schedframe.resources.computing.description.ComputingResourceDescription;
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/devices/DeviceEnergyExtension.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/devices/DeviceEnergyExtension.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/devices/DeviceEnergyExtension.java	(revision 1247)
@@ -7,5 +7,4 @@
 
 import schedframe.events.Event;
-import schedframe.resources.computing.ComputingResource;
 import schedframe.resources.computing.extensions.Extension;
 import schedframe.resources.computing.extensions.ExtensionException;
@@ -14,5 +13,4 @@
 import schedframe.resources.computing.profiles.energy.EnergyEventType;
 import schedframe.resources.computing.profiles.energy.EnergyExtension;
-import schedframe.resources.computing.profiles.energy.EnergyExtension.Builder;
 import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputInterfaceFactory;
 import schedframe.resources.computing.profiles.energy.airthroughput.AirThroughputProfile;
@@ -114,18 +112,4 @@
 			case POWER_STATE_CHANGED:
 				power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource);
-				/*if(computingResource instanceof ComputingNode){
-					ComputingNode node = (ComputingNode)computingResource;
-					if(event.getData() instanceof PowerState){
-						PowerState newState = (PowerState)event.getData();
-						if(newState == PowerState.ON) {
-							addToPowerUsageHistory(power+node.getPowerInterface().START_COST);
-							addToPowerUsageHistory(DateTimeUtils.currentTimeMillis() + node.getPowerInterface().START_TIME, power);
-						}else if(newState == PowerState.OFF){
-							addToPowerUsageHistory(power+node.getPowerInterface().SHUTDOWN_COST);
-							addToPowerUsageHistory(DateTimeUtils.currentTimeMillis() + node.getPowerInterface().SHUTDOWN_TIME, power);
-						}
-					}
-				}
-				else*/ 
 				
 				status = powerProfile.addToPowerUsageHistory(power);
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/DataCenter.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/DataCenter.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/DataCenter.java	(revision 1247)
@@ -5,7 +5,4 @@
 import schedframe.resources.StandardResourceType;
 import schedframe.resources.computing.description.ComputingResourceDescription;
-import schedframe.resources.computing.profiles.energy.EnergyExtension;
-import schedframe.resources.computing.profiles.energy.power.PowerInterfaceFactory;
-import schedframe.resources.computing.profiles.energy.power.ui.PowerInterface;
 
 public class DataCenter extends ComputingResource{
@@ -19,6 +16,6 @@
 	
 	@SuppressWarnings("unchecked")
-	public List<ComputingNode> getComputingNodes(){
-		return (List<ComputingNode>) getDescendantsByType(StandardResourceType.Node);
+	public List<Node> getNodes(){
+		return (List<Node>) getDescendantsByType(StandardResourceType.Node);
 	}
 	
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/properties/NodePropertiesBuilder.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/properties/NodePropertiesBuilder.java	(revision 1247)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/properties/NodePropertiesBuilder.java	(revision 1247)
@@ -0,0 +1,41 @@
+package schedframe.resources.computing.properties;
+
+import java.util.Properties;
+
+import schedframe.resources.computing.Node;
+import schedframe.resources.computing.ComputingResource;
+
+public class NodePropertiesBuilder implements PropertiesBuilder{
+	protected Properties properties;
+	private Node node;
+	
+	public Properties getProperties() {
+		return properties;
+	}
+
+	public void createProperties(ComputingResource resource) {
+		this.properties = new Properties();
+		this.node = (Node)resource;
+	}
+
+	public void buildBasicProperties() {
+		properties.setProperty("name", node.getName());
+		properties.setProperty("type", node.getType().getName());
+		properties.setProperty("status", node.getStatus().toString());
+	}
+
+	public void buildCharacteristicsProperties() {
+		try {
+			properties.setProperty("totalmemory", String.valueOf(node.getTotalMemory()));
+			properties.setProperty("freememory", String.valueOf(node.getFreeMemory()));
+			properties.setProperty("cost", String.valueOf(node.getProcessingCost()));
+		} catch (NoSuchFieldException e) {
+			// TODO Auto-generated catch block
+			//e.printStackTrace();
+		}
+	}
+
+	public void buildDescriptionProperties() {
+
+	}
+}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/properties/ComputingNodePropertiesBuilder.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/properties/ComputingNodePropertiesBuilder.java	(revision 1053)
+++ 	(revision )
@@ -1,41 +1,0 @@
-package schedframe.resources.computing.properties;
-
-import java.util.Properties;
-
-import schedframe.resources.computing.ComputingNode;
-import schedframe.resources.computing.ComputingResource;
-
-public class ComputingNodePropertiesBuilder implements PropertiesBuilder{
-	protected Properties properties;
-	private ComputingNode node;
-	
-	public Properties getProperties() {
-		return properties;
-	}
-
-	public void createProperties(ComputingResource resource) {
-		this.properties = new Properties();
-		this.node = (ComputingNode)resource;
-	}
-
-	public void buildBasicProperties() {
-		properties.setProperty("name", node.getName());
-		properties.setProperty("type", node.getType().getName());
-		properties.setProperty("status", node.getStatus().toString());
-	}
-
-	public void buildCharacteristicsProperties() {
-		try {
-			properties.setProperty("totalmemory", String.valueOf(node.getTotalMemory()));
-			properties.setProperty("freememory", String.valueOf(node.getFreeMemory()));
-			properties.setProperty("cost", String.valueOf(node.getProcessingCost()));
-		} catch (NoSuchFieldException e) {
-			// TODO Auto-generated catch block
-			//e.printStackTrace();
-		}
-	}
-
-	public void buildDescriptionProperties() {
-
-	}
-}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Processor.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Processor.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Processor.java	(revision 1247)
@@ -25,12 +25,12 @@
 	}
 
-	public ComputingNode getNode(){
+	public Node getNode(){
 		ComputingResource compRes = parent;
 		while(compRes != null && !compRes.getType().equals(StandardResourceType.Node)){
 			compRes = compRes.getParent();
 		}
-		ComputingNode compNode = null;
+		Node compNode = null;
 		try{
-			compNode = (ComputingNode)compRes;
+			compNode = (Node)compRes;
 		} catch(Exception e) {
 		}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Rack.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Rack.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Rack.java	(revision 1247)
@@ -16,6 +16,6 @@
 
 	@SuppressWarnings("unchecked")
-	public List<ComputingNode> getComputingNodes(){
-		return (List<ComputingNode>) getDescendantsByType(StandardResourceType.Node);
+	public List<Node> getNodes(){
+		return (List<Node>) getDescendantsByType(StandardResourceType.Node);
 	}
 	
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Node.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Node.java	(revision 1247)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Node.java	(revision 1247)
@@ -0,0 +1,117 @@
+package schedframe.resources.computing;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import schedframe.resources.ResourceStatus;
+import schedframe.resources.StandardResourceType;
+import schedframe.resources.computing.description.ComputingResourceDescription;
+import schedframe.resources.computing.extensions.ExtensionType;
+import schedframe.resources.computing.profiles.energy.EnergyExtension;
+import schedframe.resources.computing.profiles.energy.power.ui.NodePowerInterface;
+import schedframe.resources.computing.properties.NodePropertiesBuilder;
+import schedframe.resources.computing.properties.PropertiesDirector;
+import schedframe.resources.units.Cost;
+import schedframe.resources.units.Memory;
+import schedframe.resources.units.StandardResourceUnitName;
+
+public class Node extends ComputingResource{
+	
+
+	public Node (ComputingResourceDescription resDesc) {
+		super(resDesc);
+		
+		//extensionList.add(new EnergyExtension(this, resDesc.getPowerInterface(), resDesc.getEnergyEstimationPlugin()));
+		//PowerInterface pi = PowerInterfaceFactory.createPowerInterface(this, resDesc.getPowerProfile());
+		//AirThroughputInterface ai = AirThroughputInterfaceFactory.createAirThroughputInterface(this, resDesc.getAirThroughputProfile());
+		//accept(new EnergyExtension(pi, resDesc.getPowerProfile()));
+		//accept(new EnergyExtension(pi, resDesc.getPowerProfile(), ai, resDesc.getAirThroughputProfile()));	
+	}	
+	
+	public NodePowerInterface getPowerInterface(){
+		NodePowerInterface powerInterface = null;
+		if(extensionList.isExtensionAvailable(ExtensionType.ENERGY_EXTENSION)){
+			EnergyExtension ee = (EnergyExtension)extensionList.getExtension(ExtensionType.ENERGY_EXTENSION);
+			powerInterface = (NodePowerInterface)ee.getPowerInterface();
+		}
+		return powerInterface;
+	}
+
+	@SuppressWarnings("unchecked")
+	public List<Processor> getProcessors(){
+		return (List<Processor>) getDescendantsByType(StandardResourceType.Processor);
+	}
+	
+	@SuppressWarnings("unchecked")
+	public List<Processor> getFreeProcessors(){
+		return (List<Processor>) getDescendantsByTypeAndStatus(StandardResourceType.Processor, ResourceStatus.FREE);
+	}
+
+	public List<Core> getCores(){
+		List<Core> cores = new ArrayList<Core>();
+		for(Processor proc: getProcessors()){
+			cores.addAll(proc.getCores());
+		}
+		return cores;
+	}
+
+	public List<Core> getFreeCores(){
+		List<Core> freeCores = new ArrayList<Core>();
+		for(Processor proc: getProcessors()){
+			freeCores.addAll(proc.getFreeCores());
+		}
+		return freeCores;
+	}
+	
+	public int getProcessorsNumber() {
+		return getProcessors().size();
+	}
+
+	public int getFreeProcessorsNumber() {
+		return getFreeProcessors().size();
+	}
+	
+	
+	//MEMORY 
+	public int getFreeMemory() throws NoSuchFieldException {
+		return getMemory().getFreeAmount();
+	}
+	
+	public int getTotalMemory() throws NoSuchFieldException {
+		return getMemory().getAmount();
+	}
+
+	public boolean isMemRequirementSatisfied(int memoryReq) throws NoSuchFieldException {
+		if (getFreeMemory() < memoryReq)
+			return false;
+		return true;
+	}
+	
+	public Memory getMemory() throws NoSuchFieldException {
+		return (Memory) ((ComputingResourceCharacteristics)resourceCharacteristic).getResourceUnit(StandardResourceUnitName.MEMORY);
+	}
+	
+	//COST
+	public int getProcessingCost() throws NoSuchFieldException {
+		return getCost().getAmount();
+	}
+	
+	private Cost getCost() throws NoSuchFieldException {
+		return (Cost) ((ComputingResourceCharacteristics)resourceCharacteristic).getResourceUnit(StandardResourceUnitName.COST);
+	}
+
+	
+	public Properties getProperties(){
+		PropertiesDirector propDirector = new PropertiesDirector();
+		propDirector.setPropertiesBuilder(new NodePropertiesBuilder());
+		propDirector.constructProperties(this);
+		return propDirector.getProperties();
+	}
+	
+	
+	/*private void accept(EnergyExtension e){
+		extensionList.add(e);
+		e.setResource(this);
+	}*/
+}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/ComputeBox1.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/ComputeBox1.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/ComputeBox1.java	(revision 1247)
@@ -4,6 +4,4 @@
 
 import schedframe.resources.CoolEmAllResourceType;
-import schedframe.resources.StandardResourceType;
-import schedframe.resources.computing.ComputingNode;
 import schedframe.resources.computing.Rack;
 import schedframe.resources.computing.description.ComputingResourceDescription;
@@ -19,10 +17,4 @@
 		return (List<NodeGroup>) getDescendantsByType(CoolEmAllResourceType.NodeGroup);
 	}
-	
-	@SuppressWarnings("unchecked")
-	public List<ComputingNode> getNodes(){
-		return (List<ComputingNode>) getDescendantsByType(StandardResourceType.Node);
-	}
-
 
 }
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/NodeGroup.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/NodeGroup.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/NodeGroup.java	(revision 1247)
@@ -4,4 +4,5 @@
 
 import schedframe.resources.StandardResourceType;
+import schedframe.resources.computing.Node;
 import schedframe.resources.computing.ComputingResource;
 import schedframe.resources.computing.Processor;
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/Node.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/coolemall/Node.java	(revision 1207)
+++ 	(revision )
@@ -1,34 +1,0 @@
-package schedframe.resources.computing.coolemall;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import schedframe.resources.computing.ComputingNode;
-import schedframe.resources.computing.Core;
-import schedframe.resources.computing.Processor;
-import schedframe.resources.computing.description.ComputingResourceDescription;
-
-public class Node extends ComputingNode{
-
-	public Node(ComputingResourceDescription resDesc) {
-		super(resDesc);
-		// TODO Auto-generated constructor stub
-	}
-	
-	public List<Core> getCores(){
-		List<Core> cores = new ArrayList<Core>();
-		for(Processor proc: getProcessors()){
-			cores.addAll(proc.getCores());
-		}
-		return cores;
-	}
-
-	public List<Core> getFreeCores(){
-		List<Core> freeCores = new ArrayList<Core>();
-		for(Processor proc: getProcessors()){
-			freeCores.addAll(proc.getFreeCores());
-		}
-		return freeCores;
-	}
-
-}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Core.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Core.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/Core.java	(revision 1247)
@@ -28,12 +28,12 @@
 	}
 	
-	public ComputingNode getNode(){
+	public Node getNode(){
 		ComputingResource compRes = parent;
 		while(compRes != null && !compRes.getType().equals(StandardResourceType.Node)){
 			compRes = compRes.getParent();
 		}
-		ComputingNode compNode = null;
+		Node compNode = null;
 		try{
-			compNode = (ComputingNode)compRes;
+			compNode = (Node)compRes;
 		} catch(ClassCastException e) {
 		}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/StandardResourceFactory.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/StandardResourceFactory.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/StandardResourceFactory.java	(revision 1247)
@@ -1,5 +1,4 @@
 package schedframe.resources.computing;
 
-import schedframe.resources.CoolEmAllResourceType;
 import schedframe.resources.StandardResourceType;
 import schedframe.resources.computing.description.ComputingResourceDescription;
@@ -23,5 +22,5 @@
 			return new Rack(resDesc);
 		else if (resDesc.getType().equals(StandardResourceType.Node))
-			return new ComputingNode(resDesc);
+			return new Node(resDesc);
 		else if (resDesc.getType().equals(StandardResourceType.Processor))
 			return new Processor(resDesc);
@@ -30,13 +29,5 @@
 		else
 			return new ComputingResource(resDesc);
-	
-		/*switch(resDesc.getType()){
-			case Grid: return new Grid(resDesc);
-			case DataCenter: return new DataCenter(resDesc);
-			case ComputingNode: return new ComputingNode(resDesc);
-			case Processor: return new Processor(resDesc);
-		default:
-			return new ComputingResource(resDesc);
-		}*/
+
 	}
 
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java	(revision 1247)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java	(revision 1247)
@@ -0,0 +1,66 @@
+package schedframe.resources.computing.profiles.energy.power.ui;
+
+
+
+import schedframe.resources.ResourceStatus;
+import schedframe.resources.computing.ComputingResource;
+import schedframe.resources.computing.Node;
+import schedframe.resources.computing.profiles.energy.EnergyEvent;
+import schedframe.resources.computing.profiles.energy.EnergyEventType;
+import schedframe.resources.computing.profiles.energy.power.PowerProfile;
+import schedframe.resources.computing.profiles.energy.power.PowerStateName;
+import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName;
+
+public class NodePowerInterface extends ComputingResourcePowerInterface{
+
+	public static long START_TIME = 600000;
+	public static long SHUTDOWN_TIME = 300000;
+	public static double START_COST = 4000;
+	public static double SHUTDOWN_COST = 2000;
+
+	
+	public NodePowerInterface(ComputingResource resource, PowerProfile pp){
+		super(resource, pp);
+		currentPowerState = StandardPowerStateName.ON;
+	}
+
+	public boolean setPowerState(PowerStateName state){
+		if(!supportPowerState(state))
+			return false;
+		currentPowerState = state;
+		Node node = (Node) resource;
+		boolean pePowerStateChangeStatus = false;
+		if(node.getProcessors() != null) {
+			for(ComputingResource child:node.getProcessors()){
+				if(child.getPowerInterface() != null){
+					pePowerStateChangeStatus = child.getPowerInterface().setPowerState(state);	
+				}
+			}
+		} 
+		
+		if(!pePowerStateChangeStatus){
+			node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, node.getFullName()));
+		}
+
+		if(state == StandardPowerStateName.OFF){
+			node.setStatus(ResourceStatus.UNAVAILABLE);
+		}
+		else if(state == StandardPowerStateName.ON){
+			node.setStatus(ResourceStatus.FREE);
+		}
+		//node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName()));
+		//ResourceController.traceResource(new DateTime().getMillis(), resource.getFullName(), "POWER_STATE_CHANGED", state.getName());
+		return true;
+	}
+
+	public void turnOn(){
+		setPowerState(StandardPowerStateName.ON);
+	}
+	
+	public void turnOff(){
+		setPowerState(StandardPowerStateName.OFF);
+	}
+
+
+
+}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingNodePowerInterface.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingNodePowerInterface.java	(revision 1207)
+++ 	(revision )
@@ -1,69 +1,0 @@
-package schedframe.resources.computing.profiles.energy.power.ui;
-
-
-
-import org.joda.time.DateTime;
-
-import schedframe.SimulatedEnvironment;
-import schedframe.resources.ResourceStatus;
-import schedframe.resources.computing.ComputingNode;
-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.power.PowerProfile;
-import schedframe.resources.computing.profiles.energy.power.PowerStateName;
-import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName;
-
-public class ComputingNodePowerInterface extends ComputingResourcePowerInterface{
-
-	public static long START_TIME = 600000;
-	public static long SHUTDOWN_TIME = 300000;
-	public static double START_COST = 4000;
-	public static double SHUTDOWN_COST = 2000;
-
-	
-	public ComputingNodePowerInterface(ComputingResource resource, PowerProfile pp){
-		super(resource, pp);
-		currentPowerState = StandardPowerStateName.ON;
-	}
-
-	public boolean setPowerState(PowerStateName state){
-		if(!supportPowerState(state))
-			return false;
-		currentPowerState = state;
-		ComputingNode computingNode = (ComputingNode) resource;
-		boolean pePowerStateChangeStatus = false;
-		if(computingNode.getProcessors() != null) {
-			for(ComputingResource child:computingNode.getProcessors()){
-				if(child.getPowerInterface() != null){
-					pePowerStateChangeStatus = child.getPowerInterface().setPowerState(state);	
-				}
-			}
-		} 
-		
-		if(!pePowerStateChangeStatus){
-			computingNode.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getFullName()));
-		}
-
-		if(state == StandardPowerStateName.OFF){
-			computingNode.setStatus(ResourceStatus.UNAVAILABLE);
-		}
-		else if(state == StandardPowerStateName.ON){
-			computingNode.setStatus(ResourceStatus.FREE);
-		}
-		//computingNode.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName()));
-		//ResourceController.traceResource(new DateTime().getMillis(), resource.getFullName(), "POWER_STATE_CHANGED", state.getName());
-		return true;
-	}
-
-	public void turnOn(){
-		setPowerState(StandardPowerStateName.ON);
-	}
-	
-	public void turnOff(){
-		setPowerState(StandardPowerStateName.OFF);
-	}
-
-
-
-}
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerInterfaceFactory.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerInterfaceFactory.java	(revision 1207)
+++ DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerInterfaceFactory.java	(revision 1247)
@@ -18,5 +18,5 @@
 			powerInterface = new schedframe.resources.computing.profiles.energy.power.ui.DataCenterPowerInterface((ComputingResource)resource, pp);
 		else if (resource.getType().getName().equals(StandardResourceType.Node.getName()))
-			powerInterface = new schedframe.resources.computing.profiles.energy.power.ui.ComputingNodePowerInterface((ComputingResource)resource, pp);
+			powerInterface = new schedframe.resources.computing.profiles.energy.power.ui.NodePowerInterface((ComputingResource)resource, pp);
 		else if (resource.getType().getName().equals(StandardResourceType.Processor.getName()))
 			powerInterface = new schedframe.resources.computing.profiles.energy.power.ui.ProcessorPowerInterface((ComputingResource)resource, pp);
Index: DCWoRMS/branches/coolemall/src/schedframe/resources/computing/ComputingNode.java
===================================================================
--- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/ComputingNode.java	(revision 1207)
+++ 	(revision )
@@ -1,100 +1,0 @@
-package schedframe.resources.computing;
-
-import java.util.List;
-import java.util.Properties;
-
-import schedframe.resources.ResourceStatus;
-import schedframe.resources.StandardResourceType;
-import schedframe.resources.computing.description.ComputingResourceDescription;
-import schedframe.resources.computing.extensions.ExtensionType;
-import schedframe.resources.computing.profiles.energy.EnergyExtension;
-import schedframe.resources.computing.profiles.energy.power.ui.ComputingNodePowerInterface;
-import schedframe.resources.computing.properties.ComputingNodePropertiesBuilder;
-import schedframe.resources.computing.properties.PropertiesDirector;
-import schedframe.resources.units.Cost;
-import schedframe.resources.units.Memory;
-import schedframe.resources.units.StandardResourceUnitName;
-
-public class ComputingNode extends ComputingResource{
-	
-
-	public ComputingNode (ComputingResourceDescription resDesc) {
-		super(resDesc);
-		
-		//extensionList.add(new EnergyExtension(this, resDesc.getPowerInterface(), resDesc.getEnergyEstimationPlugin()));
-		//PowerInterface pi = PowerInterfaceFactory.createPowerInterface(this, resDesc.getPowerProfile());
-		//AirThroughputInterface ai = AirThroughputInterfaceFactory.createAirThroughputInterface(this, resDesc.getAirThroughputProfile());
-		//accept(new EnergyExtension(pi, resDesc.getPowerProfile()));
-		//accept(new EnergyExtension(pi, resDesc.getPowerProfile(), ai, resDesc.getAirThroughputProfile()));	
-	}	
-	
-	public ComputingNodePowerInterface getPowerInterface(){
-		ComputingNodePowerInterface powerInterface = null;
-		if(extensionList.isExtensionAvailable(ExtensionType.ENERGY_EXTENSION)){
-			EnergyExtension ee = (EnergyExtension)extensionList.getExtension(ExtensionType.ENERGY_EXTENSION);
-			powerInterface = (ComputingNodePowerInterface)ee.getPowerInterface();
-		}
-		return powerInterface;
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<Processor> getProcessors(){
-		return (List<Processor>) getDescendantsByType(StandardResourceType.Processor);
-	}
-	
-	@SuppressWarnings("unchecked")
-	public List<Processor> getFreeProcessors(){
-		return (List<Processor>) getDescendantsByTypeAndStatus(StandardResourceType.Processor, ResourceStatus.FREE);
-	}
-
-	public int getProcessorsNumber() {
-		return getProcessors().size();
-	}
-
-	public int getFreeProcessorsNumber() {
-		return getFreeProcessors().size();
-	}
-	
-	
-	//MEMORY 
-	public int getFreeMemory() throws NoSuchFieldException {
-		return getMemory().getFreeAmount();
-	}
-	
-	public int getTotalMemory() throws NoSuchFieldException {
-		return getMemory().getAmount();
-	}
-
-	public boolean isMemRequirementSatisfied(int memoryReq) throws NoSuchFieldException {
-		if (getFreeMemory() < memoryReq)
-			return false;
-		return true;
-	}
-	
-	public Memory getMemory() throws NoSuchFieldException {
-		return (Memory) ((ComputingResourceCharacteristics)resourceCharacteristic).getResourceUnit(StandardResourceUnitName.MEMORY);
-	}
-	
-	//COST
-	public int getProcessingCost() throws NoSuchFieldException {
-		return getCost().getAmount();
-	}
-	
-	private Cost getCost() throws NoSuchFieldException {
-		return (Cost) ((ComputingResourceCharacteristics)resourceCharacteristic).getResourceUnit(StandardResourceUnitName.COST);
-	}
-
-	
-	public Properties getProperties(){
-		PropertiesDirector propDirector = new PropertiesDirector();
-		propDirector.setPropertiesBuilder(new ComputingNodePropertiesBuilder());
-		propDirector.constructProperties(this);
-		return propDirector.getProperties();
-	}
-	
-	
-	/*private void accept(EnergyExtension e){
-		extensionList.add(e);
-		e.setResource(this);
-	}*/
-}
