diff --git a/src/Orchard.Tests/Orchard.Framework.Tests.csproj b/src/Orchard.Tests/Orchard.Framework.Tests.csproj
index 7b3df98cf..c433d1879 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 0a500141b..f210d1d4f 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