diff --git a/src/Orchard.Tests.Modules/Indexing/LuceneIndexProviderTests.cs b/src/Orchard.Tests.Modules/Indexing/LuceneIndexProviderTests.cs deleted file mode 100644 index 41a43c632..000000000 --- a/src/Orchard.Tests.Modules/Indexing/LuceneIndexProviderTests.cs +++ /dev/null @@ -1,296 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using Autofac; -using Lucene.Services; -using NUnit.Framework; -using Orchard.Environment.Configuration; -using Orchard.FileSystems.AppData; -using Orchard.Indexing; -using Orchard.Indexing.Services; -using Orchard.Tests.FileSystems.AppData; - -namespace Orchard.Tests.Modules.Indexing { - public class LuceneIndexProviderTests { - private IContainer _container; - private IIndexProvider _provider; - private IAppDataFolder _appDataFolder; - private ShellSettings _shellSettings; - private readonly string _basePath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); - - [TestFixtureTearDown] - public void Clean() { - if (Directory.Exists(_basePath)) { - Directory.Delete(_basePath, true); - } - } - - [SetUp] - public void Setup() { - if (Directory.Exists(_basePath)) { - Directory.Delete(_basePath, true); - } - Directory.CreateDirectory(_basePath); - - _appDataFolder = AppDataFolderTests.CreateAppDataFolder(_basePath); - - var builder = new ContainerBuilder(); - builder.RegisterType().As(); - builder.RegisterInstance(_appDataFolder).As(); - - // setting up a ShellSettings instance - _shellSettings = new ShellSettings { Name = "My Site" }; - builder.RegisterInstance(_shellSettings).As(); - - _container = builder.Build(); - _provider = _container.Resolve(); - } - - private string[] Indexes() { - return new DirectoryInfo(Path.Combine(_basePath, "Sites", "My Site", "Indexes")).GetDirectories().Select(d => d.Name).ToArray(); - } - - [Test] - public void IndexProviderShouldCreateNewIndex() { - Assert.That(Indexes().Length, Is.EqualTo(0)); - - _provider.CreateIndex("default"); - Assert.That(Indexes().Length, Is.EqualTo(1)); - } - - [Test] - public void IndexProviderShouldOverwriteAlreadyExistingIndex() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", null)); - Assert.That(_provider.IsEmpty("default"), Is.False); - - _provider.CreateIndex("default"); - Assert.That(_provider.IsEmpty("default"), Is.True); - } - - [Test] - public void IndexProviderShouldDeleteExistingIndex() { - Assert.That(Indexes().Length, Is.EqualTo(0)); - - _provider.CreateIndex("default"); - Assert.That(Indexes().Length, Is.EqualTo(1)); - - _provider.DeleteIndex("default"); - Assert.That(Indexes().Length, Is.EqualTo(0)); - } - - [Test] - public void IndexProviderShouldListExistingIndexes() { - Assert.That(Indexes().Length, Is.EqualTo(0)); - - _provider.CreateIndex("default"); - Assert.That(Indexes().Length, Is.EqualTo(1)); - Assert.That(Indexes()[0], Is.EqualTo("default")); - - _provider.CreateIndex("foo"); - Assert.That(Indexes().Length, Is.EqualTo(2)); - } - - [Test] - public void ANewIndexShouldBeEmpty() { - _provider.CreateIndex("default"); - var searchBuilder = _provider.CreateSearchBuilder("default"); - var hits = searchBuilder.Search(); - - Assert.That(hits.Count(), Is.EqualTo(0)); - } - - [Test] - public void DocumentsShouldBeSearchableById() { - _provider.CreateIndex("default"); - - _provider.Store("default", _provider.New(42)); - - var searchBuilder = _provider.CreateSearchBuilder("default"); - - var hit = searchBuilder.Get(42); - Assert.IsNotNull(hit); - Assert.That(hit.ContentItemId, Is.EqualTo(42)); - - hit = searchBuilder.Get(1); - Assert.IsNull(hit); - } - - [Test] - public void PropertiesShouldNotBeLost() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(42).Add("prop1", "value1").Store()); - - var hit = _provider.CreateSearchBuilder("default").Get(42); - - Assert.IsNotNull(hit); - Assert.That(hit.ContentItemId, Is.EqualTo(42)); - Assert.That(hit.GetString("prop1"), Is.EqualTo("value1")); - - } - - [Test] - public void ShouldHandleMultipleIndexes() { - _provider.CreateIndex("default1"); - _provider.Store("default1", _provider.New(1)); - - _provider.CreateIndex("default2"); - _provider.Store("default2", _provider.New(2)); - - _provider.CreateIndex("default3"); - _provider.Store("default3", _provider.New(3)); - - Assert.IsNotNull(_provider.CreateSearchBuilder("default1").Get(1)); - Assert.IsNotNull(_provider.CreateSearchBuilder("default2").Get(2)); - Assert.IsNotNull(_provider.CreateSearchBuilder("default3").Get(3)); - - Assert.IsNull(_provider.CreateSearchBuilder("default1").Get(2)); - Assert.IsNull(_provider.CreateSearchBuilder("default2").Get(3)); - Assert.IsNull(_provider.CreateSearchBuilder("default3").Get(1)); - - } - - [Test] - public void IdentifierShouldNotCollide() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("field", "value1")); - _provider.Store("default", _provider.New(11).Add("field", "value11")); - _provider.Store("default", _provider.New(111).Add("field", "value111")); - - var searchBuilder = _provider.CreateSearchBuilder("default"); - - Assert.That(searchBuilder.Get(1).ContentItemId, Is.EqualTo(1)); - Assert.That(searchBuilder.Get(11).ContentItemId, Is.EqualTo(11)); - Assert.That(searchBuilder.Get(111).ContentItemId, Is.EqualTo(111)); - } - - [Test] - public void TagsShouldBeRemoved() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "
some content").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "
some content").RemoveTags().Analyze()); - - var searchBuilder = _provider.CreateSearchBuilder("default"); - - Assert.That(searchBuilder.WithField("body", "hr").Search().Count(), Is.EqualTo(1)); - Assert.That(searchBuilder.WithField("body", "hr").Search().First().ContentItemId, Is.EqualTo(1)); - } - - [Test] public void ShouldAllowNullOrEmptyStrings() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", null)); - _provider.Store("default", _provider.New(2).Add("body", "")); - _provider.Store("default", _provider.New(3).Add("body", "
").RemoveTags()); - - var searchBuilder = _provider.CreateSearchBuilder("default"); - - Assert.That(searchBuilder.Get(1).ContentItemId, Is.EqualTo(1)); - Assert.That(searchBuilder.Get(2).ContentItemId, Is.EqualTo(2)); - Assert.That(searchBuilder.Get(3).ContentItemId, Is.EqualTo(3)); - } - - [Test] - public void ProviderShouldStoreSettings() { - _provider.CreateIndex("default"); - Assert.That(_provider.GetLastIndexUtc("default"), Is.Null); - - _provider.SetLastIndexUtc("default", new DateTime(2010, 1, 1, 1, 1, 1, 1)); - Assert.That(_provider.GetLastIndexUtc("default"), Is.EqualTo(new DateTime(2010, 1, 1, 1, 1, 1, 0))); - - _provider.SetLastIndexUtc("default", new DateTime(1901, 1, 1, 1, 1, 1, 1)); - Assert.That(_provider.GetLastIndexUtc("default"), Is.EqualTo(LuceneIndexProvider.DefaultMinDateTime)); - } - - [Test] - public void IsEmptyShouldBeTrueForNoneExistingIndexes() { - _provider.IsEmpty("dummy"); - Assert.That(_provider.IsEmpty("default"), Is.True); - } - - [Test] - public void IsEmptyShouldBeTrueForJustNewIndexes() { - _provider.CreateIndex("default"); - Assert.That(_provider.IsEmpty("default"), Is.True); - } - - [Test] - public void IsEmptyShouldBeFalseWhenThereIsADocument() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", null)); - Assert.That(_provider.IsEmpty("default"), Is.False); - } - - [Test] - public void IsDirtyShouldBeFalseForNewDocuments() { - IDocumentIndex doc = _provider.New(1); - Assert.That(doc.IsDirty, Is.False); - } - - - [Test] - public void IsDirtyShouldBeTrueWhenIndexIsModified() { - IDocumentIndex doc; - - doc = _provider.New(1); - doc.Add("foo", "value"); - Assert.That(doc.IsDirty, Is.True); - - doc = _provider.New(1); - doc.Add("foo", false); - Assert.That(doc.IsDirty, Is.True); - - doc = _provider.New(1); - doc.Add("foo", (float)1.0); - Assert.That(doc.IsDirty, Is.True); - - doc = _provider.New(1); - doc.Add("foo", 1); - Assert.That(doc.IsDirty, Is.True); - - doc = _provider.New(1); - doc.Add("foo", DateTime.Now); - Assert.That(doc.IsDirty, Is.True); - - } - - [Test] - public void DocumentsShouldBeDeleted() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("field", "value1")); - _provider.Store("default", _provider.New(11).Add("field", "value11")); - _provider.Store("default", _provider.New(111).Add("field", "value111")); - - var searchBuilder = _provider.CreateSearchBuilder("default"); - - Assert.That(searchBuilder.Get(1).ContentItemId, Is.EqualTo(1)); - Assert.That(searchBuilder.Get(11).ContentItemId, Is.EqualTo(11)); - Assert.That(searchBuilder.Get(111).ContentItemId, Is.EqualTo(111)); - - _provider.Delete("default", 1); - - Assert.That(searchBuilder.Get(1), Is.Null); - Assert.That(searchBuilder.Get(11).ContentItemId, Is.EqualTo(11)); - Assert.That(searchBuilder.Get(111).ContentItemId, Is.EqualTo(111)); - - _provider.Delete("default", new int[] {1, 11, 111 }); - - Assert.That(searchBuilder.Get(1), Is.Null); - Assert.That(searchBuilder.Get(11), Is.Null); - Assert.That(searchBuilder.Get(111), Is.Null); - - } - - [Test] - public void SameContentItemShouldNotBeIndexedTwice() { - _provider.CreateIndex("default"); - - var searchBuilder = _provider.CreateSearchBuilder("default"); - - _provider.Store("default", _provider.New(1).Add("field", "value1")); - Assert.That(searchBuilder.WithField("id", "1").Count(), Is.EqualTo(1)); - - _provider.Store("default", _provider.New(1).Add("field", "value2")); - Assert.That(searchBuilder.WithField("id", "1").Count(), Is.EqualTo(1)); - } - } -} diff --git a/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs b/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs deleted file mode 100644 index 7fac777f1..000000000 --- a/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs +++ /dev/null @@ -1,312 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using Autofac; -using Lucene.Services; -using NUnit.Framework; -using Orchard.Environment.Configuration; -using Orchard.FileSystems.AppData; -using Orchard.Indexing; -using Orchard.Indexing.Services; -using Orchard.Tests.FileSystems.AppData; - -namespace Orchard.Tests.Modules.Indexing { - public class LuceneSearchBuilderTests { - private IContainer _container; - private IIndexProvider _provider; - private IAppDataFolder _appDataFolder; - private ShellSettings _shellSettings; - private readonly string _basePath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); - - [TestFixtureTearDown] - public void Clean() { - if (Directory.Exists(_basePath)) { - Directory.Delete(_basePath, true); - } - } - - [SetUp] - public void Setup() { - if (Directory.Exists(_basePath)) { - Directory.Delete(_basePath, true); - } - Directory.CreateDirectory(_basePath); - - _appDataFolder = AppDataFolderTests.CreateAppDataFolder(_basePath); - - var builder = new ContainerBuilder(); - builder.RegisterType().As(); - builder.RegisterInstance(_appDataFolder).As(); - - // setting up a ShellSettings instance - _shellSettings = new ShellSettings { Name = "My Site" }; - builder.RegisterInstance(_shellSettings).As(); - - _container = builder.Build(); - _provider = _container.Resolve(); - } - - private ISearchBuilder _searchBuilder { get { return _provider.CreateSearchBuilder("default"); } } - - [Test] - public void SearchTermsShouldBeFoundInMultipleFields() { - _provider.CreateIndex("default"); - _provider.Store("default", - _provider.New(42) - .Add("title", "title1 title2 title3").Analyze() - .Add("date", new DateTime(2010, 05, 28, 14, 13, 56, 123)) - ); - - Assert.IsNotNull(_provider.CreateSearchBuilder("default").Get(42)); - - Assert.IsNotNull(_provider.CreateSearchBuilder("default").WithField("title", "title1").Search().FirstOrDefault()); - Assert.IsNotNull(_provider.CreateSearchBuilder("default").WithField("title", "title2").Search().FirstOrDefault()); - Assert.IsNotNull(_provider.CreateSearchBuilder("default").WithField("title", "title3").Search().FirstOrDefault()); - Assert.IsNull(_provider.CreateSearchBuilder("default").WithField("title", "title4").Search().FirstOrDefault()); - - } - - [Test] - public void ShouldSearchById() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1)); - _provider.Store("default", _provider.New(2)); - _provider.Store("default", _provider.New(3)); - - - Assert.That(_searchBuilder.Get(1).ContentItemId, Is.EqualTo(1)); - Assert.That(_searchBuilder.Get(2).ContentItemId, Is.EqualTo(2)); - Assert.That(_searchBuilder.Get(3).ContentItemId, Is.EqualTo(3)); - } - - [Test] - public void ShouldSearchWithField() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("title", "cat")); - _provider.Store("default", _provider.New(2).Add("title", "dog")); - _provider.Store("default", _provider.New(3).Add("title", "cat")); - - - Assert.That(_searchBuilder.WithField("title", "cat").Search().Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("title", "cat").Search().Any(hit => new[] { 1, 3 }.Contains(hit.ContentItemId)), Is.True); - - } - - [Test] - public void ShouldCountResultsOnly() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("title", "cat")); - _provider.Store("default", _provider.New(2).Add("title", "dog")); - _provider.Store("default", _provider.New(3).Add("title", "cat")); - - Assert.That(_searchBuilder.WithField("title", "dog").Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("title", "cat").Count(), Is.EqualTo(2)); - } - - [Test] - public void ShouldFilterByDate() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("date", new DateTime(2010, 05, 28, 12, 30, 15))); - _provider.Store("default", _provider.New(2).Add("date", new DateTime(2010, 05, 28, 12, 30, 30))); - _provider.Store("default", _provider.New(3).Add("date", new DateTime(2010, 05, 28, 12, 30, 45))); - - Assert.That(_searchBuilder.WithinRange("date", new DateTime(2010, 05, 28, 12, 30, 15), DateTime.MaxValue).Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.WithinRange("date", DateTime.MinValue, new DateTime(2010, 05, 28, 12, 30, 45)).Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.WithinRange("date", new DateTime(2010, 05, 28, 12, 30, 15), new DateTime(2010, 05, 28, 12, 30, 45)).Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.WithinRange("date", new DateTime(2010, 05, 28, 12, 30, 16), new DateTime(2010, 05, 28, 12, 30, 44)).Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithinRange("date", new DateTime(2010, 05, 28, 12, 30, 46), DateTime.MaxValue).Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.WithinRange("date", DateTime.MinValue, new DateTime(2010, 05, 28, 12, 30, 1)).Count(), Is.EqualTo(0)); - } - - [Test] - public void ShouldSliceResults() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1)); - _provider.Store("default", _provider.New(22)); - _provider.Store("default", _provider.New(333)); - _provider.Store("default", _provider.New(4444)); - _provider.Store("default", _provider.New(55555)); - - - Assert.That(_searchBuilder.Count(), Is.EqualTo(5)); - Assert.That(_searchBuilder.Slice(0, 3).Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.Slice(1, 3).Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.Slice(3, 3).Count(), Is.EqualTo(2)); - - // Count() and Search() should return the same results - Assert.That(_searchBuilder.Search().Count(), Is.EqualTo(5)); - Assert.That(_searchBuilder.Slice(0, 3).Search().Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.Slice(1, 3).Search().Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.Slice(3, 3).Search().Count(), Is.EqualTo(2)); - } - - [Test] - public void ShouldSortByRelevance() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "michael is in the kitchen").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "michael as a cousin named michel").Analyze()); - _provider.Store("default", _provider.New(3).Add("body", "speak inside the mic").Analyze()); - _provider.Store("default", _provider.New(4).Add("body", "a dog is pursuing a cat").Analyze()); - _provider.Store("default", _provider.New(5).Add("body", "the elephant can't catch up the dog").Analyze()); - - var michael = _searchBuilder.WithField("body", "michael").Search().ToList(); - Assert.That(michael.Count(), Is.EqualTo(2)); - Assert.That(michael[0].Score >= michael[1].Score, Is.True); - - // Sorting on score is always descending - michael = _searchBuilder.WithField("body", "michael").Ascending().Search().ToList(); - Assert.That(michael.Count(), Is.EqualTo(2)); - Assert.That(michael[0].Score >= michael[1].Score, Is.True); - } - - [Test] - public void ShouldSortByDate() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("date", new DateTime(2010, 05, 28, 12, 30, 15)).Store()); - _provider.Store("default", _provider.New(2).Add("date", new DateTime(2010, 05, 28, 12, 30, 30)).Store()); - _provider.Store("default", _provider.New(3).Add("date", new DateTime(2010, 05, 28, 12, 30, 45)).Store()); - - var date = _searchBuilder.SortBy("date").Search().ToList(); - Assert.That(date.Count(), Is.EqualTo(3)); - Assert.That(date[0].GetDateTime("date") > date[1].GetDateTime("date"), Is.True); - Assert.That(date[1].GetDateTime("date") > date[2].GetDateTime("date"), Is.True); - - date = _searchBuilder.SortBy("date").Ascending().Search().ToList(); - Assert.That(date.Count(), Is.EqualTo(3)); - Assert.That(date[0].GetDateTime("date") < date[1].GetDateTime("date"), Is.True); - Assert.That(date[1].GetDateTime("date") < date[2].GetDateTime("date"), Is.True); - } - - [Test] - public void ShouldEscapeSpecialChars() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped in C#").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "Windows has been developped in C++").Analyze()); - - var cs = _searchBuilder.Parse("body", "C#").Search().ToList(); - Assert.That(cs.Count(), Is.EqualTo(2)); - - var cpp = _searchBuilder.Parse("body", "C++").Search().ToList(); - Assert.That(cpp.Count(), Is.EqualTo(2)); - - } - - [Test] - public void ShouldHandleMandatoryFields() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped in C#").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "Windows has been developped in C++").Analyze()); - - Assert.That(_searchBuilder.WithField("body", "develop").Search().ToList().Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "develop").WithField("body", "Orchard").Search().ToList().Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "develop").WithField("body", "Orchard").Mandatory().Search().ToList().Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("body", "develop").WithField("body", "Orchard").Mandatory().Search().First().ContentItemId, Is.EqualTo(1)); - } - - [Test] - public void ShouldHandleForbiddenFields() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped in C#").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "Windows has been developped in C++").Analyze()); - - Assert.That(_searchBuilder.WithField("body", "developped").Search().ToList().Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "developped").WithField("body", "Orchard").Search().ToList().Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "developped").WithField("body", "Orchard").Forbidden().Search().ToList().Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("body", "developped").WithField("body", "Orchard").Forbidden().Search().First().ContentItemId, Is.EqualTo(2)); - } - - [Test] - public void ShouldHandleWeight() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped in C#").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "Windows has been developped in C++").Analyze()); - - Assert.That(_searchBuilder.WithField("body", "developped").WithField("body", "Orchard").Weighted(2).Search().First().ContentItemId, Is.EqualTo(1)); - } - - [Test] - public void ShouldParseLuceneQueries() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "Bradley is in the kitchen.").Analyze().Add("title", "Beer and takos").Analyze()); - _provider.Store("default", _provider.New(2).Add("body", "Renaud is also in the kitchen.").Analyze().Add("title", "A love affair").Analyze()); - _provider.Store("default", _provider.New(3).Add("body", "Bertrand is a little bit jealous.").Analyze().Add("title", "Soap opera").Analyze()); - - Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen").Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen bertrand").Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen +bertrand").Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.Parse(new[] { "body" }, "+kitchen +bertrand").Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.Parse(new[] { "body" }, "kit").Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.Parse(new[] { "body" }, "kit*").Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.Parse(new[] { "body", "title" }, "bradley love^3 soap").Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.Parse(new[] { "body", "title" }, "bradley love^3 soap").Search().First().ContentItemId, Is.EqualTo(2)); - } - - [Test] - public void ShouldFilterIntValues() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("field", 1)); - _provider.Store("default", _provider.New(2).Add("field", 22)); - _provider.Store("default", _provider.New(3).Add("field", 333)); - - Assert.That(_searchBuilder.WithField("field", 1).ExactMatch().Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("field", 22).ExactMatch().Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("field", 333).ExactMatch().Count(), Is.EqualTo(1)); - - Assert.That(_searchBuilder.WithField("field", 0).ExactMatch().Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.WithField("field", 2).ExactMatch().Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.WithField("field", 3).ExactMatch().Count(), Is.EqualTo(0)); - } - - [Test] - public void ShouldFilterStoredIntValues() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("field", 1).Store()); - _provider.Store("default", _provider.New(2).Add("field", 22).Store()); - _provider.Store("default", _provider.New(3).Add("field", 333).Store()); - - Assert.That(_searchBuilder.WithField("field", 1).ExactMatch().Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("field", 22).ExactMatch().Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.WithField("field", 333).ExactMatch().Count(), Is.EqualTo(1)); - - Assert.That(_searchBuilder.WithField("field", 0).ExactMatch().Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.WithField("field", 2).ExactMatch().Count(), Is.EqualTo(0)); - Assert.That(_searchBuilder.WithField("field", 3).ExactMatch().Count(), Is.EqualTo(0)); - } - - [Test] - public void ShouldProvideAvailableFields() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("a", "Home").Analyze()); - _provider.Store("default", _provider.New(2).Add("b", DateTime.Now).Store()); - _provider.Store("default", _provider.New(3).Add("c", 333)); - - Assert.That(_provider.GetFields("default").Count(), Is.EqualTo(4)); - Assert.That(_provider.GetFields("default").OrderBy(s => s).ToArray(), Is.EqualTo(new [] { "a", "b", "c", "id"})); - } - - [Test] - public void FiltersShouldNotAlterResults() { - _provider.CreateIndex("default"); - _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped by Mirosoft in C#").Analyze().Add("culture", 1033)); - _provider.Store("default", _provider.New(2).Add("body", "Windows a été développé par Mirosoft en C++").Analyze().Add("culture", 1036)); - _provider.Store("default", _provider.New(3).Add("title", "Home").Analyze().Add("culture", 1033)); - - Assert.That(_searchBuilder.WithField("body", "Mirosoft").Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "Mirosoft").WithField("culture", 1033).Count(), Is.EqualTo(3)); - Assert.That(_searchBuilder.WithField("body", "Mirosoft").WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(1)); - - Assert.That(_searchBuilder.WithField("body", "Orchard").WithField("culture", 1036).Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "Orchard").WithField("culture", 1036).AsFilter().Count(), Is.EqualTo(0)); - - Assert.That(_searchBuilder.WithField("culture", 1033).Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(2)); - - Assert.That(_searchBuilder.WithField("body", "blabla").WithField("culture", 1033).Count(), Is.EqualTo(2)); - Assert.That(_searchBuilder.WithField("body", "blabla").WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(0)); - - Assert.That(_searchBuilder.Parse("title", "home").Count(), Is.EqualTo(1)); - Assert.That(_searchBuilder.Parse("title", "home").WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(1)); - - } - } -} diff --git a/src/Orchard.Tests/DataMigration/SchemaCommandGeneratorTests.cs b/src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs similarity index 95% rename from src/Orchard.Tests/DataMigration/SchemaCommandGeneratorTests.cs rename to src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs index 00546f7e8..6025e7498 100644 --- a/src/Orchard.Tests/DataMigration/SchemaCommandGeneratorTests.cs +++ b/src/Orchard.Tests.Modules/Migrations/SchemaCommandGeneratorTests.cs @@ -1,6 +1,4 @@ -#if REFACTORING -#error This must move to the Modules tests to accomodate Orchard.Experimental assembly reference -using System; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Data; @@ -12,13 +10,13 @@ using Autofac.Features.Metadata; using NHibernate; using NUnit.Framework; using Orchard.Caching; +using Orchard.CodeGeneration.Services; using Orchard.ContentManagement.Records; using Orchard.Data; using Orchard.Data.Conventions; using Orchard.Data.Migration.Generator; using Orchard.Data.Migration.Interpreters; using Orchard.Data.Migration.Schema; -using Orchard.DevTools.Services; using Orchard.Environment.Configuration; using Orchard.Environment.Extensions; using Orchard.Environment.Extensions.Folders; @@ -30,10 +28,10 @@ using Orchard.FileSystems.AppData; using Orchard.FileSystems.Dependencies; using Orchard.Tests.ContentManagement; using Orchard.Data.Providers; -using Orchard.Tests.DataMigration.Orchard.Tests.DataMigration.Records; using Orchard.Tests.FileSystems.AppData; +using Orchard.Tests.Modules.Migrations.Orchard.Tests.DataMigration.Records; -namespace Orchard.Tests.DataMigration { +namespace Orchard.Tests.Modules.Migrations { [TestFixture] public class SchemaCommandGeneratorTests { private IContainer _container; @@ -217,7 +215,7 @@ Features: Assert.That(commands.Count(), Is.EqualTo(3)); var sw = new StringWriter(); - var interpreter = new ScaffoldingCommandInterpreter(sw); + var interpreter = new CodeGenerationCommandInterpreter(sw); var blogRecord = commands.Where(c => c.Name == "TEST_Feature1_BlogRecord").First(); var blogArchiveRecord = commands.Where(c => c.Name == "TEST_Feature1_BlogArchiveRecord").First(); @@ -273,4 +271,3 @@ Features: } } } -#endif \ No newline at end of file diff --git a/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj b/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj index 03b1280c2..86944a801 100644 --- a/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj +++ b/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj @@ -97,6 +97,7 @@ ..\..\lib\nunit\nunit.framework.dll + 3.5 @@ -128,6 +129,7 @@ + @@ -198,9 +200,7 @@ true - - - + ", LocalizedString.TextOrDefault(context.ZoneName, T("etc. (ZonesAny)")))); -#endif - } - - public void ZoneItemRendering(ZoneRenderContext context, ZoneItem item) { -#if DEBUG - //info: doesn't cover all ZoneItem types - var writer = context.Html.ViewContext.Writer; - if (item is RenderPartialZoneItem) - writer.WriteLine(T("", (item as RenderPartialZoneItem).TemplateName)); - else if (item is ContentPartDisplayZoneItem) - writer.WriteLine(T("", (item as ContentPartDisplayZoneItem).TemplateName)); - else if (item is ContentPartEditorZoneItem) - writer.WriteLine(T("", (item as ContentPartEditorZoneItem).TemplateName)); -#endif - } - - public void ZoneItemRendered(ZoneRenderContext context, ZoneItem item) { -#if DEBUG - //info: doesn't cover all ZoneItem types - var writer = context.Html.ViewContext.Writer; - if (item is RenderPartialZoneItem) - writer.WriteLine(T("", (item as RenderPartialZoneItem).TemplateName)); - else if (item is ContentPartDisplayZoneItem) - writer.WriteLine(T("", (item as ContentPartDisplayZoneItem).TemplateName)); - else if (item is ContentPartEditorZoneItem) - writer.WriteLine(T("", (item as ContentPartEditorZoneItem).TemplateName)); -#endif - } - - public void ZoneRendered(ZoneRenderContext context) { -#if DEBUG - context.Html.ViewContext.Writer.WriteLine(T("", LocalizedString.TextOrDefault(context.ZoneName, T("etc. (ZonesAny)")))); -#endif - } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Drivers/ContentItemTemplateResult.cs b/src/Orchard/ContentManagement/Drivers/ContentItemTemplateResult.cs index 88374d701..83296b025 100644 --- a/src/Orchard/ContentManagement/Drivers/ContentItemTemplateResult.cs +++ b/src/Orchard/ContentManagement/Drivers/ContentItemTemplateResult.cs @@ -11,36 +11,9 @@ namespace Orchard.ContentManagement.Drivers { public string TemplateName { get; set; } public override void Apply(BuildDisplayContext context) { -#if REFACTORING - //todo: (heskew)evaluate - for lack of having access to the full context in a driver to conditionally return results (e.g. BlogDriver item display is otherwise being overriden by the ContentPartDriver) - if (!string.IsNullOrWhiteSpace(context.ViewModel.TemplateName) - && context.ViewModel.GetType() != typeof(ContentItemViewModel)) - return; - - context.ViewModel.TemplateName = TemplateName; - if (context.ViewModel.GetType() != typeof(ContentItemViewModel)) { - context.ViewModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ContentItemViewModel(viewModel)) }, - html.RouteCollection); - }; - } -#endif } public override void Apply(BuildEditorContext context) { -#if REFACTORING - context.ViewModel.TemplateName = TemplateName; - if (context.ViewModel.GetType() != typeof(ContentItemViewModel)) { - context.ViewModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ContentItemViewModel(viewModel)) }, - html.RouteCollection); - }; - } -#endif } class ViewDataContainer : IViewDataContainer { diff --git a/src/Orchard/ContentManagement/Handlers/ContentItemTemplates.cs b/src/Orchard/ContentManagement/Handlers/ContentItemTemplates.cs index 00669600b..b6fd2876f 100644 --- a/src/Orchard/ContentManagement/Handlers/ContentItemTemplates.cs +++ b/src/Orchard/ContentManagement/Handlers/ContentItemTemplates.cs @@ -22,23 +22,6 @@ namespace Orchard.ContentManagement.Handlers { } protected override void BuildDisplayShape(BuildDisplayContext context, TContent instance) { -#if REFACTORING - context.ViewModel.TemplateName = _templateName; - var longestMatch = LongestMatch(context.DisplayType); - if (!string.IsNullOrEmpty(longestMatch)) - context.ViewModel.TemplateName += "." + longestMatch; - - context.ViewModel.Prefix = _prefix; - - if (context.ViewModel.GetType() != typeof(ContentItemViewModel)) { - context.ViewModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ContentItemViewModel(viewModel)) }, - html.RouteCollection); - }; - } -#endif } class ViewDataContainer : IViewDataContainer { @@ -56,29 +39,9 @@ namespace Orchard.ContentManagement.Handlers { } protected override void BuildEditorShape(BuildEditorContext context, TContent instance) { -#if REFACTORING - context.ViewModel.TemplateName = _templateName; - context.ViewModel.Prefix = _prefix; - if (context.ViewModel.GetType() != typeof(ContentItemViewModel)) { - context.ViewModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ContentItemViewModel(viewModel)) }, - html.RouteCollection); - }; - } -#endif } protected override void UpdateEditorShape(UpdateEditorContext context, TContent instance) { -#if REFACTORING - if (context.ViewModel is ContentItemViewModel) - _updater(context, (ContentItemViewModel)context.ViewModel); - else - _updater(context, new ContentItemViewModel(context.ViewModel)); - context.ViewModel.TemplateName = _templateName; - context.ViewModel.Prefix = _prefix; -#endif } public void Updater(Action updater) { diff --git a/src/Orchard/Mvc/ViewEngines/ThemeAwareness/ThemedViewResultFilter.cs b/src/Orchard/Mvc/ViewEngines/ThemeAwareness/ThemedViewResultFilter.cs index b4d617040..17b657666 100644 --- a/src/Orchard/Mvc/ViewEngines/ThemeAwareness/ThemedViewResultFilter.cs +++ b/src/Orchard/Mvc/ViewEngines/ThemeAwareness/ThemedViewResultFilter.cs @@ -30,49 +30,6 @@ namespace Orchard.Mvc.ViewEngines.ThemeAwareness { } viewResultBase.ViewEngineCollection = new ViewEngineCollection(new[] { _layoutAwareViewEngine }); - -#if REFACTORING - var viewResultBase = filterContext.Result as ViewResultBase; - if (viewResultBase == null) { - return; - } - - //TODO: factor out into a service apart from the filter - //TODO: add layout engine first - - var requestTheme = _themeService.GetRequestTheme(filterContext.RequestContext); - var themeViewEngines = Enumerable.Empty(); - - // todo: refactor. also this will probably result in the "SafeMode" theme being used so dump some debug info - // into the context for the theme to use for displaying why the expected theme isn't being used - if (requestTheme != null) { - var themeLocation = _extensionManager.GetThemeLocation(requestTheme); - - themeViewEngines = _viewEngineProviders - .Select(x => x.CreateThemeViewEngine(new CreateThemeViewEngineParams { VirtualPath = themeLocation })); - //Logger.Debug("Theme location:\r\n\t-{0}", themeLocation); - } - - - var modules = _extensionManager.AvailableExtensions() - .Where(x => x.ExtensionType == "Module"); - - var moduleLocations = modules.Select(x => Path.Combine(x.Location, x.Name)); - var moduleViewEngines = _viewEngineProviders - .Select(x => x.CreateModulesViewEngine(new CreateModulesViewEngineParams { VirtualPaths = moduleLocations })); - //Logger.Debug("Module locations:\r\n\t-{0}", string.Join("\r\n\t-", moduleLocations.ToArray())); - - var requestViewEngines = new ViewEngineCollection( - themeViewEngines - .Concat(moduleViewEngines) - .Concat(_viewEngines.Where(ViewEngineIsForwarded)) - .ToArray()); - - var layoutViewEngine = new LayoutViewEngine(requestViewEngines); - - viewResultBase.ViewEngineCollection = new ViewEngineCollection(_viewEngines.ToList()); - viewResultBase.ViewEngineCollection.Insert(0, layoutViewEngine); -#endif } public void OnResultExecuted(ResultExecutedContext filterContext) { diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 1141da8eb..c533a8e82 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -769,16 +769,6 @@ - - - - - - - - - - ASPXCodeBehind @@ -820,7 +810,6 @@ - diff --git a/src/Orchard/Security/SecurityFilter.cs b/src/Orchard/Security/SecurityFilter.cs index 5f182086e..710e6aee1 100644 --- a/src/Orchard/Security/SecurityFilter.cs +++ b/src/Orchard/Security/SecurityFilter.cs @@ -12,8 +12,6 @@ namespace Orchard.Security { public ILogger Logger { get; set; } -#if REFACTORING -#endif public void OnException(ExceptionContext filterContext) { if (!(filterContext.Exception is OrchardSecurityException)) return; diff --git a/src/Orchard/Themes/ThemeFilter.cs b/src/Orchard/Themes/ThemeFilter.cs index 05923980d..ed96a80b8 100644 --- a/src/Orchard/Themes/ThemeFilter.cs +++ b/src/Orchard/Themes/ThemeFilter.cs @@ -15,13 +15,6 @@ namespace Orchard.Themes { public void OnActionExecuted(ActionExecutedContext filterContext) {} public void OnResultExecuting(ResultExecutingContext filterContext) { -#if REFACTORING - var viewResult = filterContext.Result as ViewResult; - if (viewResult == null) - return; - - Apply(filterContext.RequestContext); -#endif } public void OnResultExecuted(ResultExecutedContext filterContext) {} diff --git a/src/Orchard/UI/Zones/Obsolete/ContentItemDisplayZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/ContentItemDisplayZoneItem.cs deleted file mode 100644 index 68b20076a..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ContentItemDisplayZoneItem.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Web.Mvc; -using Orchard.Mvc.Html; -using Orchard.Mvc.ViewModels; - -namespace Orchard.UI.Zones { -#if REFACTORING - public class ContentItemDisplayZoneItem : ZoneItem { - public ContentItemViewModel ViewModel { get; set; } - - public override void Execute(HtmlHelper html) { - var htmlString = html.DisplayForItem(ViewModel); - html.ViewContext.Writer.Write(htmlString); - } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/ContentPartDisplayZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/ContentPartDisplayZoneItem.cs deleted file mode 100644 index f961fce93..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ContentPartDisplayZoneItem.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Web.Mvc; -using System.Web.Mvc.Html; - -namespace Orchard.UI.Zones { -#if REFACTORING - public class ContentPartDisplayZoneItem : ZoneItem { - public object Model { get; set; } - public string TemplateName { get; set; } - public string Prefix { get; set; } - - public override void Execute(HtmlHelper html) { - var htmlString = html.DisplayFor(m => Model, TemplateName, Prefix); - html.ViewContext.Writer.Write(htmlString); - } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/ContentPartEditorZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/ContentPartEditorZoneItem.cs deleted file mode 100644 index ddaa40806..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ContentPartEditorZoneItem.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Web.Mvc; -using System.Web.Mvc.Html; - -namespace Orchard.UI.Zones { -#if REFACTORING - public class ContentPartEditorZoneItem : ZoneItem { - public object Model { get; set; } - public string TemplateName { get; set; } - public string Prefix { get; set; } - - public override void Execute(HtmlHelper html) { - html.ViewContext.Writer.Write( - html.EditorFor(m => Model, TemplateName, Prefix)); - } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/DelegateZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/DelegateZoneItem.cs deleted file mode 100644 index ad2ad2761..000000000 --- a/src/Orchard/UI/Zones/Obsolete/DelegateZoneItem.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Web.Mvc; - -namespace Orchard.UI.Zones { -#if REFACTORING - public class DelegateZoneItem : ZoneItem { - public Action Action { get; set; } - - public override void Execute(HtmlHelper html) { - Action(html); - } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/IZoneManager.cs b/src/Orchard/UI/Zones/Obsolete/IZoneManager.cs deleted file mode 100644 index 84de2c192..000000000 --- a/src/Orchard/UI/Zones/Obsolete/IZoneManager.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Web.Mvc; - -namespace Orchard.UI.Zones { -#if REFACTORING - public interface IZoneManager : IDependency { - void Render(HtmlHelper html, ZoneCollection zones, string zoneName, string partitions, string[] except); - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/IZoneManagerEvents.cs b/src/Orchard/UI/Zones/Obsolete/IZoneManagerEvents.cs deleted file mode 100644 index 009d81c16..000000000 --- a/src/Orchard/UI/Zones/Obsolete/IZoneManagerEvents.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Collections.Generic; -using System.Web.Mvc; -using Orchard.Events; - -namespace Orchard.UI.Zones { -#if REFACTORING - public interface IZoneManagerEvents : IEventHandler { - void ZoneRendering(ZoneRenderContext context); - void ZoneItemRendering(ZoneRenderContext context, ZoneItem item); - void ZoneItemRendered(ZoneRenderContext context, ZoneItem item); - void ZoneRendered(ZoneRenderContext context); - } - public class ZoneRenderContext { - public HtmlHelper Html { get; set; } - public ZoneCollection Zones { get; set; } - public string ZoneName { get; set; } - public IEnumerable RenderingItems { get; set; } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/RenderActionZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/RenderActionZoneItem.cs deleted file mode 100644 index 18bb3bf72..000000000 --- a/src/Orchard/UI/Zones/Obsolete/RenderActionZoneItem.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Web.Mvc; -using System.Web.Mvc.Html; -using System.Web.Routing; - -namespace Orchard.UI.Zones { - public class RenderActionZoneItem : ZoneItem { - public string ActionName { get; set; } - public string ControllerName { get; set; } - public RouteValueDictionary RouteValues { get; set; } - - public override void Execute(HtmlHelper html) { - html.RenderAction(ActionName, ControllerName, RouteValues); - } - } -} diff --git a/src/Orchard/UI/Zones/Obsolete/RenderPartialZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/RenderPartialZoneItem.cs deleted file mode 100644 index 53e475756..000000000 --- a/src/Orchard/UI/Zones/Obsolete/RenderPartialZoneItem.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Web.Mvc; -using System.Web.Mvc.Html; - -namespace Orchard.UI.Zones { - public class RenderPartialZoneItem : ZoneItem { - public object Model { get; set; } - public string TemplateName { get; set; } - - public override void Execute(HtmlHelper html) { - html.RenderPartial(TemplateName, Model); - } - } -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/RenderStaticZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/RenderStaticZoneItem.cs deleted file mode 100644 index 3965908c0..000000000 --- a/src/Orchard/UI/Zones/Obsolete/RenderStaticZoneItem.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Web.Mvc; -using System.Web.Mvc.Html; - -namespace Orchard.UI.Zones { - public class RenderStaticZoneItem : ZoneItem { - public object Model { get; set; } - public string TemplateName { get; set; } - - public override void Execute(HtmlHelper html) { - html.RenderPartial(TemplateName, Model); - } - } -} diff --git a/src/Orchard/UI/Zones/Obsolete/ZoneCollection.cs b/src/Orchard/UI/Zones/Obsolete/ZoneCollection.cs deleted file mode 100644 index 1900055d2..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ZoneCollection.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web.Mvc; -using System.Web.Routing; -using Orchard.Mvc.ViewModels; - -namespace Orchard.UI.Zones { -#if REFACTORING - public interface IZoneContainer { - ZoneCollection Zones { get; } - } - - public class ZoneCollection : Dictionary { - public void AddAction(string location, Action action) { - AddZoneItem(location, new DelegateZoneItem { Action = action }); - } - public void AddRenderPartial(string location, string templateName, object model) { - AddZoneItem(location, new RenderPartialZoneItem { Model = model, TemplateName = templateName }); - } - - public void AddRenderStatic(string location, string templateName, object model) { - AddZoneItem(location, new RenderStaticZoneItem { Model = model, TemplateName = templateName }); - } - - public void AddDisplayItem(string location, ContentItemViewModel viewModel) { - AddZoneItem(location, new ContentItemDisplayZoneItem { ViewModel = viewModel }); - } - public void AddDisplayPart(string location, object model, string templateName, string prefix) { - AddZoneItem(location, new ContentPartDisplayZoneItem { Model = model, TemplateName = templateName, Prefix = prefix }); - } - public void AddEditorPart(string location, object model, string templateName, string prefix) { - AddZoneItem(location, new ContentPartEditorZoneItem { Model = model, TemplateName = templateName, Prefix = prefix }); - } - - public void AddRenderAction(string location, string actionName) { - AddZoneItem(location, new RenderActionZoneItem { ActionName = actionName }); - } - public void AddRenderAction(string location, string actionName, object routeValues) { - AddZoneItem(location, new RenderActionZoneItem { ActionName = actionName, RouteValues = new RouteValueDictionary(routeValues) }); - } - public void AddRenderAction(string location, string actionName, RouteValueDictionary routeValues) { - AddZoneItem(location, new RenderActionZoneItem { ActionName = actionName, RouteValues = routeValues }); - } - public void AddRenderAction(string location, string actionName, string controllerName) { - AddZoneItem(location, new RenderActionZoneItem { ActionName = actionName, ControllerName = controllerName }); - } - public void AddRenderAction(string location, string actionName, string controllerName, object routeValues) { - AddZoneItem(location, new RenderActionZoneItem { ActionName = actionName, ControllerName = controllerName, RouteValues = new RouteValueDictionary(routeValues) }); - } - public void AddRenderAction(string location, string actionName, string controllerName, RouteValueDictionary routeValues) { - AddZoneItem(location, new RenderActionZoneItem { ActionName = actionName, ControllerName = controllerName, RouteValues = routeValues }); - } - - private void AddZoneItem(string location, ZoneItem item) { - string zoneName; - var position = string.Empty; - - var colonIndex = location.IndexOf(':'); - if (colonIndex == -1) { - zoneName = location.Trim(); - } - else { - zoneName = location.Substring(0, colonIndex).Trim(); - position = location.Substring(colonIndex + 1).Trim(); - } - - item.Position = position; - ZoneEntry entry; - if (TryGetValue(zoneName, out entry)) { - entry.Items.Add(item); - } - else { - entry = new ZoneEntry { ZoneName = zoneName, Items = new List() }; - Add(zoneName, entry); - entry.Items.Add(item); - } - - } - } -#endif -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/ZoneEntry.cs b/src/Orchard/UI/Zones/Obsolete/ZoneEntry.cs deleted file mode 100644 index 94c7db4fe..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ZoneEntry.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; - -namespace Orchard.UI.Zones { - public class ZoneEntry { - public ZoneEntry() { - Items = new List(); - } - - public string ZoneName { get; set; } - public IList Items { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/ZoneItem.cs b/src/Orchard/UI/Zones/Obsolete/ZoneItem.cs deleted file mode 100644 index 09edb37f5..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ZoneItem.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Web.Mvc; - -namespace Orchard.UI.Zones { - public abstract class ZoneItem { - public string Position { get; set; } - public bool WasExecuted { get; set; } - - public abstract void Execute(HtmlHelper html); - } -} \ No newline at end of file diff --git a/src/Orchard/UI/Zones/Obsolete/ZoneManager.cs b/src/Orchard/UI/Zones/Obsolete/ZoneManager.cs deleted file mode 100644 index 40d54b48a..000000000 --- a/src/Orchard/UI/Zones/Obsolete/ZoneManager.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web.Mvc; -using Orchard.Logging; -using Orchard.UI.Navigation; - -namespace Orchard.UI.Zones { -#if REFACTORING - public class ZoneManager : IZoneManager { - private readonly IEnumerable _zoneManagerEventHandler; - - public ZoneManager(IEnumerable eventHandler) { - _zoneManagerEventHandler = eventHandler; - Logger = NullLogger.Instance; - } - - public void Render(HtmlHelper html, ZoneCollection zones, string zoneName, string partitions, string[] exclude) { - IEnumerable groups; - if (string.IsNullOrEmpty(zoneName)) { - var entries = zones.Values.Where(z => !exclude.Contains(z.ZoneName)); - groups = BuildGroups(partitions, entries); - } - else { - ZoneEntry entry; - if (zones.TryGetValue(zoneName, out entry)) { - groups = BuildGroups(partitions, new[] { entry }); - } - else { - groups = Enumerable.Empty(); - } - } - - var context = new ZoneRenderContext { - Html = html, - Zones = zones, - ZoneName = zoneName, - RenderingItems = groups.SelectMany(x => x.Items).ToList() - }; - - foreach (var zoneManagerEventHandler in _zoneManagerEventHandler) { - zoneManagerEventHandler.ZoneRendering(context); - } - foreach (var item in context.RenderingItems) { - var zoneItem = item; - foreach (var zoneManagerEventHandler in _zoneManagerEventHandler) { - zoneManagerEventHandler.ZoneItemRendering(context, zoneItem); - } - zoneItem.WasExecuted = true; - zoneItem.Execute(html); - foreach (var zoneManagerEventHandler in _zoneManagerEventHandler) { - zoneManagerEventHandler.ZoneItemRendered(context, zoneItem); - } - } - foreach (var zoneManagerEventHandler in _zoneManagerEventHandler) { - zoneManagerEventHandler.ZoneRendered(context); - } - } - - protected ILogger Logger { get; set; } - - private IEnumerable BuildGroups(string partitions, IEnumerable zones) { - - var partitionCodes = (":before " + partitions + " :* :after").Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - - var itemsRemaining = zones.SelectMany(zone => zone.Items.Where(x => x.WasExecuted == false)); - - Group catchAllItem = null; - - var positionComparer = new PositionComparer(); - var results = new List(); - foreach (var code in partitionCodes) { - if (code == ":*") { - catchAllItem = new Group(); - results.Add(catchAllItem); - } - else { - var value = code; - var items = itemsRemaining - .Where(x => (":" + x.Position).StartsWith(value)) - .OrderBy(x => x.Position, positionComparer); - results.Add(new Group { Items = items.ToArray() }); - itemsRemaining = itemsRemaining.Except(items).ToArray(); - } - } - if (catchAllItem != null) { - catchAllItem.Items = itemsRemaining - .OrderBy(x => x.Position, positionComparer) - .ToArray(); - } - return results; - } - - class Group { - public IEnumerable Items { get; set; } - } - } -#endif -}