From aee044781c04331fb7d4b5094a8bf52c1c6ff2cc Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Thu, 15 Apr 2010 01:16:13 -0700 Subject: [PATCH] Small changes to model/interfaces Cropping some data Adding an Update method, and renaming to ITopologyDescriptorManager --HG-- branch : dev --- .../DefaultTopologyDescriptorCacheTests.cs | 14 +++------- ...ovider.cs => TopologyDescriptorManager.cs} | 6 ++++- .../Topology/ITopologyDescriptorManager.cs | 26 +++++++++++++++++++ .../Topology/ITopologyDescriptorProvider.cs | 15 ----------- .../Models/ShellTopologyDescriptor.cs | 6 ++--- 5 files changed, 37 insertions(+), 30 deletions(-) rename src/Orchard.Web/Core/Settings/Services/{TopologyDescriptorProvider.cs => TopologyDescriptorManager.cs} (52%) create mode 100644 src/Orchard/Environment/Topology/ITopologyDescriptorManager.cs delete mode 100644 src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs diff --git a/src/Orchard.Tests/Environment/Topology/DefaultTopologyDescriptorCacheTests.cs b/src/Orchard.Tests/Environment/Topology/DefaultTopologyDescriptorCacheTests.cs index 1f60f76af..0acdd32bd 100644 --- a/src/Orchard.Tests/Environment/Topology/DefaultTopologyDescriptorCacheTests.cs +++ b/src/Orchard.Tests/Environment/Topology/DefaultTopologyDescriptorCacheTests.cs @@ -83,15 +83,9 @@ namespace Orchard.Tests.Environment.Topology { var descriptor = new ShellTopologyDescriptor { SerialNumber = 6655321, - Settings = new ShellSettings { - Name = "Testing", - DataProvider = "s1", - DataConnectionString = "s2", - DataPrefix = "s3" - }, EnabledFeatures = new[] { - new TopologyFeature {ExtensionName = "f1", FeatureName = "f2"}, - new TopologyFeature {ExtensionName = "f3", FeatureName = "f4"}, + new TopologyFeature { Name = "f2"}, + new TopologyFeature { Name = "f4"}, }, Parameters = new[] { new TopologyParameter {Component = "p1", Name = "p2",Value = "p3"}, @@ -104,8 +98,8 @@ namespace Orchard.Tests.Environment.Topology { var result = service.Fetch("Hello"); var resultInfo = result.ToDataString(); - Assert.That(descriptorInfo, Is.StringContaining("Testing")); - Assert.That(resultInfo, Is.StringContaining("Testing")); + Assert.That(descriptorInfo, Is.StringContaining("6655321")); + Assert.That(resultInfo, Is.StringContaining("6655321")); Assert.That(descriptorInfo, Is.EqualTo(resultInfo)); } diff --git a/src/Orchard.Web/Core/Settings/Services/TopologyDescriptorProvider.cs b/src/Orchard.Web/Core/Settings/Services/TopologyDescriptorManager.cs similarity index 52% rename from src/Orchard.Web/Core/Settings/Services/TopologyDescriptorProvider.cs rename to src/Orchard.Web/Core/Settings/Services/TopologyDescriptorManager.cs index f0a7ed233..2a8d4d49d 100644 --- a/src/Orchard.Web/Core/Settings/Services/TopologyDescriptorProvider.cs +++ b/src/Orchard.Web/Core/Settings/Services/TopologyDescriptorManager.cs @@ -6,9 +6,13 @@ using Orchard.Environment.Topology; using Orchard.Environment.Topology.Models; namespace Orchard.Core.Settings.Services { - public class TopologyDescriptorProvider : ITopologyDescriptorProvider { + public class TopologyDescriptorManager : ITopologyDescriptorManager { public ShellTopologyDescriptor GetTopologyDescriptor() { throw new NotImplementedException(); } + + public void UpdateTopologyDescriptor(int priorSerialNumber, IEnumerable enabledFeatures, IEnumerable parameters) { + throw new NotImplementedException(); + } } } diff --git a/src/Orchard/Environment/Topology/ITopologyDescriptorManager.cs b/src/Orchard/Environment/Topology/ITopologyDescriptorManager.cs new file mode 100644 index 000000000..ed6180d68 --- /dev/null +++ b/src/Orchard/Environment/Topology/ITopologyDescriptorManager.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using Orchard.Environment.Topology.Models; + +namespace Orchard.Environment.Topology { + /// + /// Service resolved out of the shell container. Primarily used by host. + /// + public interface ITopologyDescriptorManager { + /// + /// Uses shell-specific database or other resources to return + /// the current "correct" configuration. The host will use this information + /// to reinitialize the shell. + /// + ShellTopologyDescriptor GetTopologyDescriptor(); + + /// + /// Alters databased information to match information passed as arguments. + /// Prior SerialNumber used for optomistic concurrency, and an exception + /// should be thrown if the number in storage doesn't match what's provided. + /// + void UpdateTopologyDescriptor( + int priorSerialNumber, + IEnumerable enabledFeatures, + IEnumerable parameters); + } +} diff --git a/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs b/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs deleted file mode 100644 index 0cd65117d..000000000 --- a/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Orchard.Environment.Topology.Models; - -namespace Orchard.Environment.Topology { - /// - /// Service resolved out of the shell container. Primarily used by host. - /// - public interface ITopologyDescriptorProvider { - /// - /// Uses shell-specific database or other resources to return - /// the current "correct" configuration. The host will use this information - /// to reinitialize the shell. - /// - ShellTopologyDescriptor GetTopologyDescriptor(); - } -} diff --git a/src/Orchard/Environment/Topology/Models/ShellTopologyDescriptor.cs b/src/Orchard/Environment/Topology/Models/ShellTopologyDescriptor.cs index 02814be6f..a4dd84308 100644 --- a/src/Orchard/Environment/Topology/Models/ShellTopologyDescriptor.cs +++ b/src/Orchard/Environment/Topology/Models/ShellTopologyDescriptor.cs @@ -4,14 +4,12 @@ using Orchard.Environment.Configuration; namespace Orchard.Environment.Topology.Models { public class ShellTopologyDescriptor { public int SerialNumber { get; set; } - public ShellSettings Settings { get; set; } public IEnumerable EnabledFeatures { get; set; } public IEnumerable Parameters { get; set; } } public class TopologyFeature { - public string ExtensionName { get; set; } - public string FeatureName { get; set; } + public string Name { get; set; } } public class TopologyParameter { @@ -19,4 +17,4 @@ namespace Orchard.Environment.Topology.Models { public string Name { get; set; } public string Value { get; set; } } -} \ No newline at end of file +}