Skip to content

Commit 01317f3

Browse files
committed
Use Microsoft.Extensions.Configuration
1 parent 7c64d61 commit 01317f3

18 files changed

+128
-101
lines changed

src/InEngine.Core/Config.cs

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
3+
namespace InEngine.Core.Exceptions
4+
{
5+
public class RedisServerSettingsNotFoundException : Exception
6+
{
7+
public RedisServerSettingsNotFoundException(string instanceName)
8+
: base(instanceName)
9+
{
10+
}
11+
}
12+
}

src/InEngine.Core/InEngine.Core.csproj

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,36 @@
6969
<Reference Include="Common.Logging">
7070
<HintPath>..\packages\Common.Logging.3.4.1\lib\net40\Common.Logging.dll</HintPath>
7171
</Reference>
72+
<Reference Include="System.Runtime.CompilerServices.Unsafe">
73+
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.4.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
74+
</Reference>
75+
<Reference Include="Microsoft.Extensions.Primitives">
76+
<HintPath>..\packages\Microsoft.Extensions.Primitives.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
77+
</Reference>
78+
<Reference Include="Microsoft.Extensions.Configuration.Abstractions">
79+
<HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
80+
</Reference>
81+
<Reference Include="Microsoft.Extensions.Configuration">
82+
<HintPath>..\packages\Microsoft.Extensions.Configuration.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
83+
</Reference>
84+
<Reference Include="Microsoft.Extensions.FileSystemGlobbing">
85+
<HintPath>..\packages\Microsoft.Extensions.FileSystemGlobbing.2.0.0\lib\netstandard2.0\Microsoft.Extensions.FileSystemGlobbing.dll</HintPath>
86+
</Reference>
87+
<Reference Include="Microsoft.Extensions.FileProviders.Abstractions">
88+
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.FileProviders.Abstractions.dll</HintPath>
89+
</Reference>
90+
<Reference Include="Microsoft.Extensions.FileProviders.Physical">
91+
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Physical.2.0.0\lib\netstandard2.0\Microsoft.Extensions.FileProviders.Physical.dll</HintPath>
92+
</Reference>
93+
<Reference Include="Microsoft.Extensions.Configuration.FileExtensions">
94+
<HintPath>..\packages\Microsoft.Extensions.Configuration.FileExtensions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.FileExtensions.dll</HintPath>
95+
</Reference>
96+
<Reference Include="Microsoft.Extensions.Configuration.Json">
97+
<HintPath>..\packages\Microsoft.Extensions.Configuration.Json.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Json.dll</HintPath>
98+
</Reference>
99+
<Reference Include="Microsoft.Extensions.Configuration.Binder">
100+
<HintPath>..\packages\Microsoft.Extensions.Configuration.Binder.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll</HintPath>
101+
</Reference>
72102
</ItemGroup>
73103
<ItemGroup>
74104
<Compile Include="Properties\AssemblyInfo.cs" />
@@ -84,9 +114,6 @@
84114
<Compile Include="Queue\Commands\ClearAll.cs" />
85115
<Compile Include="AbstractCommand.cs" />
86116
<Compile Include="Queue\Jobs.cs" />
87-
<Compile Include="Queue\IBrokerConfiguration.cs" />
88-
<Compile Include="Config.cs" />
89-
<Compile Include="Queue\AbstractBrokerCommand.cs" />
90117
<Compile Include="IOptions.cs" />
91118
<Compile Include="Queue\Options.cs" />
92119
<Compile Include="Plugin.cs" />
@@ -95,6 +122,9 @@
95122
<Compile Include="..\SharedAssemblyInfo.cs">
96123
<Link>Properties\SharedAssemblyInfo.cs</Link>
97124
</Compile>
125+
<Compile Include="InEngineSettings.cs" />
126+
<Compile Include="Queue\QueueSettings.cs" />
127+
<Compile Include="Exceptions\RedisServerSettingsNotFoundException.cs" />
98128
</ItemGroup>
99129
<ItemGroup>
100130
<None Include="packages.config" />
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.IO;
4+
using System.Linq;
5+
using InEngine.Core.Exceptions;
6+
using InEngine.Core.Queue;
7+
using Microsoft.Extensions.Configuration;
8+
9+
namespace InEngine.Core
10+
{
11+
public class InEngineSettings
12+
{
13+
public QueueSettings Queue { get; set; }
14+
15+
public static InEngineSettings Make()
16+
{
17+
var inEngineSettings = new InEngineSettings();
18+
new ConfigurationBuilder()
19+
.SetBasePath(Directory.GetCurrentDirectory())
20+
.AddJsonFile("appsettings.json")
21+
.Build()
22+
.GetSection("InEngine")
23+
.Bind(inEngineSettings);
24+
return inEngineSettings;
25+
}
26+
}
27+
}

src/InEngine.Core/Queue/AbstractBrokerCommand.cs

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/InEngine.Core/Queue/Broker.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ public IRedisClient Redis {
2929
public int RedisPort { get; set; }
3030
public string RedisPassword { get; set; }
3131

32-
public static Broker MakeBroker(IBrokerConfiguration queueCommand)
32+
public static Broker Make()
3333
{
34-
return new Broker()
35-
{
36-
QueueBaseName = queueCommand.QueueName,
37-
RedisHost = queueCommand.RedisHost,
38-
RedisDb = queueCommand.RedisDb,
39-
RedisPort = queueCommand.RedisPort,
40-
RedisPassword = queueCommand.RedisPassword,
34+
var queueSettings = InEngineSettings.Make().Queue;
35+
return new Broker() {
36+
QueueBaseName = queueSettings.Name,
37+
RedisHost = queueSettings.RedisHost,
38+
RedisPort = queueSettings.RedisPort,
39+
RedisDb = queueSettings.RedisDb,
40+
RedisPassword = queueSettings.RedisPassword,
4141
};
4242
}
4343

src/InEngine.Core/Queue/Commands/ClearAll.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
namespace InEngine.Core.Queue.Commands
55
{
6-
public class ClearAll : AbstractBrokerCommand
6+
public class ClearAll : AbstractCommand
77
{
88
[Option("processing-queue", HelpText = "Clear the in processing queue.")]
99
public bool ClearProcessingQueue { get; set; }
1010

1111
public override CommandResult Run()
1212
{
13-
var broker = Broker.MakeBroker(this);
13+
var broker = Broker.Make();
1414
Console.WriteLine(ClearProcessingQueue ? broker.ClearProcessingQueue() : broker.ClearWaitingQueue());
1515
return new CommandResult(true);
1616
}

src/InEngine.Core/Queue/Commands/Consume.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
namespace InEngine.Core.Queue.Commands
55
{
6-
public class Consume : AbstractBrokerCommand
6+
public class Consume : AbstractCommand
77
{
88
[Option("all", DefaultValue = false)]
99
public bool All { get; set; }
1010

1111
public override CommandResult Run()
1212
{
13-
var broker = Broker.MakeBroker(this);
13+
var broker = Broker.Make();
1414
var shouldConsume = true;
1515
while (shouldConsume)
1616
shouldConsume = broker.Consume() && All;

src/InEngine.Core/Queue/Commands/GetLength.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
namespace InEngine.Core.Queue.Commands
55
{
6-
public class GetLength : AbstractBrokerCommand
6+
public class GetLength : AbstractCommand
77
{
88
[Option("processing-queue", HelpText = "Display the number of running commands.")]
99
public bool CheckProcessingQueue { get; set; }
1010

1111
public override CommandResult Run()
1212
{
13-
var broker = Broker.MakeBroker(this);
13+
var broker = Broker.Make();
1414
Console.WriteLine(CheckProcessingQueue ?
1515
broker.GetProcessingQueueLength() :
1616
broker.GetWaitingQueueLength());

src/InEngine.Core/Queue/Commands/Publish.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace InEngine.Core.Queue.Commands
55
{
6-
public class Publish : AbstractBrokerCommand
6+
public class Publish : AbstractCommand
77
{
88
[Option("command-assembly", DefaultValue = "InEngine.Core.dll")]
99
public string CommandAssembly { get; set; }
@@ -16,7 +16,7 @@ public override CommandResult Run()
1616
var command = Assembly.LoadFrom(CommandAssembly).CreateInstance(CommandClass) as ICommand;
1717
if (command == null)
1818
return new CommandResult(false, "Did not publish message. Could not load command from plugin.");
19-
Broker.MakeBroker(this).Publish(command);
19+
Broker.Make().Publish(command);
2020
return new CommandResult(true, "Published");
2121
}
2222
}

0 commit comments

Comments
 (0)