Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/locale/pl_PL/Charts.properties
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/locale/pl_PL/Charts.properties	(revision 15)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/locale/pl_PL/Charts.properties	(revision 22)
@@ -32,2 +32,3 @@
 SumType=Suma
 Aggregate=Sumaryczny
+GanntChartTitle=Wykres alokacji zadaÅ dla Grid Scheduling Simulator
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/locale/en_US/Charts.properties
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/locale/en_US/Charts.properties	(revision 15)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/locale/en_US/Charts.properties	(revision 22)
@@ -32,2 +32,3 @@
 SumType=Sum
 Aggregate=Aggregated
+GanntChartTitle=Task Allocation Chart for Grid Scheduling Simulator
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/gssim/editors/archive/ExperimentStatisticsWindow.mxml
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/gssim/editors/archive/ExperimentStatisticsWindow.mxml	(revision 15)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/gssim/editors/archive/ExperimentStatisticsWindow.mxml	(revision 22)
@@ -12,4 +12,5 @@
 <fx:Script>
 	<![CDATA[
+		import gssim.gssimstudio.editor.charts.GanntChart;
 		import gssim.gssimstudio.editor.charts.ResourceChart;
 		import gssim.gssimstudio.editor.charts.ResourceChartModel;
@@ -45,4 +46,10 @@
 			resourceChart.addChild(viewer);
 			//parentApplication.bindSubmodel(viewer, 'model', parentApplication.gsSimStudioModel, 'resourceChartComponents', '' + i);
+			
+			var gannt : GanntChart = new GanntChart();
+			gannt.expId = i;
+			gannt.expName = experiment.name;
+			gannt.service = new VineRemoteObjectProxy(parentApplication.service, i);
+			ganntChart.addChild(gannt);
 		}
 		
@@ -115,9 +122,7 @@
 				<!--<charts:ResourceViewer width="100%" height="100%" />-->
 			</mx:VBox>
+			<mx:VBox width="100%" height="100%" id="ganntChart" label="{resourceManager.getString('ArchiveViewer', 'Task')}">
+			</mx:VBox>
 			<!--
-			<mx:VBox width="100%" height="100%" id="taskChart" label="{resourceManager.getString('ArchiveViewer', 'Task')}">
-				<charts:ScheduleViewer width="100%" height="100%" />
-				<mx:Label text="task chart"/>
-			</mx:VBox>
 			<mx:VBox width="100%" height="100%" id="lineChart" label="{resourceManager.getString('ArchiveViewer', 'Line')}">
 				<charts:ScheduleViewer width="100%" height="100%" />
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/charts/GanntChart.mxml
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/charts/GanntChart.mxml	(revision 22)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/charts/GanntChart.mxml	(revision 22)
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>
+<mx:Canvas
+	xmlns:s="library://ns.adobe.com/flex/spark"
+	xmlns:mx="library://ns.adobe.com/flex/mx"
+	xmlns:cp="gssim.gssimstudio.editor.charts.com.connectedpixel.charts.*" 
+	xmlns:c="gssim.gssimstudio.editor.charts.components.*"
+	xmlns:fx="http://ns.adobe.com/mxml/2009"  
+	width="100%" creationComplete="init()"
+	height="100%" xmlns:charts="com.iwobanas.charts.*" xmlns:data="gssim.gssimstudio.editor.charting.data.*" xmlns:charts1="gssim.gssimstudio.editor.charts.*" 
+>
+	
+	<fx:Metadata>
+		[ResourceBundle("Charts")]
+	</fx:Metadata>
+	
+	<!--<charts1:GanntChartModel id="model"/>-->
+	<fx:Script>
+	    <![CDATA[
+			import gssim.gssimstudio.editor.script.command.SaveToPNGCommand;
+			import gssim.gssimstudio.editor.script.views.ViewsHelper;
+			
+			import mx.binding.utils.BindingUtils;
+			import mx.charts.AxisRenderer;
+			import mx.charts.chartClasses.AxisLabelSet;
+			import mx.collections.ArrayCollection;
+			import mx.controls.Alert;
+			import mx.controls.HScrollBar;
+			import mx.controls.Label;
+			import mx.controls.scrollClasses.ScrollBar;
+			import mx.events.FlexEvent;
+			import mx.events.ResizeEvent;
+			import mx.events.ScrollEvent;
+			import mx.events.SliderEvent;
+			import mx.messaging.management.ObjectInstance;
+			import mx.rpc.events.ResultEvent;
+			import mx.utils.ArrayUtil;
+			import mx.utils.ObjectUtil;
+	
+			[Bindable]
+			public var expId : int;
+			[Bindable]
+			public var expName : String;
+			
+			[Bindable]
+			protected var date : Date = new Date();
+
+			private function formatDate(value:Date, previousValue:Date, axis:DateTimeAxis) : String 
+			{      
+				var percent : Number = 1;//_hZoom / 100;
+				var limit : Number = (hAxis.maximum.getTime() - hAxis.minimum.getTime()) * 0.07;
+				
+				if (hAxis.maximum.getTime() - value.getTime() > limit)
+				{
+					var dateLabel : String = df.format(value);
+					var dateLabelLongSec : String = dateLabel;
+					if (value.seconds < 10)
+					{
+						dateLabelLongSec = dateLabel.substring(0, dateLabel.length - 1);
+						dateLabelLongSec += "0" + value.seconds;
+					}
+					return dateLabelLongSec;
+				}
+				else
+				{
+					return "";
+				}
+			}
+			
+			private function saveAsPNG() : void
+			{
+				date = new Date();
+				var k : SaveToPNGCommand = new SaveToPNGCommand(fullChart);
+				k.execute();
+			}
+			
+			protected function initChart() : void
+			{
+				
+			}
+			
+			protected function init():void
+			{
+				parentApplication.addModelUpdatedSingleCallbacks(service.getTasksAllocationsFromDb(expId), initChart);
+			}
+			
+	    ]]>
+	</fx:Script>
+	
+	<fx:Style source="/gssim/gssimstudio/editor/assets/css/charts.css"/>
+
+	<fx:Declarations>
+	
+		<fx:Object id="service"/>
+		
+		<mx:SolidColorStroke id="s2" color="red" weight="2"/>
+		<mx:SolidColorStroke id="axisStroke" 
+			color="#224488" 
+			weight="8" 
+			alpha=".25"
+			caps="square"
+		/>
+		
+		<mx:SolidColor id="sc3" color="blue" alpha=".6"/>
+		
+		<mx:DateFormatter id="df" formatString="EEE, J:NN:S"/>
+	
+	</fx:Declarations>
+		
+	<mx:VBox width="100%" height="100%">
+		<mx:HBox>
+			<mx:Button label="PNG" click="saveAsPNG();"/>
+		</mx:HBox>
+		<mx:VBox width="100%" height="100%" verticalGap="1" id="fullChart">
+			<mx:Label text="{resourceManager.getString('Charts', 'GanntChartTitle')}" width="100%" styleName="title"
+					  />
+			<mx:Label text="{resourceManager.getString('Charts', 'CreatedFor')} {expName} {resourceManager.getString('Charts', 'Day')} {date}" width="100%" styleName="subtitle"/>
+			<mx:HBox width="100%" height="100%">
+				<mx:VBox width="100%" height="100%">
+				
+					<!--~~~~~~~~~~ RESOURCE VIEWER ~~~~~~~~~~-->
+					<mx:AreaChart 
+						id="resourceViewer" height="100%" width="100%"
+				        paddingRight="5" paddingLeft="5"
+						dataProvider="{parentApplication.gsSimStudioModel.resourceChartComponents['' + expId].resourceTimelineList}"
+				    >
+				        <mx:horizontalAxis>
+				            <mx:DateTimeAxis 
+				            	id="hAxis" 
+				            	dataUnits="seconds" 
+				            	alignLabelsToUnits="false" 
+				            	labelFunction="formatDate" 
+				            	title="{resourceManager.getString('Charts', 'SimulationTime')}"
+				             />
+				        </mx:horizontalAxis>
+				
+				        <mx:verticalAxis>
+				            <mx:LinearAxis 
+				            	id="vAxis" 
+				            	baseAtZero="false" 
+				            	maximumLabelPrecision="1" 
+				            	autoAdjust="false" 
+				            	title="{resourceManager.getString('Charts', 'CPU')}"
+				            />
+				        </mx:verticalAxis>
+				
+						<mx:series>
+				            <mx:AreaSeries 
+								filterData="false"
+				            	yField="usage" 
+				            	xField="timestamp" 
+				            	form="step" 
+				            	areaFill="{sc3}" 
+				            />
+				        </mx:series>
+					     
+				    </mx:AreaChart>
+				    <!--~~~~~~~~~~ END OF RESOURCE VIEWER ~~~~~~~~~~-->
+				    
+				</mx:VBox>
+			</mx:HBox>
+		</mx:VBox>
+	</mx:VBox>
+</mx:Canvas>
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/charts/GanntChartModel.as
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/charts/GanntChartModel.as	(revision 22)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/charts/GanntChartModel.as	(revision 22)
@@ -0,0 +1,18 @@
+package gssim.gssimstudio.editor.charts
+{
+import flash.events.EventDispatcher;
+import flash.utils.ByteArray;
+
+import mx.collections.ArrayCollection;
+
+	[Bindable]
+	[RemoteClass(alias = "gssim.gssimstudio.flex.app.editor.GanntChartModel")]
+	public class GanntChartModel {
+
+		public function GanntChartModel() {
+		}
+
+		public var error:String;
+		public var allocationList:ArrayCollection;
+	}
+}
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/GSSimStudioModel.as
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/GSSimStudioModel.as	(revision 15)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/app/gssim/gssimstudio/editor/GSSimStudioModel.as	(revision 22)
@@ -21,4 +21,5 @@
 		public var comparisonComponents : Object;
 		public var resourceChartComponents:Object;
+		public var ganntChartComponents:Object;
 		
 		public var experimentList:ArrayCollection;
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GanntChart.java
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GanntChart.java	(revision 22)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GanntChart.java	(revision 22)
@@ -0,0 +1,218 @@
+package gssim.gssimstudio.flex.app.editor;
+
+import java.io.*;
+import java.util.*;
+
+import org.vinetoolkit.ResourceManager;
+import org.vinetoolkit.ServiceContext;
+import org.vinetoolkit.Session;
+
+import org.vinetoolkit.web.spi.annotation.BlazeDsDestination;
+import org.vinetoolkit.web.spi.annotation.BlazeDsMethod;
+import org.vinetoolkit.web.flex.blazeds.shared.utils.VineFlexUtilClass;
+import org.vinetoolkit.web.portlet.spi.annotation.PortletDisplayName;
+import org.vinetoolkit.role.VineRoleManager;
+import org.vinetoolkit.spi.util.ServiceLog;
+
+import flex.messaging.FlexContext;
+import org.vinetoolkit.web.spi.annotation.BlazeDsDestination;
+import org.vinetoolkit.web.spi.annotation.BlazeDsMethod;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.disk.DiskFileItem;
+import org.vinetoolkit.io.*;
+import org.vinetoolkit.io.sets.FileLocationSet;
+import org.vinetoolkit.ServiceContext;
+import org.vinetoolkit.Location;
+import org.vinetoolkit.task.TaskMonitor;
+import org.vinetoolkit.task.TaskOptions;
+import org.vinetoolkit.task.TaskException;
+import org.vinetoolkit.localhost.io.FileSystemResource;
+import org.vinetoolkit.localhost.io.FileSystemManager;
+import org.vinetoolkit.spi.util.ServiceLog;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+
+import org.vinetoolkit.web.flex.blazeds.shared.uibackend.ModelInitialization;
+import org.vinetoolkit.web.flex.blazeds.shared.uibackend.FileUploadAccepter;
+import java.security.Principal;
+
+import gssim.db.dao.data.Allocation;
+import gssim.db.dao.data.AllocationDetails;
+import gssim.db.dao.data.BlobProperty;
+import gssim.db.dao.data.Configuration;
+import gssim.db.dao.data.Metaexperiment;
+import gssim.db.dao.data.Experiment;
+import gssim.db.dao.data.ExperimentStats;
+import gssim.db.dao.data.Queues;
+import gssim.db.dao.data.Plugin;
+import gssim.db.dao.data.PluginCompatibility;
+import gssim.db.dao.data.Reservation;
+import gssim.db.dao.data.ReservationDetails;
+import gssim.db.dao.data.Resource;
+import gssim.db.dao.data.ResourceAllTimeline;
+import gssim.db.dao.data.ResourceEnTimeline;
+import gssim.db.dao.data.Task;
+import gssim.db.dao.data.TextProperty;
+import gssim.db.dao.data.Unit;
+import gssim.db.dao.data.UnitAllTimeline;
+import gssim.db.dao.data.UnitDetails;
+import gssim.db.dao.data.UnitEnTimeline;
+import gssim.db.dao.data.User;
+import gssim.db.find.Finder;
+import gssim.db.mysql.AllocationDAO;
+import gssim.db.mysql.AllocationDetailsDAO;
+import gssim.db.mysql.BlobPropertyDAO;
+import gssim.db.mysql.ConfigurationDAO;
+import gssim.db.mysql.ExperimentDAO;
+import gssim.db.mysql.MetaexperimentDAO;
+import gssim.db.mysql.ExperimentStatsDAO;
+import gssim.db.mysql.MySQLDAOFactory;
+import gssim.db.mysql.QueuesDAO;
+import gssim.db.mysql.PluginDAO;
+import gssim.db.mysql.PluginCompatibilityDAO;
+import gssim.db.mysql.ReservationDAO;
+import gssim.db.mysql.ReservationDetailsDAO;
+import gssim.db.mysql.ResourceAllTimelineDAO;
+import gssim.db.mysql.ResourceDAO;
+import gssim.db.mysql.ResourceEnTimelineDAO;
+import gssim.db.mysql.TaskDAO;
+import gssim.db.mysql.TextPropertyDAO;
+import gssim.db.mysql.UnitAllTimelineDAO;
+import gssim.db.mysql.UnitDAO;
+import gssim.db.mysql.UnitDetailsDAO;
+import gssim.db.mysql.UnitEnTimelineDAO;
+import gssim.db.mysql.UserDAO;
+
+import java.net.MalformedURLException;
+
+import javax.servlet.ServletContext;
+
+/**
+ * @author Mateusz Cichenski, Jarek Szymczak
+ */
+@BlazeDsDestination(portletEntry = false, locales = {"en_US","pl_PL"}, names = {"GSSim Studio","GSSim Studio"}, descriptions = {"Application for GSSim job description","Aplikacja do generowania zadaï¿œ dla symulatora GSSim"})
+public class GanntChart {
+
+	/**
+	 * The location of database source
+	 */
+	private String dbAddress = "seagrass.man.poznan.pl:3306/gssim_results";
+	/**
+	 * Username to access database
+	 */
+	private String dbUser = "gssim";
+	/**
+	 * Password to database [is it safe?]
+	 */
+	private String dbPassword = "Ua7Ahs9r";
+	
+	private Boolean developement = true;
+
+	private static MySQLDAOFactory factory;
+
+	/**
+	 * Logger instance for this class
+	 */
+    private ServiceLog log = ServiceLog.getInstance(GanntChart.class);
+    
+    @BlazeDsMethod()
+	public GanntChartModel getTasksAllocationsFromDb(Integer expId) {
+
+    	GanntChartModel model = (GanntChartModel) VineFlexUtilClass.getUIModel();
+		
+		Connection connection = null;
+		try {
+			connection = factory().createDBConnection(dbAddress, dbUser,
+					dbPassword);
+			
+			TaskDAO taskDAO = factory.createTask();
+			
+			Finder taskFinder = Finder.getTaskFinder(expId, null, null, null, null, null, null, null);
+			
+			List<Task> taskList = taskDAO.find(taskFinder);
+			
+			AllocationDAO allocationDAO = factory.createAllocation();
+			
+			List<Allocation> list = new List<Allocation>();
+			
+			for (int i = 0; i < taskList.size(); i++)
+			{
+				Finder allocationFinder = Finder.getAllocationFinder(taskList.get(i).getPK(), null);
+				List<Allocation> allocationList = allocationDAO.find(allocationFinder);
+				list.addAll(allocationList);
+			}
+
+			model.setAllocationList(list);
+
+		} catch (SQLException e) {
+			setSqlError("Gannt", model, e);
+		} catch (InstantiationException e) {
+			setDbConnectionError(model, e);		
+		} catch (IllegalAccessException e) {
+			setDbConnectionError(model, e);	
+		} catch (ClassNotFoundException e) {
+			setDbConnectionError(model, e);	
+		} catch (Exception e) {
+			setError("Unexpected error occured", model, e);	
+		} finally {
+			closeConnection(connection, model);
+		}
+
+		return model;
+	}
+	
+	private void closeConnection(Connection connection, ResourceChartModel model) {
+		String error = model.getError();
+		
+		if (connection != null)
+			try {
+				connection.close();
+			} catch (SQLException e) {
+				error = model.getError();
+				if (error == null || error.equals("")) {
+					error = "Error while trying to close the SQL connection";
+				} else {
+					error += System.getProperty("line.separator");
+					error += "Error while trying to close the SQL connection";
+				}
+			}
+
+		model.setError(error);
+	}
+
+	private void setSqlError(String name, ResourceChartModel model, Exception e) {
+		setError(name + ": an SQL exception occured while trying retrieve data from database", model, e);
+	}
+	
+	private void setDbConnectionError(ResourceChartModel model, Exception e) {
+		setError("An exception occured while trying to create MySQLDAOFactory", model, e);
+	}
+	
+	private void setError(String messageForUser, ResourceChartModel model, Exception e) {
+		
+		String error = messageForUser;
+		
+		if(developement)
+		{
+			error += System.getProperty("line.separator");
+			error += "Error details:";
+			error += System.getProperty("line.separator");
+			ByteArrayOutputStream baos = new ByteArrayOutputStream();
+			PrintStream ps = new PrintStream(baos);
+			e.printStackTrace(ps);
+			String stackTrace = baos.toString();		
+			error += stackTrace;
+		}
+		
+		model.setError(error);
+	}			
+	
+	private MySQLDAOFactory factory() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+		if(factory == null)
+			factory = new MySQLDAOFactory();
+		return factory;
+	}
+	/* END OF DB Methods */
+}
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GSSimStudio.java
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GSSimStudio.java	(revision 19)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GSSimStudio.java	(revision 22)
@@ -851,5 +851,5 @@
 	@BlazeDsMethod()
 	public GSSimStudioModel setSelectedResourceIndex(int index, Integer res) {
-		return delegate(new Object[]{res}, index);
+		return delegateResource(new Object[]{res}, index);
 	}
 	
@@ -857,5 +857,5 @@
 	public GSSimStudioModel getResourcesFromDb(int index, Integer expId, String name,
 			String type) {
-		return delegate(new Object[]{expId, name, type}, index);
+		return delegateResource(new Object[]{expId, name, type}, index);
 	}
 	
@@ -863,5 +863,5 @@
 	public GSSimStudioModel getResourceAllTimelineFromDb(int index, Integer resourceId, Integer expId,
 			Long minTimestampMilis, Long maxTimestampMilis) {
-		return delegate(new Object[]{resourceId, expId, minTimestampMilis, maxTimestampMilis}, index);
+		return delegateResource(new Object[]{resourceId, expId, minTimestampMilis, maxTimestampMilis}, index);
 	}
 
@@ -869,13 +869,13 @@
 	public GSSimStudioModel getResourceEnTimelineFromDb(int index, Integer resourceId, Integer expId,
 			Long minTimestampMilis, Long maxTimestampMilis) {
-		return delegate(new Object[]{resourceId, expId, minTimestampMilis, maxTimestampMilis}, index);
+		return delegateResource(new Object[]{resourceId, expId, minTimestampMilis, maxTimestampMilis}, index);
 	}
 	
 	@BlazeDsMethod()
 	public GSSimStudioModel getExperimentConfiguration(int index, Integer expId) {
-		return delegate(new Object[]{expId}, index);
-	}
-	
-	protected GSSimStudioModel delegate(Object[] parameters, Integer index) {
+		return delegateResource(new Object[]{expId}, index);
+	}
+	
+	protected GSSimStudioModel delegateResource(Object[] parameters, Integer index) {
 		GSSimStudioModel gssimStudioModel = (GSSimStudioModel) VineFlexUtilClass.getUIModel();
 		gssimStudioModel.setExperimentListChanged(false);
@@ -910,4 +910,22 @@
         }
         VineFlexUtilClass.invokeDestination(ExperimentComparisonChart.class, parameters, experimentComparisonChartModel);
+        return gssimStudioModel;
+    }
+	
+	@BlazeDsMethod()
+	public GSSimStudioModel getTasksAllocationsFromDb(int index, Integer expId) {
+		return delegateGannt(new Object[]{expId}, index);
+	}
+	
+	protected GSSimStudioModel delegateGannt(Object[] parameters, Integer index) {
+		GSSimStudioModel gssimStudioModel = (GSSimStudioModel) VineFlexUtilClass.getUIModel();
+		gssimStudioModel.setExperimentListChanged(false);
+        GanntChartModel ganntChartModel = (GanntChartModel) gssimStudioModel.getGanntChartComponents().get(index.toString());
+        if (ganntChartModel == null)
+        {
+        	ganntChartModel = new GanntChartModel();
+        	gssimStudioModel.getResourceChartComponents().put(index.toString(), ganntChartModel);
+        }
+        VineFlexUtilClass.invokeDestination(GanntChart.class, parameters, ganntChartModel);
         return gssimStudioModel;
     }
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GanntChartModel.java
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GanntChartModel.java	(revision 22)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GanntChartModel.java	(revision 22)
@@ -0,0 +1,61 @@
+package gssim.gssimstudio.flex.app.editor;
+
+import java.io.Serializable;
+import org.vinetoolkit.grms3client.GRMS3Job;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import gssim.db.dao.data.Allocation;
+import gssim.db.dao.data.AllocationDetails;
+import gssim.db.dao.data.BlobProperty;
+import gssim.db.dao.data.Configuration;
+import gssim.db.dao.data.Metaexperiment;
+import gssim.db.dao.data.Experiment;
+import gssim.db.dao.data.ExperimentStats;
+import gssim.db.dao.data.Queues;
+import gssim.db.dao.data.Plugin;
+import gssim.db.dao.data.Reservation;
+import gssim.db.dao.data.ReservationDetails;
+import gssim.db.dao.data.Resource;
+import gssim.db.dao.data.ResourceAllTimeline;
+import gssim.db.dao.data.ResourceEnTimeline;
+import gssim.db.dao.data.Task;
+import gssim.db.dao.data.TextProperty;
+import gssim.db.dao.data.Unit;
+import gssim.db.dao.data.UnitAllTimeline;
+import gssim.db.dao.data.UnitDetails;
+import gssim.db.dao.data.UnitEnTimeline;
+import gssim.db.dao.data.User;
+
+/*
+ * @author Mateusz Cicheï¿œski, Jarek Szymczak
+ */
+public class GanntChartModel implements Serializable {
+
+    //    IMPORTANT - please regenerate your serialVersionUID
+    private static final long serialVersionUID = 5436766887639900888L;
+	
+	/* FIELDS FOR DB DATA */
+    
+	private String error;
+	private List allocationList;
+	/* END OF DB DATA */
+	
+	public String getError() {
+		return error;
+	}
+
+	public void setError(String error) {
+		this.error = error;
+	}
+	
+	public List getAllocationList() {
+		return allocationList;
+	}
+
+	public void setAllocationList(
+			List allocationList) {
+		this.allocationList = allocationList;
+	}
+}
Index: /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GSSimStudioModel.java
===================================================================
--- /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GSSimStudioModel.java	(revision 15)
+++ /gssim_ui/branches/vine/gssimstudio/src/web/ui/flex/java/gssim/gssimstudio/flex/app/editor/GSSimStudioModel.java	(revision 22)
@@ -58,4 +58,14 @@
     public void setResourceChartComponents(HashMap resourceChartComponents) {
         this.resourceChartComponents = resourceChartComponents;
+    }
+    
+    private HashMap ganntChartComponents = new HashMap();
+    
+    public HashMap getGanntChartComponents() {
+        return ganntChartComponents;
+    }
+
+    public void setGanntChartComponents(HashMap ganntChartComponents) {
+        this.ganntChartComponents = ganntChartComponents;
     }
     
