You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by pt...@apache.org on 2016/11/14 09:26:41 UTC
[29/33] ignite git commit: .NET: Fix error messages when
IgniteConfigurationSection content is missing
.NET: Fix error messages when IgniteConfigurationSection content is missing
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/69487f2c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/69487f2c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/69487f2c
Branch: refs/heads/master
Commit: 69487f2c375010737311af65750a519b403fc17f
Parents: f697fb5
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Tue Nov 8 19:38:28 2016 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Tue Nov 8 19:38:28 2016 +0300
----------------------------------------------------------------------
.../Apache.Ignite.AspNet/Impl/ConfigUtil.cs | 2 +-
.../IgniteConfigurationSectionTest.cs | 20 ++++++++++++++++++++
.../dotnet/Apache.Ignite.Core.Tests/app.config | 1 +
.../Apache.Ignite.Core.Tests/custom_app.config | 1 +
.../dotnet/Apache.Ignite.Core/Ignition.cs | 12 ++++++++++++
5 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/69487f2c/modules/platforms/dotnet/Apache.Ignite.AspNet/Impl/ConfigUtil.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.AspNet/Impl/ConfigUtil.cs b/modules/platforms/dotnet/Apache.Ignite.AspNet/Impl/ConfigUtil.cs
index fc93c7e..b967518 100644
--- a/modules/platforms/dotnet/Apache.Ignite.AspNet/Impl/ConfigUtil.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.AspNet/Impl/ConfigUtil.cs
@@ -89,7 +89,7 @@ namespace Apache.Ignite.AspNet.Impl
if (config == null)
throw new ConfigurationErrorsException(string.Format(CultureInfo.InvariantCulture,
- "{0} with name '{1}' is defined in <configSections>, but not present in configuration",
+ "{0} with name '{1}' is defined in <configSections>, but not present in configuration.",
typeof(IgniteConfigurationSection).Name, sectionName));
}
else
http://git-wip-us.apache.org/repos/asf/ignite/blob/69487f2c/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 4e10a2b..13bd9a2 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSectionTest.cs
@@ -78,6 +78,7 @@ namespace Apache.Ignite.Core.Tests
[Test]
public void TestIgniteStartError()
{
+ // Missing section in default file.
var ex = Assert.Throws<ConfigurationErrorsException>(() =>
Ignition.StartFromApplicationConfiguration("igniteConfiguration111"));
@@ -85,17 +86,36 @@ namespace Apache.Ignite.Core.Tests
ex.Message);
+ // Missing section body.
+ ex = Assert.Throws<ConfigurationErrorsException>(() =>
+ Ignition.StartFromApplicationConfiguration("igniteConfigurationMissing"));
+
+ Assert.AreEqual("IgniteConfigurationSection with name 'igniteConfigurationMissing' " +
+ "is defined in <configSections>, but not present in configuration.", ex.Message);
+
+
+ // Missing custom file.
ex = Assert.Throws<ConfigurationErrorsException>(() =>
Ignition.StartFromApplicationConfiguration("igniteConfiguration", "somefile"));
Assert.AreEqual("Specified config file does not exist: somefile", ex.Message);
+ // Missing section in custom file.
ex = Assert.Throws<ConfigurationErrorsException>(() =>
Ignition.StartFromApplicationConfiguration("igniteConfiguration", "custom_app.config"));
Assert.AreEqual("Could not find IgniteConfigurationSection with name 'igniteConfiguration' " +
"in file 'custom_app.config'", ex.Message);
+
+
+ // Missing section body in custom file.
+ ex = Assert.Throws<ConfigurationErrorsException>(() =>
+ Ignition.StartFromApplicationConfiguration("igniteConfigurationMissing", "custom_app.config"));
+
+ Assert.AreEqual("IgniteConfigurationSection with name 'igniteConfigurationMissing' in file " +
+ "'custom_app.config' is defined in <configSections>, but not present in configuration.",
+ ex.Message);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/69487f2c/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
index d22bea4..f928ed4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
@@ -21,6 +21,7 @@
<configSections>
<section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
<section name="igniteConfiguration2" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
+ <section name="igniteConfigurationMissing" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
</configSections>
<runtime>
http://git-wip-us.apache.org/repos/asf/ignite/blob/69487f2c/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
index 41ea39e..aec91dc 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
@@ -20,6 +20,7 @@
<configuration>
<configSections>
<section name="igniteConfiguration3" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
+ <section name="igniteConfigurationMissing" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
</configSections>
<igniteConfiguration3 gridName="myGrid3" localhost="127.0.0.1">
http://git-wip-us.apache.org/repos/asf/ignite/blob/69487f2c/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 7b023f3..515902f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
@@ -152,6 +152,12 @@ namespace Apache.Ignite.Core
throw new ConfigurationErrorsException(string.Format("Could not find {0} with name '{1}'",
typeof(IgniteConfigurationSection).Name, sectionName));
+ if (section.IgniteConfiguration == null)
+ throw new ConfigurationErrorsException(
+ string.Format("{0} with name '{1}' is defined in <configSections>, " +
+ "but not present in configuration.",
+ typeof(IgniteConfigurationSection).Name, sectionName));
+
return Start(section.IgniteConfiguration);
}
@@ -177,6 +183,12 @@ namespace Apache.Ignite.Core
string.Format("Could not find {0} with name '{1}' in file '{2}'",
typeof(IgniteConfigurationSection).Name, sectionName, configPath));
+ if (section.IgniteConfiguration == null)
+ throw new ConfigurationErrorsException(
+ string.Format("{0} with name '{1}' in file '{2}' is defined in <configSections>, " +
+ "but not present in configuration.",
+ typeof(IgniteConfigurationSection).Name, sectionName, configPath));
+
return Start(section.IgniteConfiguration);
}