diff --git a/src/Umbraco.ModelsBuilder/Api/ApiVersion.cs b/src/Umbraco.ModelsBuilder/ApiVersion.cs
similarity index 97%
rename from src/Umbraco.ModelsBuilder/Api/ApiVersion.cs
rename to src/Umbraco.ModelsBuilder/ApiVersion.cs
index a7f2db397e..67d0ec5c4c 100644
--- a/src/Umbraco.ModelsBuilder/Api/ApiVersion.cs
+++ b/src/Umbraco.ModelsBuilder/ApiVersion.cs
@@ -2,7 +2,7 @@
using System.Reflection;
using Semver;
-namespace Umbraco.ModelsBuilder.Api
+namespace Umbraco.ModelsBuilder
{
///
/// Manages API version handshake between client and server.
diff --git a/src/Umbraco.ModelsBuilder/Validation/ContentTypeModelValidator.cs b/src/Umbraco.ModelsBuilder/BackOffice/ContentTypeModelValidator.cs
similarity index 90%
rename from src/Umbraco.ModelsBuilder/Validation/ContentTypeModelValidator.cs
rename to src/Umbraco.ModelsBuilder/BackOffice/ContentTypeModelValidator.cs
index d22d146553..1971c62c9f 100644
--- a/src/Umbraco.ModelsBuilder/Validation/ContentTypeModelValidator.cs
+++ b/src/Umbraco.ModelsBuilder/BackOffice/ContentTypeModelValidator.cs
@@ -8,12 +8,12 @@ using Umbraco.ModelsBuilder.Configuration;
using Umbraco.Web.Editors;
using Umbraco.Web.Models.ContentEditing;
-namespace Umbraco.ModelsBuilder.Validation
+namespace Umbraco.ModelsBuilder.BackOffice
{
///
- /// Used to validate the aliases for the content type when MB is enabled to ensure that
- /// no illegal aliases are used
- ///
+ /// Used to validate the aliases for the content type when MB is enabled to ensure that
+ /// no illegal aliases are used
+ ///
public class ContentTypeModelValidator : ContentTypeModelValidatorBase
{ }
@@ -32,8 +32,8 @@ namespace Umbraco.ModelsBuilder.Validation
{ }
public abstract class ContentTypeModelValidatorBase : EditorValidator
- where TModel: ContentTypeSave
- where TProperty: PropertyTypeBasic
+ where TModel : ContentTypeSave
+ where TProperty : PropertyTypeBasic
{
protected override IEnumerable Validate(TModel model)
{
@@ -57,9 +57,7 @@ namespace Umbraco.ModelsBuilder.Validation
var validationResult = ValidateProperty(prop, groupIndex, propertyIndex);
if (validationResult != null)
- {
yield return validationResult;
- }
}
}
@@ -73,13 +71,11 @@ namespace Umbraco.ModelsBuilder.Validation
var alias = property.Alias;
if (reservedProperties.InvariantContains(alias) || reservedMethods.InvariantContains(alias))
- {
return new ValidationResult(
string.Format("The alias {0} is a reserved term and cannot be used", alias), new[]
{
string.Format("Groups[{0}].Properties[{1}].Alias", groupIndex, propertyIndex)
});
- }
return null;
}
diff --git a/src/Umbraco.ModelsBuilder/BackOffice/DashboardReport.cs b/src/Umbraco.ModelsBuilder/BackOffice/DashboardReport.cs
index 85f7030eff..64fb217fce 100644
--- a/src/Umbraco.ModelsBuilder/BackOffice/DashboardReport.cs
+++ b/src/Umbraco.ModelsBuilder/BackOffice/DashboardReport.cs
@@ -1,7 +1,6 @@
using System.Text;
using Umbraco.Core.Composing;
using Umbraco.ModelsBuilder.Configuration;
-using Umbraco.ModelsBuilder.Umbraco;
namespace Umbraco.ModelsBuilder.BackOffice
{
@@ -29,7 +28,7 @@ namespace Umbraco.ModelsBuilder.BackOffice
var sb = new StringBuilder();
sb.Append("Version: ");
- sb.Append(Api.ApiVersion.Current.Version);
+ sb.Append(ApiVersion.Current.Version);
sb.Append("
");
sb.Append("ModelsBuilder is enabled, with the following configuration:");
diff --git a/src/Umbraco.ModelsBuilder/BackOffice/ModelsBuilderBackOfficeController.cs b/src/Umbraco.ModelsBuilder/BackOffice/ModelsBuilderBackOfficeController.cs
index 6092c9678b..e4efca70bd 100644
--- a/src/Umbraco.ModelsBuilder/BackOffice/ModelsBuilderBackOfficeController.cs
+++ b/src/Umbraco.ModelsBuilder/BackOffice/ModelsBuilderBackOfficeController.cs
@@ -9,7 +9,6 @@ using System.Web.Hosting;
using Umbraco.Core.Exceptions;
using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
-using Umbraco.ModelsBuilder.Umbraco;
using Umbraco.Web.Editors;
using Umbraco.Web.WebApi.Filters;
diff --git a/src/Umbraco.ModelsBuilder/Building/Builder.cs b/src/Umbraco.ModelsBuilder/Building/Builder.cs
index fa05b9d9a1..885e51133b 100644
--- a/src/Umbraco.ModelsBuilder/Building/Builder.cs
+++ b/src/Umbraco.ModelsBuilder/Building/Builder.cs
@@ -38,8 +38,7 @@ namespace Umbraco.ModelsBuilder.Building
"Umbraco.Core.Models",
"Umbraco.Core.Models.PublishedContent",
"Umbraco.Web",
- "Umbraco.ModelsBuilder",
- "Umbraco.ModelsBuilder.Umbraco",
+ "Umbraco.ModelsBuilder"
};
///
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/ModelsGenerator.cs b/src/Umbraco.ModelsBuilder/Building/ModelsGenerator.cs
similarity index 94%
rename from src/Umbraco.ModelsBuilder/Umbraco/ModelsGenerator.cs
rename to src/Umbraco.ModelsBuilder/Building/ModelsGenerator.cs
index 5ef86b50ca..6f6872e8ff 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/ModelsGenerator.cs
+++ b/src/Umbraco.ModelsBuilder/Building/ModelsGenerator.cs
@@ -2,11 +2,9 @@
using System.IO;
using System.Text;
using System.Web;
-using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
-using Umbraco.ModelsBuilder.Umbraco;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder.Building
{
public class ModelsGenerator
{
diff --git a/src/Umbraco.ModelsBuilder/Building/TextBuilder.cs b/src/Umbraco.ModelsBuilder/Building/TextBuilder.cs
index 79a64bd1ed..56349f16a8 100644
--- a/src/Umbraco.ModelsBuilder/Building/TextBuilder.cs
+++ b/src/Umbraco.ModelsBuilder/Building/TextBuilder.cs
@@ -5,7 +5,6 @@ using System.Text;
using System.Text.RegularExpressions;
using Umbraco.Core.Composing;
using Umbraco.Core.Configuration;
-using Umbraco.ModelsBuilder.Api;
using Umbraco.ModelsBuilder.Configuration;
namespace Umbraco.ModelsBuilder.Building
diff --git a/src/Umbraco.ModelsBuilder/Building/TextHeaderWriter.cs b/src/Umbraco.ModelsBuilder/Building/TextHeaderWriter.cs
index 27fcb42b35..7244a2966d 100644
--- a/src/Umbraco.ModelsBuilder/Building/TextHeaderWriter.cs
+++ b/src/Umbraco.ModelsBuilder/Building/TextHeaderWriter.cs
@@ -1,5 +1,4 @@
using System.Text;
-using Umbraco.ModelsBuilder.Api;
namespace Umbraco.ModelsBuilder.Building
{
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/ModelsBuilderHasher.cs b/src/Umbraco.ModelsBuilder/Building/TypeModelHasher.cs
similarity index 92%
rename from src/Umbraco.ModelsBuilder/Umbraco/ModelsBuilderHasher.cs
rename to src/Umbraco.ModelsBuilder/Building/TypeModelHasher.cs
index 3354b4040d..2099c09415 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/ModelsBuilderHasher.cs
+++ b/src/Umbraco.ModelsBuilder/Building/TypeModelHasher.cs
@@ -1,10 +1,9 @@
using System.Collections.Generic;
using System.Linq;
-using Umbraco.ModelsBuilder.Building;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder.Building
{
- internal class ModelsBuilderHasher
+ internal class TypeModelHasher
{
public static string Hash(IEnumerable typeModels)
{
diff --git a/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComponent.cs b/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComponent.cs
index 6deeda40a6..a68315606e 100644
--- a/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComponent.cs
+++ b/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComponent.cs
@@ -10,7 +10,6 @@ using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
using Umbraco.ModelsBuilder.BackOffice;
using Umbraco.ModelsBuilder.Configuration;
-using Umbraco.ModelsBuilder.Umbraco;
using Umbraco.Web;
using Umbraco.Web.JavaScript;
using Umbraco.Web.Mvc;
diff --git a/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComposer.cs b/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComposer.cs
index f2b09903f3..fdc4253490 100644
--- a/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComposer.cs
+++ b/src/Umbraco.ModelsBuilder/Compose/ModelsBuilderComposer.cs
@@ -2,8 +2,8 @@
using Umbraco.Core;
using Umbraco.Core.Composing;
using Umbraco.Core.Models.PublishedContent;
+using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
-using Umbraco.ModelsBuilder.Umbraco;
using Umbraco.Web.PublishedCache.NuCache;
namespace Umbraco.ModelsBuilder.Compose
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/LiveModelsProvider.cs b/src/Umbraco.ModelsBuilder/LiveModelsProvider.cs
similarity index 95%
rename from src/Umbraco.ModelsBuilder/Umbraco/LiveModelsProvider.cs
rename to src/Umbraco.ModelsBuilder/LiveModelsProvider.cs
index 19a725f85a..1e77ff3059 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/LiveModelsProvider.cs
+++ b/src/Umbraco.ModelsBuilder/LiveModelsProvider.cs
@@ -5,13 +5,13 @@ using System.Web.Hosting;
using Umbraco.Core.Exceptions;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
+using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
-using Umbraco.ModelsBuilder.Umbraco;
using Umbraco.Web.Cache;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
- // supports LiveDll and LiveAppData - but not PureLive
+ // supports LiveAppData - but not PureLive
public sealed class LiveModelsProvider
{
private static Mutex _mutex;
@@ -80,7 +80,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
try
{
_logger.Debug("Generate models...");
- const int timeout = 2*60*1000; // 2 mins
+ const int timeout = 2 * 60 * 1000; // 2 mins
_mutex.WaitOne(timeout); // wait until it is safe, and acquire
_logger.Info("Generate models now.");
GenerateModels();
@@ -112,6 +112,6 @@ namespace Umbraco.ModelsBuilder.Umbraco
_modelGenerator.GenerateModels();
}
-
+
}
}
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/LiveModelsProviderModule.cs b/src/Umbraco.ModelsBuilder/LiveModelsProviderModule.cs
similarity index 95%
rename from src/Umbraco.ModelsBuilder/Umbraco/LiveModelsProviderModule.cs
rename to src/Umbraco.ModelsBuilder/LiveModelsProviderModule.cs
index aae01ea75c..9d50c4ab42 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/LiveModelsProviderModule.cs
+++ b/src/Umbraco.ModelsBuilder/LiveModelsProviderModule.cs
@@ -2,12 +2,12 @@
using System.Web;
using Umbraco.Core;
using Umbraco.Core.Composing;
-using Umbraco.ModelsBuilder.Umbraco;
+using Umbraco.ModelsBuilder;
// will install only if configuration says it needs to be installed
[assembly: PreApplicationStartMethod(typeof(LiveModelsProviderModule), "Install")]
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
// have to do this because it's the only way to subscribe to EndRequest,
// module is installed by assembly attribute at the top of this file
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/ModelsGenerationError.cs b/src/Umbraco.ModelsBuilder/ModelsGenerationError.cs
similarity index 97%
rename from src/Umbraco.ModelsBuilder/Umbraco/ModelsGenerationError.cs
rename to src/Umbraco.ModelsBuilder/ModelsGenerationError.cs
index 3f96d2ccdf..8264fecc87 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/ModelsGenerationError.cs
+++ b/src/Umbraco.ModelsBuilder/ModelsGenerationError.cs
@@ -4,7 +4,7 @@ using System.Text;
using Umbraco.Core.Composing;
using Umbraco.ModelsBuilder.Configuration;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
public sealed class ModelsGenerationError
{
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/OutOfDateModelsStatus.cs b/src/Umbraco.ModelsBuilder/OutOfDateModelsStatus.cs
similarity index 97%
rename from src/Umbraco.ModelsBuilder/Umbraco/OutOfDateModelsStatus.cs
rename to src/Umbraco.ModelsBuilder/OutOfDateModelsStatus.cs
index a72ccd2fa2..3b43ed771e 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/OutOfDateModelsStatus.cs
+++ b/src/Umbraco.ModelsBuilder/OutOfDateModelsStatus.cs
@@ -3,7 +3,7 @@ using Umbraco.Core.Composing;
using Umbraco.ModelsBuilder.Configuration;
using Umbraco.Web.Cache;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
public sealed class OutOfDateModelsStatus
{
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/PublishedModelUtility.cs b/src/Umbraco.ModelsBuilder/PublishedModelUtility.cs
similarity index 92%
rename from src/Umbraco.ModelsBuilder/Umbraco/PublishedModelUtility.cs
rename to src/Umbraco.ModelsBuilder/PublishedModelUtility.cs
index 1db15fa9b1..44af532a0b 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/PublishedModelUtility.cs
+++ b/src/Umbraco.ModelsBuilder/PublishedModelUtility.cs
@@ -5,7 +5,7 @@ using System.Linq.Expressions;
using Umbraco.Web.Composing;
using Umbraco.Core.Models.PublishedContent;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
///
/// This is called from within the generated model classes
@@ -48,7 +48,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
}
public static IPublishedPropertyType GetModelPropertyType(IPublishedContentType contentType, Expression> selector)
- //where TModel : PublishedContentModel // fixme PublishedContentModel _or_ PublishedElementModel
+ //where TModel : PublishedContentModel // fixme PublishedContentModel _or_ PublishedElementModel
{
// fixme therefore, missing a check on TModel here
@@ -61,7 +61,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
// see note above : accepted risk...
var attr = expr.Member
- .GetCustomAttributes(typeof (ImplementPropertyTypeAttribute), false)
+ .GetCustomAttributes(typeof(ImplementPropertyTypeAttribute), false)
.OfType()
.SingleOrDefault();
diff --git a/src/Umbraco.ModelsBuilder/PureLiveAssemblyAttribute.cs b/src/Umbraco.ModelsBuilder/PureLiveAssemblyAttribute.cs
deleted file mode 100644
index dfe369dc21..0000000000
--- a/src/Umbraco.ModelsBuilder/PureLiveAssemblyAttribute.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-
-namespace Umbraco.ModelsBuilder
-{
- ///
- /// Indicates that an Assembly is a PureLive models assembly.
- ///
- /// Though technically not required, ie models will work without it, the attribute
- /// can be used by Umbraco view models binder to figure out whether the model type comes
- /// from a PureLive Assembly.
- [Obsolete("Should use ModelsBuilderAssemblyAttribute but that requires a change in Umbraco Core.")]
- [AttributeUsage(AttributeTargets.Assembly /*, AllowMultiple = false, Inherited = false*/)]
- public sealed class PureLiveAssemblyAttribute : Attribute
- { }
-}
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/PureLiveModelFactory.cs b/src/Umbraco.ModelsBuilder/PureLiveModelFactory.cs
similarity index 96%
rename from src/Umbraco.ModelsBuilder/Umbraco/PureLiveModelFactory.cs
rename to src/Umbraco.ModelsBuilder/PureLiveModelFactory.cs
index 464ce92ef5..eb82b4323f 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/PureLiveModelFactory.cs
+++ b/src/Umbraco.ModelsBuilder/PureLiveModelFactory.cs
@@ -21,7 +21,7 @@ using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
using File = System.IO.File;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
internal class PureLiveModelFactory : ILivePublishedModelFactory, IRegisteredObject
{
@@ -101,7 +101,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
var contentTypeAlias = element.ContentType.Alias;
// lookup model constructor (else null)
- infos.TryGetValue(contentTypeAlias, out ModelInfo info);
+ infos.TryGetValue(contentTypeAlias, out var info);
// create model
return info == null ? element : info.Ctor(element);
@@ -234,10 +234,10 @@ namespace Umbraco.ModelsBuilder.Umbraco
get
{
if (_theBuildManager != null) return _theBuildManager;
- var prop = typeof (BuildManager).GetProperty("TheBuildManager", BindingFlags.NonPublic | BindingFlags.Static);
+ var prop = typeof(BuildManager).GetProperty("TheBuildManager", BindingFlags.NonPublic | BindingFlags.Static);
if (prop == null)
throw new InvalidOperationException("Could not get BuildManager.TheBuildManager property.");
- _theBuildManager = (BuildManager) prop.GetValue(null);
+ _theBuildManager = (BuildManager)prop.GetValue(null);
return _theBuildManager;
}
}
@@ -335,7 +335,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
Directory.CreateDirectory(modelsDirectory);
var typeModels = UmbracoServices.GetAllTypes();
- var currentHash = ModelsBuilderHasher.Hash(typeModels);
+ var currentHash = TypeModelHasher.Hash(typeModels);
var modelsHashFile = Path.Combine(modelsDirectory, "models.hash");
var modelsSrcFile = Path.Combine(modelsDirectory, "models.generated.cs");
var projFile = Path.Combine(modelsDirectory, "all.generated.cs");
@@ -456,8 +456,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
// AssemblyVersion is so that we have a different version for each rebuild
var ver = _ver == _skipver ? ++_ver : _ver;
_ver++;
- code = code.Replace("//ASSATTR", $@"[assembly: PureLiveAssembly]
-[assembly:ModelsBuilderAssembly(PureLive = true, SourceHash = ""{currentHash}"")]
+ code = code.Replace("//ASSATTR", $@"[assembly:ModelsBuilderAssembly(PureLive = true, SourceHash = ""{currentHash}"")]
[assembly:System.Reflection.AssemblyVersion(""0.0.0.{ver}"")]");
File.WriteAllText(modelsSrcFile, code);
@@ -505,7 +504,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
private static Infos RegisterModels(IEnumerable types)
{
- var ctorArgTypes = new[] { typeof (IPublishedElement) };
+ var ctorArgTypes = new[] { typeof(IPublishedElement) };
var modelInfos = new Dictionary(StringComparer.InvariantCultureIgnoreCase);
var map = new Dictionary();
@@ -517,7 +516,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
foreach (var ctor in type.GetConstructors())
{
var parms = ctor.GetParameters();
- if (parms.Length == 1 && typeof (IPublishedElement).IsAssignableFrom(parms[0].ParameterType))
+ if (parms.Length == 1 && typeof(IPublishedElement).IsAssignableFrom(parms[0].ParameterType))
{
if (constructor != null)
throw new InvalidOperationException($"Type {type.FullName} has more than one public constructor with one argument of type, or implementing, IPropertySet.");
@@ -532,17 +531,17 @@ namespace Umbraco.ModelsBuilder.Umbraco
var attribute = type.GetCustomAttribute(false);
var typeName = attribute == null ? type.Name : attribute.ContentTypeAlias;
- if (modelInfos.TryGetValue(typeName, out ModelInfo modelInfo))
+ if (modelInfos.TryGetValue(typeName, out var modelInfo))
throw new InvalidOperationException($"Both types {type.FullName} and {modelInfo.ModelType.FullName} want to be a model type for content type with alias \"{typeName}\".");
// fixme use Core's ReflectionUtilities.EmitCtor !!
// Yes .. DynamicMethod is uber slow
- var meth = new DynamicMethod(string.Empty, typeof (IPublishedElement), ctorArgTypes, type.Module, true);
+ var meth = new DynamicMethod(string.Empty, typeof(IPublishedElement), ctorArgTypes, type.Module, true);
var gen = meth.GetILGenerator();
gen.Emit(OpCodes.Ldarg_0);
gen.Emit(OpCodes.Newobj, constructor);
gen.Emit(OpCodes.Ret);
- var func = (Func) meth.CreateDelegate(typeof (Func));
+ var func = (Func)meth.CreateDelegate(typeof(Func));
modelInfos[typeName] = new ModelInfo { ParameterType = parameterType, Ctor = func, ModelType = type };
map[typeName] = type;
@@ -663,9 +662,7 @@ namespace Umbraco.ModelsBuilder.Umbraco
_logger.Info("Detected files changes.");
lock (SyncRoot) // don't reset while being locked
- {
ResetModels();
- }
}
public void Stop(bool immediate)
diff --git a/src/Umbraco.ModelsBuilder/Umbraco.ModelsBuilder.csproj b/src/Umbraco.ModelsBuilder/Umbraco.ModelsBuilder.csproj
index 027ed6665c..46ec0c7d2c 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco.ModelsBuilder.csproj
+++ b/src/Umbraco.ModelsBuilder/Umbraco.ModelsBuilder.csproj
@@ -49,7 +49,7 @@
Properties\SolutionInfo.cs
-
+
@@ -65,24 +65,23 @@
-
-
-
-
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/Umbraco.ModelsBuilder/Umbraco/UmbracoServices.cs b/src/Umbraco.ModelsBuilder/UmbracoServices.cs
similarity index 98%
rename from src/Umbraco.ModelsBuilder/Umbraco/UmbracoServices.cs
rename to src/Umbraco.ModelsBuilder/UmbracoServices.cs
index 410349096a..725e5b18c4 100644
--- a/src/Umbraco.ModelsBuilder/Umbraco/UmbracoServices.cs
+++ b/src/Umbraco.ModelsBuilder/UmbracoServices.cs
@@ -11,9 +11,9 @@ using Umbraco.Core.Strings;
using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
-namespace Umbraco.ModelsBuilder.Umbraco
+namespace Umbraco.ModelsBuilder
{
- public class UmbracoServices
+ public sealed class UmbracoServices
{
private readonly IContentTypeService _contentTypeService;
private readonly IMediaTypeService _mediaTypeService;
@@ -184,11 +184,9 @@ namespace Umbraco.ModelsBuilder.Umbraco
{
var groups = typeModels.GroupBy(x => x.Alias.ToLowerInvariant());
foreach (var group in groups.Where(x => x.Count() > 1))
- {
throw new NotSupportedException($"Alias \"{group.Key}\" is used by types"
+ $" {string.Join(", ", group.Select(x => x.ItemType + ":\"" + x.Alias + "\""))}. Aliases have to be unique."
+ " One of the aliases must be modified in order to use the ModelsBuilder.");
- }
return typeModels;
}
diff --git a/src/Umbraco.Tests/ModelsBuilder/BuilderTests.cs b/src/Umbraco.Tests/ModelsBuilder/BuilderTests.cs
index 18be0a37a3..83d9a9f4b0 100644
--- a/src/Umbraco.Tests/ModelsBuilder/BuilderTests.cs
+++ b/src/Umbraco.Tests/ModelsBuilder/BuilderTests.cs
@@ -7,7 +7,6 @@ using Moq;
using NUnit.Framework;
using Umbraco.Core.Composing;
using Umbraco.Core.Models.PublishedContent;
-using Umbraco.ModelsBuilder.Api;
using Umbraco.ModelsBuilder.Building;
using Umbraco.ModelsBuilder.Configuration;
@@ -77,7 +76,6 @@ using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web;
using Umbraco.ModelsBuilder;
-using Umbraco.ModelsBuilder.Umbraco;
namespace Umbraco.Web.PublishedModels
{
@@ -193,7 +191,6 @@ using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web;
using Umbraco.ModelsBuilder;
-using Umbraco.ModelsBuilder.Umbraco;
namespace Umbraco.Web.PublishedModels
{
diff --git a/src/Umbraco.Tests/ModelsBuilder/UmbracoApplicationTests.cs b/src/Umbraco.Tests/ModelsBuilder/UmbracoApplicationTests.cs
index 12fa777e69..d6d44474c3 100644
--- a/src/Umbraco.Tests/ModelsBuilder/UmbracoApplicationTests.cs
+++ b/src/Umbraco.Tests/ModelsBuilder/UmbracoApplicationTests.cs
@@ -5,7 +5,6 @@ using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using Umbraco.ModelsBuilder.Building;
-using Umbraco.ModelsBuilder.Umbraco;
namespace Umbraco.ModelsBuilder.Tests
{