Skip to content

Commit 60e3c92

Browse files
committed
User interfaces instead of concrete classes for extending model
1 parent 06090bb commit 60e3c92

File tree

10 files changed

+75
-9
lines changed

10 files changed

+75
-9
lines changed

IntegrationEngine.Model.net40/IntegrationEngine.Model.net40.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,15 @@
4343
<Compile Include="..\configuration\SharedAssemblyInfo.cs">
4444
<Link>Properties\SharedAssemblyInfo.cs</Link>
4545
</Compile>
46+
<Compile Include="..\IntegrationEngine.Model\ICronTrigger.cs">
47+
<Link>ICronTrigger.cs</Link>
48+
</Compile>
4649
<Compile Include="..\IntegrationEngine.Model\IHasStringId.cs">
4750
<Link>IHasStringId.cs</Link>
4851
</Compile>
52+
<Compile Include="..\IntegrationEngine.Model\ISimpleTrigger.cs">
53+
<Link>ISimpleTrigger.cs</Link>
54+
</Compile>
4955
<Compile Include="Properties\AssemblyInfo.cs" />
5056
<Compile Include="..\IntegrationEngine.Model\SimpleTrigger.cs">
5157
<Link>SimpleTrigger.cs</Link>

IntegrationEngine.Model/CronTrigger.cs

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

33
namespace IntegrationEngine.Model
44
{
5-
public class CronTrigger : IHasStringId, IIntegrationJobTrigger
5+
public class CronTrigger : ICronTrigger
66
{
77
public string Id { get; set; }
88
public string JobType { get; set; }
99
public string CronExpressionString { get; set; }
10-
TimeZoneInfo _timeZone { get; set; }
11-
public TimeZoneInfo TimeZone { get { return _timeZone ?? TimeZoneInfo.Utc; } set { _timeZone = value; } }
10+
public string TimeZoneId { get; set; }
11+
public TimeZoneInfo TimeZone { get; set; }
1212
}
1313
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace IntegrationEngine.Model
8+
{
9+
public interface ICronTrigger : IHasStringId, IIntegrationJobTrigger
10+
{
11+
string CronExpressionString { get; set; }
12+
string TimeZoneId { get; set; }
13+
TimeZoneInfo TimeZone { get; set; }
14+
}
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace IntegrationEngine.Model
8+
{
9+
public interface ISimpleTrigger : IHasStringId, IIntegrationJobTrigger
10+
{
11+
int RepeatCount { get; set; }
12+
TimeSpan RepeatInterval { get; set; }
13+
DateTimeOffset StartTimeUtc { get; set; }
14+
}
15+
}

IntegrationEngine.Model/IntegrationEngine.Model.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@
4545
<Compile Include="..\configuration\SharedAssemblyInfo.cs">
4646
<Link>Properties\SharedAssemblyInfo.cs</Link>
4747
</Compile>
48+
<Compile Include="ICronTrigger.cs" />
4849
<Compile Include="IHasStringId.cs" />
50+
<Compile Include="ISimpleTrigger.cs" />
4951
<Compile Include="Properties\AssemblyInfo.cs" />
5052
<Compile Include="CronTrigger.cs" />
5153
<Compile Include="SimpleTrigger.cs" />

IntegrationEngine.Model/SimpleTrigger.cs

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

33
namespace IntegrationEngine.Model
44
{
5-
public class SimpleTrigger : IHasStringId, IIntegrationJobTrigger
5+
public class SimpleTrigger : ISimpleTrigger
66
{
77
public string Id { get; set; }
88
public string JobType { get; set; }

IntegrationEngine/IntegrationEngine.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@
168168
<Compile Include="ContainerResolver.cs" />
169169
<Compile Include="Scheduler\CronTrigger.cs" />
170170
<Compile Include="Scheduler\EngineScheduler.cs" />
171+
<Compile Include="Scheduler\ICronTriggerReadOnly.cs" />
171172
<Compile Include="Scheduler\IEngineScheduler.cs" />
172173
<Compile Include="Scheduler\SimpleTrigger.cs" />
173174
<Compile Include="Scheduler\TriggerStringExtension.cs" />
Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
using CronExpressionDescriptor;
2+
using IntegrationEngine.Model;
23
using Nest;
3-
using CronTriggerModel = IntegrationEngine.Model.CronTrigger;
4+
using System;
45

56
namespace IntegrationEngine.Scheduler
67
{
7-
public class CronTrigger : CronTriggerModel
8+
public class CronTrigger : ICronTrigger, ICronTriggerReadOnly
89
{
9-
[ElasticProperty(OptOut = true)]
10+
public string Id { get; set; }
11+
public string JobType { get; set; }
12+
public string CronExpressionString { get; set; }
13+
public string TimeZoneId { get; set; }
14+
public TimeZoneInfo TimeZone { get; set; }
15+
16+
[ElasticProperty(OptOut = true)]
1017
public string CronExpressionDescription { get { return ExpressionDescriptor.GetDescription(CronExpressionString); } }
1118
}
1219
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using IntegrationEngine.Model;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Text;
6+
using System.Threading.Tasks;
7+
8+
namespace IntegrationEngine.Scheduler
9+
{
10+
interface ICronTriggerReadOnly
11+
{
12+
string CronExpressionDescription { get; }
13+
}
14+
}
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
using SimpleTriggerModel = IntegrationEngine.Model.SimpleTrigger;
1+
using IntegrationEngine.Model;
2+
using System;
23

34
namespace IntegrationEngine.Scheduler
45
{
5-
public class SimpleTrigger : SimpleTriggerModel
6+
public class SimpleTrigger : ISimpleTrigger
67
{
8+
public string Id { get; set; }
9+
public string JobType { get; set; }
10+
public int RepeatCount { get; set; }
11+
public TimeSpan RepeatInterval { get; set; }
12+
public DateTimeOffset StartTimeUtc { get; set; }
713
}
814
}

0 commit comments

Comments
 (0)