From 5cbd74040e2cab6e5148d8b8be1e15809a0ca90b Mon Sep 17 00:00:00 2001 From: Sohail Hussain Date: Tue, 9 Apr 2019 11:47:07 -0700 Subject: [PATCH 01/26] Initial structure --- .../DatafileManagement/DatafileProjectConfig.cs | 10 ++++++++++ .../DatafileManagement/HttpProjectConfigManager.cs | 10 ++++++++++ .../DatafileManagement/PollingProjectConfigManager.cs | 10 ++++++++++ OptimizelySDK/DatafileManagement/ProjectConfig.cs | 10 ++++++++++ .../DatafileManagement/ProjectConfigManager.cs | 10 ++++++++++ 5 files changed, 50 insertions(+) create mode 100644 OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs create mode 100644 OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs create mode 100644 OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs create mode 100644 OptimizelySDK/DatafileManagement/ProjectConfig.cs create mode 100644 OptimizelySDK/DatafileManagement/ProjectConfigManager.cs diff --git a/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs b/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs new file mode 100644 index 00000000..071f7427 --- /dev/null +++ b/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs @@ -0,0 +1,10 @@ +using System; +namespace OptimizelySDK.DatafileManagement +{ + public class DatafileProjectConfig + { + public DatafileProjectConfig() + { + } + } +} diff --git a/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs b/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs new file mode 100644 index 00000000..0b165b9f --- /dev/null +++ b/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs @@ -0,0 +1,10 @@ +using System; +namespace OptimizelySDK.DatafileManagement +{ + public class HttpProjectConfigManager + { + public HttpProjectConfigManager() + { + } + } +} diff --git a/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs b/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs new file mode 100644 index 00000000..39dea1bd --- /dev/null +++ b/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs @@ -0,0 +1,10 @@ +using System; +namespace OptimizelySDK.DatafileManagement +{ + public class PollingProjectConfigManager + { + public PollingProjectConfigManager() + { + } + } +} diff --git a/OptimizelySDK/DatafileManagement/ProjectConfig.cs b/OptimizelySDK/DatafileManagement/ProjectConfig.cs new file mode 100644 index 00000000..9f151e22 --- /dev/null +++ b/OptimizelySDK/DatafileManagement/ProjectConfig.cs @@ -0,0 +1,10 @@ +using System; +namespace OptimizelySDK.DatafileManagement +{ + public class ProjectConfig + { + public ProjectConfig() + { + } + } +} diff --git a/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs b/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs new file mode 100644 index 00000000..cdcda5b3 --- /dev/null +++ b/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs @@ -0,0 +1,10 @@ +using System; +namespace OptimizelySDK.DatafileManagement +{ + public class ProjectConfigManager + { + public ProjectConfigManager() + { + } + } +} From f6487aec4ad37c2803f340e3b4b52edcb667b09e Mon Sep 17 00:00:00 2001 From: Sohail Hussain Date: Tue, 9 Apr 2019 11:49:58 -0700 Subject: [PATCH 02/26] cleanup --- .../DatafileManagement/DatafileProjectConfig.cs | 5 +---- .../DatafileManagement/HttpProjectConfigManager.cs | 5 +++-- .../PollingProjectConfigManager.cs | 14 ++++++++++++-- OptimizelySDK/DatafileManagement/ProjectConfig.cs | 5 +---- .../DatafileManagement/ProjectConfigManager.cs | 7 +++---- OptimizelySDK/OptimizelySDK.csproj | 8 ++++++++ 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs b/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs index 071f7427..f2fb02ee 100644 --- a/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs +++ b/OptimizelySDK/DatafileManagement/DatafileProjectConfig.cs @@ -1,10 +1,7 @@ using System; namespace OptimizelySDK.DatafileManagement { - public class DatafileProjectConfig + public class DatafileProjectConfig : ProjectConfig { - public DatafileProjectConfig() - { - } } } diff --git a/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs b/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs index 0b165b9f..3b4da127 100644 --- a/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs +++ b/OptimizelySDK/DatafileManagement/HttpProjectConfigManager.cs @@ -1,10 +1,11 @@ using System; namespace OptimizelySDK.DatafileManagement { - public class HttpProjectConfigManager + public class HttpProjectConfigManager : PollingProjectConfigManager { - public HttpProjectConfigManager() + protected override ProjectConfig FetchConfig() { + throw new NotImplementedException(); } } } diff --git a/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs b/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs index 39dea1bd..12df4865 100644 --- a/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs +++ b/OptimizelySDK/DatafileManagement/PollingProjectConfigManager.cs @@ -1,10 +1,20 @@ using System; +using System.Timers; + namespace OptimizelySDK.DatafileManagement { - public class PollingProjectConfigManager + public abstract class PollingProjectConfigManager : Timer, ProjectConfigManager { - public PollingProjectConfigManager() + public ProjectConfig GetConfig() { + return null; } + + public bool SetConfig(ProjectConfig projectConfig) + { + return false; + } + + protected abstract ProjectConfig FetchConfig(); } } diff --git a/OptimizelySDK/DatafileManagement/ProjectConfig.cs b/OptimizelySDK/DatafileManagement/ProjectConfig.cs index 9f151e22..fb719907 100644 --- a/OptimizelySDK/DatafileManagement/ProjectConfig.cs +++ b/OptimizelySDK/DatafileManagement/ProjectConfig.cs @@ -1,10 +1,7 @@ using System; namespace OptimizelySDK.DatafileManagement { - public class ProjectConfig + public interface ProjectConfig { - public ProjectConfig() - { - } } } diff --git a/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs b/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs index cdcda5b3..a9bbb8a5 100644 --- a/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs +++ b/OptimizelySDK/DatafileManagement/ProjectConfigManager.cs @@ -1,10 +1,9 @@ using System; namespace OptimizelySDK.DatafileManagement { - public class ProjectConfigManager + public interface ProjectConfigManager { - public ProjectConfigManager() - { - } + ProjectConfig GetConfig(); + bool SetConfig(ProjectConfig projectConfig); } } diff --git a/OptimizelySDK/OptimizelySDK.csproj b/OptimizelySDK/OptimizelySDK.csproj index 7187e5f3..abf42662 100644 --- a/OptimizelySDK/OptimizelySDK.csproj +++ b/OptimizelySDK/OptimizelySDK.csproj @@ -121,6 +121,11 @@ + + + + + @@ -128,6 +133,9 @@ + + +