Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/19/11 10:48:07 (12 years ago)
Author:
svonolfe
Message:

Refactored solution (#1610)

Location:
branches/SimulationCore/HeuristicLab.SimulationCore/3.3
Files:
3 edited
2 moved

Legend:

Unmodified
Added
Removed
  • branches/SimulationCore/HeuristicLab.SimulationCore/3.3

    • Property svn:ignore
      •  

        old new  
        33bin
        44obj
         5Plugin.cs
  • branches/SimulationCore/HeuristicLab.SimulationCore/3.3/HeuristicLab.SimulationCore-3.3.csproj

    r6623 r7204  
    2020    <DebugType>full</DebugType>
    2121    <Optimize>false</Optimize>
    22     <OutputPath>bin\Debug\</OutputPath>
     22    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    2323    <DefineConstants>DEBUG;TRACE</DefineConstants>
    2424    <ErrorReport>prompt</ErrorReport>
     
    104104  </PropertyGroup>
    105105  <ItemGroup>
     106    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     107      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     108      <Private>False</Private>
     109    </Reference>
     110    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     111      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     112      <Private>False</Private>
     113    </Reference>
     114    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     115      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     116      <Private>False</Private>
     117    </Reference>
     118    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     119      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     120      <Private>False</Private>
     121    </Reference>
     122    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     123      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     124      <Private>False</Private>
     125    </Reference>
     126    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     127      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     128      <Private>False</Private>
     129    </Reference>
     130    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     131      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     132      <Private>False</Private>
     133    </Reference>
    106134    <Reference Include="System" />
    107135    <Reference Include="System.Core" />
     
    115143    <Compile Include="AgentBased\AgentBasedSimulation.cs" />
    116144    <Compile Include="AgentBased\IAgent.cs" />
    117     <Compile Include="HeuristicLabSimulationCorePlugin.cs" />
    118145    <Compile Include="IScenario.cs" />
    119146    <Compile Include="ISimulation.cs" />
     147    <Compile Include="Plugin.cs" />
    120148    <Compile Include="Properties\AssemblyInfo.cs" />
    121149    <Compile Include="Scenario.cs" />
     
    123151  </ItemGroup>
    124152  <ItemGroup>
     153    <None Include="Plugin.cs.frame" />
     154    <None Include="Properties\AssemblyInfo.cs.frame" />
    125155    <None Include="HeuristicLab.snk" />
    126     <None Include="HeuristicLabSimulationCorePlugin.cs.frame" />
    127     <None Include="Properties\AssemblyInfo.frame" />
    128   </ItemGroup>
    129   <ItemGroup>
    130     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    131       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    132       <Name>HeuristicLab.Collections-3.3</Name>
    133     </ProjectReference>
    134     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
    135       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
    136       <Name>HeuristicLab.Common.Resources-3.3</Name>
    137     </ProjectReference>
    138     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    139       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    140       <Name>HeuristicLab.Common-3.3</Name>
    141     </ProjectReference>
    142     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    143       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    144       <Name>HeuristicLab.Core-3.3</Name>
    145     </ProjectReference>
    146     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    147       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    148       <Name>HeuristicLab.Optimization-3.3</Name>
    149     </ProjectReference>
    150     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    151       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    152       <Name>HeuristicLab.Persistence-3.3</Name>
    153     </ProjectReference>
    154     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    155       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    156       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    157     </ProjectReference>
    158156  </ItemGroup>
    159157  <ItemGroup />
     
    165163set Outdir=$(Outdir)
    166164
    167 call PreBuildEvent.cmd
    168 SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabSimulationCorePlugin.cs.frame" "%25ProjectDir%25\HeuristicLabSimulationCorePlugin.cs"</PreBuildEvent>
     165call PreBuildEvent.cmd</PreBuildEvent>
    169166  </PropertyGroup>
    170167  <PropertyGroup>
    171     <PostBuildEvent>set ProjectName=$(ProjectName)
    172 set Source=$(TargetPath)
    173 set Configuration=$(ConfigurationName)
    174 set Platform=$(PlatformName)
    175 set SolutionDir=$(SolutionDir)
    176 
    177 if exist "$(SolutionDir)CustomPostBuild.cmd" call "$(SolutionDir)CustomPostBuild.cmd"</PostBuildEvent>
     168    <PostBuildEvent>
     169    </PostBuildEvent>
    178170  </PropertyGroup>
    179171  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • branches/SimulationCore/HeuristicLab.SimulationCore/3.3/Simulation.cs

    r6623 r7204  
    7777    }
    7878
    79     public override void Start() {
     79    private class RunInformation {
     80      public CancellationTokenSource CancellationToken { get; set; }
     81      public IExecutionContext ExecutionContext { get; set; }
     82    }
     83
     84    public virtual void Start(IExecutionContext executionContext) {
    8085      base.Start();
     86
     87      RunInformation runInfo = new RunInformation();
    8188      cancellationTokenSource = new CancellationTokenSource();
     89      runInfo.CancellationToken = cancellationTokenSource;
     90      runInfo.ExecutionContext = executionContext;
    8291      stopPending = false;
    83       Task task = Task.Factory.StartNew(Run, cancellationTokenSource.Token, cancellationTokenSource.Token);
     92      Task task = Task.Factory.StartNew(Run, runInfo, runInfo.CancellationToken.Token);
    8493      task.ContinueWith(t => {
    8594        try {
     
    100109        else OnPaused();
    101110      });
     111    }
     112
     113    public override void Start() {
     114      Start(null);     
    102115    }
    103116    protected override void OnStarted() {
     
    131144
    132145    private void Run(object state) {
    133       CancellationToken cancellationToken = (CancellationToken)state;
     146      RunInformation runInfo = (RunInformation)state;
    134147
    135148      OnStarted();
     
    140153      timer.Start();
    141154      try {
    142         Run(cancellationToken);
     155        foreach (IParameter parameter in Parameters) {
     156          parameter.ExecutionContext = runInfo.ExecutionContext;
     157        }
     158
     159        Run(runInfo.CancellationToken.Token);
    143160      }
    144161      finally {
     
    146163        timer.Stop();
    147164        ExecutionTime += DateTime.Now - lastUpdateTime;
     165
     166        foreach (IParameter parameter in Parameters) {
     167          parameter.ExecutionContext = null;
     168        }
    148169      }
    149170      Stop();
    150171
    151       cancellationToken.ThrowIfCancellationRequested();
     172      runInfo.CancellationToken.Token.ThrowIfCancellationRequested();
    152173    }
    153174    protected abstract void Run(CancellationToken cancellationToken);
Note: See TracChangeset for help on using the changeset viewer.