Index: DCWoRMS/trunk/src/simulator/GenericUser.java
===================================================================
--- DCWoRMS/trunk/src/simulator/GenericUser.java	(revision 477)
+++ DCWoRMS/trunk/src/simulator/GenericUser.java	(revision 490)
@@ -2,8 +2,9 @@
 
 
-import gssim.schedframe.scheduling.utils.JobDescription;
-import gssim.schedframe.scheduling.utils.TaskDescription;
 
 import java.util.List;
+
+import dcworms.schedframe.scheduling.utils.JobDescription;
+import dcworms.schedframe.scheduling.utils.TaskDescription;
 
 import schedframe.scheduling.tasks.Job;
Index: DCWoRMS/trunk/src/simulator/stats/implementation/DCWormsStatistics.java
===================================================================
--- DCWoRMS/trunk/src/simulator/stats/implementation/DCWormsStatistics.java	(revision 481)
+++ DCWoRMS/trunk/src/simulator/stats/implementation/DCWormsStatistics.java	(revision 490)
@@ -19,4 +19,5 @@
 import java.util.TreeMap;
 
+import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -55,5 +56,5 @@
 import schedframe.exceptions.ResourceException;
 import schedframe.resources.ResourceType;
-import schedframe.resources.StandardResourceType;
+import schedframe.resources.UserResourceType;
 import schedframe.resources.computing.ComputingResource;
 import schedframe.resources.computing.extensions.Extension;
@@ -87,7 +88,7 @@
 import csiro.mit.utils.jfreechart.timetablechart.data.TimetableEventSource;
 import csiro.mit.utils.jfreechart.timetablechart.renderer.TimetableRenderer;
+import dcworms.schedframe.scheduling.ExecTask;
+import dcworms.schedframe.scheduling.Executable;
 import eduni.simjava.Sim_stat;
-import gssim.schedframe.scheduling.ExecTask;
-import gssim.schedframe.scheduling.Executable;
 
 public class DCWormsStatistics implements SimulationStatistics {
@@ -149,5 +150,5 @@
 	protected HashMap<String, List<String>> task_processorsMap;
 
-	protected JobRegistryImpl jr;
+	protected JobRegistry jr;
 
 	
@@ -168,5 +169,5 @@
 
 		this.resourceController = resourceController;
-		 jr = new JobRegistryImpl("COMPUTING_GRID_0#BROKER");
+		jr = new JobRegistryImpl("");
 		init();
 	}
@@ -231,8 +232,5 @@
 			simulationStatsFile.close();
 		}
-
-	}
-
-
+	}
 
 	/************* RESOURCE STATISTICS SECTION **************/
@@ -241,29 +239,17 @@
 		
 		//TEMPORARY CONFIGURATION SECTION
-		StandardResourceType [] resForAnalyze = {StandardResourceType.DataCenter, StandardResourceType.ComputingNode, StandardResourceType.Processor};
-		HashMap<StandardResourceType, List<Stats>> type_stats = new HashMap<StandardResourceType, List<Stats>>();
-		
-		List<Stats> crStats = new ArrayList<Stats>();
-		crStats.add(Stats.textLoad);
-		crStats.add(Stats.chartLoad);
-		crStats.add(Stats.textEnergy);
-		crStats.add(Stats.chartEnergy);
-		type_stats.put(StandardResourceType.DataCenter, crStats);
-		
-		List<Stats> cnStats = new ArrayList<Stats>();
-		cnStats.add(Stats.textLoad);
-		cnStats.add(Stats.chartLoad);
-		cnStats.add(Stats.textEnergy);
-		cnStats.add(Stats.chartEnergy);
-		type_stats.put(StandardResourceType.ComputingNode, cnStats);
-		
-		List<Stats> cpuStats = new ArrayList<Stats>();
-		cpuStats.add(Stats.textLoad);
-		cpuStats.add(Stats.chartLoad);
-		cpuStats.add(Stats.textEnergy);
-		//cpuStats.add(Stats.chartEnergy);
-		type_stats.put(StandardResourceType.Processor, cpuStats);
-		
-		
+		
+		HashMap<String, List<Stats>> type_stats = new HashMap<String, List<Stats>>();
+		
+		for(String resourceName: resourceController.getComputingResourceLayers()){
+			List<Stats> cStats = new ArrayList<Stats>();
+			cStats.add(Stats.textLoad);
+			if(ArrayUtils.contains(configuration.resForUtilizationChart, resourceName))
+				cStats.add(Stats.chartLoad);
+			cStats.add(Stats.textEnergy);
+			if(ArrayUtils.contains(configuration.resForEnergyChart, resourceName))
+				cStats.add(Stats.chartEnergy);
+			type_stats.put(resourceName, cStats);
+		}		
 		
 		peGanttMap = new HashMap<String, TimetableEventSource>();
@@ -305,17 +291,17 @@
 		}
 		
-		for(StandardResourceType resType: resForAnalyze){
+		for(String resourceName: resourceController.getComputingResourceLayers()){
 			List<ComputingResource> resources = null;
 			try {
 				resources = new ArrayList<ComputingResource>();
 				for(ComputingResource compRes: resourceController.getComputingResources() ){
-					resources.addAll(compRes.getDescendantsByType(resType));
-				}
-				/*if(resourceController.getComputingResources().get(0).getType().equals(resType))
-					resources.addAll(resourceController.getComputingResources());*/
+					resources.addAll(compRes.getDescendantsByType(new UserResourceType(resourceName)));
+				}
+				if(resourceController.getComputingResources().get(0).getType().getName().equals(resourceName))
+					resources.addAll(resourceController.getComputingResources());
 			} catch (Exception e) {
 				continue;
 			}
-			if(type_stats.containsKey(resType)){
+			if(type_stats.containsKey(resourceName)){
 				Map<String, GSSAccumulator> energyCategoryStats = new TreeMap<String, GSSAccumulator>();
 				Map<String, GSSAccumulator> loadCategoryStats = new TreeMap<String, GSSAccumulator>();
@@ -323,5 +309,5 @@
 					ResourceUsageStats resourceUsage = null;
 					ResourceEnergyStats energyUsage = null;
-					if(type_stats.get(resType).contains(Stats.textLoad)){
+					if(type_stats.get(resourceName).contains(Stats.textLoad)){
 						resourceUsage = gatherResourceLoadStats(resource, basicResStats);
 						resourceUsage.setMeanUsage(calculateResourceLoad(resource, basicResLoad));
@@ -331,10 +317,10 @@
 						}
 					}
-					if(type_stats.get(resType).contains(Stats.chartLoad)){
+					if(type_stats.get(resourceName).contains(Stats.chartLoad)){
 						if (configuration.creatediagrams_resources) {
 							createResourceLoadDiagram(resourceUsage);
 						}
 					}
-					if(type_stats.get(resType).contains(Stats.textEnergy)){
+					if(type_stats.get(resourceName).contains(Stats.textEnergy)){
 						energyUsage = gatherResourceEnergyStats(resource);
 						energyUsage.setMeanUsage(calculateEnergyLoad(energyUsage));
@@ -352,6 +338,5 @@
 							boolean top = true;
 							while(parent != null){
-								if(een != null &&  een.getPowerProfile() != null)
-								{
+								if(een != null &&  een.getPowerProfile() != null) {
 									top = false;
 									break;
@@ -368,5 +353,5 @@
 						}
 					}
-					if(type_stats.get(resType).contains(Stats.chartEnergy)){
+					if(type_stats.get(resourceName).contains(Stats.chartEnergy)){
 
 						if (configuration.creatediagrams_energyusage) {
@@ -760,5 +745,5 @@
 	private JFreeChart getResourcesEnergyDiagram(ResourceType resType, String chartName,
 			Title subtitle, String simulationTime) {
-		String energy = "ENERGY [W]";
+		String energy = "POWER [W]";
 		boolean urls = false;
 		boolean tooltip = true;
Index: DCWoRMS/trunk/src/simulator/stats/implementation/TaskStats.java
===================================================================
--- DCWoRMS/trunk/src/simulator/stats/implementation/TaskStats.java	(revision 481)
+++ DCWoRMS/trunk/src/simulator/stats/implementation/TaskStats.java	(revision 490)
@@ -1,7 +1,8 @@
 package simulator.stats.implementation;
 
-import gssim.schedframe.scheduling.Executable;
 
 import java.util.List;
+
+import dcworms.schedframe.scheduling.Executable;
 
 import simulator.stats.implementation.out.StatsSerializer;
Index: DCWoRMS/trunk/src/simulator/DCWormsUsers.java
===================================================================
--- DCWoRMS/trunk/src/simulator/DCWormsUsers.java	(revision 481)
+++ DCWoRMS/trunk/src/simulator/DCWormsUsers.java	(revision 490)
@@ -1,14 +1,13 @@
 package simulator;
 
+import dcworms.schedframe.scheduling.utils.JobDescription;
+import dcworms.schedframe.scheduling.utils.TaskDescription;
 import eduni.simjava.Sim_event;
 import eduni.simjava.Sim_system;
 import gridsim.GridSim;
 import gridsim.GridSimTags;
-import gridsim.Gridlet;
 import gridsim.IO_data;
 import gridsim.gssim.DCWormsTags;
 import gridsim.net.InfoPacket;
-import gssim.schedframe.scheduling.utils.JobDescription;
-import gssim.schedframe.scheduling.utils.TaskDescription;
 
 import java.util.ArrayList;
Index: DCWoRMS/trunk/src/simulator/utils/XsltTransformations.java
===================================================================
--- DCWoRMS/trunk/src/simulator/utils/XsltTransformations.java	(revision 477)
+++ DCWoRMS/trunk/src/simulator/utils/XsltTransformations.java	(revision 490)
@@ -1,6 +1,4 @@
 package simulator.utils;
 
-import gssim.schedframe.scheduling.utils.JobDescription;
-import gssim.schedframe.scheduling.utils.TaskDescription;
 
 import java.io.IOException;
@@ -20,4 +18,7 @@
 import javax.xml.transform.stream.StreamSource;
 import javax.xml.xpath.XPathExpressionException;
+
+import dcworms.schedframe.scheduling.utils.JobDescription;
+import dcworms.schedframe.scheduling.utils.TaskDescription;
 
 /**
Index: DCWoRMS/trunk/src/simulator/reader/ResourceReader.java
===================================================================
--- DCWoRMS/trunk/src/simulator/reader/ResourceReader.java	(revision 477)
+++ DCWoRMS/trunk/src/simulator/reader/ResourceReader.java	(revision 490)
@@ -11,7 +11,9 @@
 import java.util.Deque;
 import java.util.HashMap;
+import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.exolab.castor.types.AnyNode;
@@ -54,4 +56,6 @@
 	private String globalSchedulingPluginName;
 	
+	private Set<String> compResLayers;
+	
 	public ResourceReader(ConfigurationOptions options) throws IOException {
 
@@ -59,4 +63,5 @@
 		globalSchedulingPluginName = "example.globalplugin.GridFCFSRoundRobinPlugin";
 		prepareCalendar();
+		compResLayers = new LinkedHashSet<String>();
 	}
 
@@ -97,4 +102,5 @@
 		ResourceController rc = new ResourceController(mainScheduler, computingResources);
 		rc.setInitList(toInit);
+		rc.setCompResLayers(compResLayers);
 		return rc;
 	}
@@ -192,4 +198,5 @@
 			ComputingResource parentResource = resStructure.pop();
 			toInit.add(parentResource);
+			compResLayers.add(parentResource.getType().getName());
 			List<AbstractResourceDescription> childrenResDesc = parentResDesc.getChildren();
 			if (childrenResDesc == null){
Index: DCWoRMS/trunk/src/simulator/workload/WorkloadLoader.java
===================================================================
--- DCWoRMS/trunk/src/simulator/workload/WorkloadLoader.java	(revision 477)
+++ DCWoRMS/trunk/src/simulator/workload/WorkloadLoader.java	(revision 490)
@@ -2,6 +2,4 @@
 
 import org.qcg.broker.schemas.jobdesc.QcgJob;
-import gssim.schedframe.scheduling.utils.JobDescription;
-import gssim.schedframe.scheduling.utils.TaskDescription;
 
 import java.io.IOException;
@@ -24,4 +22,7 @@
 import org.exolab.castor.xml.MarshalException;
 import org.exolab.castor.xml.ValidationException;
+
+import dcworms.schedframe.scheduling.utils.JobDescription;
+import dcworms.schedframe.scheduling.utils.TaskDescription;
 
 
Index: DCWoRMS/trunk/src/simulator/ConfigurationOptions.java
===================================================================
--- DCWoRMS/trunk/src/simulator/ConfigurationOptions.java	(revision 477)
+++ DCWoRMS/trunk/src/simulator/ConfigurationOptions.java	(revision 490)
@@ -8,5 +8,4 @@
 import java.util.PropertyResourceBundle;
 import java.util.ResourceBundle;
-import java.util.logging.FileHandler;
 
 /**
@@ -53,5 +52,4 @@
 	public static final String READ_SCENARIO_INPUT_FOLDER = READ_SCENARIO_MODIFIER
 			+ ".inputfolder";
-	public static final String READ_SCENARIO_INPUT_TAR = READ_SCENARIO_MODIFIER+ ".tar";
 	
 	/** The name of the workload file */
@@ -59,16 +57,9 @@
 			+ ".workloadfilename";
 
-	/** Shall a detailed history be printed */
-	public static final String PRINT_HISTORY_MODIFIER = "printhistory";
-
 	/** The default name of a workload file */
 	public static final String DEFAULT_WORKLOAD_FILE_NAME = "workload.swf";
 
 	public static final String CREATE_XML_SUPPLEMENT_FILES = "createXMLSupplement";
-	
-	public static final String PROVIDER_LIST_FILE = "in/provider.list";
-	
-	/** Network topology file path */
-	public static final String NETWORK_TOPOLOGY_FILE_MODIFIER = "networktopologyfilename";
+
 	
 	public static final String CREATEDIAGRAMS = "creatediagrams";
@@ -79,10 +70,8 @@
 	public static final String CREATEDIAGRAMS_TASKS = CREATEDIAGRAMS + ".tasks";
 	public static final String CREATEDIAGRAMS_TASKSWAITINGTIME = CREATEDIAGRAMS + ".taskswaitingtime";
-	public static final String CREATEDIAGRAMS_RESERVATIONS = CREATEDIAGRAMS + ".reservations";
 	
 	public static final String CREATESTATISTICS = "createstatistics";
 	public static final String ACCUMULATED_RESOURCES_STATISTICS = CREATESTATISTICS + ".accumulatedresources";
 	public static final String EXTENDED_TASKS_STATISTICS = CREATESTATISTICS + ".extendedtasks";
-	public static final String GRIDLET_HISTORY_STATISTICS = CREATESTATISTICS + ".gridlethistory";
 	public static final String JOBS_STATISTICS = CREATESTATISTICS + ".jobs";
 	public static final String SIMULATION_STATISTICS = CREATESTATISTICS + ".simulation";
@@ -111,5 +100,4 @@
 	/* =============================================================================================== */
 	
-	public String providerListFile = null;
 
 
@@ -152,8 +140,4 @@
 	public String inputWorkloadFileName = DEFAULT_WORKLOAD_FILE_NAME;
 
-	/**
-	 * a txt file name with topology description
-	 */
-	public String networkTopologyFileName = null;
 	
 	/**
@@ -171,9 +155,4 @@
 	public boolean overwriteFiles = false;
 
-	/**
-	 * true if the history files are to be generated (makes the simulation
-	 * slower)
-	 */
-	public boolean printHistory = false;
 	
 	/**
@@ -183,20 +162,19 @@
 
 	public boolean creatediagrams_processors = true;
-	public boolean creatediagrams_reservations = true;
 	public boolean creatediagrams_resources = true;
 	public boolean creatediagrams_energyusage = true;
 	public boolean creatediagrams_tasks = true;
 	public boolean creatediagrams_taskswaitingtime = true;
-	public double     creatediagrams_resources_scale = 1;
+	public double  creatediagrams_resources_scale = 1;
 	
 	public boolean createaccumulatedresourcesstatistics = true;
 	public boolean createextendedtasksstatistics = true;
-	public boolean creategridlethistorystatistics = true;
 	public boolean createjobsstatistics = true;
 	public boolean createsimulationstatistics = true;
 	public boolean formatstatisticsoutput = false;
 	
-	public static final String ENV_DESC_MODIFIER = "envdesc";
-	public String envDescFileName = null;
+	public String[] resForEnergyChart;
+	public String[] resForUtilizationChart;
+	
 	/**
 	 * An empty constructor.
@@ -231,10 +209,5 @@
 		
 		co.resdescFileName = bundle.getString(RESOURCE_DESC_MODIFIER);
-		
-		try {
-			co.envDescFileName = bundle.getString(ENV_DESC_MODIFIER);
-		} catch(MissingResourceException e){
-			co.envDescFileName = null;
-		}
+
 		
 		try {
@@ -264,12 +237,4 @@
 		}
 
-
-		try {
-			co.networkTopologyFileName = bundle
-					.getString(NETWORK_TOPOLOGY_FILE_MODIFIER);
-		} catch(MissingResourceException e){
-			co.networkTopologyFileName = null;
-		}
-		
 		if (co.createScenario == false) {
 			// read scenario
@@ -279,11 +244,4 @@
 			} catch (MissingResourceException e) {
 				co.inputFolder = null;
-			}
-			
-			try {
-				co.inputTar = getSeparatorTerminatedPath(bundle
-					.getString(READ_SCENARIO_INPUT_TAR));
-			} catch (MissingResourceException e) {
-				co.inputTar = null;
 			}
 			
@@ -307,12 +265,5 @@
 			co.createXMLSupplement = false;
 		}
-		
-		try {
-			co.printHistory = Boolean.valueOf(
-					bundle.getString(PRINT_HISTORY_MODIFIER)).booleanValue();
-		} catch(MissingResourceException e){
-			co.printHistory = false;
-		}
-		
+
 		// create diagrams
 		
@@ -330,13 +281,10 @@
 			co.creatediagrams_processors = createDiagrams;
 		}
-		try {
-			co.creatediagrams_reservations = Boolean.valueOf(
-					bundle.getString(CREATEDIAGRAMS_RESERVATIONS)).booleanValue() && createDiagrams;
-		} catch(MissingResourceException e){
-			co.creatediagrams_reservations = createDiagrams;
-		}
-		try {
-			co.creatediagrams_resources = Boolean.valueOf(
-					bundle.getString(CREATEDIAGRAMS_UTILIZATION)).booleanValue() && createDiagrams;
+
+		try {
+			co.resForUtilizationChart = bundle.getString(CREATEDIAGRAMS_UTILIZATION).split(";");
+			if(co.resForUtilizationChart.length > 0){
+				co.creatediagrams_resources = true && createDiagrams;
+			}
 		} catch(MissingResourceException e){
 			co.creatediagrams_resources = createDiagrams;
@@ -349,6 +297,8 @@
 		}
 		try {
-			co.creatediagrams_energyusage = Boolean.valueOf(
-					bundle.getString(CREATEDIAGRAMS_ENERGYUSAGE)).booleanValue() && createDiagrams;
+			co.resForEnergyChart = bundle.getString(CREATEDIAGRAMS_ENERGYUSAGE).split(";");
+			if(co.resForEnergyChart.length > 0){
+				co.creatediagrams_energyusage = true && createDiagrams;
+			}
 		} catch(MissingResourceException e){
 			co.creatediagrams_energyusage = createDiagrams;
@@ -367,5 +317,4 @@
 		}
 		
-		
 		try {
 			co.statsOutputSubfolderNameCreate = bundle.getString(STATS_OUTPUT_SUBFOLDER_NAME);
@@ -388,10 +337,5 @@
 			co.createextendedtasksstatistics = true;
 		}
-		try {
-			co.creategridlethistorystatistics = Boolean.valueOf(
-					bundle.getString(GRIDLET_HISTORY_STATISTICS)).booleanValue();
-		} catch(MissingResourceException e){
-			co.creategridlethistorystatistics = true;
-		}
+
 		try {
 			co.createjobsstatistics = Boolean.valueOf(
@@ -419,63 +363,4 @@
 		}
 		return co;
-	}
-
-	/**
-	 * Creates a new configuration object in the CREATE_SCENARIO mode.
-	 * 
-	 * @param gridSchedulingPluginName
-	 * @param forecastFinishTimePluginName
-	 * @param localAllocPolicyPluginName
-	 * @param resdescFileName
-	 * @param taskParamFileName
-	 * @param outputFolder
-	 * @param outputWorkloadFileName
-	 * @param overwriteFiles
-	 * @param printHistory
-	 */
-	public ConfigurationOptions(String gridSchedulingPluginName,
-			String exectimeestimationplugin,
-			String localAllocPolicyPluginName, String resdescFileName,
-			String taskParamFileName, String outputFolder,
-			String outputWorkloadFileName, boolean overwriteFiles,
-			boolean printHistory) {
-		super();
-		this.resdescFileName = resdescFileName;
-		this.workloadDescFileName = taskParamFileName;
-		this.outputFolder = getSeparatorTerminatedPath(outputFolder);
-		this.outputWorkloadFileName = outputWorkloadFileName;
-		this.overwriteFiles = overwriteFiles;
-		this.printHistory = printHistory;
-
-		// the create mode
-		this.createScenario = true;
-	}
-
-	/**
-	 * Creates a new configuration object in the READ_SCENARIO mode.
-	 * 
-	 * @param gridSchedulingPluginName
-	 * @param forecastFinishTimePluginName
-	 * @param localAllocPolicyPluginName
-	 * @param resdescFileName
-	 * @param inputFolder
-	 * @param inputWorkloadFileName
-	 * @param overwriteFiles
-	 * @param printHistory
-	 */
-	public ConfigurationOptions(String gridSchedulingPluginName,
-			String exectimeestimationplugin,
-			String localAllocPolicyPluginName, String resdescFileName,
-			String inputFolder, String inputWorkloadFileName,
-			boolean overwriteFiles, boolean printHistory) {
-		super();
-		this.resdescFileName = resdescFileName;
-		this.inputFolder = getSeparatorTerminatedPath(inputFolder);
-		this.inputWorkloadFileName = inputWorkloadFileName;
-		this.overwriteFiles = overwriteFiles;
-		this.printHistory = printHistory;
-		//FileHandler.loadDataset(new File("iris.data"), 4, ",");
-		// the read mode
-		this.createScenario = false;
 	}
 
