Skip to content

Commit cf74b69

Browse files
committed
Register remaining integration points
1 parent cf618eb commit cf74b69

20 files changed

+126
-66
lines changed

IntegrationEngine.ConsoleHost/IntegrationJobs/CarReport/CarMailMessageJob.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ namespace IntegrationEngine.ConsoleHost.Car
1111
public class CarMailMessageJob : IMailJob, IParameterizedJob
1212
{
1313
public IMailClient MailClient { get; set; }
14-
public IMailClient SecondMailClient { get; set; }
1514
public IDictionary<string, string> Parameters { get; set; }
1615

1716
public CarMailMessageJob()
@@ -26,15 +25,12 @@ public CarMailMessageJob(FooMailClient mailClient)
2625

2726
public void Run()
2827
{
29-
var areEqual = MailClient == SecondMailClient;
30-
Console.WriteLine(areEqual);
31-
SecondMailClient = MailClient;
32-
//var mailMessage = new MailMessage();
33-
//mailMessage.To.Add("ethanhann@gmail.com");
34-
//mailMessage.Subject = "Your car report is ready.";
35-
//mailMessage.From = new MailAddress("root@localhost");
36-
//mailMessage.Body = "Body content about cars.";
37-
//MailClient.Send(mailMessage);
28+
var mailMessage = new MailMessage();
29+
mailMessage.To.Add("ethanhann@gmail.com");
30+
mailMessage.Subject = "Your car report is ready.";
31+
mailMessage.From = new MailAddress("root@localhost");
32+
mailMessage.Body = "Body content about cars.";
33+
MailClient.Send(mailMessage);
3834
}
3935
}
4036
}

IntegrationEngine.Core/Configuration/ElasticsearchConfiguration.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-

1+
using System.Linq;
2+
23
namespace IntegrationEngine.Core.Configuration
34
{
45
public class ElasticsearchConfiguration : IElasticsearchConfiguration
@@ -8,5 +9,20 @@ public class ElasticsearchConfiguration : IElasticsearchConfiguration
89
public string HostName { get; set; }
910
public int Port { get; set; }
1011
public string DefaultIndex { get; set; }
12+
13+
public ElasticsearchConfiguration()
14+
{
15+
}
16+
17+
public ElasticsearchConfiguration(IEngineConfiguration engineConfiguration, string integrationPointName)
18+
: this()
19+
{
20+
var config = engineConfiguration.IntegrationPoints.Elasticsearch.Single(x => x.IntegrationPointName == integrationPointName);
21+
IntegrationPointName = integrationPointName;
22+
Protocol = config.Protocol;
23+
HostName = config.HostName;
24+
Port = config.Port;
25+
DefaultIndex = config.DefaultIndex;
26+
}
1127
}
1228
}

IntegrationEngine.Core/Configuration/MailConfiguration.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public MailConfiguration(IEngineConfiguration engineConfiguration, string integr
1616
: this()
1717
{
1818
var config = engineConfiguration.IntegrationPoints.Mail.Single(x => x.IntegrationPointName == integrationPointName);
19+
IntegrationPointName = integrationPointName;
1920
HostName = config.HostName;
2021
Port = config.Port;
2122
}

IntegrationEngine.Core/Configuration/RabbitMQConfiguration.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-

1+
using System.Linq;
2+
23
namespace IntegrationEngine.Core.Configuration
34
{
45
public class RabbitMQConfiguration : IRabbitMQConfiguration
@@ -10,5 +11,22 @@ public class RabbitMQConfiguration : IRabbitMQConfiguration
1011
public string Password { get; set; }
1112
public string HostName { get; set; }
1213
public string VirtualHost { get; set; }
14+
15+
public RabbitMQConfiguration()
16+
{
17+
}
18+
19+
public RabbitMQConfiguration(IEngineConfiguration engineConfiguration, string integrationPointName)
20+
: this()
21+
{
22+
var config = engineConfiguration.IntegrationPoints.RabbitMQ.Single(x => x.IntegrationPointName == integrationPointName);
23+
IntegrationPointName = integrationPointName;
24+
QueueName = config.QueueName;
25+
ExchangeName = config.ExchangeName;
26+
UserName = config.UserName;
27+
Password = config.Password;
28+
HostName = config.HostName;
29+
VirtualHost = config.VirtualHost;
30+
}
1331
}
1432
}

IntegrationEngine.Core/IntegrationEngine.Core.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@
127127
<Compile Include="Configuration\IntegrationPointConfigurations.cs" />
128128
<Compile Include="R\IRScriptRunner.cs" />
129129
<Compile Include="MessageQueue\MessageQueueConnection.cs" />
130+
<Compile Include="MessageQueue\IRabbitMQClient.cs" />
131+
<Compile Include="MessageQueue\IMsmqClient.cs" />
130132
</ItemGroup>
131133
<ItemGroup>
132134
<None Include="App.config" />
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using System;
2+
using System.Collections.Generic;
3+
4+
namespace IntegrationEngine.Core.MessageQueue
5+
{
6+
public interface IMsmqClient : IMessageQueueClient
7+
{}
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using System;
2+
using System.Collections.Generic;
3+
4+
namespace IntegrationEngine.Core.MessageQueue
5+
{
6+
public interface IRabbitMQClient : IMessageQueueClient
7+
{}
8+
}

IntegrationEngine.Core/MessageQueue/MsmqClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
using Common.Logging;
1+
using Common.Logging;
22
using System;
33
using System.Collections.Generic;
44
using System.Text;
55
using MSMessageQueue = System.Messaging.MessageQueue;
66

77
namespace IntegrationEngine.Core.MessageQueue
88
{
9-
public class MsmqClient : IMessageQueueClient
9+
public class MsmqClient : IMsmqClient
1010
{
1111
public MSMessageQueue MSMessageQueue { get; set; }
1212
string _queueName { get; set; }

IntegrationEngine.Core/MessageQueue/RabbitMQClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
namespace IntegrationEngine.Core.MessageQueue
1212
{
13-
public class RabbitMQClient : IMessageQueueClient
13+
public class RabbitMQClient : IRabbitMQClient
1414
{
1515
public RabbitMQConfiguration MessageQueueConfiguration { get; set; }
1616
public IMessageQueueConnection MessageQueueConnection { get; set; }

IntegrationEngine.Tests/EngineHostCompositionRootTest.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using IntegrationEngine.Api;
55
using IntegrationEngine.Core.Configuration;
66
using IntegrationEngine.Core.R;
7-
using IntegrationEngine.MessageQueue;
7+
using IntegrationEngine.JobProcessor;
88
using Microsoft.Practices.Unity;
99
using Moq;
1010
using Nest;
@@ -47,8 +47,9 @@ public void ShouldSetupLogging()
4747
public void ShouldSetupMessageQueueListener()
4848
{
4949
Subject.LoadConfiguration();
50-
Subject.Container.RegisterType<IRabbitMQConfiguration, RabbitMQConfiguration>("DefaultRabbitMQ");
51-
50+
var configName = "DefaultRabbitMQ";
51+
Subject.Container.RegisterType<IRabbitMQConfiguration, RabbitMQConfiguration>(configName,
52+
new InjectionConstructor(new ResolvedParameter<IEngineConfiguration>(), configName));
5253

5354
Subject.SetupThreadedListenerManager();
5455

0 commit comments

Comments
 (0)