Skip to content

Commit 94613ec

Browse files
committed
Finalizing merge and a bit of taste-related edits.
1 parent 30db992 commit 94613ec

File tree

7 files changed

+91
-92
lines changed

7 files changed

+91
-92
lines changed

Umbraco.RelationEditor.Tests/ConfigSerializationTests.cs

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Umbraco.RelationEditor.Tests
1515
[TestFixture]
1616
public class ConfigSerializationTests
1717
{
18-
private const string XmlToolTip = @"<RelationEditor BreadCrumbMode=""ToolTip"" BreadCrumbSeparator=""/"">
18+
private const string XmlToolTip = @"<RelationEditor BreadcrumbMode=""ToolTip"" BreadcrumbSeparator=""/"">
1919
<ObjectType Alias=""page"" Name=""Document"">
2020
<EnabledRelation Alias=""pagePostRelation"">
2121
<EnabledChildType Alias=""post"" />
@@ -27,7 +27,7 @@ public class ConfigSerializationTests
2727
</ObjectType>
2828
</RelationEditor>";
2929

30-
private const string XmlCaption = @"<RelationEditor BreadCrumbMode=""Caption"" BreadCrumbSeparator=""-&gt;"">
30+
private const string XmlCaption = @"<RelationEditor BreadcrumbMode=""Caption"" BreadcrumbSeparator=""-&gt;"">
3131
<ObjectType Alias=""page"" Name=""Document"">
3232
<EnabledRelation Alias=""pagePostRelation"">
3333
<EnabledChildType Alias=""post"" />
@@ -40,8 +40,8 @@ public class ConfigSerializationTests
4040
</RelationEditor>";
4141

4242
private const string JsonToolTip = @"{
43-
""BreadCrumbMode"": ""ToolTip"",
44-
""BreadCrumbSeparator"": ""/"",
43+
""BreadcrumbMode"": ""ToolTip"",
44+
""BreadcrumbSeparator"": ""/"",
4545
""ObjectTypes"": [
4646
{
4747
""Name"": ""Document"",
@@ -75,8 +75,8 @@ public class ConfigSerializationTests
7575
}";
7676

7777
private const string JsonCaption = @"{
78-
""BreadCrumbMode"": ""Caption"",
79-
""BreadCrumbSeparator"": ""->"",
78+
""BreadcrumbMode"": ""Caption"",
79+
""BreadcrumbSeparator"": ""->"",
8080
""ObjectTypes"": [
8181
{
8282
""Name"": ""Document"",
@@ -141,23 +141,23 @@ public void SerializeConfigurationAsJson()
141141
}
142142

143143
[Test]
144-
public void DeserializeBreadCrumbToolTipConfiguration()
144+
public void DeserializeBreadcrumbToolTipConfiguration()
145145
{
146-
var config = DeserializeFromBreadCrumbToolTipInput();
147-
AssertBreadCrumbToolTipDeserialized(config);
146+
var config = DeserializeFromBreadcrumbToolTipInput();
147+
AssertBreadcrumbToolTipDeserialized(config);
148148
}
149149

150150
[Test]
151-
public void DeserializeBreadCrumbToolTipConfigurationFromJson()
151+
public void DeserializeBreadcrumbToolTipConfigurationFromJson()
152152
{
153153
var config = JsonConvert.DeserializeObject<RelationEditorConfiguration>(JsonToolTip, new StringEnumConverter());
154-
AssertBreadCrumbToolTipDeserialized(config);
154+
AssertBreadcrumbToolTipDeserialized(config);
155155
}
156156

157157
[Test]
158-
public void SerializeBreadCrumbCaptionConfiguration()
158+
public void SerializeBreadcrumbCaptionConfiguration()
159159
{
160-
var config = CreateBreadCrumbCaptionConfig();
160+
var config = CreateBreadcrumbCaptionConfig();
161161

162162
var stringBuilder = new StringBuilder();
163163
var writer = new StringWriter(stringBuilder);
@@ -174,9 +174,9 @@ public void SerializeBreadCrumbCaptionConfiguration()
174174
}
175175

176176
[Test]
177-
public void SerializeBreadCrumbCaptionConfigurationAsJson()
177+
public void SerializeBreadcrumbCaptionConfigurationAsJson()
178178
{
179-
var config = CreateBreadCrumbCaptionConfig();
179+
var config = CreateBreadcrumbCaptionConfig();
180180

181181
var output = JsonConvert.SerializeObject(config, Formatting.Indented, new StringEnumConverter());
182182

@@ -186,23 +186,23 @@ public void SerializeBreadCrumbCaptionConfigurationAsJson()
186186
}
187187

188188
[Test]
189-
public void DeserializeBreadCrumbCaptionConfiguration()
189+
public void DeserializeBreadcrumbCaptionConfiguration()
190190
{
191-
var config = DeserializeFromBreadCrumbCaptionInput();
192-
AssertBreadCrumbCaptionDeserialized(config);
191+
var config = DeserializeFromBreadcrumbCaptionInput();
192+
AssertBreadcrumbCaptionDeserialized(config);
193193
}
194194

195195
[Test]
196-
public void DeserializeBreadCrumbCaptionConfigurationFromJson()
196+
public void DeserializeBreadcrumbCaptionConfigurationFromJson()
197197
{
198198
var config = JsonConvert.DeserializeObject<RelationEditorConfiguration>(JsonCaption, new StringEnumConverter());
199-
AssertBreadCrumbCaptionDeserialized(config);
199+
AssertBreadcrumbCaptionDeserialized(config);
200200
}
201201

202202
[Test]
203203
public void GetMethods()
204204
{
205-
var config = DeserializeFromBreadCrumbToolTipInput();
205+
var config = DeserializeFromBreadcrumbToolTipInput();
206206
Assert.IsFalse(config.Get(UmbracoObjectTypes.Member, "").Enabled);
207207
Assert.IsTrue(config.Get(UmbracoObjectTypes.Document, "page").Enabled);
208208
Assert.IsFalse(config.Get(UmbracoObjectTypes.Document, "page").Get("invalidRelation").Enabled);
@@ -223,27 +223,27 @@ private static void AssertDeserialized(RelationEditorConfiguration config)
223223
Assert.AreEqual(UmbracoObjectTypes.Document, config.ObjectTypes[1].Name);
224224
}
225225

226-
private static void AssertBreadCrumbCaptionDeserialized(RelationEditorConfiguration config)
226+
private static void AssertBreadcrumbCaptionDeserialized(RelationEditorConfiguration config)
227227
{
228228
AssertDeserialized(config);
229229

230-
Assert.AreEqual("->", config.BreadCrumbSeparator);
231-
Assert.AreEqual(config.BreadCrumbMode,BreadCrumbMode.Caption);
230+
Assert.AreEqual("->", config.BreadcrumbSeparator);
231+
Assert.AreEqual(BreadcrumbMode.Caption, config.BreadcrumbMode);
232232
}
233233

234-
private static void AssertBreadCrumbToolTipDeserialized(RelationEditorConfiguration config)
234+
private static void AssertBreadcrumbToolTipDeserialized(RelationEditorConfiguration config)
235235
{
236236
AssertDeserialized(config);
237237

238-
Assert.AreEqual("/", config.BreadCrumbSeparator);
239-
Assert.AreEqual(config.BreadCrumbMode, BreadCrumbMode.ToolTip);
238+
Assert.AreEqual("/", config.BreadcrumbSeparator);
239+
Assert.AreEqual(BreadcrumbMode.ToolTip, config.BreadcrumbMode);
240240
}
241241

242242
private static RelationEditorConfiguration CreateToolTipConfig()
243243
{
244244
var config = new RelationEditorConfiguration
245245
{
246-
BreadCrumbSeparator = "/",
246+
BreadcrumbSeparator = "/",
247247
ObjectTypes = new List<ObjectTypeConfiguration>
248248
{
249249
new ObjectTypeConfiguration
@@ -280,23 +280,23 @@ private static RelationEditorConfiguration CreateToolTipConfig()
280280
return config;
281281
}
282282

283-
private static RelationEditorConfiguration CreateBreadCrumbCaptionConfig()
283+
private static RelationEditorConfiguration CreateBreadcrumbCaptionConfig()
284284
{
285285
var config = CreateToolTipConfig();
286-
config.BreadCrumbMode = BreadCrumbMode.Caption;
287-
config.BreadCrumbSeparator = "->";
286+
config.BreadcrumbMode = BreadcrumbMode.Caption;
287+
config.BreadcrumbSeparator = "->";
288288
return config;
289289
}
290290

291-
private static RelationEditorConfiguration DeserializeFromBreadCrumbToolTipInput()
291+
private static RelationEditorConfiguration DeserializeFromBreadcrumbToolTipInput()
292292
{
293293
var serializer = new XmlSerializer(typeof(RelationEditorConfiguration));
294294
var reader = new StringReader(XmlToolTip);
295295
var config = (RelationEditorConfiguration)serializer.Deserialize(reader);
296296
return config;
297297
}
298298

299-
private static RelationEditorConfiguration DeserializeFromBreadCrumbCaptionInput()
299+
private static RelationEditorConfiguration DeserializeFromBreadcrumbCaptionInput()
300300
{
301301
var serializer = new XmlSerializer(typeof(RelationEditorConfiguration));
302302
var reader = new StringReader(XmlCaption);

Umbraco.RelationEditor.Web/Web.config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
Umbraco web.config configuration documentation can be found here:
3636
http://our.umbraco.org/documentation/using-umbraco/config-files/#webconfig
3737
-->
38-
<add key="umbracoConfigurationStatus" value="7.1.2" />
38+
<add key="umbracoConfigurationStatus" value="7.1.3" />
3939
<add key="umbracoReservedUrls" value="~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd" />
4040
<add key="umbracoReservedPaths" value="~/umbraco,~/install/" />
4141
<add key="umbracoPath" value="~/umbraco" />
@@ -117,6 +117,7 @@
117117
<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.5">
118118
<assemblies>
119119
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
120+
<add assembly="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
120121
</assemblies>
121122
<buildProviders>
122123
<add extension=".cshtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />

Umbraco.RelationEditor.Web/config/ClientDependency.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ NOTES:
1010
* Compression/Combination/Minification is not enabled unless debug="false" is specified on the 'compiliation' element in the web.config
1111
* A new version will invalidate both client and server cache and create new persisted files
1212
-->
13-
<clientDependency version="231021969" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
13+
<clientDependency version="240058734" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
1414

1515
<!--
1616
This section is used for Web Forms only, the enableCompositeFiles="true" is optional and by default is set to true.
Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
1-
<<<<<<< HEAD
21
<?xml version="1.0" encoding="utf-8"?>
3-
<RelationEditor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4-
<ObjectType Alias="post" Name="Document">
5-
=======
6-
<RelationEditor BreadCrumbMode="ToolTip" BreadCrumbSeparator="/">
7-
<ObjectType Name="Document" Alias="page">
8-
>>>>>>> pr/n5_vtml
2+
<RelationEditor xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" BreadcrumbMode="ToolTip" BreadcrumbSeparator="/">
3+
<ObjectType Alias="Grandchildpage" Name="Document">
94
<EnabledRelation Alias="documentRelation">
10-
<EnabledChildType Alias="page" />
5+
<EnabledChildType Alias="post" />
116
</EnabledRelation>
127
</ObjectType>
13-
<ObjectType Alias="Grandchildpage" Name="Document">
8+
<ObjectType Alias="Folder" Name="Media">
9+
<EnabledRelation Alias="mediaDocument">
10+
<EnabledChildType Alias="Grandchildpage" />
11+
</EnabledRelation>
12+
<EnabledRelation Alias="MediaToMedia">
13+
<EnabledChildType Alias="Image" />
14+
</EnabledRelation>
15+
</ObjectType>
16+
<ObjectType Alias="page" Name="Document">
1417
<EnabledRelation Alias="documentRelation">
15-
<EnabledChildType Alias="post" />
18+
<EnabledChildType Alias="page" />
1619
</EnabledRelation>
20+
<EnabledRelation Alias="docToDocType" />
1721
</ObjectType>
1822
<ObjectType Alias="page" Name="Document">
1923
<EnabledRelation Alias="documentRelation">
@@ -25,13 +29,6 @@
2529
<EnabledChildType Alias="Image" />
2630
<EnabledChildType Alias="File" />
2731
</EnabledRelation>
28-
</ObjectType>
29-
<ObjectType Alias="Folder" Name="Media">
30-
<EnabledRelation Alias="mediaDocument">
31-
<EnabledChildType Alias="Grandchildpage" />
32-
</EnabledRelation>
33-
<EnabledRelation Alias="MediaToMedia">
34-
<EnabledChildType Alias="Image" />
35-
</EnabledRelation>
32+
<EnabledRelation Alias="docToDocType" />
3633
</ObjectType>
3734
</RelationEditor>

Umbraco.RelationEditor.Web/config/relationeditor.sample.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Supported relation types are
1818
* MediaType -> MediaType
1919

2020
Document and Media have the option to display the entire path, with a separator
21-
<RelationEditor BreadCrumbMode="Caption" BreadCrumbSeparator="/">
21+
<RelationEditor BreadcrumbMode="Caption" BreadcrumbSeparator="/">
2222
The above resolves to something like
2323
Home / Site 1 / Page 1
2424

@@ -40,7 +40,7 @@ If no enabled child types are enabled, all types will be selectable.
4040
Note: Names and aliases are case sensitive.
4141

4242
Here's a sample configuration:
43-
<RelationEditor BreadCrumbMode="ToolTip" BreadCrumbSeparator="/">
43+
<RelationEditor BreadcrumbMode="ToolTip" BreadcrumbSeparator="/">
4444
<ObjectType Name="Document" Alias="page">
4545
<EnabledRelation Alias="documentRelation">
4646
<EnabledChildType Alias="post"/>

Umbraco.RelationEditor/Configuration.cs

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Web;
66
using System.Xml.Serialization;
77
using Newtonsoft.Json;
8+
using Newtonsoft.Json.Converters;
89
using umbraco.controls;
910
using Umbraco.Core.Logging;
1011
using Umbraco.Core.Models;
@@ -28,21 +29,13 @@ public virtual bool Enabled
2829
[XmlRoot("RelationEditor")]
2930
public class RelationEditorConfiguration
3031
{
31-
[XmlIgnore]
32-
[JsonIgnore]
33-
public BreadCrumbMode BreadCrumbMode;
34-
35-
[XmlAttribute("BreadCrumbMode")]
36-
[JsonProperty("BreadCrumbMode", NullValueHandling = NullValueHandling.Ignore)]
37-
public string StrBreadCrumbMode
38-
{
39-
get { return BreadCrumbMode.ToString(); }
40-
set { BreadCrumbMode = Enum.IsDefined(typeof(BreadCrumbMode), value) ? (BreadCrumbMode)Enum.Parse(typeof(BreadCrumbMode), value) : BreadCrumbMode.ToolTip; }
41-
}
32+
[XmlAttribute]
33+
[JsonConverter(typeof(StringEnumConverter))]
34+
public BreadcrumbMode BreadcrumbMode;
4235

4336
[XmlAttribute]
44-
[JsonProperty("BreadCrumbSeparator", NullValueHandling = NullValueHandling.Ignore)]
45-
public string BreadCrumbSeparator { get; set; }
37+
[JsonProperty("BreadcrumbSeparator", NullValueHandling = NullValueHandling.Ignore)]
38+
public string BreadcrumbSeparator { get; set; }
4639

4740
[XmlElement("ObjectType")]
4841
public List<ObjectTypeConfiguration> ObjectTypes { get; set; }
@@ -69,7 +62,7 @@ public class ObjectTypeConfiguration : EntityConfiguration
6962
public UmbracoObjectTypes Name { get; set; }
7063

7164
[XmlElement("EnabledRelation")]
72-
[JsonProperty(Order = 5)]
65+
[JsonProperty(Order = 3)]
7366
public List<EnabledRelationConfiguration> EnabledRelations { get; set; }
7467

7568
public EnabledRelationConfiguration Get(string alias)
@@ -115,6 +108,7 @@ public class EnabledChildTypeConfiguration : EntityConfiguration
115108

116109
public class Configuration
117110
{
111+
private static readonly object LockObj = new object();
118112
private static RelationEditorConfiguration configuration = null;
119113

120114
private static IEnumerable<ObjectTypeConfiguration> ObjectTypes
@@ -130,7 +124,7 @@ public static RelationEditorConfiguration Instance
130124
get
131125
{
132126
EnsureConfiguration();
133-
return configuration.ObjectTypes;
127+
return configuration;
134128
}
135129
}
136130

@@ -182,27 +176,30 @@ private static void EnsureConfiguration()
182176
lock (LockObj)
183177
{
184178
if (configuration == null)
185-
{
186-
try
187179
{
188-
var serializer = new XmlSerializer(typeof(RelationEditorConfiguration));
189-
using (var reader = new StreamReader(HttpContext.Current.Server.MapPath("~/config/RelationEditor.config")))
190-
{
191-
configuration = (RelationEditorConfiguration)serializer.Deserialize(reader);
180+
try
181+
{
182+
var serializer = new XmlSerializer(typeof (RelationEditorConfiguration));
183+
using (
184+
var reader =
185+
new StreamReader(HttpContext.Current.Server.MapPath("~/config/RelationEditor.config")))
186+
{
187+
configuration = (RelationEditorConfiguration) serializer.Deserialize(reader);
188+
}
192189
}
193-
}
194190
catch (Exception ex)
195-
{
196-
LogHelper.Error<Configuration>("Could not read config/RelationEditor.config", ex);
197-
configuration = new RelationEditorConfiguration();
191+
{
192+
LogHelper.Error<Configuration>("Could not read config/RelationEditor.config", ex);
193+
configuration = new RelationEditorConfiguration();
194+
}
198195
}
199196
}
200197
}
198+
}
201199

202-
public enum BreadCrumbMode
200+
public enum BreadcrumbMode
203201
{
204202
ToolTip,
205203
Caption
206204
}
207205
}
208-
}

0 commit comments

Comments
 (0)