Index: trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/ClientConfig.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/ClientConfig.cs	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/ClientConfig.cs	(revision 1999)
@@ -33,5 +33,5 @@
   public class ClientConfig : PersistableObject {
     [DataMember]
-    public String UpDownTimeCalendar { get; set; } // TODO define DataStructure
+    public String UpDownTimeCalendar { get; set; }
     [DataMember]
     public int HeartBeatIntervall { get; set; }
Index: trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/ClientAdapter.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/ClientAdapter.cs	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/ClientAdapter.cs	(revision 1999)
@@ -78,4 +78,17 @@
       }
     }
+
+    private IClientConfigAdapter clientConfigAdapter = null;
+
+    private IClientConfigAdapter ClientConfigAdapter {
+      get {
+        if (clientConfigAdapter == null) {
+          clientConfigAdapter =
+            this.Session.GetDataAdapter<ClientConfig, IClientConfigAdapter>();
+        }
+
+        return clientConfigAdapter;
+      }
+    }
     #endregion
 
@@ -128,5 +141,8 @@
           client.FreeMemory = 0;
 
-        //todo: config adapter (client.config)
+        if (!row.IsClientConfigIdNull())
+          client.Config = ClientConfigAdapter.GetById(row.ClientConfigId);
+        else
+          client.Config = null;
 
         return client;
@@ -151,9 +167,8 @@
         row.FreeMemory = client.FreeMemory;
 
-        //todo: config adapter
-        /*if (client.Config != null)
-          row.ClientConfigId = client.Config.ClientConfigId;
-         else
-          row.ClientConfigId = null;*/
+        if (client.Config != null)
+          row.ClientConfigId = client.Config.Id;
+        else
+          row.SetClientConfigIdNull();
       }
 
@@ -167,4 +182,5 @@
       if (client != null) {
         ResAdapter.Update(client);
+        ClientConfigAdapter.Update(client.Config);
 
         base.doUpdate(client);
Index: trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/HeuristicLab.Hive.Server.ADODataAccess-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/HeuristicLab.Hive.Server.ADODataAccess-3.2.csproj	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/HeuristicLab.Hive.Server.ADODataAccess-3.2.csproj	(revision 1999)
@@ -81,4 +81,5 @@
   <ItemGroup>
     <Compile Include="ClientAdapter.cs" />
+    <Compile Include="ClientConfigAdapter.cs" />
     <Compile Include="ClientGroupAdapter.cs" />
     <Compile Include="ProjectAdapter.cs" />
@@ -104,4 +105,5 @@
     <Compile Include="ResourceAdapter.cs" />
     <Compile Include="TableAdapterWrapper\ClientAdapterWrapper.cs" />
+    <Compile Include="TableAdapterWrapper\ClientConfigAdapterWrapper.cs" />
     <Compile Include="TableAdapterWrapper\ClientGroupAdapterWrapper.cs" />
     <Compile Include="TableAdapterWrapper\ClientGroup_ResourceAdapterWrapper.cs" />
Index: trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.Designer.cs	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.Designer.cs	(revision 1999)
@@ -46,4 +46,6 @@
         private AssignedResourcesDataTable tableAssignedResources;
         
+        private ClientConfigDataTable tableClientConfig;
+        
         private global::System.Data.DataRelation relationClient_is_a_Resource;
         
@@ -71,4 +73,6 @@
         
         private global::System.Data.DataRelation relationR_56;
+        
+        private global::System.Data.DataRelation relationR_37;
         
         private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
@@ -128,4 +132,7 @@
                     base.Tables.Add(new AssignedResourcesDataTable(ds.Tables["AssignedResources"]));
                 }
+                if ((ds.Tables["ClientConfig"] != null)) {
+                    base.Tables.Add(new ClientConfigDataTable(ds.Tables["ClientConfig"]));
+                }
                 this.DataSetName = ds.DataSetName;
                 this.Prefix = ds.Prefix;
@@ -237,4 +244,13 @@
         
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Browsable(false)]
+        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
+        public ClientConfigDataTable ClientConfig {
+            get {
+                return this.tableClientConfig;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.ComponentModel.BrowsableAttribute(true)]
         [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
@@ -324,4 +340,7 @@
                 if ((ds.Tables["AssignedResources"] != null)) {
                     base.Tables.Add(new AssignedResourcesDataTable(ds.Tables["AssignedResources"]));
+                }
+                if ((ds.Tables["ClientConfig"] != null)) {
+                    base.Tables.Add(new ClientConfigDataTable(ds.Tables["ClientConfig"]));
                 }
                 this.DataSetName = ds.DataSetName;
@@ -413,4 +432,10 @@
                 if ((this.tableAssignedResources != null)) {
                     this.tableAssignedResources.InitVars();
+                }
+            }
+            this.tableClientConfig = ((ClientConfigDataTable)(base.Tables["ClientConfig"]));
+            if ((initTable == true)) {
+                if ((this.tableClientConfig != null)) {
+                    this.tableClientConfig.InitVars();
                 }
             }
@@ -428,4 +453,5 @@
             this.relationR_55 = this.Relations["R_55"];
             this.relationR_56 = this.Relations["R_56"];
+            this.relationR_37 = this.Relations["R_37"];
         }
         
@@ -457,4 +483,6 @@
             this.tableAssignedResources = new AssignedResourcesDataTable();
             base.Tables.Add(this.tableAssignedResources);
+            this.tableClientConfig = new ClientConfigDataTable();
+            base.Tables.Add(this.tableClientConfig);
             this.relationClient_is_a_Resource = new global::System.Data.DataRelation("Client_is_a_Resource", new global::System.Data.DataColumn[] {
                         this.tableResource.ResourceIdColumn}, new global::System.Data.DataColumn[] {
@@ -509,4 +537,8 @@
                         this.tableAssignedResources.JobIdColumn}, false);
             this.Relations.Add(this.relationR_56);
+            this.relationR_37 = new global::System.Data.DataRelation("R_37", new global::System.Data.DataColumn[] {
+                        this.tableClientConfig.ClientConfigIdColumn}, new global::System.Data.DataColumn[] {
+                        this.tableClient.ClientConfigIdColumn}, false);
+            this.Relations.Add(this.relationR_37);
         }
         
@@ -558,4 +590,9 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         private bool ShouldSerializeAssignedResources() {
+            return false;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private bool ShouldSerializeClientConfig() {
             return false;
         }
@@ -634,4 +671,6 @@
         public delegate void AssignedResourcesRowChangeEventHandler(object sender, AssignedResourcesRowChangeEvent e);
         
+        public delegate void ClientConfigRowChangeEventHandler(object sender, ClientConfigRowChangeEvent e);
+        
         /// <summary>
         ///Represents the strongly named DataTable class.
@@ -782,5 +821,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public ClientRow AddClientRow(ResourceRow parentResourceRowByClient_is_a_Resource, int CPUSpeed, int Memory, System.DateTime Login, string Status, System.Guid ClientConfigId, int NumberOfCores, int NumberOfFreeCores, int FreeMemory) {
+            public ClientRow AddClientRow(ResourceRow parentResourceRowByClient_is_a_Resource, int CPUSpeed, int Memory, System.DateTime Login, string Status, ClientConfigRow parentClientConfigRowByR_37, int NumberOfCores, int NumberOfFreeCores, int FreeMemory) {
                 ClientRow rowClientRow = ((ClientRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
@@ -790,5 +829,5 @@
                         Login,
                         Status,
-                        ClientConfigId,
+                        null,
                         NumberOfCores,
                         NumberOfFreeCores,
@@ -796,4 +835,7 @@
                 if ((parentResourceRowByClient_is_a_Resource != null)) {
                     columnValuesArray[0] = parentResourceRowByClient_is_a_Resource[0];
+                }
+                if ((parentClientConfigRowByR_37 != null)) {
+                    columnValuesArray[5] = parentClientConfigRowByR_37[0];
                 }
                 rowClientRow.ItemArray = columnValuesArray;
@@ -3456,4 +3498,264 @@
         
         /// <summary>
+        ///Represents the strongly named DataTable class.
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        [global::System.Serializable()]
+        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
+        public partial class ClientConfigDataTable : global::System.Data.TypedTableBase<ClientConfigRow> {
+            
+            private global::System.Data.DataColumn columnClientConfigId;
+            
+            private global::System.Data.DataColumn columnUpDownTimeCalendar;
+            
+            private global::System.Data.DataColumn columnHeartBeatIntervall;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigDataTable() {
+                this.TableName = "ClientConfig";
+                this.BeginInit();
+                this.InitClass();
+                this.EndInit();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ClientConfigDataTable(global::System.Data.DataTable table) {
+                this.TableName = table.TableName;
+                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
+                    this.CaseSensitive = table.CaseSensitive;
+                }
+                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
+                    this.Locale = table.Locale;
+                }
+                if ((table.Namespace != table.DataSet.Namespace)) {
+                    this.Namespace = table.Namespace;
+                }
+                this.Prefix = table.Prefix;
+                this.MinimumCapacity = table.MinimumCapacity;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected ClientConfigDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
+                    base(info, context) {
+                this.InitVars();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn ClientConfigIdColumn {
+                get {
+                    return this.columnClientConfigId;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn UpDownTimeCalendarColumn {
+                get {
+                    return this.columnUpDownTimeCalendar;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn HeartBeatIntervallColumn {
+                get {
+                    return this.columnHeartBeatIntervall;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            [global::System.ComponentModel.Browsable(false)]
+            public int Count {
+                get {
+                    return this.Rows.Count;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRow this[int index] {
+                get {
+                    return ((ClientConfigRow)(this.Rows[index]));
+                }
+            }
+            
+            public event ClientConfigRowChangeEventHandler ClientConfigRowChanging;
+            
+            public event ClientConfigRowChangeEventHandler ClientConfigRowChanged;
+            
+            public event ClientConfigRowChangeEventHandler ClientConfigRowDeleting;
+            
+            public event ClientConfigRowChangeEventHandler ClientConfigRowDeleted;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void AddClientConfigRow(ClientConfigRow row) {
+                this.Rows.Add(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRow AddClientConfigRow(System.Guid ClientConfigId, string UpDownTimeCalendar, int HeartBeatIntervall) {
+                ClientConfigRow rowClientConfigRow = ((ClientConfigRow)(this.NewRow()));
+                object[] columnValuesArray = new object[] {
+                        ClientConfigId,
+                        UpDownTimeCalendar,
+                        HeartBeatIntervall};
+                rowClientConfigRow.ItemArray = columnValuesArray;
+                this.Rows.Add(rowClientConfigRow);
+                return rowClientConfigRow;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRow FindByClientConfigId(System.Guid ClientConfigId) {
+                return ((ClientConfigRow)(this.Rows.Find(new object[] {
+                            ClientConfigId})));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public override global::System.Data.DataTable Clone() {
+                ClientConfigDataTable cln = ((ClientConfigDataTable)(base.Clone()));
+                cln.InitVars();
+                return cln;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Data.DataTable CreateInstance() {
+                return new ClientConfigDataTable();
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal void InitVars() {
+                this.columnClientConfigId = base.Columns["ClientConfigId"];
+                this.columnUpDownTimeCalendar = base.Columns["UpDownTimeCalendar"];
+                this.columnHeartBeatIntervall = base.Columns["HeartBeatIntervall"];
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            private void InitClass() {
+                this.columnClientConfigId = new global::System.Data.DataColumn("ClientConfigId", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnClientConfigId);
+                this.columnUpDownTimeCalendar = new global::System.Data.DataColumn("UpDownTimeCalendar", typeof(string), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnUpDownTimeCalendar);
+                this.columnHeartBeatIntervall = new global::System.Data.DataColumn("HeartBeatIntervall", typeof(int), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnHeartBeatIntervall);
+                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
+                                this.columnClientConfigId}, true));
+                this.columnClientConfigId.AllowDBNull = false;
+                this.columnClientConfigId.Unique = true;
+                this.columnUpDownTimeCalendar.MaxLength = 2147483647;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRow NewClientConfigRow() {
+                return ((ClientConfigRow)(this.NewRow()));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
+                return new ClientConfigRow(builder);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override global::System.Type GetRowType() {
+                return typeof(ClientConfigRow);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanged(e);
+                if ((this.ClientConfigRowChanged != null)) {
+                    this.ClientConfigRowChanged(this, new ClientConfigRowChangeEvent(((ClientConfigRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowChanging(e);
+                if ((this.ClientConfigRowChanging != null)) {
+                    this.ClientConfigRowChanging(this, new ClientConfigRowChangeEvent(((ClientConfigRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleted(e);
+                if ((this.ClientConfigRowDeleted != null)) {
+                    this.ClientConfigRowDeleted(this, new ClientConfigRowChangeEvent(((ClientConfigRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
+                base.OnRowDeleting(e);
+                if ((this.ClientConfigRowDeleting != null)) {
+                    this.ClientConfigRowDeleting(this, new ClientConfigRowChangeEvent(((ClientConfigRow)(e.Row)), e.Action));
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void RemoveClientConfigRow(ClientConfigRow row) {
+                this.Rows.Remove(row);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
+                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
+                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
+                dsHiveServer ds = new dsHiveServer();
+                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
+                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
+                any1.MinOccurs = new decimal(0);
+                any1.MaxOccurs = decimal.MaxValue;
+                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any1);
+                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
+                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
+                any2.MinOccurs = new decimal(1);
+                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
+                sequence.Items.Add(any2);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute1.Name = "namespace";
+                attribute1.FixedValue = ds.Namespace;
+                type.Attributes.Add(attribute1);
+                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
+                attribute2.Name = "tableTypeName";
+                attribute2.FixedValue = "ClientConfigDataTable";
+                type.Attributes.Add(attribute2);
+                type.Particle = sequence;
+                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
+                if (xs.Contains(dsSchema.TargetNamespace)) {
+                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
+                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
+                    try {
+                        global::System.Xml.Schema.XmlSchema schema = null;
+                        dsSchema.Write(s1);
+                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
+                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
+                            s2.SetLength(0);
+                            schema.Write(s2);
+                            if ((s1.Length == s2.Length)) {
+                                s1.Position = 0;
+                                s2.Position = 0;
+                                for (; ((s1.Position != s1.Length) 
+                                            && (s1.ReadByte() == s2.ReadByte())); ) {
+                                    ;
+                                }
+                                if ((s1.Position == s1.Length)) {
+                                    return type;
+                                }
+                            }
+                        }
+                    }
+                    finally {
+                        if ((s1 != null)) {
+                            s1.Close();
+                        }
+                        if ((s2 != null)) {
+                            s2.Close();
+                        }
+                    }
+                }
+                xs.Add(dsSchema);
+                return type;
+            }
+        }
+        
+        /// <summary>
         ///Represents strongly named DataRow class.
         ///</summary>
@@ -3610,4 +3912,14 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRow ClientConfigRow {
+                get {
+                    return ((ClientConfigRow)(this.GetParentRow(this.Table.ParentRelations["R_37"])));
+                }
+                set {
+                    this.SetParentRow(value, this.Table.ParentRelations["R_37"]);
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public bool IsCPUSpeedNull() {
                 return this.IsNull(this.tableClient.CPUSpeedColumn);
@@ -4771,4 +5083,89 @@
         
         /// <summary>
+        ///Represents strongly named DataRow class.
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        public partial class ClientConfigRow : global::System.Data.DataRow {
+            
+            private ClientConfigDataTable tableClientConfig;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            internal ClientConfigRow(global::System.Data.DataRowBuilder rb) : 
+                    base(rb) {
+                this.tableClientConfig = ((ClientConfigDataTable)(this.Table));
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public System.Guid ClientConfigId {
+                get {
+                    return ((global::System.Guid)(this[this.tableClientConfig.ClientConfigIdColumn]));
+                }
+                set {
+                    this[this.tableClientConfig.ClientConfigIdColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public string UpDownTimeCalendar {
+                get {
+                    try {
+                        return ((string)(this[this.tableClientConfig.UpDownTimeCalendarColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'UpDownTimeCalendar\' in table \'ClientConfig\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClientConfig.UpDownTimeCalendarColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public int HeartBeatIntervall {
+                get {
+                    try {
+                        return ((int)(this[this.tableClientConfig.HeartBeatIntervallColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'HeartBeatIntervall\' in table \'ClientConfig\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableClientConfig.HeartBeatIntervallColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsUpDownTimeCalendarNull() {
+                return this.IsNull(this.tableClientConfig.UpDownTimeCalendarColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetUpDownTimeCalendarNull() {
+                this[this.tableClientConfig.UpDownTimeCalendarColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsHeartBeatIntervallNull() {
+                return this.IsNull(this.tableClientConfig.HeartBeatIntervallColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetHeartBeatIntervallNull() {
+                this[this.tableClientConfig.HeartBeatIntervallColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientRow[] GetClientRows() {
+                if ((this.Table.ChildRelations["R_37"] == null)) {
+                    return new ClientRow[0];
+                }
+                else {
+                    return ((ClientRow[])(base.GetChildRows(this.Table.ChildRelations["R_37"])));
+                }
+            }
+        }
+        
+        /// <summary>
         ///Row event argument class
         ///</summary>
@@ -5067,4 +5464,35 @@
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public AssignedResourcesRow Row {
+                get {
+                    return this.eventRow;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataRowAction Action {
+                get {
+                    return this.eventAction;
+                }
+            }
+        }
+        
+        /// <summary>
+        ///Row event argument class
+        ///</summary>
+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+        public class ClientConfigRowChangeEvent : global::System.EventArgs {
+            
+            private ClientConfigRow eventRow;
+            
+            private global::System.Data.DataRowAction eventAction;
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRowChangeEvent(ClientConfigRow row, global::System.Data.DataRowAction action) {
+                this.eventRow = row;
+                this.eventAction = action;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public ClientConfigRow Row {
                 get {
                     return this.eventRow;
@@ -9935,4 +10363,356 @@
     
     /// <summary>
+    ///Represents the connection and commands used to retrieve and save data.
+    ///</summary>
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
+    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
+    [global::System.ComponentModel.ToolboxItem(true)]
+    [global::System.ComponentModel.DataObjectAttribute(true)]
+    [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" +
+        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+    public partial class ClientConfigTableAdapter : global::System.ComponentModel.Component {
+        
+        private global::System.Data.SqlClient.SqlDataAdapter _adapter;
+        
+        private global::System.Data.SqlClient.SqlConnection _connection;
+        
+        private global::System.Data.SqlClient.SqlTransaction _transaction;
+        
+        private global::System.Data.SqlClient.SqlCommand[] _commandCollection;
+        
+        private bool _clearBeforeFill;
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public ClientConfigTableAdapter() {
+            this.ClearBeforeFill = true;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter {
+            get {
+                if ((this._adapter == null)) {
+                    this.InitAdapter();
+                }
+                return this._adapter;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        internal global::System.Data.SqlClient.SqlConnection Connection {
+            get {
+                if ((this._connection == null)) {
+                    this.InitConnection();
+                }
+                return this._connection;
+            }
+            set {
+                this._connection = value;
+                if ((this.Adapter.InsertCommand != null)) {
+                    this.Adapter.InsertCommand.Connection = value;
+                }
+                if ((this.Adapter.DeleteCommand != null)) {
+                    this.Adapter.DeleteCommand.Connection = value;
+                }
+                if ((this.Adapter.UpdateCommand != null)) {
+                    this.Adapter.UpdateCommand.Connection = value;
+                }
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    if ((this.CommandCollection[i] != null)) {
+                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
+                    }
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        internal global::System.Data.SqlClient.SqlTransaction Transaction {
+            get {
+                return this._transaction;
+            }
+            set {
+                this._transaction = value;
+                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
+                    this.CommandCollection[i].Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.DeleteCommand != null))) {
+                    this.Adapter.DeleteCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.InsertCommand != null))) {
+                    this.Adapter.InsertCommand.Transaction = this._transaction;
+                }
+                if (((this.Adapter != null) 
+                            && (this.Adapter.UpdateCommand != null))) {
+                    this.Adapter.UpdateCommand.Transaction = this._transaction;
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        protected global::System.Data.SqlClient.SqlCommand[] CommandCollection {
+            get {
+                if ((this._commandCollection == null)) {
+                    this.InitCommandCollection();
+                }
+                return this._commandCollection;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public bool ClearBeforeFill {
+            get {
+                return this._clearBeforeFill;
+            }
+            set {
+                this._clearBeforeFill = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitAdapter() {
+            this._adapter = new global::System.Data.SqlClient.SqlDataAdapter();
+            global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
+            tableMapping.SourceTable = "Table";
+            tableMapping.DataSetTable = "ClientConfig";
+            tableMapping.ColumnMappings.Add("ClientConfigId", "ClientConfigId");
+            tableMapping.ColumnMappings.Add("UpDownTimeCalendar", "UpDownTimeCalendar");
+            tableMapping.ColumnMappings.Add("HeartBeatIntervall", "HeartBeatIntervall");
+            this._adapter.TableMappings.Add(tableMapping);
+            this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.DeleteCommand.Connection = this.Connection;
+            this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[ClientConfig] WHERE (([ClientConfigId] = @Original_ClientConfi" +
+                "gId) AND ((@IsNull_HeartBeatIntervall = 1 AND [HeartBeatIntervall] IS NULL) OR (" +
+                "[HeartBeatIntervall] = @Original_HeartBeatIntervall)))";
+            this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_HeartBeatIntervall", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "HeartBeatIntervall", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_HeartBeatIntervall", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "HeartBeatIntervall", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.InsertCommand.Connection = this.Connection;
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[ClientConfig] ([ClientConfigId], [UpDownTimeCalendar], [HeartBeatIntervall]) VALUES (@ClientConfigId, @UpDownTimeCalendar, @HeartBeatIntervall);
+SELECT ClientConfigId, UpDownTimeCalendar, HeartBeatIntervall FROM ClientConfig WHERE (ClientConfigId = @ClientConfigId)";
+            this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UpDownTimeCalendar", global::System.Data.SqlDbType.Xml, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UpDownTimeCalendar", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@HeartBeatIntervall", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "HeartBeatIntervall", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
+            this._adapter.UpdateCommand.Connection = this.Connection;
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[ClientConfig] SET [ClientConfigId] = @ClientConfigId, [UpDownTimeCalendar] = @UpDownTimeCalendar, [HeartBeatIntervall] = @HeartBeatIntervall WHERE (([ClientConfigId] = @Original_ClientConfigId) AND ((@IsNull_HeartBeatIntervall = 1 AND [HeartBeatIntervall] IS NULL) OR ([HeartBeatIntervall] = @Original_HeartBeatIntervall)));
+SELECT ClientConfigId, UpDownTimeCalendar, HeartBeatIntervall FROM ClientConfig WHERE (ClientConfigId = @ClientConfigId)";
+            this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@UpDownTimeCalendar", global::System.Data.SqlDbType.Xml, 0, global::System.Data.ParameterDirection.Input, 0, 0, "UpDownTimeCalendar", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@HeartBeatIntervall", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "HeartBeatIntervall", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_ClientConfigId", global::System.Data.SqlDbType.UniqueIdentifier, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_HeartBeatIntervall", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "HeartBeatIntervall", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_HeartBeatIntervall", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "HeartBeatIntervall", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitConnection() {
+            this._connection = new global::System.Data.SqlClient.SqlConnection();
+            this._connection.ConnectionString = global::HeuristicLab.Hive.Server.ADODataAccess.Properties.Settings.Default.HiveServerConnectionString;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        private void InitCommandCollection() {
+            this._commandCollection = new global::System.Data.SqlClient.SqlCommand[2];
+            this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[0].Connection = this.Connection;
+            this._commandCollection[0].CommandText = "SELECT * FROM dbo.ClientConfig";
+            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
+            this._commandCollection[1].Connection = this.Connection;
+            this._commandCollection[1].CommandText = "SELECT * FROM dbo.ClientConfig WHERE ClientConfigId = @Id";
+            this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
+            this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.UniqueIdentifier, 16, global::System.Data.ParameterDirection.Input, 0, 0, "ClientConfigId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
+        public virtual int Fill(dsHiveServer.ClientConfigDataTable dataTable) {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)]
+        public virtual dsHiveServer.ClientConfigDataTable GetData() {
+            this.Adapter.SelectCommand = this.CommandCollection[0];
+            dsHiveServer.ClientConfigDataTable dataTable = new dsHiveServer.ClientConfigDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, false)]
+        public virtual int FillById(dsHiveServer.ClientConfigDataTable dataTable, System.Guid Id) {
+            this.Adapter.SelectCommand = this.CommandCollection[1];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
+            if ((this.ClearBeforeFill == true)) {
+                dataTable.Clear();
+            }
+            int returnValue = this.Adapter.Fill(dataTable);
+            return returnValue;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
+        public virtual dsHiveServer.ClientConfigDataTable GetDataById(System.Guid Id) {
+            this.Adapter.SelectCommand = this.CommandCollection[1];
+            this.Adapter.SelectCommand.Parameters[0].Value = ((System.Guid)(Id));
+            dsHiveServer.ClientConfigDataTable dataTable = new dsHiveServer.ClientConfigDataTable();
+            this.Adapter.Fill(dataTable);
+            return dataTable;
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(dsHiveServer.ClientConfigDataTable dataTable) {
+            return this.Adapter.Update(dataTable);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(dsHiveServer dataSet) {
+            return this.Adapter.Update(dataSet, "ClientConfig");
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow dataRow) {
+            return this.Adapter.Update(new global::System.Data.DataRow[] {
+                        dataRow});
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        public virtual int Update(global::System.Data.DataRow[] dataRows) {
+            return this.Adapter.Update(dataRows);
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)]
+        public virtual int Delete(System.Guid Original_ClientConfigId, global::System.Nullable<int> Original_HeartBeatIntervall) {
+            this.Adapter.DeleteCommand.Parameters[0].Value = ((System.Guid)(Original_ClientConfigId));
+            if ((Original_HeartBeatIntervall.HasValue == true)) {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0));
+                this.Adapter.DeleteCommand.Parameters[2].Value = ((int)(Original_HeartBeatIntervall.Value));
+            }
+            else {
+                this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1));
+                this.Adapter.DeleteCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State;
+            if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.DeleteCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.DeleteCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
+        public virtual int Insert(System.Guid ClientConfigId, object UpDownTimeCalendar, global::System.Nullable<int> HeartBeatIntervall) {
+            this.Adapter.InsertCommand.Parameters[0].Value = ((System.Guid)(ClientConfigId));
+            if ((UpDownTimeCalendar == null)) {
+                this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[1].Value = ((object)(UpDownTimeCalendar));
+            }
+            if ((HeartBeatIntervall.HasValue == true)) {
+                this.Adapter.InsertCommand.Parameters[2].Value = ((int)(HeartBeatIntervall.Value));
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
+            if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.InsertCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.InsertCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(System.Guid ClientConfigId, object UpDownTimeCalendar, global::System.Nullable<int> HeartBeatIntervall, System.Guid Original_ClientConfigId, global::System.Nullable<int> Original_HeartBeatIntervall) {
+            this.Adapter.UpdateCommand.Parameters[0].Value = ((System.Guid)(ClientConfigId));
+            if ((UpDownTimeCalendar == null)) {
+                this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[1].Value = ((object)(UpDownTimeCalendar));
+            }
+            if ((HeartBeatIntervall.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(HeartBeatIntervall.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[3].Value = ((System.Guid)(Original_ClientConfigId));
+            if ((Original_HeartBeatIntervall.HasValue == true)) {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[5].Value = ((int)(Original_HeartBeatIntervall.Value));
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value;
+            }
+            global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
+            if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
+                        != global::System.Data.ConnectionState.Open)) {
+                this.Adapter.UpdateCommand.Connection.Open();
+            }
+            try {
+                int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery();
+                return returnValue;
+            }
+            finally {
+                if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) {
+                    this.Adapter.UpdateCommand.Connection.Close();
+                }
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
+        [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
+        public virtual int Update(object UpDownTimeCalendar, global::System.Nullable<int> HeartBeatIntervall, System.Guid Original_ClientConfigId, global::System.Nullable<int> Original_HeartBeatIntervall) {
+            return this.Update(Original_ClientConfigId, UpDownTimeCalendar, HeartBeatIntervall, Original_ClientConfigId, Original_HeartBeatIntervall);
+        }
+    }
+    
+    /// <summary>
     ///TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios
     ///</summary>
@@ -9967,4 +10747,6 @@
         private AssignedResourcesTableAdapter _assignedResourcesTableAdapter;
         
+        private ClientConfigTableAdapter _clientConfigTableAdapter;
+        
         private bool _backupDataSetBeforeUpdate;
         
@@ -10112,4 +10894,17 @@
         
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" +
+            "ft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" +
+            "", "System.Drawing.Design.UITypeEditor")]
+        public ClientConfigTableAdapter ClientConfigTableAdapter {
+            get {
+                return this._clientConfigTableAdapter;
+            }
+            set {
+                this._clientConfigTableAdapter = value;
+            }
+        }
+        
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         public bool BackupDataSetBeforeUpdate {
             get {
@@ -10167,4 +10962,8 @@
                             && (this._assignedResourcesTableAdapter.Connection != null))) {
                     return this._assignedResourcesTableAdapter.Connection;
+                }
+                if (((this._clientConfigTableAdapter != null) 
+                            && (this._clientConfigTableAdapter.Connection != null))) {
+                    return this._clientConfigTableAdapter.Connection;
                 }
                 return null;
@@ -10208,4 +11007,7 @@
                 }
                 if ((this._assignedResourcesTableAdapter != null)) {
+                    count = (count + 1);
+                }
+                if ((this._clientConfigTableAdapter != null)) {
                     count = (count + 1);
                 }
@@ -10229,4 +11031,22 @@
                 }
             }
+            if ((this._clientConfigTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.ClientConfig.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._clientConfigTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
+            if ((this._clientTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._clientTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
             if ((this._projectTableAdapter != null)) {
                 global::System.Data.DataRow[] updatedRows = dataSet.Project.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
@@ -10238,13 +11058,4 @@
                 }
             }
-            if ((this._clientTableAdapter != null)) {
-                global::System.Data.DataRow[] updatedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
-                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
-                if (((updatedRows != null) 
-                            && (0 < updatedRows.Length))) {
-                    result = (result + this._clientTableAdapter.Update(updatedRows));
-                    allChangedRows.AddRange(updatedRows);
-                }
-            }
             if ((this._pluginInfoTableAdapter != null)) {
                 global::System.Data.DataRow[] updatedRows = dataSet.PluginInfo.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
@@ -10256,4 +11067,13 @@
                 }
             }
+            if ((this._clientGroupTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._clientGroupTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
             if ((this._jobTableAdapter != null)) {
                 global::System.Data.DataRow[] updatedRows = dataSet.Job.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
@@ -10265,13 +11085,4 @@
                 }
             }
-            if ((this._clientGroupTableAdapter != null)) {
-                global::System.Data.DataRow[] updatedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
-                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
-                if (((updatedRows != null) 
-                            && (0 < updatedRows.Length))) {
-                    result = (result + this._clientGroupTableAdapter.Update(updatedRows));
-                    allChangedRows.AddRange(updatedRows);
-                }
-            }
             if ((this._assignedResourcesTableAdapter != null)) {
                 global::System.Data.DataRow[] updatedRows = dataSet.AssignedResources.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
@@ -10283,4 +11094,13 @@
                 }
             }
+            if ((this._jobResultTableAdapter != null)) {
+                global::System.Data.DataRow[] updatedRows = dataSet.JobResult.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
+                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
+                if (((updatedRows != null) 
+                            && (0 < updatedRows.Length))) {
+                    result = (result + this._jobResultTableAdapter.Update(updatedRows));
+                    allChangedRows.AddRange(updatedRows);
+                }
+            }
             if ((this._clientGroup_ResourceTableAdapter != null)) {
                 global::System.Data.DataRow[] updatedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
@@ -10289,13 +11109,4 @@
                             && (0 < updatedRows.Length))) {
                     result = (result + this._clientGroup_ResourceTableAdapter.Update(updatedRows));
-                    allChangedRows.AddRange(updatedRows);
-                }
-            }
-            if ((this._jobResultTableAdapter != null)) {
-                global::System.Data.DataRow[] updatedRows = dataSet.JobResult.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent);
-                updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows);
-                if (((updatedRows != null) 
-                            && (0 < updatedRows.Length))) {
-                    result = (result + this._jobResultTableAdapter.Update(updatedRows));
                     allChangedRows.AddRange(updatedRows);
                 }
@@ -10327,4 +11138,20 @@
                 }
             }
+            if ((this._clientConfigTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.ClientConfig.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._clientConfigTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
+            if ((this._clientTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._clientTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
             if ((this._projectTableAdapter != null)) {
                 global::System.Data.DataRow[] addedRows = dataSet.Project.Select(null, null, global::System.Data.DataViewRowState.Added);
@@ -10335,12 +11162,4 @@
                 }
             }
-            if ((this._clientTableAdapter != null)) {
-                global::System.Data.DataRow[] addedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.Added);
-                if (((addedRows != null) 
-                            && (0 < addedRows.Length))) {
-                    result = (result + this._clientTableAdapter.Update(addedRows));
-                    allAddedRows.AddRange(addedRows);
-                }
-            }
             if ((this._pluginInfoTableAdapter != null)) {
                 global::System.Data.DataRow[] addedRows = dataSet.PluginInfo.Select(null, null, global::System.Data.DataViewRowState.Added);
@@ -10351,4 +11170,12 @@
                 }
             }
+            if ((this._clientGroupTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._clientGroupTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
             if ((this._jobTableAdapter != null)) {
                 global::System.Data.DataRow[] addedRows = dataSet.Job.Select(null, null, global::System.Data.DataViewRowState.Added);
@@ -10359,12 +11186,4 @@
                 }
             }
-            if ((this._clientGroupTableAdapter != null)) {
-                global::System.Data.DataRow[] addedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.Added);
-                if (((addedRows != null) 
-                            && (0 < addedRows.Length))) {
-                    result = (result + this._clientGroupTableAdapter.Update(addedRows));
-                    allAddedRows.AddRange(addedRows);
-                }
-            }
             if ((this._assignedResourcesTableAdapter != null)) {
                 global::System.Data.DataRow[] addedRows = dataSet.AssignedResources.Select(null, null, global::System.Data.DataViewRowState.Added);
@@ -10375,4 +11194,12 @@
                 }
             }
+            if ((this._jobResultTableAdapter != null)) {
+                global::System.Data.DataRow[] addedRows = dataSet.JobResult.Select(null, null, global::System.Data.DataViewRowState.Added);
+                if (((addedRows != null) 
+                            && (0 < addedRows.Length))) {
+                    result = (result + this._jobResultTableAdapter.Update(addedRows));
+                    allAddedRows.AddRange(addedRows);
+                }
+            }
             if ((this._clientGroup_ResourceTableAdapter != null)) {
                 global::System.Data.DataRow[] addedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.Added);
@@ -10380,12 +11207,4 @@
                             && (0 < addedRows.Length))) {
                     result = (result + this._clientGroup_ResourceTableAdapter.Update(addedRows));
-                    allAddedRows.AddRange(addedRows);
-                }
-            }
-            if ((this._jobResultTableAdapter != null)) {
-                global::System.Data.DataRow[] addedRows = dataSet.JobResult.Select(null, null, global::System.Data.DataViewRowState.Added);
-                if (((addedRows != null) 
-                            && (0 < addedRows.Length))) {
-                    result = (result + this._jobResultTableAdapter.Update(addedRows));
                     allAddedRows.AddRange(addedRows);
                 }
@@ -10416,4 +11235,12 @@
                 }
             }
+            if ((this._clientGroup_ResourceTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._clientGroup_ResourceTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
             if ((this._jobResultTableAdapter != null)) {
                 global::System.Data.DataRow[] deletedRows = dataSet.JobResult.Select(null, null, global::System.Data.DataViewRowState.Deleted);
@@ -10424,12 +11251,4 @@
                 }
             }
-            if ((this._clientGroup_ResourceTableAdapter != null)) {
-                global::System.Data.DataRow[] deletedRows = dataSet.ClientGroup_Resource.Select(null, null, global::System.Data.DataViewRowState.Deleted);
-                if (((deletedRows != null) 
-                            && (0 < deletedRows.Length))) {
-                    result = (result + this._clientGroup_ResourceTableAdapter.Update(deletedRows));
-                    allChangedRows.AddRange(deletedRows);
-                }
-            }
             if ((this._assignedResourcesTableAdapter != null)) {
                 global::System.Data.DataRow[] deletedRows = dataSet.AssignedResources.Select(null, null, global::System.Data.DataViewRowState.Deleted);
@@ -10440,4 +11259,12 @@
                 }
             }
+            if ((this._jobTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Job.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._jobTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
             if ((this._clientGroupTableAdapter != null)) {
                 global::System.Data.DataRow[] deletedRows = dataSet.ClientGroup.Select(null, null, global::System.Data.DataViewRowState.Deleted);
@@ -10448,12 +11275,4 @@
                 }
             }
-            if ((this._jobTableAdapter != null)) {
-                global::System.Data.DataRow[] deletedRows = dataSet.Job.Select(null, null, global::System.Data.DataViewRowState.Deleted);
-                if (((deletedRows != null) 
-                            && (0 < deletedRows.Length))) {
-                    result = (result + this._jobTableAdapter.Update(deletedRows));
-                    allChangedRows.AddRange(deletedRows);
-                }
-            }
             if ((this._pluginInfoTableAdapter != null)) {
                 global::System.Data.DataRow[] deletedRows = dataSet.PluginInfo.Select(null, null, global::System.Data.DataViewRowState.Deleted);
@@ -10464,4 +11283,12 @@
                 }
             }
+            if ((this._projectTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.Project.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+                if (((deletedRows != null) 
+                            && (0 < deletedRows.Length))) {
+                    result = (result + this._projectTableAdapter.Update(deletedRows));
+                    allChangedRows.AddRange(deletedRows);
+                }
+            }
             if ((this._clientTableAdapter != null)) {
                 global::System.Data.DataRow[] deletedRows = dataSet.Client.Select(null, null, global::System.Data.DataViewRowState.Deleted);
@@ -10472,9 +11299,9 @@
                 }
             }
-            if ((this._projectTableAdapter != null)) {
-                global::System.Data.DataRow[] deletedRows = dataSet.Project.Select(null, null, global::System.Data.DataViewRowState.Deleted);
+            if ((this._clientConfigTableAdapter != null)) {
+                global::System.Data.DataRow[] deletedRows = dataSet.ClientConfig.Select(null, null, global::System.Data.DataViewRowState.Deleted);
                 if (((deletedRows != null) 
                             && (0 < deletedRows.Length))) {
-                    result = (result + this._projectTableAdapter.Update(deletedRows));
+                    result = (result + this._clientConfigTableAdapter.Update(deletedRows));
                     allChangedRows.AddRange(deletedRows);
                 }
@@ -10572,4 +11399,9 @@
             if (((this._assignedResourcesTableAdapter != null) 
                         && (this.MatchTableAdapterConnection(this._assignedResourcesTableAdapter.Connection) == false))) {
+                throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
+                        "tring.");
+            }
+            if (((this._clientConfigTableAdapter != null) 
+                        && (this.MatchTableAdapterConnection(this._clientConfigTableAdapter.Connection) == false))) {
                 throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" +
                         "tring.");
@@ -10695,4 +11527,13 @@
                         this._assignedResourcesTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
                         adaptersWithAcceptChangesDuringUpdate.Add(this._assignedResourcesTableAdapter.Adapter);
+                    }
+                }
+                if ((this._clientConfigTableAdapter != null)) {
+                    revertConnections.Add(this._clientConfigTableAdapter, this._clientConfigTableAdapter.Connection);
+                    this._clientConfigTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(workConnection));
+                    this._clientConfigTableAdapter.Transaction = ((global::System.Data.SqlClient.SqlTransaction)(workTransaction));
+                    if (this._clientConfigTableAdapter.Adapter.AcceptChangesDuringUpdate) {
+                        this._clientConfigTableAdapter.Adapter.AcceptChangesDuringUpdate = false;
+                        adaptersWithAcceptChangesDuringUpdate.Add(this._clientConfigTableAdapter.Adapter);
                     }
                 }
@@ -10795,4 +11636,8 @@
                     this._assignedResourcesTableAdapter.Transaction = null;
                 }
+                if ((this._clientConfigTableAdapter != null)) {
+                    this._clientConfigTableAdapter.Connection = ((global::System.Data.SqlClient.SqlConnection)(revertConnections[this._clientConfigTableAdapter]));
+                    this._clientConfigTableAdapter.Transaction = null;
+                }
                 if ((0 < adaptersWithAcceptChangesDuringUpdate.Count)) {
                     global::System.Data.Common.DataAdapter[] adapters = new System.Data.Common.DataAdapter[adaptersWithAcceptChangesDuringUpdate.Count];
Index: trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.xsd
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.xsd	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.xsd	(revision 1999)
@@ -945,4 +945,68 @@
             </Sources>
           </TableAdapter>
+          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ClientConfigTableAdapter" GeneratorDataComponentClassName="ClientConfigTableAdapter" Name="ClientConfig" UserDataComponentName="ClientConfigTableAdapter">
+            <MainSource>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive_DBTesting].dbo.ClientConfig" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
+                <DeleteCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>DELETE FROM [dbo].[ClientConfig] WHERE (([ClientConfigId] = @Original_ClientConfigId) AND ((@IsNull_HeartBeatIntervall = 1 AND [HeartBeatIntervall] IS NULL) OR ([HeartBeatIntervall] = @Original_HeartBeatIntervall)))</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_HeartBeatIntervall" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="HeartBeatIntervall" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_HeartBeatIntervall" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="HeartBeatIntervall" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </DeleteCommand>
+                <InsertCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>INSERT INTO [dbo].[ClientConfig] ([ClientConfigId], [UpDownTimeCalendar], [HeartBeatIntervall]) VALUES (@ClientConfigId, @UpDownTimeCalendar, @HeartBeatIntervall);
+SELECT ClientConfigId, UpDownTimeCalendar, HeartBeatIntervall FROM ClientConfig WHERE (ClientConfigId = @ClientConfigId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Xml" Direction="Input" ParameterName="@UpDownTimeCalendar" Precision="0" ProviderType="Xml" Scale="0" Size="0" SourceColumn="UpDownTimeCalendar" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@HeartBeatIntervall" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="HeartBeatIntervall" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </InsertCommand>
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientConfig</CommandText>
+                    <Parameters />
+                  </DbCommand>
+                </SelectCommand>
+                <UpdateCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="false">
+                    <CommandText>UPDATE [dbo].[ClientConfig] SET [ClientConfigId] = @ClientConfigId, [UpDownTimeCalendar] = @UpDownTimeCalendar, [HeartBeatIntervall] = @HeartBeatIntervall WHERE (([ClientConfigId] = @Original_ClientConfigId) AND ((@IsNull_HeartBeatIntervall = 1 AND [HeartBeatIntervall] IS NULL) OR ([HeartBeatIntervall] = @Original_HeartBeatIntervall)));
+SELECT ClientConfigId, UpDownTimeCalendar, HeartBeatIntervall FROM ClientConfig WHERE (ClientConfigId = @ClientConfigId)</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Xml" Direction="Input" ParameterName="@UpDownTimeCalendar" Precision="0" ProviderType="Xml" Scale="0" Size="0" SourceColumn="UpDownTimeCalendar" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@HeartBeatIntervall" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="HeartBeatIntervall" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Guid" Direction="Input" ParameterName="@Original_ClientConfigId" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="0" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_HeartBeatIntervall" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="HeartBeatIntervall" SourceColumnNullMapping="true" SourceVersion="Original" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_HeartBeatIntervall" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="HeartBeatIntervall" SourceColumnNullMapping="false" SourceVersion="Original" />
+                    </Parameters>
+                  </DbCommand>
+                </UpdateCommand>
+              </DbSource>
+            </MainSource>
+            <Mappings>
+              <Mapping SourceColumn="ClientConfigId" DataSetColumn="ClientConfigId" />
+              <Mapping SourceColumn="UpDownTimeCalendar" DataSetColumn="UpDownTimeCalendar" />
+              <Mapping SourceColumn="HeartBeatIntervall" DataSetColumn="HeartBeatIntervall" />
+            </Mappings>
+            <Sources>
+              <DbSource ConnectionRef="HiveServerConnectionString (Settings)" DbObjectName="[HeuristicLab.Hive_DBTesting].dbo.ClientConfig" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillById" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetDataById" GeneratorSourceName="FillById" GetMethodModifier="Public" GetMethodName="GetDataById" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataById" UserSourceName="FillById">
+                <SelectCommand>
+                  <DbCommand CommandType="Text" ModifiedByUser="true">
+                    <CommandText>SELECT * FROM dbo.ClientConfig WHERE ClientConfigId = @Id</CommandText>
+                    <Parameters>
+                      <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="ClientConfigId" DataSourceName="[HeuristicLab.Hive_DBTesting].dbo.ClientConfig" DataTypeServer="uniqueidentifier" DbType="Guid" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="UniqueIdentifier" Scale="0" Size="16" SourceColumn="ClientConfigId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                    </Parameters>
+                  </DbCommand>
+                </SelectCommand>
+              </DbSource>
+            </Sources>
+          </TableAdapter>
         </Tables>
         <Sources />
@@ -956,9 +1020,9 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
-              <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="Login" msprop:Generator_UserColumnName="Login" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_ColumnPropNameInTable="LoginColumn" type="xs:dateTime" minOccurs="0" />
-              <xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInTable="StatusColumn" minOccurs="0">
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+              <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="Login" msprop:Generator_UserColumnName="Login" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnPropNameInTable="LoginColumn" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -967,8 +1031,8 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="ClientConfigId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="NumberOfFreeCores" msprop:Generator_UserColumnName="NumberOfFreeCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfFreeCores" msprop:Generator_ColumnPropNameInRow="NumberOfFreeCores" msprop:Generator_ColumnPropNameInTable="NumberOfFreeCoresColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="FreeMemory" msprop:Generator_UserColumnName="FreeMemory" msprop:Generator_ColumnVarNameInTable="columnFreeMemory" msprop:Generator_ColumnPropNameInRow="FreeMemory" msprop:Generator_ColumnPropNameInTable="FreeMemoryColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="ClientConfigId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="NumberOfFreeCores" msprop:Generator_UserColumnName="NumberOfFreeCores" msprop:Generator_ColumnPropNameInRow="NumberOfFreeCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfFreeCores" msprop:Generator_ColumnPropNameInTable="NumberOfFreeCoresColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="FreeMemory" msprop:Generator_UserColumnName="FreeMemory" msprop:Generator_ColumnPropNameInRow="FreeMemory" msprop:Generator_ColumnVarNameInTable="columnFreeMemory" msprop:Generator_ColumnPropNameInTable="FreeMemoryColumn" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -977,6 +1041,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
-              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -991,5 +1055,5 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
             </xs:sequence>
           </xs:complexType>
@@ -998,6 +1062,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ClientGroupId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientGroupId" msprop:Generator_ColumnVarNameInTable="columnClientGroupId" msprop:Generator_ColumnPropNameInRow="ClientGroupId" msprop:Generator_ColumnPropNameInTable="ClientGroupIdColumn" type="xs:string" />
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+              <xs:element name="ClientGroupId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientGroupId" msprop:Generator_ColumnPropNameInRow="ClientGroupId" msprop:Generator_ColumnVarNameInTable="columnClientGroupId" msprop:Generator_ColumnPropNameInTable="ClientGroupIdColumn" type="xs:string" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
             </xs:sequence>
           </xs:complexType>
@@ -1006,7 +1070,7 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
-              <xs:element name="ParentJobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ParentJobId" msprop:Generator_ColumnVarNameInTable="columnParentJobId" msprop:Generator_ColumnPropNameInRow="ParentJobId" msprop:Generator_ColumnPropNameInTable="ParentJobIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="JobState" msprop:Generator_UserColumnName="JobState" msprop:Generator_ColumnVarNameInTable="columnJobState" msprop:Generator_ColumnPropNameInRow="JobState" msprop:Generator_ColumnPropNameInTable="JobStateColumn" minOccurs="0">
+              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
+              <xs:element name="ParentJobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ParentJobId" msprop:Generator_ColumnPropNameInRow="ParentJobId" msprop:Generator_ColumnVarNameInTable="columnParentJobId" msprop:Generator_ColumnPropNameInTable="ParentJobIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="JobState" msprop:Generator_UserColumnName="JobState" msprop:Generator_ColumnPropNameInRow="JobState" msprop:Generator_ColumnVarNameInTable="columnJobState" msprop:Generator_ColumnPropNameInTable="JobStateColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -1015,14 +1079,14 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
-              <xs:element name="SerializedJob" msprop:Generator_UserColumnName="SerializedJob" msprop:Generator_ColumnVarNameInTable="columnSerializedJob" msprop:Generator_ColumnPropNameInRow="SerializedJob" msprop:Generator_ColumnPropNameInTable="SerializedJobColumn" type="xs:base64Binary" minOccurs="0" />
-              <xs:element name="DateCreated" msprop:Generator_UserColumnName="DateCreated" msprop:Generator_ColumnVarNameInTable="columnDateCreated" msprop:Generator_ColumnPropNameInRow="DateCreated" msprop:Generator_ColumnPropNameInTable="DateCreatedColumn" type="xs:dateTime" minOccurs="0" />
-              <xs:element name="DateCalculated" msprop:Generator_UserColumnName="DateCalculated" msprop:Generator_ColumnVarNameInTable="columnDateCalculated" msprop:Generator_ColumnPropNameInRow="DateCalculated" msprop:Generator_ColumnPropNameInTable="DateCalculatedColumn" type="xs:dateTime" minOccurs="0" />
-              <xs:element name="Priority" msprop:Generator_UserColumnName="Priority" msprop:Generator_ColumnVarNameInTable="columnPriority" msprop:Generator_ColumnPropNameInRow="Priority" msprop:Generator_ColumnPropNameInTable="PriorityColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="ProjectId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ProjectId" msprop:Generator_ColumnVarNameInTable="columnProjectId" msprop:Generator_ColumnPropNameInRow="ProjectId" msprop:Generator_ColumnPropNameInTable="ProjectIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="UserId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="UserId" msprop:Generator_ColumnVarNameInTable="columnUserId" msprop:Generator_ColumnPropNameInRow="UserId" msprop:Generator_ColumnPropNameInTable="UserIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="CoresNeeded" msprop:Generator_UserColumnName="CoresNeeded" msprop:Generator_ColumnVarNameInTable="columnCoresNeeded" msprop:Generator_ColumnPropNameInRow="CoresNeeded" msprop:Generator_ColumnPropNameInTable="CoresNeededColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="MemoryNeeded" msprop:Generator_UserColumnName="MemoryNeeded" msprop:Generator_ColumnVarNameInTable="columnMemoryNeeded" msprop:Generator_ColumnPropNameInRow="MemoryNeeded" msprop:Generator_ColumnPropNameInTable="MemoryNeededColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
+              <xs:element name="SerializedJob" msprop:Generator_UserColumnName="SerializedJob" msprop:Generator_ColumnPropNameInRow="SerializedJob" msprop:Generator_ColumnVarNameInTable="columnSerializedJob" msprop:Generator_ColumnPropNameInTable="SerializedJobColumn" type="xs:base64Binary" minOccurs="0" />
+              <xs:element name="DateCreated" msprop:Generator_UserColumnName="DateCreated" msprop:Generator_ColumnPropNameInRow="DateCreated" msprop:Generator_ColumnVarNameInTable="columnDateCreated" msprop:Generator_ColumnPropNameInTable="DateCreatedColumn" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="DateCalculated" msprop:Generator_UserColumnName="DateCalculated" msprop:Generator_ColumnPropNameInRow="DateCalculated" msprop:Generator_ColumnVarNameInTable="columnDateCalculated" msprop:Generator_ColumnPropNameInTable="DateCalculatedColumn" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="Priority" msprop:Generator_UserColumnName="Priority" msprop:Generator_ColumnPropNameInRow="Priority" msprop:Generator_ColumnVarNameInTable="columnPriority" msprop:Generator_ColumnPropNameInTable="PriorityColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="ProjectId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ProjectId" msprop:Generator_ColumnPropNameInRow="ProjectId" msprop:Generator_ColumnVarNameInTable="columnProjectId" msprop:Generator_ColumnPropNameInTable="ProjectIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="UserId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="UserId" msprop:Generator_ColumnPropNameInRow="UserId" msprop:Generator_ColumnVarNameInTable="columnUserId" msprop:Generator_ColumnPropNameInTable="UserIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="CoresNeeded" msprop:Generator_UserColumnName="CoresNeeded" msprop:Generator_ColumnPropNameInRow="CoresNeeded" msprop:Generator_ColumnVarNameInTable="columnCoresNeeded" msprop:Generator_ColumnPropNameInTable="CoresNeededColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="MemoryNeeded" msprop:Generator_UserColumnName="MemoryNeeded" msprop:Generator_ColumnPropNameInRow="MemoryNeeded" msprop:Generator_ColumnVarNameInTable="columnMemoryNeeded" msprop:Generator_ColumnPropNameInTable="MemoryNeededColumn" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -1031,8 +1095,8 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobResultId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobResultId" msprop:Generator_ColumnVarNameInTable="columnJobResultId" msprop:Generator_ColumnPropNameInRow="JobResultId" msprop:Generator_ColumnPropNameInTable="JobResultIdColumn" type="xs:string" />
-              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="JobResult" msprop:Generator_UserColumnName="JobResult" msprop:Generator_ColumnVarNameInTable="columnJobResult" msprop:Generator_ColumnPropNameInRow="JobResult" msprop:Generator_ColumnPropNameInTable="JobResultColumn" type="xs:base64Binary" minOccurs="0" />
-              <xs:element name="Message" msprop:Generator_UserColumnName="Message" msprop:Generator_ColumnVarNameInTable="columnMessage" msprop:Generator_ColumnPropNameInRow="Message" msprop:Generator_ColumnPropNameInTable="MessageColumn" minOccurs="0">
+              <xs:element name="JobResultId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobResultId" msprop:Generator_ColumnPropNameInRow="JobResultId" msprop:Generator_ColumnVarNameInTable="columnJobResultId" msprop:Generator_ColumnPropNameInTable="JobResultIdColumn" type="xs:string" />
+              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="JobResult" msprop:Generator_UserColumnName="JobResult" msprop:Generator_ColumnPropNameInRow="JobResult" msprop:Generator_ColumnVarNameInTable="columnJobResult" msprop:Generator_ColumnPropNameInTable="JobResultColumn" type="xs:base64Binary" minOccurs="0" />
+              <xs:element name="Message" msprop:Generator_UserColumnName="Message" msprop:Generator_ColumnPropNameInRow="Message" msprop:Generator_ColumnVarNameInTable="columnMessage" msprop:Generator_ColumnPropNameInTable="MessageColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -1041,7 +1105,7 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="DateFinished" msprop:Generator_UserColumnName="DateFinished" msprop:Generator_ColumnVarNameInTable="columnDateFinished" msprop:Generator_ColumnPropNameInRow="DateFinished" msprop:Generator_ColumnPropNameInTable="DateFinishedColumn" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="DateFinished" msprop:Generator_UserColumnName="DateFinished" msprop:Generator_ColumnPropNameInRow="DateFinished" msprop:Generator_ColumnVarNameInTable="columnDateFinished" msprop:Generator_ColumnPropNameInTable="DateFinishedColumn" type="xs:dateTime" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -1050,6 +1114,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
-              <xs:element name="PluginId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="PluginId" msprop:Generator_ColumnVarNameInTable="columnPluginId" msprop:Generator_ColumnPropNameInRow="PluginId" msprop:Generator_ColumnPropNameInTable="PluginIdColumn" type="xs:string" />
+              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
+              <xs:element name="PluginId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="PluginId" msprop:Generator_ColumnPropNameInRow="PluginId" msprop:Generator_ColumnVarNameInTable="columnPluginId" msprop:Generator_ColumnPropNameInTable="PluginIdColumn" type="xs:string" />
             </xs:sequence>
           </xs:complexType>
@@ -1058,6 +1122,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="PluginId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="PluginId" msprop:Generator_ColumnPropNameInRow="PluginId" msprop:Generator_ColumnVarNameInTable="columnPluginId" msprop:Generator_ColumnPropNameInTable="PluginIdColumn" type="xs:string" />
-              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
+              <xs:element name="PluginId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="PluginId" msprop:Generator_ColumnVarNameInTable="columnPluginId" msprop:Generator_ColumnPropNameInRow="PluginId" msprop:Generator_ColumnPropNameInTable="PluginIdColumn" type="xs:string" />
+              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -1066,5 +1130,5 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="Version" msprop:Generator_UserColumnName="Version" msprop:Generator_ColumnPropNameInRow="Version" msprop:Generator_ColumnVarNameInTable="columnVersion" msprop:Generator_ColumnPropNameInTable="VersionColumn" minOccurs="0">
+              <xs:element name="Version" msprop:Generator_UserColumnName="Version" msprop:Generator_ColumnVarNameInTable="columnVersion" msprop:Generator_ColumnPropNameInRow="Version" msprop:Generator_ColumnPropNameInTable="VersionColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -1073,5 +1137,5 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="BuildDate" msprop:Generator_UserColumnName="BuildDate" msprop:Generator_ColumnPropNameInRow="BuildDate" msprop:Generator_ColumnVarNameInTable="columnBuildDate" msprop:Generator_ColumnPropNameInTable="BuildDateColumn" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="BuildDate" msprop:Generator_UserColumnName="BuildDate" msprop:Generator_ColumnVarNameInTable="columnBuildDate" msprop:Generator_ColumnPropNameInRow="BuildDate" msprop:Generator_ColumnPropNameInTable="BuildDateColumn" type="xs:dateTime" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -1080,6 +1144,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ProjectId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ProjectId" msprop:Generator_ColumnVarNameInTable="columnProjectId" msprop:Generator_ColumnPropNameInRow="ProjectId" msprop:Generator_ColumnPropNameInTable="ProjectIdColumn" type="xs:string" />
-              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
+              <xs:element name="ProjectId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ProjectId" msprop:Generator_ColumnPropNameInRow="ProjectId" msprop:Generator_ColumnVarNameInTable="columnProjectId" msprop:Generator_ColumnPropNameInTable="ProjectIdColumn" type="xs:string" />
+              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -1091,9 +1155,24 @@
           </xs:complexType>
         </xs:element>
-        <xs:element name="AssignedResources" msprop:Generator_UserTableName="AssignedResources" msprop:Generator_RowDeletedName="AssignedResourcesRowDeleted" msprop:Generator_TableClassName="AssignedResourcesDataTable" msprop:Generator_RowChangedName="AssignedResourcesRowChanged" msprop:Generator_RowClassName="AssignedResourcesRow" msprop:Generator_RowChangingName="AssignedResourcesRowChanging" msprop:Generator_RowEvArgName="AssignedResourcesRowChangeEvent" msprop:Generator_RowEvHandlerName="AssignedResourcesRowChangeEventHandler" msprop:Generator_TablePropName="AssignedResources" msprop:Generator_TableVarName="tableAssignedResources" msprop:Generator_RowDeletingName="AssignedResourcesRowDeleting">
+        <xs:element name="AssignedResources" msprop:Generator_UserTableName="AssignedResources" msprop:Generator_RowDeletedName="AssignedResourcesRowDeleted" msprop:Generator_RowChangedName="AssignedResourcesRowChanged" msprop:Generator_RowClassName="AssignedResourcesRow" msprop:Generator_RowChangingName="AssignedResourcesRowChanging" msprop:Generator_RowEvArgName="AssignedResourcesRowChangeEvent" msprop:Generator_RowEvHandlerName="AssignedResourcesRowChangeEventHandler" msprop:Generator_TableClassName="AssignedResourcesDataTable" msprop:Generator_TableVarName="tableAssignedResources" msprop:Generator_RowDeletingName="AssignedResourcesRowDeleting" msprop:Generator_TablePropName="AssignedResources">
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
-              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
+              <xs:element name="ResourceId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:string" />
+              <xs:element name="JobId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:string" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="ClientConfig" msprop:Generator_UserTableName="ClientConfig" msprop:Generator_RowDeletedName="ClientConfigRowDeleted" msprop:Generator_TableClassName="ClientConfigDataTable" msprop:Generator_RowChangedName="ClientConfigRowChanged" msprop:Generator_RowClassName="ClientConfigRow" msprop:Generator_RowChangingName="ClientConfigRowChanging" msprop:Generator_RowEvArgName="ClientConfigRowChangeEvent" msprop:Generator_RowEvHandlerName="ClientConfigRowChangeEventHandler" msprop:Generator_TablePropName="ClientConfig" msprop:Generator_TableVarName="tableClientConfig" msprop:Generator_RowDeletingName="ClientConfigRowDeleting">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="ClientConfigId" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:string" />
+              <xs:element name="UpDownTimeCalendar" msprop:Generator_UserColumnName="UpDownTimeCalendar" msprop:Generator_ColumnPropNameInRow="UpDownTimeCalendar" msprop:Generator_ColumnVarNameInTable="columnUpDownTimeCalendar" msprop:Generator_ColumnPropNameInTable="UpDownTimeCalendarColumn" minOccurs="0">
+                <xs:simpleType>
+                  <xs:restriction base="xs:string">
+                    <xs:maxLength value="2147483647" />
+                  </xs:restriction>
+                </xs:simpleType>
+              </xs:element>
+              <xs:element name="HeartBeatIntervall" msprop:Generator_UserColumnName="HeartBeatIntervall" msprop:Generator_ColumnPropNameInRow="HeartBeatIntervall" msprop:Generator_ColumnVarNameInTable="columnHeartBeatIntervall" msprop:Generator_ColumnPropNameInTable="HeartBeatIntervallColumn" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -1144,4 +1223,8 @@
       <xs:field xpath="mstns:JobId" />
     </xs:unique>
+    <xs:unique name="ClientConfig_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
+      <xs:selector xpath=".//mstns:ClientConfig" />
+      <xs:field xpath="mstns:ClientConfigId" />
+    </xs:unique>
   </xs:element>
   <xs:annotation>
@@ -1160,4 +1243,5 @@
       <msdata:Relationship name="R_55" msdata:parent="Resource" msdata:child="AssignedResources" msdata:parentkey="ResourceId" msdata:childkey="ResourceId" msprop:Generator_UserRelationName="R_55" msprop:Generator_RelationVarName="relationR_55" msprop:Generator_UserChildTable="AssignedResources" msprop:Generator_UserParentTable="Resource" msprop:Generator_ParentPropName="ResourceRow" msprop:Generator_ChildPropName="GetAssignedResourcesRows" />
       <msdata:Relationship name="R_56" msdata:parent="Job" msdata:child="AssignedResources" msdata:parentkey="JobId" msdata:childkey="JobId" msprop:Generator_UserRelationName="R_56" msprop:Generator_RelationVarName="relationR_56" msprop:Generator_UserChildTable="AssignedResources" msprop:Generator_UserParentTable="Job" msprop:Generator_ParentPropName="JobRow" msprop:Generator_ChildPropName="GetAssignedResourcesRows" />
+      <msdata:Relationship name="R_37" msdata:parent="ClientConfig" msdata:child="Client" msdata:parentkey="ClientConfigId" msdata:childkey="ClientConfigId" msprop:Generator_UserRelationName="R_37" msprop:Generator_RelationVarName="relationR_37" msprop:Generator_UserChildTable="Client" msprop:Generator_UserParentTable="ClientConfig" msprop:Generator_ParentPropName="ClientConfigRow" msprop:Generator_ChildPropName="GetClientRows" />
     </xs:appinfo>
   </xs:annotation>
Index: trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.xss
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.xss	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/dsHiveServer.xss	(revision 1999)
@@ -5,19 +5,20 @@
      the code is regenerated.
 </autogenerated>-->
-<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-709" ViewPortY="377" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-183" ViewPortY="466" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
   <Shapes>
-    <Shape ID="DesignTable:Client" ZOrder="21" X="-36" Y="593" Height="275" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
-    <Shape ID="DesignTable:Resource" ZOrder="16" X="215" Y="348" Height="156" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="58" />
-    <Shape ID="DesignTable:ClientGroup" ZOrder="15" X="346" Y="589" Height="123" Width="298" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
-    <Shape ID="DesignTable:ClientGroup_Resource" ZOrder="20" X="197" Y="766" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
-    <Shape ID="DesignTable:Job" ZOrder="5" X="-466" Y="444" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="22" OldDataTableHeight="0" SplitterPosition="228" />
-    <Shape ID="DesignTable:JobResult" ZOrder="19" X="108" Y="76" Height="224" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" />
-    <Shape ID="DesignTable:RequiredPlugins" ZOrder="3" X="-699" Y="259" Height="122" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
-    <Shape ID="DesignTable:PluginInfo" ZOrder="13" X="-454" Y="797" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="22" OldDataTableHeight="0" SplitterPosition="92" />
-    <Shape ID="DesignTable:Project" ZOrder="4" X="-100" Y="418" Height="122" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
-    <Shape ID="DesignTable:AssignedResources" ZOrder="8" X="-522" Y="9" Height="105" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
+    <Shape ID="DesignTable:Client" ZOrder="23" X="-36" Y="593" Height="275" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
+    <Shape ID="DesignTable:Resource" ZOrder="18" X="215" Y="348" Height="156" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="58" />
+    <Shape ID="DesignTable:ClientGroup" ZOrder="17" X="346" Y="589" Height="123" Width="298" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
+    <Shape ID="DesignTable:ClientGroup_Resource" ZOrder="22" X="197" Y="766" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
+    <Shape ID="DesignTable:Job" ZOrder="7" X="-466" Y="444" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="22" OldDataTableHeight="0" SplitterPosition="228" />
+    <Shape ID="DesignTable:JobResult" ZOrder="21" X="108" Y="76" Height="224" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" />
+    <Shape ID="DesignTable:RequiredPlugins" ZOrder="5" X="-699" Y="259" Height="122" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
+    <Shape ID="DesignTable:PluginInfo" ZOrder="15" X="-454" Y="797" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="22" OldDataTableHeight="0" SplitterPosition="92" />
+    <Shape ID="DesignTable:Project" ZOrder="6" X="-100" Y="418" Height="122" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
+    <Shape ID="DesignTable:AssignedResources" ZOrder="10" X="-522" Y="9" Height="105" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
+    <Shape ID="DesignTable:ClientConfig" ZOrder="2" X="-5" Y="947" Height="139" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" />
   </Shapes>
   <Connectors>
-    <Connector ID="DesignRelation:Client_is_a_Resource" ZOrder="23" LineWidth="11">
+    <Connector ID="DesignRelation:Client_is_a_Resource" ZOrder="25" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -35,5 +36,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:ClientGroup_is_a_Resource" ZOrder="22" LineWidth="11">
+    <Connector ID="DesignRelation:ClientGroup_is_a_Resource" ZOrder="24" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -47,5 +48,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_21" ZOrder="18" LineWidth="11">
+    <Connector ID="DesignRelation:R_21" ZOrder="20" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -63,5 +64,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_14" ZOrder="1" LineWidth="11">
+    <Connector ID="DesignRelation:R_14" ZOrder="3" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -79,5 +80,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_51" ZOrder="2" LineWidth="11">
+    <Connector ID="DesignRelation:R_51" ZOrder="4" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -91,5 +92,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_54" ZOrder="17" LineWidth="11">
+    <Connector ID="DesignRelation:R_54" ZOrder="19" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -107,5 +108,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_52" ZOrder="14" LineWidth="11">
+    <Connector ID="DesignRelation:R_52" ZOrder="16" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -119,5 +120,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_59" ZOrder="12" LineWidth="11">
+    <Connector ID="DesignRelation:R_59" ZOrder="14" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -131,5 +132,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_47" ZOrder="11" LineWidth="11">
+    <Connector ID="DesignRelation:R_47" ZOrder="13" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -143,5 +144,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_521" ZOrder="10" LineWidth="11">
+    <Connector ID="DesignRelation:R_521" ZOrder="12" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -155,5 +156,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_49" ZOrder="9" LineWidth="11">
+    <Connector ID="DesignRelation:R_49" ZOrder="11" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -171,5 +172,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_55" ZOrder="6" LineWidth="11">
+    <Connector ID="DesignRelation:R_55" ZOrder="8" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -187,5 +188,5 @@
       </RoutePoints>
     </Connector>
-    <Connector ID="DesignRelation:R_56" ZOrder="7" LineWidth="11">
+    <Connector ID="DesignRelation:R_56" ZOrder="9" LineWidth="11">
       <RoutePoints>
         <Point>
@@ -199,4 +200,16 @@
       </RoutePoints>
     </Connector>
+    <Connector ID="DesignRelation:R_37" ZOrder="1" LineWidth="11">
+      <RoutePoints>
+        <Point>
+          <X>74</X>
+          <Y>947</Y>
+        </Point>
+        <Point>
+          <X>74</X>
+          <Y>868</Y>
+        </Point>
+      </RoutePoints>
+    </Connector>
   </Connectors>
 </DiagramLayout>
Index: trunk/sources/HeuristicLab.Hive.Server.DataAccess/3.2/HeuristicLab.Hive.Server.DataAccess-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.DataAccess/3.2/HeuristicLab.Hive.Server.DataAccess-3.2.csproj	(revision 1998)
+++ trunk/sources/HeuristicLab.Hive.Server.DataAccess/3.2/HeuristicLab.Hive.Server.DataAccess-3.2.csproj	(revision 1999)
@@ -76,4 +76,5 @@
   -->
   <ItemGroup>
+    <Compile Include="IClientConfigAdapter.cs" />
     <Compile Include="IPluginInfoAdapter.cs" />
     <Compile Include="IProjectAdapter.cs" />
