Index: xssim/branches/tpiontek/src/example/energy/ComputingNodeEnergyEstimationPlugin.java
===================================================================
--- xssim/branches/tpiontek/src/example/energy/ComputingNodeEnergyEstimationPlugin.java	(revision 241)
+++ xssim/branches/tpiontek/src/example/energy/ComputingNodeEnergyEstimationPlugin.java	(revision 250)
@@ -3,4 +3,5 @@
 import java.util.Properties;
 
+import schedframe.resources.PowerState;
 import test.rewolucja.energy.EnergyEvent;
 import test.rewolucja.resources.physical.base.ComputingResource;
@@ -17,15 +18,6 @@
 		ComputingNode node = (ComputingNode) resource;
 		
-		if( node.getCategory().getName().equals("A"))
-			power = 240;
-		else if( node.getCategory().getName().equals("B"))
-			power = 95;
-		else
-		{
-			System.err.println("Unknown Model: "  +node.getCategory().getName());
-			System.exit(1);
-		}	
-		
-		
+			
+		power += node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState());
 		
 		for(Processor cpu: node.getProcessors()){
@@ -36,5 +28,5 @@
 			//}
 		}
-		//power += node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState());
+
 		return power;
 	}
Index: xssim/branches/tpiontek/src/example/energy/CPUEnergyEstimationPlugin.java
===================================================================
--- xssim/branches/tpiontek/src/example/energy/CPUEnergyEstimationPlugin.java	(revision 241)
+++ xssim/branches/tpiontek/src/example/energy/CPUEnergyEstimationPlugin.java	(revision 250)
@@ -32,5 +32,8 @@
 			switch( type % 4)
 			{
-				default: factor = 1.3; 
+				case 0: factor = 1.1; break;
+				case 1: factor = 1.2; break;
+				case 2: factor = 1.3; break;
+				case 3: factor = 1.4; break;
 			}
 			
Index: xssim/branches/tpiontek/src/example/localplugin/FCFSRandomClusterLocalPlugin.java
===================================================================
--- xssim/branches/tpiontek/src/example/localplugin/FCFSRandomClusterLocalPlugin.java	(revision 241)
+++ xssim/branches/tpiontek/src/example/localplugin/FCFSRandomClusterLocalPlugin.java	(revision 250)
@@ -99,6 +99,11 @@
 		nodes = findSuitableNodes(cpuRequest, nodes);
 		
-		int nodeIdx = rand.nextInt(nodes.size());
-		return nodes.get(nodeIdx).getName();
+		if( nodes.size() > 0)
+		{	
+			int nodeIdx = rand.nextInt(nodes.size());
+			return nodes.get(nodeIdx).getName();
+		}
+		else
+			return null;
 	}
 	
Index: xssim/branches/tpiontek/src/example/timeestimation/ExecTimeEstimationPlugin.java
===================================================================
--- xssim/branches/tpiontek/src/example/timeestimation/ExecTimeEstimationPlugin.java	(revision 241)
+++ xssim/branches/tpiontek/src/example/timeestimation/ExecTimeEstimationPlugin.java	(revision 250)
@@ -47,5 +47,16 @@
 		double remainingLength =  task.getLength() * (1- completionPercentage);
 		// do the calculation
-		double execTime = (remainingLength / (cnt * speed/1000));
+		
+		
+		int type = Integer.parseInt( task.getJobId()) % 4;
+		
+		double factor = 1;
+		if( type == 0 && ((Processor)pes.get(0)).getComputingNode().getCategory().getName().equals("A"))
+		{
+			factor = 0.6;
+		}
+		
+		double execTime = (remainingLength / (cnt * (double)speed * factor / 1000));
+		
 
 		// if the result is very close to 0, but less then one millisecond then round this result to 0.001
@@ -56,4 +67,5 @@
 		// time is measured in integer units, so get the nearest execTime int value.
 		execTime = Math.ceil(execTime);
+		
 		return execTime;
 	}
Index: xssim/branches/tpiontek/src/test/rewolucja/energy/profile/implementation/ComputingNodePowerProfile.java
===================================================================
--- xssim/branches/tpiontek/src/test/rewolucja/energy/profile/implementation/ComputingNodePowerProfile.java	(revision 214)
+++ xssim/branches/tpiontek/src/test/rewolucja/energy/profile/implementation/ComputingNodePowerProfile.java	(revision 250)
@@ -54,6 +54,13 @@
 			return 0;
 		else if(powerState == PowerState.ON)
-			return 750;
-		else return 500;
+		{	
+			if( computingNode.getCategory().getName().equals("A"))
+				return 240;
+			else if( computingNode.getCategory().getName().equals("B"))
+				return 95;
+		}	
+		
+		
+		return 150;
 	}
 
