From fef3fbfbe76da7a4816650080ca4f4f50f27e265 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 12 Apr 2016 21:29:44 +0200 Subject: [PATCH] Removed unnecessary YamlService. Instead we can use the NuGet package directly. --- .../Orchard.Framework.Tests.csproj | 1 - src/Orchard.Tests/Services/YamlParserTests.cs | 70 ------------------- .../Orchard.Layouts/Orchard.Layouts.csproj | 8 +++ .../Providers/SnippetElementHarvester.cs | 13 ++-- .../Modules/Orchard.Layouts/packages.config | 2 + src/Orchard/Orchard.Framework.csproj | 6 -- src/Orchard/Services/IYamlParser.cs | 21 ------ src/Orchard/Services/YamlParser.cs | 19 ----- src/Orchard/packages.config | 1 - 9 files changed, 17 insertions(+), 124 deletions(-) delete mode 100644 src/Orchard.Tests/Services/YamlParserTests.cs delete mode 100644 src/Orchard/Services/IYamlParser.cs delete mode 100644 src/Orchard/Services/YamlParser.cs diff --git a/src/Orchard.Tests/Orchard.Framework.Tests.csproj b/src/Orchard.Tests/Orchard.Framework.Tests.csproj index 02ed1d16f..4a39036af 100644 --- a/src/Orchard.Tests/Orchard.Framework.Tests.csproj +++ b/src/Orchard.Tests/Orchard.Framework.Tests.csproj @@ -320,7 +320,6 @@ - diff --git a/src/Orchard.Tests/Services/YamlParserTests.cs b/src/Orchard.Tests/Services/YamlParserTests.cs deleted file mode 100644 index 19ece43fa..000000000 --- a/src/Orchard.Tests/Services/YamlParserTests.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using NUnit.Framework; -using Newtonsoft.Json.Linq; -using Orchard.Services; - -namespace Orchard.Tests.Services { - - [TestFixture] - public class YamlParserTests { - - [Test] - public void ShouldConvertYamlToWellknowType() { - var parser = new YamlParser(); - var yaml = SampleYamlDocument; - - var order = parser.Deserialize(yaml); - - Assert.AreEqual("Nikola", order.Customer.FirstName); - Assert.AreEqual(2, order.Items.Count); - } - - [Test] - public void ShouldConvertYamlToDynamic() - { - var parser = new YamlParser(); - var yaml = SampleYamlDocument; - - var order = parser.Deserialize(yaml); - - Assert.AreEqual("Nikola", (string)order.Customer.FirstName); - Assert.AreEqual(2, (int)order.Items.Count); - } - - public class Order { - public DateTime Date { get; set; } - public Customer Customer { get; set; } - public IList Items { get; set; } - } - - public class OrderItem { - public string Product { get; set; } - public int Quantity { get; set; } - public decimal Price { get; set; } - } - - public class Customer { - public string FirstName { get; set; } - public string LastName { get; set; } - - } - - private const string SampleYamlDocument = -@" -Date: 1916-04-01 -Customer: - FirstName: Nikola - LastName: Tesla -Items: - - Product: Bulb - Quantity: 1 - Price: 1.46 - - - Product: Wire - Quantity: 1 - Price: 0.32 -"; - } -} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj b/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj index 38987ec69..66ccc72b6 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj @@ -102,6 +102,14 @@ + + ..\..\..\packages\YamlDotNet.3.8.0\lib\net35\YamlDotNet.dll + True + + + ..\..\..\packages\YamlDotNet.Dynamic.3.2.3\lib\net40\YamlDotNet.Dynamic.dll + True + diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs b/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs index 1333ef9c5..3369c7132 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs @@ -17,10 +17,10 @@ using Orchard.Layouts.Services; using Orchard.Layouts.Shapes; using Orchard.Layouts.ViewModels; using Orchard.Localization; -using Orchard.Services; using Orchard.Themes.Services; using Orchard.Tokens; using Orchard.Utility.Extensions; +using YamlDotNet.Dynamic; namespace Orchard.Layouts.Providers { [OrchardFeature("Orchard.Layouts.Snippets")] @@ -34,7 +34,6 @@ namespace Orchard.Layouts.Providers { private readonly Work _currentThemeShapeBindingResolver; private readonly Work _tokenizer; private readonly IWorkContextAccessor _wca; - private readonly Work _yamlParser; public SnippetElementHarvester( IWorkContextAccessor workContextAccessor, @@ -44,8 +43,7 @@ namespace Orchard.Layouts.Providers { Work elementFactory, Work shapeDisplay, Work tokenizer, - Work currentThemeShapeBindingResolver, - Work yamlParser) { + Work currentThemeShapeBindingResolver) { _shapeFactory = shapeFactory; _siteThemeService = siteThemeService; @@ -54,7 +52,6 @@ namespace Orchard.Layouts.Providers { _shapeDisplay = shapeDisplay; _tokenizer = tokenizer; _currentThemeShapeBindingResolver = currentThemeShapeBindingResolver; - _yamlParser = yamlParser; _wca = workContextAccessor; } @@ -149,7 +146,7 @@ namespace Orchard.Layouts.Providers { return null; var yaml = File.ReadAllText(paramsFileName); - var snippetConfig = _yamlParser.Value.Deserialize(yaml); + var snippetConfig = Deserialize(yaml); var fieldsConfig = snippetConfig.Fields != null ? snippetConfig.Fields.Children : new dynamic[0]; var descriptor = new SnippetDescriptor(); @@ -202,5 +199,9 @@ namespace Orchard.Layouts.Providers { var markup = File.ReadAllText(localFileName); return markup.Contains("@Html.SnippetField"); } + + private dynamic Deserialize(string yaml) { + return new DynamicYaml(yaml); + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/packages.config b/src/Orchard.Web/Modules/Orchard.Layouts/packages.config index 61ca9fb6f..22c39f3eb 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/packages.config +++ b/src/Orchard.Web/Modules/Orchard.Layouts/packages.config @@ -7,4 +7,6 @@ + + \ No newline at end of file diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index be276337b..9b469678e 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -170,10 +170,6 @@ ..\packages\YamlDotNet.3.8.0\lib\net35\YamlDotNet.dll True - - ..\packages\YamlDotNet.Dynamic.3.2.3\lib\net40\YamlDotNet.Dynamic.dll - True - @@ -427,9 +423,7 @@ - - diff --git a/src/Orchard/Services/IYamlParser.cs b/src/Orchard/Services/IYamlParser.cs deleted file mode 100644 index cf9ea5f2c..000000000 --- a/src/Orchard/Services/IYamlParser.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace Orchard.Services { - /// - /// Provides methods to deserialize objects from YAML documents. - /// - public interface IYamlParser : IDependency { - /// - /// Deserializes a YAML document to a dynamic object. - /// - /// The YAML document to deserialize. - /// The deserialized object. - dynamic Deserialize(string yaml); - - /// - /// Deserializes a YAML document to a specific object. - /// - /// The type of the object to deserialize. - /// The YAML document to deserialize. - /// The deserialized object. - T Deserialize(string yaml); - } -} diff --git a/src/Orchard/Services/YamlParser.cs b/src/Orchard/Services/YamlParser.cs deleted file mode 100644 index b783aad5c..000000000 --- a/src/Orchard/Services/YamlParser.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.IO; -using YamlDotNet.Dynamic; -using YamlDotNet.Serialization; -using YamlDotNet.Serialization.NamingConventions; - -namespace Orchard.Services { - public class YamlParser : IYamlParser { - public dynamic Deserialize(string yaml) { - return new DynamicYaml(yaml); - } - - public T Deserialize(string yaml) { - var deserializer = new Deserializer(namingConvention: new PascalCaseNamingConvention(), ignoreUnmatched: true); - using (var reader = new StringReader(yaml)) { - return deserializer.Deserialize(reader); - } - } - } -} \ No newline at end of file diff --git a/src/Orchard/packages.config b/src/Orchard/packages.config index f5f57f9e4..c25a4d246 100644 --- a/src/Orchard/packages.config +++ b/src/Orchard/packages.config @@ -18,5 +18,4 @@ - \ No newline at end of file