You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2017/04/11 01:38:10 UTC
[10/50] [abbrv] ignite git commit: IGNITE-4902 .NET: Fix
StartFromApplicationConfiguration() in ASP.NET
IGNITE-4902 .NET: Fix StartFromApplicationConfiguration() in ASP.NET
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ece49284
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ece49284
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ece49284
Branch: refs/heads/ignite-1192
Commit: ece49284638f012c39c1dbf49147edf7650fb13f
Parents: 9bb48ee
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Mon Apr 3 16:08:03 2017 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Mon Apr 3 16:08:03 2017 +0300
----------------------------------------------------------------------
.../IgniteConfigurationSectionTest.cs | 7 ++++---
.../dotnet/Apache.Ignite.Core/Ignition.cs | 22 +++++++++-----------
.../Impl/Common/IgniteHome.cs | 21 ++++++++++++-------
3 files changed, 28 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/ece49284/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs
index fc43f46..b507cff 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs
@@ -34,7 +34,8 @@ namespace Apache.Ignite.Core.Tests
[Test]
public void TestRead()
{
- var section = (IgniteConfigurationSection) ConfigurationManager.GetSection("igniteConfiguration");
+ var section = (IgniteConfigurationSection) ConfigurationManager.GetSection(
+ Ignition.ConfigurationSectionName);
Assert.AreEqual("myGrid1", section.IgniteConfiguration.IgniteInstanceName);
Assert.AreEqual("cacheName", section.IgniteConfiguration.CacheConfiguration.Single().Name);
@@ -48,7 +49,7 @@ namespace Apache.Ignite.Core.Tests
{
Environment.SetEnvironmentVariable(Classpath.EnvIgniteNativeTestClasspath, "true");
- using (var ignite = Ignition.StartFromApplicationConfiguration("igniteConfiguration"))
+ using (var ignite = Ignition.StartFromApplicationConfiguration(Ignition.ConfigurationSectionName))
{
Assert.AreEqual("myGrid1", ignite.Name);
Assert.IsNotNull(ignite.GetCache<int, int>("cacheName"));
@@ -62,7 +63,7 @@ namespace Apache.Ignite.Core.Tests
using (var ignite = Ignition.StartFromApplicationConfiguration())
{
- Assert.IsTrue(ignite.Name.StartsWith("myGrid"));
+ Assert.AreEqual("myGrid1", ignite.Name);
}
using (var ignite = Ignition.StartFromApplicationConfiguration(
http://git-wip-us.apache.org/repos/asf/ignite/blob/ece49284/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
index f590794..13e3f61 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
@@ -53,6 +53,11 @@ namespace Apache.Ignite.Core
/// </summary>
public static class Ignition
{
+ /// <summary>
+ /// Default configuration section name.
+ /// </summary>
+ public const string ConfigurationSectionName = "igniteConfiguration";
+
/** */
private static readonly object SyncRoot = new object();
@@ -118,22 +123,15 @@ namespace Apache.Ignite.Core
}
/// <summary>
- /// Reads <see cref="IgniteConfiguration"/> from first <see cref="IgniteConfigurationSection"/> in the
- /// application configuration and starts Ignite.
+ /// Reads <see cref="IgniteConfiguration"/> from application configuration
+ /// <see cref="IgniteConfigurationSection"/> with <see cref="ConfigurationSectionName"/>
+ /// name and starts Ignite.
/// </summary>
/// <returns>Started Ignite.</returns>
public static IIgnite StartFromApplicationConfiguration()
{
- var cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
-
- var section = cfg.Sections.OfType<IgniteConfigurationSection>().FirstOrDefault();
-
- if (section == null)
- throw new ConfigurationErrorsException(
- string.Format("Could not find {0} in current application configuration",
- typeof(IgniteConfigurationSection).Name));
-
- return Start(section.IgniteConfiguration);
+ // ReSharper disable once IntroduceOptionalParameters.Global
+ return StartFromApplicationConfiguration(ConfigurationSectionName);
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/ece49284/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteHome.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteHome.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteHome.cs
index 08f6d84..0290095 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteHome.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteHome.cs
@@ -108,13 +108,20 @@ namespace Apache.Ignite.Core.Impl.Common
/// <returns>Value indicating whether specified dir looks like a Ignite home.</returns>
private static bool IsIgniteHome(DirectoryInfo dir)
{
- return dir.Exists &&
- (dir.EnumerateDirectories().Count(x => x.Name == "examples" || x.Name == "bin") == 2 &&
- dir.EnumerateDirectories().Count(x => x.Name == "modules" || x.Name == "platforms") == 1)
- || // NuGet home
- (dir.EnumerateDirectories().Any(x => x.Name == "Libs") &&
- (dir.EnumerateFiles("Apache.Ignite.Core.dll").Any() ||
- dir.EnumerateFiles("Apache.Ignite.*.nupkg").Any()));
+ try
+ {
+ return dir.Exists &&
+ (dir.EnumerateDirectories().Count(x => x.Name == "examples" || x.Name == "bin") == 2 &&
+ dir.EnumerateDirectories().Count(x => x.Name == "modules" || x.Name == "platforms") == 1)
+ || // NuGet home
+ (dir.EnumerateDirectories().Any(x => x.Name == "Libs") &&
+ (dir.EnumerateFiles("Apache.Ignite.Core.dll").Any() ||
+ dir.EnumerateFiles("Apache.Ignite.*.nupkg").Any()));
+ }
+ catch (IOException)
+ {
+ return false;
+ }
}
}
}