mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 10:54:50 +08:00
Updating Azure with new Yaml serializer implementation
--HG-- branch : dev
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Yaml.Serialization;
|
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Microsoft.WindowsAzure;
|
using Microsoft.WindowsAzure;
|
||||||
using Microsoft.WindowsAzure.ServiceRuntime;
|
using Microsoft.WindowsAzure.ServiceRuntime;
|
||||||
@@ -95,33 +94,60 @@ namespace Orchard.Azure.Environment.Configuration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static ShellSettings ParseSettings(string text) {
|
static ShellSettings ParseSettings(string text) {
|
||||||
var ser = new YamlSerializer();
|
var shellSettings = new ShellSettings();
|
||||||
var content = ser.Deserialize(text, typeof(Content)).Cast<Content>().Single();
|
if ( String.IsNullOrEmpty(text) )
|
||||||
return new ShellSettings {
|
return shellSettings;
|
||||||
Name = content.Name,
|
|
||||||
DataProvider = content.DataProvider,
|
string[] settings = text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
DataConnectionString = content.DataConnectionString,
|
foreach ( var setting in settings ) {
|
||||||
DataTablePrefix = content.DataPrefix,
|
string[] settingFields = setting.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
RequestUrlHost = content.RequestUrlHost,
|
int fieldsLength = settingFields.Length;
|
||||||
RequestUrlPrefix = content.RequestUrlPrefix,
|
if ( fieldsLength != 2 )
|
||||||
State = new TenantState(content.State)
|
continue;
|
||||||
};
|
for ( int i = 0; i < fieldsLength; i++ ) {
|
||||||
|
settingFields[i] = settingFields[i].Trim();
|
||||||
|
}
|
||||||
|
if ( settingFields[1] != "null" ) {
|
||||||
|
switch ( settingFields[0] ) {
|
||||||
|
case "Name":
|
||||||
|
shellSettings.Name = settingFields[1];
|
||||||
|
break;
|
||||||
|
case "DataProvider":
|
||||||
|
shellSettings.DataProvider = settingFields[1];
|
||||||
|
break;
|
||||||
|
case "State":
|
||||||
|
shellSettings.State = new TenantState(settingFields[1]);
|
||||||
|
break;
|
||||||
|
case "DataConnectionString":
|
||||||
|
shellSettings.DataConnectionString = settingFields[1];
|
||||||
|
break;
|
||||||
|
case "DataPrefix":
|
||||||
|
shellSettings.DataTablePrefix = settingFields[1];
|
||||||
|
break;
|
||||||
|
case "RequestUrlHost":
|
||||||
|
shellSettings.RequestUrlHost = settingFields[1];
|
||||||
|
break;
|
||||||
|
case "RequestUrlPrefix":
|
||||||
|
shellSettings.RequestUrlPrefix = settingFields[1];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return shellSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
static string ComposeSettings(ShellSettings settings) {
|
static string ComposeSettings(ShellSettings settings) {
|
||||||
if ( settings == null )
|
if ( settings == null )
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
var ser = new YamlSerializer();
|
return string.Format("Name: {0}\r\nDataProvider: {1}\r\nDataConnectionString: {2}\r\nDataPrefix: {3}\r\nRequestUrlHost: {4}\r\nRequestUrlPrefix: {5}\r\nState: {6}\r\n",
|
||||||
return ser.Serialize(new Content {
|
settings.Name,
|
||||||
Name = settings.Name,
|
settings.DataProvider,
|
||||||
DataProvider = settings.DataProvider,
|
settings.DataConnectionString ?? "null",
|
||||||
DataConnectionString = settings.DataConnectionString,
|
settings.DataTablePrefix ?? "null",
|
||||||
DataPrefix = settings.DataTablePrefix,
|
settings.RequestUrlHost ?? "null",
|
||||||
RequestUrlHost = settings.RequestUrlHost,
|
settings.RequestUrlPrefix ?? "null",
|
||||||
RequestUrlPrefix = settings.RequestUrlPrefix,
|
settings.State != null ? settings.State.ToString() : String.Empty);
|
||||||
State = settings.State != null ? settings.State.ToString() : String.Empty
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -68,10 +68,6 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="YamlSerializer, Version=0.9.0.2, Culture=neutral, processorArchitecture=MSIL">
|
|
||||||
<SpecificVersion>False</SpecificVersion>
|
|
||||||
<HintPath>..\..\lib\yaml\YamlSerializer.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="CloudBlobContainerExtensions.cs" />
|
<Compile Include="CloudBlobContainerExtensions.cs" />
|
||||||
|
Reference in New Issue
Block a user