Index: xssim/trunk/src/example/localplugin/FCFSClusterLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/FCFSClusterLocalPlugin.java	(revision 104)
+++ xssim/trunk/src/example/localplugin/FCFSClusterLocalPlugin.java	(revision 129)
@@ -62,10 +62,22 @@
 
 					SubmittedTask subTask = (SubmittedTask) task;
-					Map<ResourceParameterName, ResourceUnit> choosenResources = null;
-					choosenResources = chooseResourcesForExecution(resourceManager, subTask);
-					//String provname = chooseProviderForExecution(resourceManager);
+					
+					/****************3 ways to schedule task****************/
+					
+					//1. Choosing particular resources to perform execution
+					Map<ResourceParameterName, ResourceUnit> choosenResources = chooseResourcesForExecution(resourceManager, subTask);
 					if (choosenResources != null) {
 						addToSchedulingPlan(plan, task, choosenResources);
 					}
+					
+					//2. Choosing resource scheduler/provider to submit task.  If the given resource doesn't contains/isn't 
+					//a scheduler, random resources from the given resource will be chosen in order to perform execution
+					/*String provName = chooseProviderForExecution(resourceManager);
+					if (provName != null) {
+						addToSchedulingPlan(plan, task, provName);
+					}*/
+
+					//3. Scheduler will choose random resources to perform execution
+					//addToSchedulingPlan(plan, task);
 
 				}
@@ -77,5 +89,5 @@
 	}
 
-	public HashMap<ResourceParameterName, ResourceUnit> chooseResourcesForExecution(
+	private HashMap<ResourceParameterName, ResourceUnit> chooseResourcesForExecution(
 			ClusterResourceManager resourceManager, ExecTaskInterface task) {
 
@@ -140,4 +152,13 @@
 	}
 
+	private String chooseProviderForExecution(ResourceManagerInterface unitsManager) {
+		List<ComputingResource> processingElements;
+		Properties properties = new Properties();
+		properties.setProperty("type", ResourceType.COMPUTING_NODE.toString());
+		// properties.setProperty("status", ResourceStatus.FREE.toString());
+		processingElements = (List<ComputingResource>) unitsManager.filterResources(properties);
+		return processingElements.get(0).getName();
+	}
+
 	public String getName() {
 		return getClass().getName();
@@ -148,12 +169,3 @@
 	}
 
-	public String chooseProviderForExecution(ResourceManagerInterface unitsManager) {
-		List<ComputingResource> processingElements;
-		Properties properties = new Properties();
-		properties.setProperty("type", ResourceType.COMPUTING_NODE.toString());
-		// properties.setProperty("status", ResourceStatus.FREE.toString());
-		processingElements = (List<ComputingResource>) unitsManager.filterResources(properties);
-		return processingElements.get(0).getName();
-	}
-
 }
Index: xssim/trunk/src/example/localplugin/BaseLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/BaseLocalPlugin.java	(revision 104)
+++ xssim/trunk/src/example/localplugin/BaseLocalPlugin.java	(revision 129)
@@ -89,4 +89,17 @@
 	}
 	
+	public void addToSchedulingPlan(SchedulingPlanNew plan, TaskInterface<?> task){
+		
+		AllocationNew allocation = new AllocationNew();
+		allocation.setProcessesCount(1);
+		allocation.setProviderName(null);
+		
+		ScheduledTaskNew scheduledTask = new ScheduledTaskNew(task);
+		scheduledTask.setTaskId(task.getId());
+		scheduledTask.setJobId(task.getJobId());
+		scheduledTask.addAllocation(allocation);		
+		
+		plan.addTask(scheduledTask);
+	}
 
 }
Index: xssim/trunk/src/example/localplugin/FCFSLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/FCFSLocalPlugin.java	(revision 104)
+++ 	(revision )
@@ -1,209 +1,0 @@
-package example.localplugin;
-
-import gridsim.Gridlet;
-import gridsim.gssim.SubmittedTask;
-import gssim.schedframe.scheduling.ExecTaskInterface;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import schedframe.resources.PowerState;
-import schedframe.resources.units.Memory;
-import schedframe.resources.units.ResourceUnit;
-import schedframe.scheduling.TaskInterface;
-import schedframe.scheduling.events.SchedulingEvent;
-import schedframe.scheduling.plugin.grid.ModuleList;
-import schedframe.scheduling.utils.ResourceParameterName;
-import test.rewolucja.GSSIMJobInterface;
-import test.rewolucja.resources.ProcessingElements;
-import test.rewolucja.resources.ResourceStatus;
-import test.rewolucja.resources.ResourceType;
-import test.rewolucja.resources.exception.ResourceException;
-import test.rewolucja.resources.manager.interfaces.ResourceManagerInterface;
-import test.rewolucja.resources.physical.base.ComputingResource;
-import test.rewolucja.resources.physical.implementation.CPU;
-import test.rewolucja.resources.physical.implementation.ComputingNode;
-import test.rewolucja.scheduling.JobRegistryInterface;
-import test.rewolucja.scheduling.plan.SchedulingPlanInterfaceNew;
-import test.rewolucja.scheduling.plan.SchedulingPlanNew;
-import test.rewolucja.scheduling.queue.GSSIMQueue;
-import test.rewolucja.scheduling.queue.QueueList;
-
-/**
- * 
- * @author Marcin Krystek
- * 
- */
-public class FCFSLocalPlugin extends BaseLocalPlugin {
-
-	public FCFSLocalPlugin() {
-	}
-
-	public SchedulingPlanInterfaceNew schedule(SchedulingEvent event, QueueList queues, JobRegistryInterface jobRegistry,
-			ResourceManagerInterface resourceManager, ModuleList modules) {
-
-		SchedulingPlanNew plan = new SchedulingPlanNew();
-		// chose the events types to serve.
-		// Different actions for different events are possible.
-		switch (event.getType()) {
-		case START_TASK_EXECUTION:
-		case TASK_FINISHED:
-			// our tasks are placed only in first queue (see
-			// BaseLocalPlugin.placeTasksInQueues() method)
-			GSSIMQueue q = queues.get(0);
-			// check all tasks in queue
-
-			/*if(q.size()>0){
-				ComputingNode cn = null;
-				try {
-					cn = (ComputingNode)resourceManager.getResourcesOfType(ResourceType.COMPUTING_NODE).get(0);
-				} catch (ResourceException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-				if( cn.getPowerInterface().getPowerState()==PowerState.OFF){
-					cn.getPowerInterface().setPowerState(PowerState.ON);
-				}
-			}*/
-			for (int i = 0; i < q.size(); i++) {
-				GSSIMJobInterface<?> job = q.get(i);
-				TaskInterface<?> task = (TaskInterface<?>) job;
-				// if status of the tasks in READY
-				if (task.getStatus() == Gridlet.READY) {
-
-					SubmittedTask subTask = (SubmittedTask) task;
-					// DataCenterResourceManager dcrm =
-					// (DataCenterResourceManager)unitsManager;
-					// List<CPU> cpus = dcrm.getProcessors();
-					// cpus.get(0).getPowerInterface().setFrequency(100);
-					Map<ResourceParameterName, ResourceUnit> choosenResources = null;
-					choosenResources = chooseResourcesForExecution(resourceManager, subTask);
-					// String name =
-					// chooseProviderForExecution(resourceManager);
-					if (choosenResources != null) {
-						// q.remove(i);
-						// i--;
-						addToSchedulingPlan(plan, task, choosenResources);
-					}
-
-				}
-			}
-
-			/*ComputingNode cn = null;
-			try {
-				cn = (ComputingNode)resourceManager.getResourcesOfType(ResourceType.COMPUTING_NODE).get(0);
-			} catch (ResourceException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			if(cn.getFreeProcessorsNumber()==3){
-				cn.getPowerInterface().setPowerState(PowerState.OFF);
-			}*/
-			break;
-		}
-		return plan;
-	}
-
-	public HashMap<ResourceParameterName, ResourceUnit> chooseResourcesForExecution(
-			ResourceManagerInterface resourceManager, ExecTaskInterface task) {
-
-		HashMap<ResourceParameterName, ResourceUnit> map = new HashMap<ResourceParameterName, ResourceUnit>();
-
-		int cpuRequest;
-		try {
-			cpuRequest = Double.valueOf(task.getCpuCntRequest()).intValue();
-		} catch (NoSuchFieldException e) {
-			cpuRequest = 1;
-		}
-
-		if (cpuRequest != 0) {
-			List<ComputingResource> choosenResources = null;
-			List<ComputingResource> processingElements = null;
-			try {
-				Properties properties = new Properties();
-				properties.setProperty("type", ResourceType.CPU.toString());
-				// properties.setProperty("status",
-				// ResourceStatus.FREE.toString());
-				processingElements = (List<ComputingResource>) resourceManager.filterResources(properties);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			if (processingElements.size() < cpuRequest) {
-				// log.warn("Task requires more cpus than is availiable in this resource.");
-				return null;
-			}
-
-			choosenResources = new ArrayList<ComputingResource>();
-
-			for (int i = 0; i < processingElements.size() && cpuRequest > 0; i++) {
-				if (processingElements.get(i).getStatus() == ResourceStatus.FREE) {
-					choosenResources.add(processingElements.get(i));
-					cpuRequest--;
-					CPU cpu = (CPU)processingElements.get(i);
-					//cpu.getParent().getPowerProfile().setPowerState(PowerState.OFF);
-				}
-			}
-			if (cpuRequest > 0) {
-				// log.info("Task " + task.getJobId() + "_" + task.getId() +
-				// " requires more cpus than is availiable in this moment.");
-				return null;
-			}
-
-			ProcessingElements result = new ProcessingElements(processingElements.get(0).getParent().getName());
-			result.addAll(choosenResources);
-			map.put(ResourceParameterName.PROCESSINGELEMENTS, result);
-
-		}
-		int memoryRequest;
-		try {
-			memoryRequest = Double.valueOf(task.getMemoryRequest()).intValue();
-		} catch (NoSuchFieldException e) {
-			memoryRequest = 0;
-		}
-		if (memoryRequest != 0) {
-			List<ComputingNode> nodes = null;
-			try {
-				Properties properties = new Properties();
-				properties.setProperty("type", ResourceType.COMPUTING_NODE.toString());
-				nodes = (List<ComputingNode>) resourceManager.filterResources(properties);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			Memory memory = null;
-			for (ComputingNode node : nodes) {
-
-				if (node.getFreeMemory() >= memoryRequest) {
-					memory = new Memory(node.getMemory(), memoryRequest, memoryRequest);
-				} else
-					return null;
-			}
-			map.put(ResourceParameterName.MEMORY, memory);
-
-		}
-
-		return map;
-	}
-
-	public String getName() {
-		return getClass().getName();
-	}
-
-	public void init(Properties properties) {
-		// no extra initialization is expected.
-	}
-
-	public String chooseProviderForExecution(ResourceManagerInterface unitsManager) {
-		List<ComputingResource> processingElements;
-		Properties properties = new Properties();
-		properties.setProperty("type", ResourceType.COMPUTING_NODE.toString());
-		// properties.setProperty("status", ResourceStatus.FREE.toString());
-		processingElements = (List<ComputingResource>) unitsManager.filterResources(properties);
-		return processingElements.get(0).getName();
-	}
-
-}
Index: xssim/trunk/src/example/localplugin/LCFS_EBFLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/LCFS_EBFLocalPlugin.java	(revision 104)
+++ 	(revision )
@@ -1,59 +1,0 @@
-package example.localplugin;
-
-import gridsim.Gridlet;
-
-import java.util.List;
-import java.util.Properties;
-
-import schedframe.scheduling.Queue;
-import schedframe.scheduling.TaskInterface;
-import schedframe.scheduling.events.SchedulingEvent;
-import schedframe.scheduling.plugin.local.ResourceUnitsManagerInterface;
-
-public class LCFS_EBFLocalPlugin extends BaseLocalPlugin {
-
-	
-	public LCFS_EBFLocalPlugin(){
-	}
-	
-	public void schedule(SchedulingEvent event,
-			List<? extends TaskInterface<?>> inExecution,
-			List<? extends Queue<? extends TaskInterface<?>>> queues,
-			ResourceUnitsManagerInterface unitsManagerInterface) {
-		
-		// do this trick to make add() method available
-		List <TaskInterface<?>> execute = (List<TaskInterface<?>>) inExecution;
-		
-		// chose the events types to serve. 
-		// Different actions for different events are possible.
-		switch(event.getType()){
-			case START_TASK_EXECUTION:
-			case TASK_FINISHED:
-				// our tasks are placed only in first queue (see BaseLocalPlugin.placeTasksInQueues() method)
-				Queue<? extends TaskInterface<?>> q = queues.get(0);
-				// check all tasks in queue
-				for(int i = q.size() - 1; i >= 0; i--){
-					TaskInterface<?> task = q.get(i);
-					// if status of the tasks in READY
-					if(task.getStatus() == Gridlet.READY){
-						// then try to execute this task. Add it the execute list.
-						if(execute.add(task)){
-							// if task started successfully, then remove it from the queue.
-							q.remove(i);
-						}
-					}
-				}
-				break;
-		}
-		
-	}
-
-	public String getName() {
-		return getClass().getName();
-	}
-
-	public void init(Properties properties) {
-		// no extra initialization is expected.
-	}
-	
-}
Index: xssim/trunk/src/example/localplugin/LCFSLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/LCFSLocalPlugin.java	(revision 104)
+++ 	(revision )
@@ -1,62 +1,0 @@
-package example.localplugin;
-
-import gridsim.Gridlet;
-
-import java.util.List;
-import java.util.Properties;
-
-import schedframe.scheduling.Queue;
-import schedframe.scheduling.TaskInterface;
-import schedframe.scheduling.events.SchedulingEvent;
-import schedframe.scheduling.plugin.local.ResourceUnitsManagerInterface;
-
-public class LCFSLocalPlugin extends BaseLocalPlugin {
-
-	
-	public LCFSLocalPlugin(){
-	}
-	
-	public void schedule(SchedulingEvent event,
-			List<? extends TaskInterface<?>> inExecution,
-			List<? extends Queue<? extends TaskInterface<?>>> queues,
-			ResourceUnitsManagerInterface unitsManagerInterface) {
-		
-		// do this trick to make add() method available
-		List <TaskInterface<?>> execute = (List<TaskInterface<?>>) inExecution;
-		
-		// chose the events types to serve. 
-		// Different actions for different events are possible.
-		switch(event.getType()){
-			case START_TASK_EXECUTION:
-			case TASK_FINISHED:
-				// our tasks are placed only in first queue (see BaseLocalPlugin.placeTasksInQueues() method)
-				Queue<? extends TaskInterface<?>> q = queues.get(0);
-				// check all tasks in queue
-				for(int i = q.size() - 1; i >= 0; i--){
-					TaskInterface<?> task = q.get(i);
-					// if status of the tasks in READY
-					if(task.getStatus() == Gridlet.READY){
-						// then try to execute this task. Add it the execute list.
-						if(execute.add(task)){
-							// if task started successfully, then remove it from the queue.
-							q.remove(i);
-						}
-						else{
-							break;
-						}
-					}
-				}
-				break;
-		}
-		
-	}
-
-	public String getName() {
-		return getClass().getName();
-	}
-
-	public void init(Properties properties) {
-		// no extra initialization is expected.
-	}
-	
-}
Index: xssim/trunk/src/example/localplugin/LJF_EBFLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/LJF_EBFLocalPlugin.java	(revision 104)
+++ 	(revision )
@@ -1,80 +1,0 @@
-package example.localplugin;
-
-import gridsim.Gridlet;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-
-import schedframe.scheduling.Queue;
-import schedframe.scheduling.TaskInterface;
-import schedframe.scheduling.events.SchedulingEvent;
-import schedframe.scheduling.plugin.local.ResourceUnitsManagerInterface;
-import simulator.utils.MergeSort;
-
-public class LJF_EBFLocalPlugin extends BaseLocalPlugin {
-
-	public LJF_EBFLocalPlugin(){
-	}
-	
-	public void schedule(SchedulingEvent event,
-			List<? extends TaskInterface<?>> inExecution,
-			List<? extends Queue<? extends TaskInterface<?>>> queues,
-			ResourceUnitsManagerInterface unitsManagerInterface) {
-		
-		// do this trick to make add() method available
-		List <TaskInterface<?>> execute = (List<TaskInterface<?>>) inExecution;
-		
-		// chose the events types to serve. 
-		// Different actions for different events are possible.
-		switch(event.getType()){
-			//case START_TASK_EXECUTION:
-			//case TASK_FINISHED:
-			case TIMER:
-				// our tasks are placed only in first queue (see BaseLocalPlugin.placeTasksInQueues() method)
-				Queue<? extends TaskInterface<?>> q = queues.get(0);
-				
-				sortTasksInQueue(q);
-
-				// check all tasks in queue
-				for(int i = 0; i < q.size(); i++){
-					TaskInterface<?> task = q.get(i);
-					// if status of the tasks in READY
-					if(task.getStatus() == Gridlet.READY){
-						// then try to execute this task. Add it the execute list.
-						if(execute.add(task)){
-							// if task started successfully, then remove it from the queue.
-							q.remove(i);
-							i--;
-						}
-					}
-				}
-				break;
-		}
-		
-	}
-
-	public String getName() {
-		return getClass().getName();
-	}
-
-	public void init(Properties properties) {
-		// no extra initialization is expected.
-	}
-	
-    public void sortTasksInQueue(Queue<? extends TaskInterface<?>> q) {
-    	
-    	TaskInterface<?>[] arrayQueue = new TaskInterface<?>[q.size()];
-    	int i = 0;
-    	for(TaskInterface<?> task: q){
-    		arrayQueue[i] = task;
-    		i++;
-    	}
-    	MergeSort mergeSort = new MergeSort();
-        mergeSort.initSort(arrayQueue, "getLength", false);
-        q.clear();
-        q.addAll(new ArrayList(Arrays.asList(arrayQueue)));
-    }
-	
-}
Index: xssim/trunk/src/example/localplugin/FCFS_EBFLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/FCFS_EBFLocalPlugin.java	(revision 104)
+++ 	(revision )
@@ -1,169 +1,0 @@
-package example.localplugin;
-
-import gridsim.Gridlet;
-import gridsim.gssim.SubmittedTask;
-import gssim.schedframe.scheduling.ExecTaskInterface;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import schedframe.resources.units.Memory;
-import schedframe.resources.units.ResourceUnit;
-import schedframe.scheduling.TaskInterface;
-import schedframe.scheduling.events.SchedulingEvent;
-import schedframe.scheduling.plugin.grid.ModuleList;
-import schedframe.scheduling.utils.ResourceParameterName;
-import test.rewolucja.GSSIMJobInterface;
-import test.rewolucja.resources.ProcessingElements;
-import test.rewolucja.resources.ResourceStatus;
-import test.rewolucja.resources.ResourceType;
-import test.rewolucja.resources.manager.interfaces.ResourceManagerInterface;
-import test.rewolucja.resources.physical.base.ComputingResource;
-import test.rewolucja.resources.physical.implementation.CPU;
-import test.rewolucja.resources.physical.implementation.ComputingNode;
-import test.rewolucja.scheduling.JobRegistryInterface;
-import test.rewolucja.scheduling.plan.SchedulingPlanInterfaceNew;
-import test.rewolucja.scheduling.plan.SchedulingPlanNew;
-import test.rewolucja.scheduling.queue.GSSIMQueue;
-import test.rewolucja.scheduling.queue.QueueList;
-
-public class FCFS_EBFLocalPlugin extends BaseLocalPlugin {
-
-	public FCFS_EBFLocalPlugin() {
-	}
-
-	public SchedulingPlanInterfaceNew schedule(SchedulingEvent event, QueueList queues, JobRegistryInterface jobRegistry,
-			ResourceManagerInterface resourceManager, ModuleList modules) {
-
-		SchedulingPlanNew plan = new SchedulingPlanNew();
-		// chose the events types to serve.
-		// Different actions for different events are possible.
-		switch (event.getType()) {
-		case START_TASK_EXECUTION:
-		case TASK_FINISHED:
-			// our tasks are placed only in first queue (see
-			// BaseLocalPlugin.placeTasksInQueues() method)
-			GSSIMQueue q = queues.get(0);
-			// check all tasks in queue
-
-			for (int i = 0; i < q.size(); i++) {
-				GSSIMJobInterface<?> job = q.get(i);
-				TaskInterface<?> task = (TaskInterface<?>) job;
-				// if status of the tasks in READY
-				if (task.getStatus() == Gridlet.READY) {
-
-					SubmittedTask subTask = (SubmittedTask) task;
-					// DataCenterResourceManager dcrm =
-					// (DataCenterResourceManager)unitsManager;
-					// List<CPU> cpus = dcrm.getProcessors();
-					// cpus.get(0).getPowerInterface().setFrequency(100);
-					Map<ResourceParameterName, ResourceUnit> choosenResources = null;
-					choosenResources = chooseResourcesForExecution(resourceManager, subTask);
-					// String name =
-					// chooseProviderForExecution(resourceManager);
-					if (choosenResources != null) {
-						// q.remove(i);
-						// i--;
-						addToSchedulingPlan(plan, task, choosenResources);
-					}
-				}
-			}
-
-		}
-		return plan;
-	}
-
-	public HashMap<ResourceParameterName, ResourceUnit> chooseResourcesForExecution(
-			ResourceManagerInterface unitsManager, ExecTaskInterface task) {
-
-		HashMap<ResourceParameterName, ResourceUnit> map = new HashMap<ResourceParameterName, ResourceUnit>();
-
-		int cpuRequest;
-		try {
-			cpuRequest = Double.valueOf(task.getCpuCntRequest()).intValue();
-		} catch (NoSuchFieldException e) {
-			cpuRequest = 1;
-		}
-
-		if (cpuRequest != 0) {
-			List<ComputingResource> choosenResources = null;
-			List<ComputingResource> processingElements = null;
-			try {
-				Properties properties = new Properties();
-				properties.setProperty("type", ResourceType.CPU.toString());
-				// properties.setProperty("status",
-				// ResourceStatus.FREE.toString());
-				processingElements = (List<ComputingResource>) unitsManager.filterResources(properties);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			if (processingElements.size() < cpuRequest) {
-				// log.warn("Task requires more cpus than is availiable in this resource.");
-				return null;
-			}
-
-			choosenResources = new ArrayList<ComputingResource>();
-
-			for (int i = 0; i < processingElements.size() && cpuRequest > 0; i++) {
-				if (processingElements.get(i).getStatus() == ResourceStatus.FREE) {
-					choosenResources.add(processingElements.get(i));
-					cpuRequest--;
-					CPU cpu = (CPU)processingElements.get(i);
-					//cpu.getParent().getPowerProfile().setPowerState(PowerState.OFF);
-				}
-			}
-			if (cpuRequest > 0) {
-				// log.info("Task " + task.getJobId() + "_" + task.getId() +
-				// " requires more cpus than is availiable in this moment.");
-				return null;
-			}
-
-			ProcessingElements result = new ProcessingElements(processingElements.get(0).getParent().getName());
-			result.addAll(choosenResources);
-			map.put(ResourceParameterName.PROCESSINGELEMENTS, result);
-
-		}
-		int memoryRequest;
-		try {
-			memoryRequest = Double.valueOf(task.getMemoryRequest()).intValue();
-		} catch (NoSuchFieldException e) {
-			memoryRequest = 0;
-		}
-		if (memoryRequest != 0) {
-			List<ComputingNode> nodes = null;
-			try {
-				Properties properties = new Properties();
-				properties.setProperty("type", ResourceType.COMPUTING_NODE.toString());
-				nodes = (List<ComputingNode>) unitsManager.filterResources(properties);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			Memory memory = null;
-			for (ComputingNode node : nodes) {
-
-				if (node.getFreeMemory() >= memoryRequest) {
-					memory = new Memory(node.getMemory(), memoryRequest, memoryRequest);
-				} else
-					return null;
-			}
-			map.put(ResourceParameterName.MEMORY, memory);
-
-		}
-
-		return map;
-	}
-
-	public String getName() {
-		return getClass().getName();
-	}
-
-	public void init(Properties properties) {
-		// no extra initialization is expected.
-	}
-
-}
Index: xssim/trunk/src/example/localplugin/SJF_EBFLocalPlugin.java
===================================================================
--- xssim/trunk/src/example/localplugin/SJF_EBFLocalPlugin.java	(revision 104)
+++ 	(revision )
@@ -1,80 +1,0 @@
-package example.localplugin;
-
-import gridsim.Gridlet;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-
-import schedframe.scheduling.Queue;
-import schedframe.scheduling.TaskInterface;
-import schedframe.scheduling.events.SchedulingEvent;
-import schedframe.scheduling.plugin.local.ResourceUnitsManagerInterface;
-import simulator.utils.MergeSort;
-
-public class SJF_EBFLocalPlugin extends BaseLocalPlugin {
-
-	public SJF_EBFLocalPlugin(){
-	}
-	
-	public void schedule(SchedulingEvent event,
-			List<? extends TaskInterface<?>> inExecution,
-			List<? extends Queue<? extends TaskInterface<?>>> queues,
-			ResourceUnitsManagerInterface unitsManagerInterface) {
-		
-		// do this trick to make add() method available
-		List <TaskInterface<?>> execute = (List<TaskInterface<?>>) inExecution;
-		
-		// chose the events types to serve. 
-		// Different actions for different events are possible.
-		switch(event.getType()){
-			//case START_TASK_EXECUTION:
-			//case TASK_FINISHED:
-			case TIMER:
-				// our tasks are placed only in first queue (see BaseLocalPlugin.placeTasksInQueues() method)
-				Queue<? extends TaskInterface<?>> q = queues.get(0);
-				
-				sortTasksInQueue(q);
-				
-				// check all tasks in queue
-				for(int i = 0; i < q.size(); i++){
-					TaskInterface<?> task = q.get(i);
-					// if status of the tasks in READY
-					if(task.getStatus() == Gridlet.READY){
-						// then try to execute this task. Add it the execute list.
-						if(execute.add(task)){
-							// if task started successfully, then remove it from the queue.
-							q.remove(i);
-							i--;
-						}
-					}
-				}
-				break;
-		}
-		
-	}
-
-	public String getName() {
-		return getClass().getName();
-	}
-
-	public void init(Properties properties) {
-		// no extra initialization is expected.
-	}
-	
-    public void sortTasksInQueue(Queue<? extends TaskInterface<?>> q) {
-    	
-    	TaskInterface<?>[] arrayQueue = new TaskInterface<?>[q.size()];
-    	int i = 0;
-    	for(TaskInterface<?> task: q){
-    		arrayQueue[i] = task;
-    		i++;
-    	}
-    	MergeSort mergeSort = new MergeSort();
-        mergeSort.initSort(arrayQueue, "getLength", true);
-        q.clear();
-        q.addAll(new ArrayList(Arrays.asList(arrayQueue)));
-    }
-
-}
