Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.DataAccess.ADOHelper/3.3/DataAccessADOHelperPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.DataAccess.ADOHelper/3.3/DataAccessADOHelperPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.DataAccess.ADOHelper/3.3/DataAccessADOHelperPlugin.cs	(revision 4091)
@@ -26,7 +26,7 @@
 
 namespace HeuristicLab.DataAccess.ADOHelper {
-  [Plugin("HeuristicLab.DataAccess.ADOHelper-3.3")]
+  [Plugin("HeuristicLab.DataAccess.ADOHelper", "3.3")]
   [PluginFile("HeuristicLab.DataAccess.ADOHelper-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
   public class DataAccessADOHelperPlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.DataAccess/3.3/DataAccessPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.DataAccess/3.3/DataAccessPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.DataAccess/3.3/DataAccessPlugin.cs	(revision 4091)
@@ -26,7 +26,7 @@
 
 namespace HeuristicLab.DataAccess {
-  [Plugin("HeuristicLab.DataAccess-3.3")]
+  [Plugin("HeuristicLab.DataAccess", "3.3")]
   [PluginFile("HeuristicLab.DataAccess-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
   public class DataAccessPlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLab.SpringNET-1.3.0.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLab.SpringNET-1.3.0.csproj	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLab.SpringNET-1.3.0.csproj	(revision 4091)
@@ -0,0 +1,170 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.SpringNET</RootNamespace>
+    <AssemblyName>HeuristicLab.SpringNET-1.3.0</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HeuristicLabSpringNetPlugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="HeuristicLabSpringNetPlugin.cs.frame" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Common.Logging.dll">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Spring.Aop.dll">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Spring.Core.dll">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Spring.Services.dll">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd
+SubWCRev "%25ProjectDir%25/" "%25ProjectDir%25/HeuristicLabSpringNetPlugin.cs.frame" "%25ProjectDir%25/HeuristicLabSpringNetPlugin.cs"</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLab.SpringNET-1.3.0.csproj.user
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLab.SpringNET-1.3.0.csproj.user	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLab.SpringNET-1.3.0.csproj.user	(revision 4091)
@@ -0,0 +1,13 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <PublishUrlHistory />
+    <InstallUrlHistory />
+    <SupportUrlHistory />
+    <UpdateUrlHistory />
+    <BootstrapperUrlHistory />
+    <ErrorReportUrlHistory />
+    <FallbackCulture>en-US</FallbackCulture>
+    <VerifyUploadedFiles>false</VerifyUploadedFiles>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLabSpringNetPlugin.cs.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLabSpringNetPlugin.cs.frame	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/HeuristicLabSpringNetPlugin.cs.frame	(revision 4091)
@@ -0,0 +1,38 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2009 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.SpringNET {
+  
+  [Plugin("HeuristicLab.SpringNET", "1.3.0.$WCREV$")]
+  [PluginFile("HeuristicLab.SpringNET-1.3.0.dll", PluginFileType.Assembly)]
+  [PluginFile("Common.Logging.dll", PluginFileType.Assembly)]
+  [PluginFile("Spring.Services.dll", PluginFileType.Assembly)]
+  [PluginFile("Spring.Core.dll", PluginFileType.Assembly)]
+  [PluginFile("Spring.Aop.dll", PluginFileType.Assembly)]  
+  public class HeuristicLabSpringNetPlugin : PluginBase {
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/Properties/AssemblyInfo.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/Properties/AssemblyInfo.frame	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.ExtLibs/HeuristicLab.SpringNET/1.3.0/Properties/AssemblyInfo.frame	(revision 4091)
@@ -0,0 +1,36 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.SpringNET")]
+[assembly: AssemblyDescription("Transport plugin for SpringNET")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2010 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("3f5083f8-2738-4573-b230-e9928ef61e6b")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.3.0")]
+[assembly: AssemblyFileVersion("1.3.0")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln	(revision 4091)
@@ -7,4 +7,20 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Hive-3.3", "HeuristicLab.Hive\3.3\HeuristicLab.Hive-3.3.csproj", "{C92AAC8C-4D88-449C-ABA5-2B935D769842}"
+	ProjectSection(ProjectDependencies) = postProject
+		{4D5A2A16-66C2-431D-9AA3-BD3041E64B84} = {4D5A2A16-66C2-431D-9AA3-BD3041E64B84}
+		{21187322-52DD-4243-80A4-A85F0263E63B} = {21187322-52DD-4243-80A4-A85F0263E63B}
+		{A04AE929-D0E1-466D-A9D3-BF3C4B2C209F} = {A04AE929-D0E1-466D-A9D3-BF3C4B2C209F}
+		{D59E852C-F205-4647-8C05-EB9ED1CF44E9} = {D59E852C-F205-4647-8C05-EB9ED1CF44E9}
+		{CE2DFB48-6A9C-4507-96C6-5FC40E92035C} = {CE2DFB48-6A9C-4507-96C6-5FC40E92035C}
+		{5CDACE54-5FB2-4344-A21C-963F63CB7C2B} = {5CDACE54-5FB2-4344-A21C-963F63CB7C2B}
+		{679E977A-117B-456E-8594-2A4DEADB658B} = {679E977A-117B-456E-8594-2A4DEADB658B}
+		{9076697B-C151-46CD-95BC-1D059492B478} = {9076697B-C151-46CD-95BC-1D059492B478}
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1} = {48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}
+		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11} = {C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}
+		{898B31CF-81DC-453B-AEB3-BDF83197A7EE} = {898B31CF-81DC-453B-AEB3-BDF83197A7EE}
+		{134F93D7-E7C8-4ECD-9923-7F63259A60D8} = {134F93D7-E7C8-4ECD-9923-7F63259A60D8}
+		{A4499DDD-D1B8-414F-98F6-903C2C71BEB0} = {A4499DDD-D1B8-414F-98F6-903C2C71BEB0}
+		{AC3D84FF-F0D7-43F0-9C99-9F8DBE087E2C} = {AC3D84FF-F0D7-43F0-9C99-9F8DBE087E2C}
+	EndProjectSection
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{02A1B491-BFBA-407C-BE63-0227871E7B5C}"
@@ -52,9 +68,17 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Hive.JobBase-3.3", "HeuristicLab.Hive.JobBase\3.3\HeuristicLab.Hive.JobBase-3.3.csproj", "{21187322-52DD-4243-80A4-A85F0263E63B}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Server", "Server", "{E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Security", "Security", "{3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Hive.Client", "HeuristicLab.Hive.Client", "{DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Hive.Server", "HeuristicLab.Hive.Server", "{E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Security", "HeuristicLab.Security", "{3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Hive", "HeuristicLab.Hive", "{84899895-AC52-4053-8A91-61753EF8E0A8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab", "HeuristicLab", "{BD1DE6F6-A188-4D1F-9681-BA7104818370}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.ExtLibs", "HeuristicLab.ExtLibs", "{98B4B360-4F14-4BC5-92F2-9B81F6C712DA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.SpringNET-1.3.0", "HeuristicLab.ExtLibs\HeuristicLab.SpringNET\1.3.0\HeuristicLab.SpringNET-1.3.0.csproj", "{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}"
 EndProject
 Global
@@ -316,4 +340,16 @@
 		{21187322-52DD-4243-80A4-A85F0263E63B}.Release|x86.ActiveCfg = Release|x86
 		{21187322-52DD-4243-80A4-A85F0263E63B}.Release|x86.Build.0 = Release|x86
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Debug|x64.ActiveCfg = Debug|x64
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Debug|x64.Build.0 = Debug|x64
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Debug|x86.ActiveCfg = Debug|x86
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Debug|x86.Build.0 = Debug|x86
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Release|x64.ActiveCfg = Release|x64
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Release|x64.Build.0 = Release|x64
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Release|x86.ActiveCfg = Release|x86
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
@@ -321,19 +357,26 @@
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{89F4BC52-C174-481E-9BD2-3814171020E8} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
-		{1605256A-1CB3-44AB-AAFF-577093EE5789} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
 		{AEB51212-CDBA-4FC6-A2EE-02359AA53ECE} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
 		{8B14A35E-DBDF-43EB-B019-23E9FBC5A35E} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
+		{1605256A-1CB3-44AB-AAFF-577093EE5789} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
+		{89F4BC52-C174-481E-9BD2-3814171020E8} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
 		{5010BD86-23B7-4F8C-888A-76D21AD5266A} = {DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}
-		{679E977A-117B-456E-8594-2A4DEADB658B} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
 		{A04AE929-D0E1-466D-A9D3-BF3C4B2C209F} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
 		{42A1D075-6C12-4DD9-B0C2-C6F5210A8119} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
-		{898B31CF-81DC-453B-AEB3-BDF83197A7EE} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
 		{4D5A2A16-66C2-431D-9AA3-BD3041E64B84} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
 		{A4499DDD-D1B8-414F-98F6-903C2C71BEB0} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
-		{D59E852C-F205-4647-8C05-EB9ED1CF44E9} = {3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}
-		{E3288D4B-7A51-499A-AC5B-019319CE51DC} = {3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}
+		{679E977A-117B-456E-8594-2A4DEADB658B} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
+		{898B31CF-81DC-453B-AEB3-BDF83197A7EE} = {E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}
+		{134F93D7-E7C8-4ECD-9923-7F63259A60D8} = {84899895-AC52-4053-8A91-61753EF8E0A8}
+		{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11} = {84899895-AC52-4053-8A91-61753EF8E0A8}
+		{21187322-52DD-4243-80A4-A85F0263E63B} = {84899895-AC52-4053-8A91-61753EF8E0A8}
+		{C92AAC8C-4D88-449C-ABA5-2B935D769842} = {84899895-AC52-4053-8A91-61753EF8E0A8}
 		{CE2DFB48-6A9C-4507-96C6-5FC40E92035C} = {3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}
 		{AC3D84FF-F0D7-43F0-9C99-9F8DBE087E2C} = {3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}
+		{E3288D4B-7A51-499A-AC5B-019319CE51DC} = {3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}
+		{D59E852C-F205-4647-8C05-EB9ED1CF44E9} = {3721CE4A-1148-49E1-B8DD-D9F5309AB8D9}
+		{9076697B-C151-46CD-95BC-1D059492B478} = {BD1DE6F6-A188-4D1F-9681-BA7104818370}
+		{5CDACE54-5FB2-4344-A21C-963F63CB7C2B} = {BD1DE6F6-A188-4D1F-9681-BA7104818370}
+		{48D4AEB1-2247-4B58-8B63-20B81BF8D4B1} = {98B4B360-4F14-4BC5-92F2-9B81F6C712DA}
 	EndGlobalSection
 EndGlobal
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Communication/3.3/HeuristicLab.Hive.Client.Communication-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Communication/3.3/HeuristicLab.Hive.Client.Communication-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Communication/3.3/HeuristicLab.Hive.Client.Communication-3.3.csproj	(revision 4091)
@@ -76,4 +76,7 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="HeuristicLab.Core-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
+    </Reference>
     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
       <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Communication/3.3/WcfService.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Communication/3.3/WcfService.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Communication/3.3/WcfService.cs	(revision 4091)
@@ -26,14 +26,15 @@
 using System.ServiceModel;
 using HeuristicLab.Hive.Contracts.Interfaces;
-using HeuristicLab.Hive.Contracts;
-using HeuristicLab.Hive.Contracts.BusinessObjects;
 using HeuristicLab.Hive.Client.Common;
-using HeuristicLab.Hive.Client.Communication.ServerService;
 using HeuristicLab.PluginInfrastructure;
 using System.IO;
 using System.Runtime.Serialization.Formatters.Binary;
 using HeuristicLab.Tracing;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
 
 namespace HeuristicLab.Hive.Client.Communication {
+  using Service = HeuristicLab.Hive.Client.Communication.ServerService;
+
   /// <summary>
   /// WcfService class is implemented as a Singleton and works as a communication Layer with the Server
@@ -64,5 +65,5 @@
     public event EventHandler Connected;    
 
-    public ClientFacadeClient proxy = null;
+    public Service.ClientFacadeClient proxy = null;
 
     /// <summary>
@@ -85,6 +86,6 @@
 
         Logger.Debug("Creating the new connection proxy");
-        proxy = new ClientFacadeClient(
-          WcfSettings.GetStreamedBinding(),
+        proxy = new HeuristicLab.Hive.Client.Communication.ServerService.ClientFacadeClient(
+          HeuristicLab.Hive.Contracts.WcfSettings.GetStreamedBinding(),
           new EndpointAddress("net.tcp://" + ServerIP + ":" + ServerPort + "/HiveServer/ClientCommunicator")
         );
@@ -92,9 +93,9 @@
 
         Logger.Debug("Registring new Events");
-        proxy.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(proxy_LoginCompleted);
-        proxy.SendStreamedJobCompleted += new EventHandler<SendStreamedJobCompletedEventArgs>(proxy_SendStreamedJobCompleted);
-        proxy.StoreFinishedJobResultStreamedCompleted += new EventHandler<StoreFinishedJobResultStreamedCompletedEventArgs>(proxy_StoreFinishedJobResultStreamedCompleted);
-        proxy.ProcessSnapshotStreamedCompleted += new EventHandler<ProcessSnapshotStreamedCompletedEventArgs>(proxy_ProcessSnapshotStreamedCompleted);
-        proxy.ProcessHeartBeatCompleted += new EventHandler<ProcessHeartBeatCompletedEventArgs>(proxy_ProcessHeartBeatCompleted);
+        proxy.LoginCompleted += new EventHandler<Service.LoginCompletedEventArgs>(proxy_LoginCompleted);
+        proxy.SendStreamedJobCompleted += new EventHandler<Service.SendStreamedJobCompletedEventArgs>(proxy_SendStreamedJobCompleted);
+        proxy.StoreFinishedJobResultStreamedCompleted += new EventHandler<Service.StoreFinishedJobResultStreamedCompletedEventArgs>(proxy_StoreFinishedJobResultStreamedCompleted);
+        proxy.ProcessSnapshotStreamedCompleted += new EventHandler<Service.ProcessSnapshotStreamedCompletedEventArgs>(proxy_ProcessSnapshotStreamedCompleted);
+        proxy.ProcessHeartBeatCompleted += new EventHandler<Service.ProcessHeartBeatCompletedEventArgs>(proxy_ProcessHeartBeatCompleted);
         Logger.Debug("Registered new Events");
         Logger.Debug("Opening the Connection");
@@ -164,5 +165,5 @@
     /// </summary>
     #region Login
-    public event System.EventHandler<LoginCompletedEventArgs> LoginCompleted;
+    public event System.EventHandler<Service.LoginCompletedEventArgs> LoginCompleted;
     public void LoginAsync(ClientDto clientInfo) {
       if (ConnState == NetworkEnum.WcfConnState.Connected) {
@@ -171,5 +172,5 @@
       }
     }
-    private void proxy_LoginCompleted(object sender, LoginCompletedEventArgs e) {
+    private void proxy_LoginCompleted(object sender, Service.LoginCompletedEventArgs e) {
       if (e.Error == null) {
         Logger.Debug("ENDED: Login Async");
@@ -183,5 +184,5 @@
         if (ConnState == NetworkEnum.WcfConnState.Connected) {
           Logger.Debug("STARTED: Login Sync");
-          Response res = proxy.Login(clientInfo);
+          HeuristicLab.Hive.Contracts.Response res = proxy.Login(clientInfo);
           if (!res.Success) {
             Logger.Error("FAILED: Login Failed! " + res.StatusMessage);
@@ -204,5 +205,5 @@
     /// </summary>
     #region PullJob
-    public event System.EventHandler<SendJobCompletedEventArgs> SendJobCompleted;
+    public event System.EventHandler<Service.SendJobCompletedEventArgs> SendJobCompleted;
     public void SendJobAsync(Guid guid) {
       if (ConnState == NetworkEnum.WcfConnState.Loggedin) {
@@ -212,5 +213,5 @@
     }
 
-    void proxy_SendStreamedJobCompleted(object sender, SendStreamedJobCompletedEventArgs e) {
+    void proxy_SendStreamedJobCompleted(object sender, Service.SendStreamedJobCompletedEventArgs e) {
       if (e.Error == null) {
         Logger.Debug("ENDED: Fetching of Jobs from Server for Client");
@@ -238,6 +239,6 @@
           memStream.Close();
 
-          SendJobCompletedEventArgs completedEventArgs =
-            new SendJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, e.Error, e.Cancelled, e.UserState);
+          Service.SendJobCompletedEventArgs completedEventArgs =
+            new Service.SendJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, e.Error, e.Cancelled, e.UserState);
           SendJobCompleted(sender, completedEventArgs);
         } catch (Exception ex) {
@@ -260,5 +261,5 @@
     /// </summary>
     #region SendJobResults
-    public event System.EventHandler<StoreFinishedJobResultCompletedEventArgs> StoreFinishedJobResultCompleted;
+    public event System.EventHandler<Service.StoreFinishedJobResultCompletedEventArgs> StoreFinishedJobResultCompleted;
     public void StoreFinishedJobResultAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
       if (ConnState == NetworkEnum.WcfConnState.Loggedin) {
@@ -272,5 +273,5 @@
       }
      }
-    private void proxy_StoreFinishedJobResultStreamedCompleted(object sender, StoreFinishedJobResultStreamedCompletedEventArgs e) {
+    private void proxy_StoreFinishedJobResultStreamedCompleted(object sender, Service.StoreFinishedJobResultStreamedCompletedEventArgs e) {
       Logger.Debug("Finished storing the job");
       Stream stream =
@@ -281,6 +282,6 @@
       }
       if (e.Error == null) {
-        StoreFinishedJobResultCompletedEventArgs args =
-          new StoreFinishedJobResultCompletedEventArgs(
+        Service.StoreFinishedJobResultCompletedEventArgs args =
+          new Service.StoreFinishedJobResultCompletedEventArgs(
             new object[] { e.Result }, e.Error, e.Cancelled, e.UserState);
         Logger.Debug("calling the Finished Job Event");
@@ -294,5 +295,5 @@
 
     #region Processsnapshots
-    public event System.EventHandler<ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
+    public event System.EventHandler<Service.ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
     public void ProcessSnapshotAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
       if (ConnState == NetworkEnum.WcfConnState.Loggedin) {
@@ -303,5 +304,5 @@
       }
     }
-    void proxy_ProcessSnapshotStreamedCompleted(object sender, ProcessSnapshotStreamedCompletedEventArgs e) {
+    void proxy_ProcessSnapshotStreamedCompleted(object sender, Service.ProcessSnapshotStreamedCompletedEventArgs e) {
       Stream stream =
         (Stream)e.UserState;
@@ -310,6 +311,6 @@
       
       if (e.Error == null) {
-        ProcessSnapshotCompletedEventArgs args =
-          new ProcessSnapshotCompletedEventArgs(
+        Service.ProcessSnapshotCompletedEventArgs args =
+          new Service.ProcessSnapshotCompletedEventArgs(
             new object[] { e.Result }, e.Error, e.Cancelled, e.UserState);
 
@@ -326,5 +327,5 @@
     #region Heartbeat
 
-    public event System.EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
+    public event System.EventHandler<Service.ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
     public void ProcessHeartBeatAsync(HeartBeatData hbd) {
       if (ConnState == NetworkEnum.WcfConnState.Loggedin)
@@ -333,5 +334,5 @@
     }
 
-    private void proxy_ProcessHeartBeatCompleted(object sender, ProcessHeartBeatCompletedEventArgs e) {
+    private void proxy_ProcessHeartBeatCompleted(object sender, Service.ProcessHeartBeatCompletedEventArgs e) {
       if (e.Error == null && e.Result.Success) {
         ProcessHeartBeatCompleted(sender, e);
@@ -406,5 +407,5 @@
     }
 
-    public List<CachedHivePluginInfoDto> RequestPlugins(List<HivePluginInfoDto> requestedPlugins) {
+    public List<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> RequestPlugins(List<HivePluginInfoDto> requestedPlugins) {
       try {
         Logger.Debug("STARTED: Requesting Plugins for Job");
@@ -451,5 +452,5 @@
     }
 
-    public Response SetCalendarStatus (Guid clientId, CalendarState state) {
+    public Response SetCalendarStatus(Guid clientId, CalendarState state) {
       try {
         Logger.Debug("STARTED: Setting Calendar status to: " + state);
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Core/3.3/Properties/AssemblyInfo.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Core/3.3/Properties/AssemblyInfo.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.Core/3.3/Properties/AssemblyInfo.cs	(revision 4091)
@@ -57,5 +57,5 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("3.3.0.4077")]
-[assembly: AssemblyFileVersion("3.3.0.4077")]
-[assembly: AssemblyBuildDate("2010/07/22 13:53:38")]
+[assembly: AssemblyVersion("3.3.0.4078")]
+[assembly: AssemblyFileVersion("3.3.0.4078")]
+[assembly: AssemblyBuildDate("2010/07/22 16:16:39")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.ExecutionEngine/3.3/Executor.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.ExecutionEngine/3.3/Executor.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.ExecutionEngine/3.3/Executor.cs	(revision 4091)
@@ -24,4 +24,5 @@
 using HeuristicLab.Hive.Contracts;
 using HeuristicLab.Hive.JobBase;
+using HeuristicLab.Persistence.Core;
 
 namespace HeuristicLab.Hive.Client.ExecutionEngine {
@@ -50,7 +51,10 @@
     public void Start(byte[] serializedJob) {
       CreationTime = DateTime.Now;
-      Job = (IJob)PersistenceManager.RestoreFromGZip(serializedJob);
+      throw new NotImplementedException("TODO[chn] use persistency-3.3");
+      // Job = (IJob)PersistenceManager.RestoreFromGZip(serializedJob);
+      
       //debug
-      //Job = new TestJob();
+      Job = new TestJob();
+
       Job.JobStopped += new EventHandler(Job_JobStopped);
       Job.JobFailed += new EventHandler(Job_JobFailed);
@@ -114,9 +118,11 @@
 
     private byte[] SerializeJobObject() {
-      return PersistenceManager.SaveToGZip(Job);
+      throw new NotImplementedException("TODO[chn] use persistency-3.3");
+      return null; // PersistenceManager.SaveToGZip(Job);
     }
 
     private void RestoreJobObject(byte[] sjob) {
-      Job = (IJob)PersistenceManager.RestoreFromGZip(sjob);
+      throw new NotImplementedException("TODO[chn] use persistency-3.3");
+      //Job = (IJob)PersistenceManager.RestoreFromGZip(sjob);
     }
 
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.ExecutionEngine/3.3/HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.ExecutionEngine/3.3/HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Client.ExecutionEngine/3.3/HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj	(revision 4091)
@@ -76,4 +76,7 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="HeuristicLab.Persistence-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
+    </Reference>
     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
       <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/HiveContractPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/HiveContractPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/HiveContractPlugin.cs	(revision 4091)
@@ -26,8 +26,8 @@
 
 namespace HeuristicLab.Hive.Server {
-  [Plugin("HeuristicLab.Hive.Contracts-3.3")]
+  [Plugin("HeuristicLab.Hive.Contracts", "3.3")]
   [PluginFile("HeuristicLab.Hive.Contracts-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
-  [PluginDependency("HeuristicLab.DataAccess-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.DataAccess", "3.3")]
   public class HiveServerContracts : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HeuristicLab.Hive.Engine-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HeuristicLab.Hive.Engine-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HeuristicLab.Hive.Engine-3.3.csproj	(revision 4091)
@@ -103,4 +103,10 @@
       <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     </Reference>
+    <Reference Include="HeuristicLab.SequentialEngine-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.SequentialEngine-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Tracing-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -125,12 +131,12 @@
     <Compile Include="HeuristicLabHiveEnginePlugin.cs" />
     <Compile Include="HiveEngine.cs" />
-    <Compile Include="HiveEngineEditor.cs" />
-    <Compile Include="HiveEngineEditor.Designer.cs">
-      <DependentUpon>HiveEngineEditor.cs</DependentUpon>
-    </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ServiceLocator.cs" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.3\HeuristicLab.DataAccess-3.3.csproj">
+      <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project>
+      <Name>HeuristicLab.DataAccess-3.3</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
       <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
@@ -145,10 +151,4 @@
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="HiveEngineEditor.resx">
-      <DependentUpon>HiveEngineEditor.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
   </ItemGroup>
   <ItemGroup>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HeuristicLabHiveEnginePlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HeuristicLabHiveEnginePlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HeuristicLabHiveEnginePlugin.cs	(revision 4091)
@@ -29,14 +29,14 @@
   /// Plugin class for HeuristicLab.Hive.Engine plugin.
   /// </summary>
-  [Plugin("HeuristicLab.Hive.Engine-3.3")]
+  [Plugin("HeuristicLab.Hive.Engine", "3.3")]
   [PluginFile("HeuristicLab.Hive.Engine-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Common","3.3.0.0")]
-  [PluginDependency("HeuristicLab.Core-3.3")]
-  [PluginDependency("HeuristicLab.Data-3.3")]
-  [PluginDependency("HeuristicLab.DataAccess-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Contracts-3.3")]
-  [PluginDependency("HeuristicLab.Hive.JobBase-3.3")]
-  [PluginDependency("HeuristicLab.SequentialEngine-3.3")]
-  [PluginDependency("HeuristicLab.Tracing","3.3.0.0")]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Data", "3.3")]
+  [PluginDependency("HeuristicLab.DataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.JobBase", "3.3")]
+  [PluginDependency("HeuristicLab.SequentialEngine", "3.3")]
+  [PluginDependency("HeuristicLab.Tracing", "3.3")]
   public class HeuristicLabHiveEnginePlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngine.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngine.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngine.cs	(revision 4091)
@@ -41,5 +41,5 @@
   /// in parallel.
   /// </summary>
-  public class HiveEngine : ItemBase, IEngine, IEditable {
+  public class HiveEngine : HeuristicLab.Core.Engine {
     private const int SNAPSHOT_POLLING_INTERVAL_MS = 1000;
     private const int RESULT_POLLING_INTERVAL_MS = 10000;
@@ -60,13 +60,11 @@
     }
 
-    #region IEngine Members
-
-    public IOperatorGraph OperatorGraph {
-      get { return job.Engine.OperatorGraph; }
-    }
-
-    public IScope GlobalScope {
-      get { return job.Engine.GlobalScope; }
-    }
+    //public OperatorGraph OperatorGraph {
+    //  get { return job.Engine.OperatorGraph; }
+    //}
+
+    //public IScope GlobalScope {
+    //  get { return job.Engine.GlobalScope; }
+    //}
 
     public TimeSpan ExecutionTime {
@@ -75,21 +73,25 @@
 
     public ThreadPriority Priority {
-      get { return job.Engine.Priority; }
-      set { job.Engine.Priority = value; }
-    }
-
-    public bool Running {
-      get { return job.Engine.Running; }
-    }
-
-    public bool Canceled {
-      get { return job.Engine.Canceled; }
-    }
-
-    public bool Terminated {
-      get { return job.Engine.Terminated; }
-    }
-
-    public void Execute() {
+      get { return this.Priority; }
+      set { this.Priority = value; }
+    }
+
+    //public bool Running {
+    //  get { return job.Engine.ExecutionState == Core.ExecutionState.Started; }
+    //}
+
+    //public bool Canceled {
+    //  get { return job.Engine.Canceled; }
+    //}
+
+    //public bool Terminated {
+    //  get { return job.Engine.Terminated; }
+    //}
+
+    public ExecutionState ExecutionState {
+      get { return job.Engine.ExecutionState; }
+    }
+
+    protected override void ProcessNextOperation() {
       var jobObj = CreateJobObj();
       IExecutionEngineFacade executionEngineFacade = ServiceLocator.CreateExecutionEngineFacade(HiveServerUrl);
@@ -97,5 +99,5 @@
       List<string> groups = new List<string>();
       if (!String.Empty.Equals(RessourceIds)) {
-        groups.AddRange(RessourceIds.Split(';'));        
+        groups.AddRange(RessourceIds.Split(';'));
       }
 
@@ -110,10 +112,10 @@
           }   
         }
-      } */     
+      } */
 
       int loops = 1;
-      
+
       Int32.TryParse(MultiSubmitCount, out loops);
-      if(loops == 0)
+      if (loops == 0)
         loops = 1;
 
@@ -122,5 +124,5 @@
         jobId = res.Obj.Id;
       }
-      
+
       StartResultPollingThread();
     }
@@ -144,7 +146,8 @@
             // 4. the result that we get from the server is a snapshot and not the final result
             if (abortRequested) return;
-              if (response.Success && response.Obj != null && response.StatusMessage != ApplicationConstants.RESPONSE_JOB_RESULT_NOT_YET_HERE) {
+            if (response.Success && response.Obj != null && response.StatusMessage != ApplicationConstants.RESPONSE_JOB_RESULT_NOT_YET_HERE) {
               Logger.Debug("HiveEngine: Results-polling - Got result!");
-              restoredJob = (Job)PersistenceManager.RestoreFromGZip(response.Obj.SerializedJobData);
+              throw new NotImplementedException("TODO[chn]use persistency-3.3");
+              //restoredJob = (Job)PersistenceManager.RestoreFromGZip(response.Obj.SerializedJobData);
               Logger.Debug("HiveEngine: Results-polling - IsSnapshotResult: " + (restoredJob.Progress < 1.0));
             }
@@ -153,7 +156,9 @@
 
         job = restoredJob;
-        ControlManager.Manager.ShowControl(job.Engine.CreateView());
-        OnChanged();
-        OnFinished();
+
+        //ControlManager.Manager.ShowControl(job.Engine.CreateView());
+        //OnChanged();
+
+        //OnFinished();
       });
       Logger.Debug("HiveEngine: Starting results-polling thread");
@@ -161,193 +166,182 @@
     }
 
-    public void RequestSnapshot() {
-      IExecutionEngineFacade executionEngineFacade = ServiceLocator.CreateExecutionEngineFacade(HiveServerUrl);
-      int retryCount = 0;
-      ResponseObject<SerializedJob> response;
-      lock (locker) {
-        Logger.Debug("HiveEngine: Abort - RequestSnapshot");
-        Response snapShotResponse = executionEngineFacade.RequestSnapshot(jobId);
-        if (snapShotResponse.StatusMessage == ApplicationConstants.RESPONSE_JOB_IS_NOT_BEEING_CALCULATED) {
-          // job is finished already
-          Logger.Debug("HiveEngine: Abort - GetLastResult(false)");
-          response = executionEngineFacade.GetLastSerializedResult(jobId, false, false);
-          Logger.Debug("HiveEngine: Abort - Server: " + response.StatusMessage + " success: " + response.Success);
-        } else {
-          // server sent snapshot request to client
-          // poll until snapshot is ready
-          do {
-            Thread.Sleep(SNAPSHOT_POLLING_INTERVAL_MS);
-            Logger.Debug("HiveEngine: Abort - GetLastResult(true)");
-            response = executionEngineFacade.GetLastSerializedResult(jobId, false, true);
-            Logger.Debug("HiveEngine: Abort - Server: " + response.StatusMessage + " success: " + response.Success);
-            retryCount++;
-            // loop while
-            // 1. problem with communication with server
-            // 2. job result not yet ready
-          } while (
-            (retryCount < MAX_SNAPSHOT_RETRIES) && (
-            !response.Success ||
-            response.StatusMessage == ApplicationConstants.RESPONSE_JOB_RESULT_NOT_YET_HERE)
-            );
-        }
-      }
-      SerializedJob jobResult = response.Obj;
-      if (jobResult != null) {
-        Logger.Debug("HiveEngine: Results-polling - Got result!");
-        job = (Job)PersistenceManager.RestoreFromGZip(jobResult.SerializedJobData);
-        ControlManager.Manager.ShowControl(job.Engine.CreateView());
-      }
-      //HiveLogger.Debug("HiveEngine: Results-polling - Exception!");
-      //Exception ex = new Exception(response.Obj.Exception.Message);
-      //ThreadPool.QueueUserWorkItem(delegate(object state) { OnExceptionOccurred(ex); });
-    }
-
-    public void ExecuteStep() {
-      throw new NotSupportedException();
-    }
-
-    public void ExecuteSteps(int steps) {
-      throw new NotSupportedException();
-    }
-
-    public void Abort() {
-      abortRequested = true;
-      // RequestSnapshot();
-      IExecutionEngineFacade executionEngineFacade = ServiceLocator.CreateExecutionEngineFacade(HiveServerUrl);
-      executionEngineFacade.AbortJob(jobId);
-      OnChanged();
-      OnFinished();
-    }
-
-    public void Reset() {
-      abortRequested = false;
-      job.Engine.Reset();
-      jobId = Guid.NewGuid();
-      OnInitialized();
-    }
-
     private HeuristicLab.Hive.Contracts.BusinessObjects.SerializedJob CreateJobObj() {
       HeuristicLab.Hive.Contracts.BusinessObjects.JobDto jobObj =
         new HeuristicLab.Hive.Contracts.BusinessObjects.JobDto();
 
-      MemoryStream memStream = new MemoryStream();
-      GZipStream stream = new GZipStream(memStream, CompressionMode.Compress, true);
-      XmlDocument document = PersistenceManager.CreateXmlDocument();
-      Dictionary<Guid, IStorable> dictionary = new Dictionary<Guid, IStorable>();
-      XmlNode rootNode = document.CreateElement("Root");
-      document.AppendChild(rootNode);
-      rootNode.AppendChild(PersistenceManager.Persist(job, document, dictionary));
-      document.Save(stream);
-      stream.Close();
-
-      HeuristicLab.Hive.Contracts.BusinessObjects.SerializedJob executableJobObj =
-        new HeuristicLab.Hive.Contracts.BusinessObjects.SerializedJob();
-      executableJobObj.JobInfo = jobObj;
-      executableJobObj.SerializedJobData = memStream.ToArray();
-
-      List<IPluginDescription> plugins = new List<IPluginDescription>();
-
-      foreach (IStorable storeable in dictionary.Values) {
-        IPluginDescription pluginInfo = ApplicationManager.Manager.GetDeclaringPlugin(storeable.GetType());
-        if (!plugins.Contains(pluginInfo)) {
-          plugins.Add(pluginInfo);
-          foreach (var dependency in pluginInfo.Dependencies) {
-            if (!plugins.Contains(dependency)) plugins.Add(dependency);
-          }
-        }
-      }
-
-      List<HivePluginInfoDto> pluginsNeeded =
-        new List<HivePluginInfoDto>();
-      foreach (IPluginDescription uniquePlugin in plugins) {
-        HivePluginInfoDto pluginInfo =
-          new HivePluginInfoDto();
-        pluginInfo.Name = uniquePlugin.Name;
-        pluginInfo.Version = uniquePlugin.Version;
-        pluginInfo.BuildDate = uniquePlugin.BuildDate;
-        pluginsNeeded.Add(pluginInfo);
-      }
-
-      jobObj.CoresNeeded = 1;
-      jobObj.PluginsNeeded = pluginsNeeded;
-      jobObj.State = HeuristicLab.Hive.Contracts.BusinessObjects.State.offline;
-      return executableJobObj;
-    }
-
-    public event EventHandler Initialized;
-    /// <summary>
-    /// Fires a new <c>Initialized</c> event.
-    /// </summary>
-    protected virtual void OnInitialized() {
-      if (Initialized != null)
-        Initialized(this, new EventArgs());
-    }
-
-    public event EventHandler<EventArgs<IOperation>> OperationExecuted;
-    /// <summary>
-    /// Fires a new <c>OperationExecuted</c> event.
-    /// </summary>
-    /// <param name="operation">The operation that has been executed.</param>
-    protected virtual void OnOperationExecuted(IOperation operation) {
-      if (OperationExecuted != null)
-        OperationExecuted(this, new EventArgs<IOperation>(operation));
-    }
-
-    public event EventHandler<EventArgs<Exception>> ExceptionOccurred;
-    /// <summary>
-    /// Aborts the execution and fires a new <c>ExceptionOccurred</c> event.
-    /// </summary>
-    /// <param name="exception">The exception that was thrown.</param>
-    protected virtual void OnExceptionOccurred(Exception exception) {
-      Abort();
-      if (ExceptionOccurred != null)
-        ExceptionOccurred(this, new EventArgs<Exception>(exception));
-    }
-
-    public event EventHandler ExecutionTimeChanged;
-    /// <summary>
-    /// Fires a new <c>ExecutionTimeChanged</c> event.
-    /// </summary>
-    protected virtual void OnExecutionTimeChanged() {
-      if (ExecutionTimeChanged != null)
-        ExecutionTimeChanged(this, new EventArgs());
-    }
-
-    public event EventHandler Finished;
-    /// <summary>
-    /// Fires a new <c>Finished</c> event.
-    /// </summary>
-    protected virtual void OnFinished() {
-      if (Finished != null)
-        Finished(this, new EventArgs());
-    }
-
-    #endregion
-
-    public override IView CreateView() {
-      return new HiveEngineEditor(this);
-    }
-
-    #region IEditable Members
-
-    public IEditor CreateEditor() {
-      return new HiveEngineEditor(this);
-    }
-    #endregion
-
-    public override System.Xml.XmlNode GetXmlNode(string name, System.Xml.XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
-      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
-      XmlAttribute attr = document.CreateAttribute("HiveServerUrl");
-      attr.Value = HiveServerUrl;
-      node.Attributes.Append(attr);
-      node.AppendChild(PersistenceManager.Persist("Job", job, document, persistedObjects));
-      return node;
-    }
-
-    public override void Populate(System.Xml.XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
-      base.Populate(node, restoredObjects);
-      HiveServerUrl = node.Attributes["HiveServerUrl"].Value;
-      job = (Job)PersistenceManager.Restore(node.SelectSingleNode("Job"), restoredObjects);
-    }
+
+      throw new NotImplementedException("TODO[chn]use persistency-3.3");
+
+      //MemoryStream memStream = new MemoryStream();
+      //GZipStream stream = new GZipStream(memStream, CompressionMode.Compress, true);
+      //XmlDocument document = PersistenceManager.CreateXmlDocument();
+      //Dictionary<Guid, IStorable> dictionary = new Dictionary<Guid, IStorable>();
+      //XmlNode rootNode = document.CreateElement("Root");
+      //document.AppendChild(rootNode);
+      //rootNode.AppendChild(PersistenceManager.Persist(job, document, dictionary));
+      //document.Save(stream);
+      //stream.Close();
+
+      //HeuristicLab.Hive.Contracts.BusinessObjects.SerializedJob executableJobObj =
+      //  new HeuristicLab.Hive.Contracts.BusinessObjects.SerializedJob();
+      //executableJobObj.JobInfo = jobObj;
+      //executableJobObj.SerializedJobData = memStream.ToArray();
+
+      //List<IPluginDescription> plugins = new List<IPluginDescription>();
+
+      //foreach (IStorable storeable in dictionary.Values) {
+      //  IPluginDescription pluginInfo = ApplicationManager.Manager.GetDeclaringPlugin(storeable.GetType());
+      //  if (!plugins.Contains(pluginInfo)) {
+      //    plugins.Add(pluginInfo);
+      //    foreach (var dependency in pluginInfo.Dependencies) {
+      //      if (!plugins.Contains(dependency)) plugins.Add(dependency);
+      //    }
+      //  }
+      //}
+
+      //List<HivePluginInfoDto> pluginsNeeded =
+      //  new List<HivePluginInfoDto>();
+      //foreach (IPluginDescription uniquePlugin in plugins) {
+      //  HivePluginInfoDto pluginInfo =
+      //    new HivePluginInfoDto();
+      //  pluginInfo.Name = uniquePlugin.Name;
+      //  pluginInfo.Version = uniquePlugin.Version;
+      //  pluginInfo.BuildDate = uniquePlugin.BuildDate;
+      //  pluginsNeeded.Add(pluginInfo);
+      //}
+
+      //jobObj.CoresNeeded = 1;
+      //jobObj.PluginsNeeded = pluginsNeeded;
+      //jobObj.State = HeuristicLab.Hive.Contracts.BusinessObjects.State.offline;
+      //return executableJobObj;
+    }
+
+    //public event EventHandler Initialized;
+    ///// <summary>
+    ///// Fires a new <c>Initialized</c> event.
+    ///// </summary>
+    //protected virtual void OnInitialized() {
+    //  if (Initialized != null)
+    //    Initialized(this, new EventArgs());
+    //}
+
+    //public event EventHandler<EventArgs<IOperation>> OperationExecuted;
+    ///// <summary>
+    ///// Fires a new <c>OperationExecuted</c> event.
+    ///// </summary>
+    ///// <param name="operation">The operation that has been executed.</param>
+    //protected virtual void OnOperationExecuted(IOperation operation) {
+    //  if (OperationExecuted != null)
+    //    OperationExecuted(this, new EventArgs<IOperation>(operation));
+    //}
+
+    //public event EventHandler<EventArgs<Exception>> ExceptionOccurred;
+    ///// <summary>
+    ///// Aborts the execution and fires a new <c>ExceptionOccurred</c> event.
+    ///// </summary>
+    ///// <param name="exception">The exception that was thrown.</param>
+    //protected virtual void OnExceptionOccurred(Exception exception) {
+    //  Abort();
+    //  if (ExceptionOccurred != null)
+    //    ExceptionOccurred(this, new EventArgs<Exception>(exception));
+    //}
+
+    //public event EventHandler ExecutionTimeChanged;
+    ///// <summary>
+    ///// Fires a new <c>ExecutionTimeChanged</c> event.
+    ///// </summary>
+    //protected virtual void OnExecutionTimeChanged() {
+    //  if (ExecutionTimeChanged != null)
+    //    ExecutionTimeChanged(this, new EventArgs());
+    //}
+
+    //public event EventHandler Finished;
+    ///// <summary>
+    ///// Fires a new <c>Finished</c> event.
+    ///// </summary>
+    //protected virtual void OnFinished() {
+    //  if (Finished != null)
+    //    Finished(this, new EventArgs());
+    //}
+
+    //public void Abort() {
+    //  abortRequested = true;
+    //  // RequestSnapshot();
+    //  IExecutionEngineFacade executionEngineFacade = ServiceLocator.CreateExecutionEngineFacade(HiveServerUrl);
+    //  executionEngineFacade.AbortJob(jobId);
+    //  //OnChanged();
+    //  OnFinished();
+    //}
+
+    //public void Reset() {
+    //  abortRequested = false;
+
+    //  throw new NotImplementedException("[chn] how to reset Engine?");
+    //  //job.Engine.Reset();
+
+    //  jobId = Guid.NewGuid();
+    //  OnInitialized();
+    //}
+
+    //public void RequestSnapshot() {
+    //  IExecutionEngineFacade executionEngineFacade = ServiceLocator.CreateExecutionEngineFacade(HiveServerUrl);
+    //  int retryCount = 0;
+    //  ResponseObject<SerializedJob> response;
+    //  lock (locker) {
+    //    Logger.Debug("HiveEngine: Abort - RequestSnapshot");
+    //    Response snapShotResponse = executionEngineFacade.RequestSnapshot(jobId);
+    //    if (snapShotResponse.StatusMessage == ApplicationConstants.RESPONSE_JOB_IS_NOT_BEEING_CALCULATED) {
+    //      // job is finished already
+    //      Logger.Debug("HiveEngine: Abort - GetLastResult(false)");
+    //      response = executionEngineFacade.GetLastSerializedResult(jobId, false, false);
+    //      Logger.Debug("HiveEngine: Abort - Server: " + response.StatusMessage + " success: " + response.Success);
+    //    } else {
+    //      // server sent snapshot request to client
+    //      // poll until snapshot is ready
+    //      do {
+    //        Thread.Sleep(SNAPSHOT_POLLING_INTERVAL_MS);
+    //        Logger.Debug("HiveEngine: Abort - GetLastResult(true)");
+    //        response = executionEngineFacade.GetLastSerializedResult(jobId, false, true);
+    //        Logger.Debug("HiveEngine: Abort - Server: " + response.StatusMessage + " success: " + response.Success);
+    //        retryCount++;
+    //        // loop while
+    //        // 1. problem with communication with server
+    //        // 2. job result not yet ready
+    //      } while (
+    //        (retryCount < MAX_SNAPSHOT_RETRIES) && (
+    //        !response.Success ||
+    //        response.StatusMessage == ApplicationConstants.RESPONSE_JOB_RESULT_NOT_YET_HERE)
+    //        );
+    //    }
+    //  }
+    //  SerializedJob jobResult = response.Obj;
+    //  if (jobResult != null) {
+    //    Logger.Debug("HiveEngine: Results-polling - Got result!");
+
+    //    //job = (Job)PersistenceManager.RestoreFromGZip(jobResult.SerializedJobData);
+    //    //ControlManager.Manager.ShowControl(job.Engine.CreateView());
+    //    throw new NotImplementedException("TODO[chn]use persistency-3.3");
+    //  }
+    //  //HiveLogger.Debug("HiveEngine: Results-polling - Exception!");
+    //  //Exception ex = new Exception(response.Obj.Exception.Message);
+    //  //ThreadPool.QueueUserWorkItem(delegate(object state) { OnExceptionOccurred(ex); });
+    //}
+
+    //public override System.Xml.XmlNode GetXmlNode(string name, System.Xml.XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
+    //  XmlNode node = base.GetXmlNode(name, document, persistedObjects);
+    //  XmlAttribute attr = document.CreateAttribute("HiveServerUrl");
+    //  attr.Value = HiveServerUrl;
+    //  node.Attributes.Append(attr);
+    //  node.AppendChild(PersistenceManager.Persist("Job", job, document, persistedObjects));
+    //  return node;
+    //}
+
+    //public override void Populate(System.Xml.XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
+    //  base.Populate(node, restoredObjects);
+    //  HiveServerUrl = node.Attributes["HiveServerUrl"].Value;
+    //  job = (Job)PersistenceManager.Restore(node.SelectSingleNode("Job"), restoredObjects);
+    //}
+
+
   }
 }
Index: anches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngineEditor.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngineEditor.Designer.cs	(revision 4090)
+++ 	(revision )
@@ -1,188 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Hive.Engine {
-  partial class HiveEngineEditor {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.urlLabel = new System.Windows.Forms.Label();
-      this.snapshotButton = new System.Windows.Forms.Button();
-      this.multiSubmitTextbox = new System.Windows.Forms.TextBox();
-      this.urlTextBox = new System.Windows.Forms.TextBox();
-      this.assignedRessourceTextBox = new System.Windows.Forms.TextBox();
-      this.label1 = new System.Windows.Forms.Label();
-      this.splitContainer1.Panel1.SuspendLayout();
-      this.splitContainer1.Panel2.SuspendLayout();
-      this.splitContainer1.SuspendLayout();
-      this.operatorGraphGroupBox.SuspendLayout();
-      this.globalScopeGroupBox.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // executionTimeTextBox
-      // 
-      this.executionTimeTextBox.Location = new System.Drawing.Point(686, 460);
-      // 
-      // executionTimeLabel
-      // 
-      this.executionTimeLabel.Location = new System.Drawing.Point(683, 444);
-      // 
-      // splitContainer1
-      // 
-      this.splitContainer1.Size = new System.Drawing.Size(827, 441);
-      this.splitContainer1.SplitterDistance = 639;
-      // 
-      // operatorGraphGroupBox
-      // 
-      this.operatorGraphGroupBox.Size = new System.Drawing.Size(639, 441);
-      // 
-      // globalScopeGroupBox
-      // 
-      this.globalScopeGroupBox.Size = new System.Drawing.Size(184, 441);
-      // 
-      // operatorGraphView
-      // 
-      this.operatorGraphView.Size = new System.Drawing.Size(633, 422);
-      // 
-      // scopeView
-      // 
-      this.scopeView.Size = new System.Drawing.Size(178, 422);
-      // 
-      // urlLabel
-      // 
-      this.urlLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.urlLabel.AutoSize = true;
-      this.urlLabel.Location = new System.Drawing.Point(523, 444);
-      this.urlLabel.Name = "urlLabel";
-      this.urlLabel.Size = new System.Drawing.Size(82, 13);
-      this.urlLabel.TabIndex = 8;
-      this.urlLabel.Text = "Hive Server Url:";
-      // 
-      // snapshotButton
-      // 
-      this.snapshotButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.snapshotButton.Enabled = false;
-      this.snapshotButton.Location = new System.Drawing.Point(294, 457);
-      this.snapshotButton.Name = "snapshotButton";
-      this.snapshotButton.Size = new System.Drawing.Size(75, 23);
-      this.snapshotButton.TabIndex = 9;
-      this.snapshotButton.Text = "Sna&pshot";
-      this.snapshotButton.UseVisualStyleBackColor = true;
-      this.snapshotButton.Click += new System.EventHandler(this.snapshotButton_Click);
-      // 
-      // multiSubmitTextbox
-      // 
-      this.multiSubmitTextbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.multiSubmitTextbox.Location = new System.Drawing.Point(375, 460);
-      this.multiSubmitTextbox.Name = "multiSubmitTextbox";
-      this.multiSubmitTextbox.Size = new System.Drawing.Size(31, 20);
-      this.multiSubmitTextbox.TabIndex = 10;
-      this.multiSubmitTextbox.Text = "1";
-      // 
-      // urlTextBox
-      // 
-      this.urlTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.urlTextBox.Location = new System.Drawing.Point(526, 459);
-      this.urlTextBox.Name = "urlTextBox";
-      this.urlTextBox.Size = new System.Drawing.Size(154, 20);
-      this.urlTextBox.TabIndex = 7;
-      // 
-      // assignedRessourceTextBox
-      // 
-      this.assignedRessourceTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.assignedRessourceTextBox.Location = new System.Drawing.Point(412, 457);
-      this.assignedRessourceTextBox.Name = "assignedRessourceTextBox";
-      this.assignedRessourceTextBox.Size = new System.Drawing.Size(100, 20);
-      this.assignedRessourceTextBox.TabIndex = 11;
-      // 
-      // label1
-      // 
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(409, 444);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(85, 13);
-      this.label1.TabIndex = 12;
-      this.label1.Text = "Ressource GIDs";
-      // 
-      // HiveEngineEditor
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.multiSubmitTextbox);
-      this.Controls.Add(this.snapshotButton);
-      this.Controls.Add(this.urlTextBox);
-      this.Controls.Add(this.urlLabel);
-      this.Controls.Add(this.assignedRessourceTextBox);
-      this.Controls.Add(this.label1);
-      this.Name = "HiveEngineEditor";
-      this.Size = new System.Drawing.Size(827, 480);
-      this.Controls.SetChildIndex(this.label1, 0);
-      this.Controls.SetChildIndex(this.assignedRessourceTextBox, 0);
-      this.Controls.SetChildIndex(this.urlLabel, 0);
-      this.Controls.SetChildIndex(this.urlTextBox, 0);
-      this.Controls.SetChildIndex(this.snapshotButton, 0);
-      this.Controls.SetChildIndex(this.multiSubmitTextbox, 0);
-      this.Controls.SetChildIndex(this.executeButton, 0);
-      this.Controls.SetChildIndex(this.abortButton, 0);
-      this.Controls.SetChildIndex(this.resetButton, 0);
-      this.Controls.SetChildIndex(this.splitContainer1, 0);
-      this.Controls.SetChildIndex(this.executionTimeLabel, 0);
-      this.Controls.SetChildIndex(this.executionTimeTextBox, 0);
-      this.splitContainer1.Panel1.ResumeLayout(false);
-      this.splitContainer1.Panel2.ResumeLayout(false);
-      this.splitContainer1.ResumeLayout(false);
-      this.operatorGraphGroupBox.ResumeLayout(false);
-      this.globalScopeGroupBox.ResumeLayout(false);
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.Label urlLabel;
-    private System.Windows.Forms.Button snapshotButton;
-    private System.Windows.Forms.TextBox multiSubmitTextbox;
-    private System.Windows.Forms.TextBox urlTextBox;
-    private System.Windows.Forms.TextBox assignedRessourceTextBox;
-    private System.Windows.Forms.Label label1;
-  }
-}
Index: anches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngineEditor.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngineEditor.cs	(revision 4090)
+++ 	(revision )
@@ -1,133 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-using HeuristicLab.Core;
-using HeuristicLab.Tracing;
-
-namespace HeuristicLab.Hive.Engine {
-  /// <summary>
-  /// Visual representation of a <see cref="HiveEngine"/>.
-  /// </summary>
-  public partial class HiveEngineEditor : EngineBaseEditor {
-    /// <summary>
-    /// Gets or set the engine to represent visually.
-    /// </summary>
-    /// <remarks>Uses property <see cref="EngineBaseEditor.Engine"/> of base class 
-    /// <see cref="EngineBaseEditor"/>. No own data storage present.</remarks>
-    public HiveEngine HiveEngine {
-      get { return (HiveEngine)Engine; }
-      set {
-        if (base.Engine != null) RemoveItemEvents();
-        base.Engine = value;
-        AddItemEvents();
-        SetDataBinding();
-      }
-    }
-
-    /// <summary>
-    /// Initializes a new instance of <see cref="HiveEngineEditor"/>.
-    /// </summary>
-    public HiveEngineEditor() {
-      InitializeComponent();
-    }
-    /// <summary>
-    /// Initializes a new instance of <see cref="HiveEngineEditor"/> with the given
-    /// <paramref name="hiveEngine"/>.
-    /// </summary>
-    /// <param name="hiveEngine">The engine to display.</param>
-    public HiveEngineEditor(HiveEngine hiveEngine)
-      : this() {
-      HiveEngine = hiveEngine;
-      base.executeButton.Click += new EventHandler(executeButton_Click);
-      base.abortButton.Click += new EventHandler(abortButton_Click);
-    }
-
-    void abortButton_Click(object sender, EventArgs e) {
-      snapshotButton.Enabled = false;
-    }
-
-    void executeButton_Click(object sender, EventArgs e) {
-      abortButton.Enabled = true;
-      snapshotButton.Enabled = true;
-    }
-
-    private void SetDataBinding() {
-      urlTextBox.DataBindings.Add("Text", HiveEngine, "HiveServerUrl");
-      multiSubmitTextbox.DataBindings.Add("Text", HiveEngine, "MultiSubmitCount");
-      assignedRessourceTextBox.DataBindings.Add("Text", HiveEngine, "RessourceIds");         
-    }
-
-    protected override void RemoveItemEvents() {
-      Engine.Initialized -= new EventHandler(Engine_Initialized);
-      Engine.Finished -= new EventHandler(Engine_Finished);
-      base.RemoveItemEvents();
-    }
-
-    protected override void AddItemEvents() {
-      base.AddItemEvents();
-      Engine.Finished += new EventHandler(Engine_Finished);
-      Engine.Initialized += new EventHandler(Engine_Initialized);
-    }
-
-    void Engine_Initialized(object sender, EventArgs e) {
-      if (InvokeRequired) {
-        Invoke((EventHandler)Engine_Initialized, sender, e);
-      } else {
-        abortButton.Enabled = false;
-        snapshotButton.Enabled = false;
-      }
-    }
-
-    void Engine_Finished(object sender, EventArgs e) {
-      if (InvokeRequired) {
-        Invoke((EventHandler)Engine_Initialized, sender, e);
-      } else {
-        abortButton.Enabled = false;
-        snapshotButton.Enabled = false;
-      }
-    }
-
-    private void snapshotButton_Click(object sender, EventArgs e) {
-      BackgroundWorker worker = new BackgroundWorker();
-      worker.DoWork += (s, args) => {
-        HiveEngine.RequestSnapshot();
-      };
-      worker.RunWorkerCompleted += (s, args) => {
-        Logger.Debug("HiveEngineEditor: RunWorkerCompleted");
-        this.Cursor = Cursors.Default;
-        abortButton.Enabled = true;
-        snapshotButton.Enabled = true;
-      };
-      this.Cursor = Cursors.WaitCursor;
-      abortButton.Enabled = false;
-      snapshotButton.Enabled = false;
-      Logger.Debug("HiveEngineEditor: RunWorkerAsync");
-      worker.RunWorkerAsync();
-    }
-  }
-}
Index: anches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngineEditor.resx
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/HiveEngineEditor.resx	(revision 4090)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/Job.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/Job.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Engine/3.3/Job.cs	(revision 4091)
@@ -32,7 +32,7 @@
 namespace HeuristicLab.Hive.Engine {
   /// <summary>
-  /// Represents an job that wraps an engine that should be executed in the hive.
+  /// Represents a job that wraps an engine that should be executed in the hive.
   /// </summary>
-  public class Job : StorableBase, IJob {
+  public class Job : IJob {
     private IEngine engine;
     public IEngine Engine {
@@ -42,21 +42,22 @@
     public Job()
       : base() {
+      
       engine = new SequentialEngine.SequentialEngine();
-      engine.Priority = ThreadPriority.Lowest;
+      //engine.Priority = ThreadPriority.Lowest;
       RegisterEvents();
     }
 
     private void RegisterEvents() {
-      engine.Finished += new EventHandler(engine_Finished);
+      engine.Stopped += new EventHandler(engine_Stopped);
       engine.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(engine_ExceptionOccurred);
     }
 
     private void DeregisterEvents() {
-      engine.Finished -= new EventHandler(engine_Finished);
+      engine.Stopped -= new EventHandler(engine_Stopped);
       engine.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(engine_ExceptionOccurred);
     }
 
-    void engine_Finished(object sender, EventArgs e) {
-      if (Engine.Canceled) this.progress = 0.0;
+    void engine_Stopped(object sender, EventArgs e) {
+      if (Engine.ExecutionState != ExecutionState.Stopped) this.progress = 0.0;
       else this.progress = 1.0;
       var listeners = JobStopped;
@@ -86,7 +87,7 @@
     public double Progress {
       get {
-        DoubleData progress = Engine.GlobalScope.GetVariableValue<DoubleData>("Progress", false,
-          false);
-        return progress == null ? this.progress : progress.Data;
+        //DoubleValue progress = Engine.GlobalScope.GetVariableValue<DoubleData>("Progress", false, false); [chn] not possible in 3.3?
+
+        return engine.ExecutionState == ExecutionState.Stopped ? 1.0 : 0.0;
       }
       set { throw new NotSupportedException(); }
@@ -95,5 +96,5 @@
     public bool Running {
       get {
-        return Engine.Running;
+        return Engine.ExecutionState == ExecutionState.Started;
       }
       set {
@@ -107,32 +108,32 @@
 
     public void Start() {
-      Engine.Execute();
+      Engine.Start();
     }
 
     public void Stop() {
-      Engine.Abort();
+      Engine.Stop();
     }
 
     #endregion
 
-    public override System.Xml.XmlNode GetXmlNode(string name, System.Xml.XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
-      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
-      XmlAttribute idAttr = document.CreateAttribute("JobId");
-      idAttr.Value = XmlConvert.ToString(JobId);
-      XmlAttribute progressAttr = document.CreateAttribute("Progress");
-      progressAttr.Value = XmlConvert.ToString(progress);
-      node.Attributes.Append(idAttr);
-      node.Attributes.Append(progressAttr);
-      node.AppendChild(PersistenceManager.Persist("Engine", Engine, document, persistedObjects));
-      return node;
-    }
-    public override void Populate(System.Xml.XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
-      base.Populate(node, restoredObjects);
-      JobId = XmlConvert.ToInt64(node.Attributes["JobId"].Value);
-      progress = XmlConvert.ToDouble(node.Attributes["Progress"].Value);
-      DeregisterEvents();
-      engine = (SequentialEngine.SequentialEngine)PersistenceManager.Restore(node.SelectSingleNode("Engine"), restoredObjects);
-      RegisterEvents();
-    }
+    //public override System.Xml.XmlNode GetXmlNode(string name, System.Xml.XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
+    //  XmlNode node = base.GetXmlNode(name, document, persistedObjects);
+    //  XmlAttribute idAttr = document.CreateAttribute("JobId");
+    //  idAttr.Value = XmlConvert.ToString(JobId);
+    //  XmlAttribute progressAttr = document.CreateAttribute("Progress");
+    //  progressAttr.Value = XmlConvert.ToString(progress);
+    //  node.Attributes.Append(idAttr);
+    //  node.Attributes.Append(progressAttr);
+    //  node.AppendChild(PersistenceManager.Persist("Engine", Engine, document, persistedObjects));
+    //  return node;
+    //}
+    //public override void Populate(System.Xml.XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
+    //  base.Populate(node, restoredObjects);
+    //  JobId = XmlConvert.ToInt64(node.Attributes["JobId"].Value);
+    //  progress = XmlConvert.ToDouble(node.Attributes["Progress"].Value);
+    //  DeregisterEvents();
+    //  engine = (SequentialEngine.SequentialEngine)PersistenceManager.Restore(node.SelectSingleNode("Engine"), restoredObjects);
+    //  RegisterEvents();
+    //}
   }
 }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/HeuristicLab.Hive.JobBase-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/HeuristicLab.Hive.JobBase-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/HeuristicLab.Hive.JobBase-3.3.csproj	(revision 4091)
@@ -94,4 +94,7 @@
       <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     </Reference>
+    <Reference Include="HeuristicLab.Persistence-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
+    </Reference>
     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
       <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/Interfaces/IJob.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/Interfaces/IJob.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/Interfaces/IJob.cs	(revision 4091)
@@ -1,14 +1,17 @@
 ﻿using System;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
 namespace HeuristicLab.Hive.JobBase {
-  public interface IJob: IStorable {
+  public interface IJob {
+    long JobId { get; set; }
+    bool Running { get; set; }
+    double Progress { get; }
+    void Run();
+    void Start();
+    void Stop();
+
     event EventHandler JobStopped;
     event EventHandler JobFailed;
-    long JobId { get; set; }
-    double Progress { get; }
-    void Run();
-    bool Running { get; set; }
-    void Start();
-    void Stop();
   }
 }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/JobBase.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/JobBase.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/JobBase.cs	(revision 4091)
@@ -27,8 +27,10 @@
 using System.Xml;
 using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Hive.JobBase {
   [Serializable]
-  abstract public class JobBase : StorableBase, IJob {
+  [StorableClass]
+  abstract public class JobBase : IJob {
 
     private Thread thread = null;
@@ -36,8 +38,14 @@
     public event EventHandler JobFailed;
     
-    public long JobId { get; set; }    
-    public double Progress { get; set; }        
+    [Storable]
+    public long JobId { get; set; }
+
+    [Storable]
+    public double Progress { get; set; }
+
+    [Storable]
     public bool Running { get; set; }
-    
+
+    [Storable]
     protected bool abort = false;    
 
@@ -70,19 +78,19 @@
     }
 
-    public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
-      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
+    //public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
+    //  XmlNode node = base.GetXmlNode(name, document, persistedObjects);
 
-      XmlNode progr = document.CreateNode(XmlNodeType.Element, "Progress", null);
-      progr.InnerText = Convert.ToString(Progress);
+    //  XmlNode progr = document.CreateNode(XmlNodeType.Element, "Progress", null);
+    //  progr.InnerText = Convert.ToString(Progress);
 
-      node.AppendChild(progr);
-      return node;
-    }
-    public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
-      base.Populate(node, restoredObjects);
+    //  node.AppendChild(progr);
+    //  return node;
+    //}
+    //public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
+    //  base.Populate(node, restoredObjects);
 
-      XmlNode progr = node.SelectSingleNode("Progress");
-      Progress = Convert.ToDouble(progr.InnerText);
-    }
+    //  XmlNode progr = node.SelectSingleNode("Progress");
+    //  Progress = Convert.ToDouble(progr.InnerText);
+    //}
 
     public JobBase() {    
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/JobPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/JobPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/JobPlugin.cs	(revision 4091)
@@ -6,7 +6,8 @@
 
 namespace HeuristicLab.Hive.JobBase {
-  [Plugin("HeuristicLab.Hive.JobBase-3.3")]
+  [Plugin("HeuristicLab.Hive.JobBase", "3.3")]
   [PluginFile("HeuristicLab.Hive.JobBase-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Persistence", "3.3")]
   public class JobBasePlugin: PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/TestJob.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/TestJob.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.JobBase/3.3/TestJob.cs	(revision 4091)
@@ -29,10 +29,16 @@
 using System.IO;
 using System.Security.Permissions;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Hive.JobBase {
   [Serializable]
+  [StorableClass]
   public class TestJob: JobBase {
 
+    [Storable]
     private int runValue = 0;
+
+    public TestJob() {
+    }
 
     public override void Run() {
@@ -52,25 +58,21 @@
       OnJobStopped();
     }
-    public override System.Xml.XmlNode GetXmlNode(string name, System.Xml.XmlDocument document, IDictionary<Guid, HeuristicLab.Core.IStorable> persistedObjects) {      
-      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
+
+    //public override System.Xml.XmlNode GetXmlNode(string name, System.Xml.XmlDocument document, IDictionary<Guid, HeuristicLab.Core.IStorable> persistedObjects) {      
+    //  XmlNode node = base.GetXmlNode(name, document, persistedObjects);
     
-      XmlNode startValue = document.CreateNode(XmlNodeType.Element, "StartValue", null);
-      startValue.InnerText = Convert.ToString(runValue);
+    //  XmlNode startValue = document.CreateNode(XmlNodeType.Element, "StartValue", null);
+    //  startValue.InnerText = Convert.ToString(runValue);
       
-      node.AppendChild(startValue);
-      return node;
-    }
+    //  node.AppendChild(startValue);
+    //  return node;
+    //}
 
-    public override void Populate(XmlNode node, IDictionary<Guid, HeuristicLab.Core.IStorable> restoredObjects) {
-      base.Populate(node, restoredObjects);
+    //public override void Populate(XmlNode node, IDictionary<Guid, HeuristicLab.Core.IStorable> restoredObjects) {
+    //  base.Populate(node, restoredObjects);
 
-      XmlNode startValue = node.SelectSingleNode("StartValue");
-      runValue = Convert.ToInt32(startValue.InnerText);
-    }
-
-    public TestJob() {
-    }
-
-
+    //  XmlNode startValue = node.SelectSingleNode("StartValue");
+    //  runValue = Convert.ToInt32(startValue.InnerText);
+    //}
   }
 }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/ClientCommunicator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/ClientCommunicator.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/ClientCommunicator.cs	(revision 4091)
@@ -22,24 +22,15 @@
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
-using System.Text;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.Threading;
+using System.Transactions;
+using HeuristicLab.Hive.Contracts;
 using HeuristicLab.Hive.Contracts.BusinessObjects;
 using HeuristicLab.Hive.Contracts.Interfaces;
-using HeuristicLab.Hive.Contracts;
-using HeuristicLab.Core;
-using HeuristicLab.Hive.Server.DataAccess;
-using System.Resources;
-using System.Reflection;
-using HeuristicLab.Hive.JobBase;
 using HeuristicLab.Hive.Server.Core.InternalInterfaces;
-using System.Threading;
 using HeuristicLab.PluginInfrastructure;
-using HeuristicLab.DataAccess.Interfaces;
-using System.IO;
-using System.Runtime.Serialization.Formatters.Binary;
 using HeuristicLab.Tracing;
-using Linq = HeuristicLab.Hive.Server.LINQDataAccess;
-using System.Transactions;
-using HeuristicLab.Hive.Server.LINQDataAccess;
 
 namespace HeuristicLab.Hive.Server.Core {
@@ -75,10 +66,8 @@
 
       lifecycleManager = ServiceLocator.GetLifecycleManager();
-      jobManager = ServiceLocator.GetJobManager() as
-        IInternalJobManager;
+      jobManager = ServiceLocator.GetJobManager() as IInternalJobManager;
       scheduler = ServiceLocator.GetScheduler();
 
-      lifecycleManager.RegisterHeartbeat(
-        new EventHandler(lifecycleManager_OnServerHeartbeat));
+      lifecycleManager.RegisterHeartbeat(new EventHandler(lifecycleManager_OnServerHeartbeat));
     }
 
@@ -109,5 +98,5 @@
               foreach (JobDto job in DaoLocator.JobDao.FindActiveJobsOfClient(client)) {
                 //maybe implementa n additional Watchdog? Till then, just set them offline..
-                DaoLocator.JobDao.SetJobOffline(job);                                
+                DaoLocator.JobDao.SetJobOffline(job);
               }
             } else {
@@ -168,5 +157,5 @@
             if (pendingJobs[currJob.Id] <= 0) {
               currJob.State = State.offline;
-              DaoLocator.JobDao.Update(currJob);              
+              DaoLocator.JobDao.Update(currJob);
             } else {
               pendingJobs[currJob.Id]--;
@@ -216,12 +205,12 @@
 
       ClientDto client = DaoLocator.ClientDao.FindById(clientId);
-      if(client == null) {
+      if (client == null) {
         response.Success = false;
         response.StatusMessage = ApplicationConstants.RESPONSE_CLIENT_RESOURCE_NOT_FOUND;
         return response;
       }
-      
+
       response.ForceFetch = (client.CalendarSyncStatus == CalendarState.ForceFetch);
-      
+
       IEnumerable<AppointmentDto> appointments = DaoLocator.UptimeCalendarDao.GetCalendarForClient(client);
       if (appointments.Count() == 0) {
@@ -239,5 +228,5 @@
 
     public Response SetCalendarStatus(Guid clientId, CalendarState state) {
-      Response response = new Response();      
+      Response response = new Response();
       ClientDto client = DaoLocator.ClientDao.FindById(clientId);
       if (client == null) {
@@ -246,11 +235,11 @@
         return response;
       }
-      
+
       client.CalendarSyncStatus = state;
       DaoLocator.ClientDao.Update(client);
-      
+
       response.Success = true;
       response.StatusMessage = ApplicationConstants.RESPONSE_UPTIMECALENDAR_STATUS_UPDATED;
-      
+
       return response;
     }
@@ -298,5 +287,5 @@
 
       Logger.Debug("BEGIN Processing Heartbeat Jobs");
-      processJobProcess(hbData, response);
+      ProcessJobProcess(hbData, response);
       Logger.Debug("END Processed Heartbeat Jobs");
 
@@ -306,8 +295,8 @@
         response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_FETCH_OR_FORCEFETCH_CALENDAR;
         response.ActionRequest.Add(new MessageContainer(MessageContainer.MessageType.FetchOrForceFetchCalendar));
-        
+
         //client.CalendarSyncStatus = CalendarState.Fetching;
-        
-        Logger.Info("fetch or forcefetch sent");        
+
+        Logger.Info("fetch or forcefetch sent");
       }
 
@@ -338,8 +327,8 @@
     /// <param name="clientAdapter"></param>
     /// <param name="response"></param>
-    private void processJobProcess(HeartBeatData hbData, ResponseHB response) {
+    private void ProcessJobProcess(HeartBeatData hbData, ResponseHB response) {
       Logger.Debug("Started for Client " + hbData.ClientId);
       List<JobDto> jobsOfClient = new List<JobDto>(DaoLocator.JobDao.FindActiveJobsOfClient(DaoLocator.ClientDao.FindById(hbData.ClientId)));
-      if (hbData.JobProgress != null && hbData.JobProgress.Count > 0) {        
+      if (hbData.JobProgress != null && hbData.JobProgress.Count > 0) {
         if (jobsOfClient == null || jobsOfClient.Count == 0) {
           response.Success = false;
@@ -372,8 +361,8 @@
           DaoLocator.JobDao.Update(curJob);
         }
-       }
+      }
       foreach (JobDto currJob in jobsOfClient) {
         bool found = false;
-        if(hbData.JobProgress != null) {
+        if (hbData.JobProgress != null) {
           foreach (Guid jobId in hbData.JobProgress.Keys) {
             if (jobId == currJob.Id) {
@@ -428,5 +417,5 @@
       JobDto job2Calculate = scheduler.GetNextJobForClient(clientId);
       if (job2Calculate != null) {
-        response.Job = job2Calculate;        
+        response.Job = job2Calculate;
         response.Job.PluginsNeeded = DaoLocator.PluginInfoDao.GetPluginDependenciesForJob(response.Job);
         response.Success = true;
@@ -437,5 +426,5 @@
             newAssignedJobs.Add(job2Calculate.Id, ApplicationConstants.JOB_TIME_TO_LIVE);
         }
-      } else {                  
+      } else {
         response.Success = false;
         response.Job = null;
@@ -449,20 +438,14 @@
     }
 
-    public ResponseResultReceived ProcessJobResult(
-      Stream stream,
-      bool finished) {
-
+    public ResponseResultReceived ProcessJobResult(Stream stream, bool finished) {
       Logger.Info("BEGIN Job received for Storage - main method:");
 
-
-      Stream jobResultStream = null;
-      Stream jobStream = null;
+      //Stream jobResultStream = null;
+      //Stream jobStream = null;
 
       //try {
-      BinaryFormatter formatter =
-        new BinaryFormatter();
-
-      JobResult result =
-        (JobResult)formatter.Deserialize(stream);
+      BinaryFormatter formatter = new BinaryFormatter();
+
+      JobResult result = (JobResult)formatter.Deserialize(stream);
 
       //important - repeatable read isolation level is required here, 
@@ -487,15 +470,15 @@
         List<byte> serializedJob = new List<byte>();
         int read = 0;
-        int i = 0;        
-        while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {          
+        int i = 0;
+        while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
           for (int j = 0; j < read; j++) {
             serializedJob.Add(buffer[j]);
           }
-          if (i% 100 == 0)
-            Logger.Debug("Writing to stream: " + i);         
+          if (i % 100 == 0)
+            Logger.Debug("Writing to stream: " + i);
           //jobStream.Write(buffer, 0, read);
           i++;
         }
-        Logger.Debug("Done Writing, closing the stream!");               
+        Logger.Debug("Done Writing, closing the stream!");
         //jobStream.Close();
 
@@ -518,13 +501,10 @@
 
       ResponseResultReceived response = new ResponseResultReceived();
-      ClientDto client =
-        DaoLocator.ClientDao.FindById(clientId);
-
-      SerializedJob job =
-        new SerializedJob();
+      ClientDto client = DaoLocator.ClientDao.FindById(clientId);
+
+      SerializedJob job = new SerializedJob();
 
       if (job != null) {
-        job.JobInfo =
-          DaoLocator.JobDao.FindById(jobId);
+        job.JobInfo = DaoLocator.JobDao.FindById(jobId);
         job.JobInfo.Client = job.JobInfo.Client = DaoLocator.ClientDao.GetClientForJob(jobId);
       }
@@ -650,5 +630,5 @@
 
       Logger.Info("Client logged out " + clientId);
-      
+
       Response response = new Response();
 
@@ -680,5 +660,5 @@
 
       return response;
-    } 
+    }
 
     /// <summary>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/DaoLocator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/DaoLocator.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/DaoLocator.cs	(revision 4091)
@@ -64,5 +64,5 @@
 
     public static void DestroyContext() {
-      if (ContextFactory.Context != null) {
+      if (ContextFactory.IsContextNull()) {
         ContextFactory.Context.Dispose();
         ContextFactory.Context = null;
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/DbTestApp.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/DbTestApp.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/DbTestApp.cs	(revision 4091)
@@ -24,20 +24,12 @@
 using System;
 using System.Collections.Generic;
-using System.Data.SqlClient;
-using System.Text;
+using System.IO;
+using System.Threading;
+using System.Transactions;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Server.Core;
+using HeuristicLab.Hive.Server.LINQDataAccess;
 using HeuristicLab.PluginInfrastructure;
-using System.Net;
-using HeuristicLab.Hive.Contracts;
-using HeuristicLab.Hive.Contracts.Interfaces;
-using HeuristicLab.Hive.Server.DataAccess;
-using HeuristicLab.Hive.Contracts.BusinessObjects;
-using System.Diagnostics;
-using HeuristicLab.DataAccess.Interfaces;
-using System.IO;
-using HeuristicLab.Hive.Server.Core;
-using HeuristicLab.Core;
-using HeuristicLab.Hive.Server.LINQDataAccess;
-using System.Transactions;
-using System.Threading;
 using HeuristicLab.Tracing;
 
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ClientFacade.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ClientFacade.cs	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ClientFacade.cs	(revision 4091)
@@ -0,0 +1,142 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Contracts.Interfaces;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.PluginInfrastructure;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.ServiceModel;
+using HeuristicLab.Hive.Server.Core.InternalInterfaces;
+using System.Transactions;
+
+namespace HeuristicLab.Hive.Server.Core {
+  [ServiceBehavior(InstanceContextMode =
+    InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple)]
+  public class ClientFacade: IClientFacade {
+
+    public ClientFacade() {      
+    }
+
+    private IClientCommunicator clientCommunicator = ServiceLocator.GetClientCommunicator();
+
+    #region IClientCommunicator Members
+
+    public Response Login(ClientDto clientInfo) {
+      return clientCommunicator.Login(clientInfo);
+    }
+
+    public ResponseHB ProcessHeartBeat(HeartBeatData hbData) {
+      return clientCommunicator.ProcessHeartBeat(hbData);
+    }
+
+    public ResponseJob SendJob(Guid clientId) {
+      return clientCommunicator.SendJob(clientId);
+    }
+
+    /*public ResponseSerializedJob SendSerializedJob(Guid clientId) {
+      return clientCommunicator.SendSerializedJob(clientId);
+    } */
+
+    public ResponseResultReceived StoreFinishedJobResult(Guid clientId,
+      Guid jobId,
+      byte[] result,
+      double percentage, 
+      Exception exception) {
+      return clientCommunicator.StoreFinishedJobResult(clientId, jobId, result, percentage, exception);
+    }
+
+    public Response Logout(Guid clientId) {
+      return clientCommunicator.Logout(clientId);
+    }
+
+    public Response IsJobStillNeeded(Guid jobId) {
+      return clientCommunicator.IsJobStillNeeded(jobId);
+    }
+
+    public ResponsePlugin SendPlugins(List<HivePluginInfoDto> pluginList) {
+      return clientCommunicator.SendPlugins(pluginList);
+    }
+
+    public ResponseResultReceived ProcessSnapshot(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
+      return clientCommunicator.ProcessSnapshot(clientId, jobId, result, percentage, exception);
+    }
+
+
+    public ResponseCalendar GetCalendar(Guid clientId) {
+      return clientCommunicator.GetCalendar(clientId);
+    }
+
+    public Response SetCalendarStatus(Guid clientId, CalendarState state) {
+      return clientCommunicator.SetCalendarStatus(clientId, state);      
+    }
+    #endregion
+
+    #region IClientFacade Members
+
+    [SpringTransaction(UserTransaction = true)]
+    public Stream SendStreamedJob(Guid clientId) {
+      MultiStream stream = new MultiStream();
+
+      ResponseJob job = null;
+
+      job = this.SendJob(clientId);      
+
+      //first send response
+      stream.AddStream(new StreamedObject<ResponseJob>(job));
+
+      IJobManager jobManager = ServiceLocator.GetJobManager();
+      IInternalJobManager internalJobManager = (IInternalJobManager) jobManager;
+      
+      //second stream the job binary data
+      MemoryStream memoryStream = new MemoryStream();      
+      if(job.Job != null)
+        stream.AddStream(new MemoryStream(internalJobManager.GetSerializedJobDataById(job.Job.Id)));
+      
+      OperationContext clientContext = OperationContext.Current;
+        clientContext.OperationCompleted += new EventHandler(delegate(object sender, EventArgs args) {
+          if (stream != null) {
+            stream.Dispose();
+          }
+        });
+
+      return stream;
+    }
+
+    public Stream SendStreamedPlugins(List<HivePluginInfoDto> pluginList) {
+      return new StreamedObject<ResponsePlugin>(this.SendPlugins(pluginList));
+    }
+
+    public ResponseResultReceived StoreFinishedJobResultStreamed(Stream stream) {
+      return ((IInternalClientCommunicator)clientCommunicator).ProcessJobResult(stream, true);
+    } 
+
+    public ResponseResultReceived ProcessSnapshotStreamed(Stream stream) {
+      return ((IInternalClientCommunicator)clientCommunicator).ProcessJobResult(stream, false);
+    }
+    #endregion
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ExecutionEngineFacade.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ExecutionEngineFacade.cs	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ExecutionEngineFacade.cs	(revision 4091)
@@ -0,0 +1,65 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Contracts.Interfaces;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+
+namespace HeuristicLab.Hive.Server.Core {
+  public class ExecutionEngineFacade: IExecutionEngineFacade {
+
+    private IJobManager jobManager =
+      ServiceLocator.GetJobManager();
+
+    public ExecutionEngineFacade() {
+      
+    }
+
+    #region IExecutionEngineFacade Members
+
+    public ResponseObject<JobDto> AddJob(SerializedJob job) {
+      return jobManager.AddNewJob(job);
+    }
+
+    public ResponseObject<JobDto> AddJobWithGroupStrings(SerializedJob job, IEnumerable<string> resources) {      
+      return jobManager.AddJobWithGroupStrings(job, resources);
+    }
+
+    public Response RequestSnapshot(Guid jobId) {
+      return jobManager.RequestSnapshot(jobId);
+    }
+
+    public ResponseObject<SerializedJob> 
+      GetLastSerializedResult(Guid jobId, bool requested, bool snapshot) {
+      return jobManager.GetLastSerializedJobResultOf(jobId, requested, snapshot);
+    }
+
+    public Response AbortJob(Guid jobId) {
+      return jobManager.AbortJob(jobId);
+    }
+
+    #endregion
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ServerConsoleFacade.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ServerConsoleFacade.cs	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/ServerConsoleFacade.cs	(revision 4091)
@@ -0,0 +1,196 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Contracts.Interfaces;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Security.Contracts.Interfaces;
+using HeuristicLab.Hive.Server.Core.InternalInterfaces;
+using System.ServiceModel;
+
+
+namespace HeuristicLab.Hive.Server.Core {
+  public class ServerConsoleFacade: IServerConsoleFacade {
+    private IClientManager clientManager = 
+      ServiceLocator.GetClientManager();
+
+    private IJobManager jobManager = 
+      ServiceLocator.GetJobManager();
+
+    private IHivePermissionManager secMan = ServiceLocator.GetHivePermissionManager();
+
+    public Guid sessionID = Guid.Empty;
+
+    public ServerConsoleFacade() {      
+    }
+
+    public Response Login(string username, string password) {
+      Response resp = new Response();
+     
+      sessionID = secMan.Login(username, password);
+      if (sessionID == Guid.Empty) {
+        resp.Success = false;
+        resp.StatusMessage = ApplicationConstants.RESPONSE_SERVERCONSOLE_LOGIN_FAILED;
+      } else {
+        resp.Success = true;
+        resp.StatusMessage =
+          ApplicationConstants.RESPONSE_SERVERCONSOLE_LOGIN_SUCCESS;
+      }
+      return resp;
+    }
+
+
+    public ResponseList<ClientDto> GetAllClients() {
+      secMan.Authorize("AccessClients", sessionID, Guid.Empty);
+      return clientManager.GetAllClients();
+    }
+
+    public ResponseList<ClientGroupDto> GetAllClientGroups() {
+      //secMan.Authorize("AccessClientGroup", sessionID, Guid.Empty);
+      return clientManager.GetAllClientGroups();
+    }
+
+    public ResponseList<UpTimeStatisticsDto> GetAllUpTimeStatistics() {
+      secMan.Authorize("AccessStatistics", sessionID, Guid.Empty);
+      return clientManager.GetAllUpTimeStatistics();
+    }
+
+    public ResponseObject<ClientGroupDto> AddClientGroup(ClientGroupDto clientGroup) {
+      secMan.Authorize("AddClientGroup", sessionID, Guid.Empty);
+      return clientManager.AddClientGroup(clientGroup);
+    }
+
+    public Response AddResourceToGroup(Guid clientGroupId, ResourceDto resource) {
+      secMan.Authorize("AddResource", sessionID, Guid.Empty);                
+      return clientManager.AddResourceToGroup(clientGroupId, resource);
+    }
+
+    public Response DeleteResourceFromGroup(Guid clientGroupId, Guid resourceId) {
+        return clientManager.DeleteResourceFromGroup(clientGroupId, resourceId);
+    }
+
+    public ResponseList<JobDto> GetAllJobs() {
+      secMan.Authorize("AccessJobs", sessionID, Guid.Empty);
+      return jobManager.GetAllJobs();
+    }
+
+    public ResponseList<JobDto> GetAllJobsWithFilter(State jobState, int offset, int count) {
+      secMan.Authorize("AccessJobs", sessionID, Guid.Empty);
+      return jobManager.GetAllJobsWithFilter(jobState, offset, count);
+    }
+
+    public ResponseObject<JobDto> GetJobById(Guid jobId) {
+      secMan.Authorize("AccessJobs", sessionID, jobId);
+      return jobManager.GetJobById(jobId);
+    }
+
+    public ResponseObject<JobDto> GetJobByIdWithDetails(Guid jobId) {
+      secMan.Authorize("AccessJobs", sessionID, jobId);
+      return jobManager.GetJobByIdWithDetails(jobId);
+    }
+
+    public ResponseObject<JobDto> AddNewJob(SerializedJob job) {
+      secMan.Authorize("AddJob", sessionID, job.JobInfo.Id);
+      return jobManager.AddNewJob(job);
+    }
+
+    public ResponseObject<JobDto> GetLastJobResultOf(Guid jobId) {
+      secMan.Authorize("AccessJobResults", sessionID, jobId);
+      return jobManager.GetLastJobResultOf(jobId);
+    }
+
+    public ResponseObject<SerializedJob> GetLastSerializedJobResultOf(Guid jobId, bool requested, bool snapshot) {
+      secMan.Authorize("AccessJobResults", sessionID, jobId);
+      return jobManager.GetLastSerializedJobResultOf(jobId, requested, snapshot);
+    }
+
+    public ResponseList<JobResult> GetAllJobResults(Guid jobId) {
+      secMan.Authorize("AccessJobResults", sessionID, jobId);  
+      return jobManager.GetAllJobResults(jobId);
+    }
+
+    public Response RemoveJob(Guid jobId) {
+      secMan.Authorize("RemoveJob", sessionID, jobId);
+      return jobManager.RemoveJob(jobId);
+    }
+
+    public Response RequestSnapshot(Guid jobId) {
+      secMan.Authorize("AccessJobResults", sessionID, jobId);  
+      return jobManager.RequestSnapshot(jobId);
+    }
+
+    public Response AbortJob(Guid jobId) {
+      secMan.Authorize("AbortJob", sessionID, Guid.Empty);
+      return jobManager.AbortJob(jobId);
+    }
+
+    public ResponseObject<List<ClientGroupDto>> GetAllGroupsOfResource(Guid resourceId) {
+      secMan.Authorize("AccessUserGroup", sessionID, Guid.Empty);
+      return clientManager.GetAllGroupsOfResource(resourceId);
+    }
+
+    public Response DeleteClientGroup(Guid clientGroupId) {
+      secMan.Authorize("DeleteClientGroup", sessionID, Guid.Empty);
+      return clientManager.DeleteClientGroup(clientGroupId);
+    }
+
+    public ResponseList<ProjectDto> GetAllProjects() {
+      secMan.Authorize("AccessProjects", sessionID, Guid.Empty);
+      return jobManager.GetAllProjects();
+    }
+
+    public Response CreateProject(ProjectDto project) {
+      secMan.Authorize("CreateProjects", sessionID, Guid.Empty);
+      return jobManager.CreateProject(project);
+    }
+
+    public Response ChangeProject(ProjectDto project) {
+      secMan.Authorize("ChangeProjects", sessionID, Guid.Empty);
+      return jobManager.ChangeProject(project);
+    }
+
+    public Response DeleteProject(Guid projectId) {
+      secMan.Authorize("DeleteProjects", sessionID, projectId);
+      return jobManager.DeleteProject(projectId);
+    }
+
+    public ResponseList<JobDto> GetJobsByProject(Guid projectId) {
+      secMan.Authorize("AccessJobs", sessionID, Guid.Empty);
+      return jobManager.GetJobsByProject(projectId);
+    }
+
+    public ResponseList<AppointmentDto> GetUptimeCalendarForResource(Guid guid) {
+      return clientManager.GetUptimeCalendarForResource(guid);
+    }
+
+    public Response SetUptimeCalendarForResource(Guid guid, IEnumerable<AppointmentDto> appointments, bool isForced) {
+      return clientManager.SetUptimeCalendarForResource(guid, appointments, isForced);
+    }
+
+    public ResponseObject<JobDto> AddJobWithGroupStrings(SerializedJob job, IEnumerable<string> resources) {
+      return jobManager.AddJobWithGroupStrings(job, resources);
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/HeuristicLab.Hive.Server.Core-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/HeuristicLab.Hive.Server.Core-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/HeuristicLab.Hive.Server.Core-3.3.csproj	(revision 4091)
@@ -78,4 +78,7 @@
     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
       <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Tracing-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
     </Reference>
     <Reference Include="System" />
@@ -136,5 +139,4 @@
   </ItemGroup>
   <ItemGroup>
-    <None Include="app.config" />
     <None Include="HeuristicLab.snk" />
     <EmbeddedResource Include="Authorization\HivePermissionSet.xsd">
@@ -161,4 +163,12 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.3\HeuristicLab.DataAccess-3.3.csproj">
+      <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project>
+      <Name>HeuristicLab.DataAccess-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
+      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
+      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Hive.Server.DataAccess\3.3\HeuristicLab.Hive.Server.DataAccess-3.3.csproj">
       <Project>{4D5A2A16-66C2-431D-9AA3-BD3041E64B84}</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/HiveServerCorePlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/HiveServerCorePlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/HiveServerCorePlugin.cs	(revision 4091)
@@ -26,14 +26,14 @@
 
 namespace HeuristicLab.Hive.Server {
-  [Plugin("HeuristicLab.Hive.Server.Core-3.3")]
+  [Plugin("HeuristicLab.Hive.Server.Core", "3.3")]
   [PluginFile("HeuristicLab.Hive.Server.Core-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
-  [PluginDependency("HeuristicLab.DataAccess-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Contracts-3.3")]
-  [PluginDependency("HeuristicLab.Hive.JobBase-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Server.DataAccess-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Server.LINQDataAccess-3.3")]
-  [PluginDependency("HeuristicLab.Security.Contracts-3.3")]
-  [PluginDependency("HeuristicLab.Tracing", "3.3.0")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.DataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.JobBase", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Server.DataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Server.LINQDataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Security.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Tracing", "3.3")]
   public class HiveServerCorePlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Properties/AssemblyInfo.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Properties/AssemblyInfo.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Properties/AssemblyInfo.cs	(revision 4091)
@@ -55,5 +55,5 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("3.3.0.4077")]
-[assembly: AssemblyFileVersion("3.3.0.4077")]
-[assembly: AssemblyBuildDate("2010/07/22 13:53:39")]
+[assembly: AssemblyVersion("3.3.0.4078")]
+[assembly: AssemblyFileVersion("3.3.0.4078")]
+[assembly: AssemblyBuildDate("2010/07/23 09:04:35")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.DataAccess/3.3/HiveServerDataAccessPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.DataAccess/3.3/HiveServerDataAccessPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.DataAccess/3.3/HiveServerDataAccessPlugin.cs	(revision 4091)
@@ -26,9 +26,9 @@
 
 namespace HeuristicLab.Hive.DataAccess {
-  [Plugin("HeuristicLab.Hive.Server.DataAccess-3.3")]
+  [Plugin("HeuristicLab.Hive.Server.DataAccess", "3.3")]
   [PluginFile("HeuristicLab.Hive.Server.DataAccess-3.3.dll", PluginFileType.Assembly)]  
-  [PluginDependency("HeuristicLab.Core-3.3")]
-  [PluginDependency("HeuristicLab.DataAccess-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Contracts-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.DataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
   public class HiveServerDataAccessPlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/HeuristicLab.Hive.Server.LINQDataAccess-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/HeuristicLab.Hive.Server.LINQDataAccess-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/HeuristicLab.Hive.Server.LINQDataAccess-3.3.csproj	(revision 4091)
@@ -125,4 +125,8 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.3\HeuristicLab.DataAccess-3.3.csproj">
+      <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project>
+      <Name>HeuristicLab.DataAccess-3.3</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
       <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
@@ -138,5 +142,4 @@
   </ItemGroup>
   <ItemGroup>
-    <None Include="app.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/LINQDataAccessPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/LINQDataAccessPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/LINQDataAccessPlugin.cs	(revision 4091)
@@ -6,10 +6,10 @@
 
 namespace HeuristicLab.Hive.Server.LINQDataAccess {
-  [Plugin("HeuristicLab.Hive.Server.LINQDataAccess-3.3")]
+  [Plugin("HeuristicLab.Hive.Server.LINQDataAccess", "3.3")]
   [PluginFile("HeuristicLab.Hive.Server.LINQDataAccess-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Contracts-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Server.DataAccess-3.3")]
-  [PluginDependency("HeuristicLab.Tracing", "3.3.0")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Server.DataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Tracing", "3.3")]
   public class LINQDataAccessPlugin: PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Scheduler/3.3/HeuristicLab.Hive.Server.Scheduler-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Scheduler/3.3/HeuristicLab.Hive.Server.Scheduler-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Scheduler/3.3/HeuristicLab.Hive.Server.Scheduler-3.3.csproj	(revision 4091)
@@ -93,5 +93,4 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="DefaultScheduler.cs" />
     <Compile Include="HiveServerSchedulerPlugin.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
@@ -105,4 +104,8 @@
       <Project>{5CDACE54-5FB2-4344-A21C-963F63CB7C2B}</Project>
       <Name>HeuristicLab.DataAccess.ADOHelper-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.3\HeuristicLab.DataAccess-3.3.csproj">
+      <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project>
+      <Name>HeuristicLab.DataAccess-3.3</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Scheduler/3.3/HiveServerSchedulerPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Scheduler/3.3/HiveServerSchedulerPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Scheduler/3.3/HiveServerSchedulerPlugin.cs	(revision 4091)
@@ -26,8 +26,8 @@
 
 namespace HeuristicLab.Hive.Server {
-  [Plugin("HeuristicLab.Hive.Server.Scheduler-3.3")]
+  [Plugin("HeuristicLab.Hive.Server.Scheduler", "3.3")]
   [PluginFile("HeuristicLab.Hive.Server.Scheduler-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
-  [PluginDependency("HeuristicLab.Hive.Server-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Server", "3.3")]
   public class HiveServerSchedulerPlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HiveServerApplication.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HiveServerApplication.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HiveServerApplication.cs	(revision 4091)
@@ -165,4 +165,5 @@
       baseAddrDict.Add(STR_ExecutionEngineFacade, StartService(Services.ExecutionEngineFacade, addresses[index], WcfSettings.DEFAULTPORT));
 
+      // [chn] why is lifecyclemanager instantiated here?? shouldnt Core.ServiceLocator be used?
       IEnumerable<ILifecycleManager> lifecycleManagers = ApplicationManager.Manager.GetInstances<ILifecycleManager>();
       if (lifecycleManagers.Count() > 0) {
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/ServiceCallInterception.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/ServiceCallInterception.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/ServiceCallInterception.cs	(revision 4091)
@@ -38,14 +38,12 @@
       Object obj = null;
 
-      Object[] attributes = invocation.Method.GetCustomAttributes(typeof (SpringTransaction), true);
+      Object[] attributes = invocation.Method.GetCustomAttributes(typeof(SpringTransaction), true);
       foreach (Object o in attributes) {
-        SpringTransaction st = (SpringTransaction) o;
+        SpringTransaction st = (SpringTransaction)o;
         userTransaction = st.UserTransaction;
       }
       if (UseTransactions && !userTransaction) {
         using (
-          TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
-                                                        new TransactionOptions
-                                                        {IsolationLevel = ApplicationConstants.ISOLATION_LEVEL_SCOPE})) {
+          TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = ApplicationConstants.ISOLATION_LEVEL_SCOPE })) {
           try {
             Logger.Debug("Current Transaction Isolation level is: " + Transaction.Current.IsolationLevel);
@@ -64,6 +62,5 @@
           }
         }
-      }
-      else {
+      } else {
         try {
           obj = invocation.Proceed();
@@ -79,13 +76,11 @@
         }
       }
-      //}       
+   
       TimeSpan ts = DateTime.Now - start;
       if (ts.Seconds > 2) {
         Logger.Warn("Invocation took: " + ts);
-      }
-      else if (ts.Seconds > 10) {
+      } else if (ts.Seconds > 10) {
         Logger.Error("Invocation took: " + ts);
-      }
-      else {
+      } else {
         Logger.Info("Invocation took: " + ts);
         ;
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/Files.txt
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/Files.txt	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/Files.txt	(revision 4091)
@@ -2,7 +2,38 @@
 ; List of project directories and file names separated by ':' that are part of the installation
 
+HeuristicLab.DataAccess\3.3:HeuristicLab.DataAccess-3.3.dll
+HeuristicLab.DataAccess.ADOHelper\3.3:HeuristicLab.DataAccess.ADOHelper-3.3.dll
+
+HeuristicLab.Hive.Client.Common\3.3:HeuristicLab.Hive.Client.Common-3.3.dll
+HeuristicLab.Hive.Client.Communication\3.3:HeuristicLab.Hive.Client.Communication-3.3.dll
+HeuristicLab.Hive.Client.Console\3.3:Calendar.DayView.dll
+HeuristicLab.Hive.Client.Console\3.3:HeuristicLab.Hive.Client.Console-3.3.dll
+HeuristicLab.Hive.Client.Console\3.3:ZedGraph.dll
 HeuristicLab.Hive.Client.Core\3.3:HeuristicLab.Hive.Client.Core-3.3.dll
+HeuristicLab.Hive.Client.ExecutionEngine\3.3:HeuristicLab.Hive.Client.ExecutionEngine-3.3.dll
+
+HeuristicLab.Hive.Engine\3.3:HeuristicLab.Hive.Engine-3.3.dll
+HeuristicLab.Hive.JobBase\3.3:HeuristicLab.Hive.JobBase-3.3.dll
+
+HeuristicLab.Hive.Server\3.3:HeuristicLab.Hive.Server-3.3.dll
+HeuristicLab.Hive.Server.ADODataAccess\3.3:HeuristicLab.Hive.Server.ADODataAccess-3.3.dll
+HeuristicLab.Hive.Server.Console\3.3:HeuristicLab.Hive.Server.Console-3.3.dll
+HeuristicLab.Hive.Server.Core\3.3:Authorization\*.xml
+HeuristicLab.Hive.Server.Core\3.3:HeuristicLab.Hive.Contracts-3.3.dll
 HeuristicLab.Hive.Server.Core\3.3:HeuristicLab.Hive.Server.Core-3.3.dll
+HeuristicLab.Hive.Server.DataAccess\3.3:HeuristicLab.Hive.Server.DataAccess-3.3.dll
+HeuristicLab.Hive.Server.LINQDataAccess\3.3:HeuristicLab.Hive.Server.LINQDataAccess-3.3.dll
+HeuristicLab.Hive.Server.Scheduler\3.3:HeuristicLab.Hive.Server.Scheduler-3.3.dll
+
+HeuristicLab.Security.ADODataAccess\3.3:HeuristicLab.Security.ADODataAccess-3.3.dll
+HeuristicLab.Security.Contracts\3.3:HeuristicLab.Security.Contracts-3.3.dll
+HeuristicLab.Security.Core\3.3:HeuristicLab.Security.Core-3.3.dll
+HeuristicLab.Security.DataAccess\3.3:HeuristicLab.Security.DataAccess-3.3.dll
+HeuristicLab.Security.Server\3.3:HeuristicLab.Security.Server-3.3.dll
 
 ;External Libraries
-
+HeuristicLab.ExtLibs\HeuristicLab.SpringNET\1.3.0:HeuristicLab.SpringNET-1.3.0.dll
+HeuristicLab.ExtLibs\HeuristicLab.SpringNET\1.3.0:Common.Logging.dll
+HeuristicLab.ExtLibs\HeuristicLab.SpringNET\1.3.0:Spring.Aop.dll
+HeuristicLab.ExtLibs\HeuristicLab.SpringNET\1.3.0:Spring.Core.dll
+HeuristicLab.ExtLibs\HeuristicLab.SpringNET\1.3.0:Spring.Services.dll
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/HeuristicLab.Hive-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/HeuristicLab.Hive-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/HeuristicLab.Hive-3.3.csproj	(revision 4091)
@@ -23,4 +23,5 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -33,5 +34,5 @@
   </PropertyGroup>
   <PropertyGroup>
-    <RunPostBuildEvent>Always</RunPostBuildEvent>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
   </PropertyGroup>
   <PropertyGroup>
@@ -58,8 +59,11 @@
   <ItemGroup />
   <ItemGroup>
+    <None Include="app.config" />
     <None Include="CopyAssemblies.cmd" />
     <None Include="CustomPostBuild.cmd" />
     <None Include="CustomPostBuildTemplate_UpdateLocalInstallation.cmd" />
-    <None Include="HeuristicLab 3.3.exe.config" />
+    <None Include="HeuristicLab 3.3.exe.config">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Include="HeuristicLab.snk" />
     <None Include="MergeConfigs.cmd" />
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/HeuristicLab.Hive-3.3.csproj.user
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/HeuristicLab.Hive-3.3.csproj.user	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/HeuristicLab.Hive-3.3.csproj.user	(revision 4091)
@@ -0,0 +1,7 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+    <StartAction>Program</StartAction>
+    <StartProgram>C:\Programme\HeuristicLab 3.3\HeuristicLab 3.3.exe</StartProgram>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/MergeConfigs.cmd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/MergeConfigs.cmd	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/MergeConfigs.cmd	(revision 4091)
@@ -1,3 +1,3 @@
-ConfigMerger "%SolutionDir%\HeuristicLab.Hive\3.3\HeuristicLab 3.3.exe.config" "HeuristicLab 3.3.exe.config"
+ConfigMerger "%SolutionDir%HeuristicLab.Hive.Server\3.3\app.config" "HeuristicLab.Hive-3.3.dll.config"
 
-;ConfigMerger "%SolutionDir%\HeuristicLab.PluginInfrastructure\3.3\%Outdir%\HeuristicLab.PluginInfrastructure-3.3.dll.config" "HeuristicLab 3.3.exe.config"
+ConfigMerger "HeuristicLab.Hive-3.3.dll.config" "HeuristicLab 3.3.exe.config"
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/Properties/AssemblyInfo.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/Properties/AssemblyInfo.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/Properties/AssemblyInfo.cs	(revision 4091)
@@ -51,4 +51,4 @@
 //      Revision
 //
-[assembly: AssemblyVersion("3.3.0.4077")]
-[assembly: AssemblyFileVersion("3.3.0.4077")]
+[assembly: AssemblyVersion("3.3.0.4078")]
+[assembly: AssemblyFileVersion("3.3.0.4078")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/app.config	(revision 4091)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/app.config	(revision 4091)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <configSections>
+  </configSections>
+  <connectionStrings>
+  </connectionStrings>
+  <system.serviceModel>
+  </system.serviceModel>
+  <runtime>
+    <gcServer enabled="true"/>
+  </runtime>
+
+</configuration>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Contracts/3.3/SecurityContractsPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Contracts/3.3/SecurityContractsPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Contracts/3.3/SecurityContractsPlugin.cs	(revision 4091)
@@ -26,7 +26,7 @@
 
 namespace HeuristicLab.Security.Contracts {
-  [Plugin("HeuristicLab.Security.Contracts-3.3")]
+  [Plugin("HeuristicLab.Security.Contracts", "3.3")]
   [PluginFile("HeuristicLab.Security.Contracts-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
   public class SecurityContractsPlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Core/3.3/HeuristicLab.Security.Core-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Core/3.3/HeuristicLab.Security.Core-3.3.csproj	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Core/3.3/HeuristicLab.Security.Core-3.3.csproj	(revision 4091)
@@ -124,5 +124,4 @@
   </ItemGroup>
   <ItemGroup>
-    <None Include="app.config" />
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Core/3.3/SecurityCorePlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Core/3.3/SecurityCorePlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.Core/3.3/SecurityCorePlugin.cs	(revision 4091)
@@ -26,7 +26,7 @@
 
 namespace HeuristicLab.Security.Core {
-  [Plugin("HeuristicLab.Security.Core-3.3")]
+  [Plugin("HeuristicLab.Security.Core", "3.3")]
   [PluginFile("HeuristicLab.Security.Core-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
   public class SecurityCorePlugin : PluginBase {
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.DataAccess/3.3/SecurityDataAccessPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.DataAccess/3.3/SecurityDataAccessPlugin.cs	(revision 4090)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Security.DataAccess/3.3/SecurityDataAccessPlugin.cs	(revision 4091)
@@ -26,7 +26,7 @@
 
 namespace HeuristicLab.Security.DataAccess {
-  [Plugin("HeuristicLab.Security.DataAccess-3.3")]
+  [Plugin("HeuristicLab.Security.DataAccess", "3.3")]
   [PluginFile("HeuristicLab.Security.DataAccess-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
   public class SecurityDataAccessPlugin : PluginBase {
   }
