Skip to content

Commit f8b1bc4

Browse files
bahusoidfredericDelaporte
authored andcommitted
Avoid Trim().Length as empty check and ToLowerInvariant() in string comparison (#1567)
* Trim().Length replaced with IsNullOrWhiteSpace * StartsWith and Equals ordinal where applicable * Get rid of ToLowerInvariant calls where applicable * Hbm2DDLKeyWords ignore case comparision
1 parent 3a9b700 commit f8b1bc4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+195
-150
lines changed

src/NHibernate.DomainModel/NHSpecific/NullableInt32.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public int CompareTo(object obj)
214214

215215
public static NullableInt32 Parse(string s)
216216
{
217-
if ((s == null) || (s.Trim().Length == 0))
217+
if (string.IsNullOrWhiteSpace(s))
218218
{
219219
return new NullableInt32();
220220
}
@@ -235,4 +235,4 @@ public static NullableInt32 Parse(string s)
235235

236236
#endregion
237237
}
238-
}
238+
}

src/NHibernate/Async/Tool/hbm2ddl/SchemaExport.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public partial class SchemaExport
3737
dialect = Dialect.Dialect.GetDialect(configProperties);
3838

3939
string autoKeyWordsImport = PropertiesHelper.GetString(Environment.Hbm2ddlKeyWords, configProperties, "not-defined");
40-
autoKeyWordsImport = autoKeyWordsImport.ToLowerInvariant();
4140
if (autoKeyWordsImport == Hbm2DDLKeyWords.AutoQuote)
4241
{
4342
await (SchemaMetadataUpdater.UpdateAsync(cfg, dialect, cancellationToken)).ConfigureAwait(false);

src/NHibernate/Async/Tool/hbm2ddl/SchemaUpdate.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public partial class SchemaUpdate
3232
}
3333

3434
string autoKeyWordsImport = PropertiesHelper.GetString(Environment.Hbm2ddlKeyWords, configuration.Properties, "not-defined");
35-
autoKeyWordsImport = autoKeyWordsImport.ToLowerInvariant();
3635
if (autoKeyWordsImport == Hbm2DDLKeyWords.AutoQuote)
3736
{
3837
await (SchemaMetadataUpdater.UpdateAsync(configuration, dialect, cancellationToken)).ConfigureAwait(false);
@@ -56,26 +55,26 @@ public partial class SchemaUpdate
5655

5756
for (int i = 0; i < args.Length; i++)
5857
{
59-
if (args[i].StartsWith("--"))
58+
if (args[i].StartsWith("--", StringComparison.Ordinal))
6059
{
6160
if (args[i].Equals("--quiet"))
6261
{
6362
script = false;
6463
}
65-
else if (args[i].StartsWith("--properties="))
64+
else if (args[i].StartsWith("--properties=", StringComparison.Ordinal))
6665
{
6766
throw new NotSupportedException("No properties file for .NET, use app.config instead");
6867
//propFile = args[i].Substring( 13 );
6968
}
70-
else if (args[i].StartsWith("--config="))
69+
else if (args[i].StartsWith("--config=", StringComparison.Ordinal))
7170
{
7271
cfg.Configure(args[i].Substring(9));
7372
}
74-
else if (args[i].StartsWith("--text"))
73+
else if (args[i].StartsWith("--text", StringComparison.Ordinal))
7574
{
7675
doUpdate = false;
7776
}
78-
else if (args[i].StartsWith("--naming="))
77+
else if (args[i].StartsWith("--naming=", StringComparison.Ordinal))
7978
{
8079
cfg.SetNamingStrategy(
8180
(INamingStrategy)

src/NHibernate/Async/Tool/hbm2ddl/SchemaValidator.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ public partial class SchemaValidator
3333

3434
for (int i = 0; i < args.Length; i++)
3535
{
36-
if (args[i].StartsWith("--"))
36+
if (args[i].StartsWith("--", StringComparison.Ordinal))
3737
{
3838
//if (args[i].StartsWith("--properties="))
3939
//{
4040
// propFile = args[i].Substring(13);
4141
//}
4242
//else
43-
if (args[i].StartsWith("--config="))
43+
if (args[i].StartsWith("--config=", StringComparison.Ordinal))
4444
{
4545
cfg.Configure(args[i].Substring(9));
4646
}
47-
else if (args[i].StartsWith("--naming="))
47+
else if (args[i].StartsWith("--naming=", StringComparison.Ordinal))
4848
{
4949
cfg.SetNamingStrategy(
5050
(INamingStrategy)
@@ -113,4 +113,4 @@ public partial class SchemaValidator
113113
}
114114
}
115115
}
116-
}
116+
}

src/NHibernate/Cfg/ConfigurationSchema/ClassCacheConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ private void Parse(XPathNavigator classCacheElement)
8989
switch (classCacheElement.Name)
9090
{
9191
case "class":
92-
if (classCacheElement.Value.Trim().Length == 0)
92+
if (string.IsNullOrWhiteSpace(classCacheElement.Value))
9393
throw new HibernateConfigException("Invalid class-cache element; the attribute <class> must be assigned with no empty value");
9494
clazz = classCacheElement.Value;
9595
break;

src/NHibernate/Cfg/ConfigurationSchema/CollectionCacheConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ private void Parse(XPathNavigator collectionCacheElement)
4949
switch (collectionCacheElement.Name)
5050
{
5151
case "collection":
52-
if (collectionCacheElement.Value.Trim().Length == 0)
52+
if (string.IsNullOrWhiteSpace(collectionCacheElement.Value))
5353
throw new HibernateConfigException("Invalid collection-cache element; the attribute <collection> must be assigned with no empty value");
5454
collection = collectionCacheElement.Value;
5555
break;

src/NHibernate/Cfg/ConfigurationSchema/ListenerConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ private void Parse(XPathNavigator listenerElement)
5353
switch (listenerElement.Name)
5454
{
5555
case "class":
56-
if (listenerElement.Value.Trim().Length == 0)
56+
if (string.IsNullOrWhiteSpace(listenerElement.Value))
5757
throw new HibernateConfigException("Invalid listener element; the attribute <class> must be assigned with no empty value");
5858
clazz = listenerElement.Value;
5959
break;

src/NHibernate/Cfg/Hbm2ddlKeyWords.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System;
2+
13
namespace NHibernate.Cfg
24
{
35
public class Hbm2DDLKeyWords
@@ -33,7 +35,7 @@ public override bool Equals(object obj)
3335

3436
public bool Equals(string other)
3537
{
36-
return value.Equals(other);
38+
return value.Equals(other, StringComparison.OrdinalIgnoreCase);
3739
}
3840

3941
public bool Equals(Hbm2DDLKeyWords other)
@@ -82,4 +84,4 @@ public override int GetHashCode()
8284
public static Hbm2DDLKeyWords Keywords = new Hbm2DDLKeyWords("keywords");
8385
public static Hbm2DDLKeyWords AutoQuote = new Hbm2DDLKeyWords("auto-quote");
8486
}
85-
}
87+
}

src/NHibernate/Cfg/Mappings.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class Mappings
1919
[Serializable]
2020
public class ColumnNames
2121
{
22-
public readonly IDictionary<string, string> logicalToPhysical = new Dictionary<string, string>();
22+
public readonly IDictionary<string, string> logicalToPhysical = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
2323
public readonly IDictionary<string, string> physicalToLogical = new Dictionary<string, string>();
2424
}
2525

@@ -536,8 +536,8 @@ public void AddColumnBinding(string logicalName, Column finalColumn, Table table
536536
}
537537

538538
string oldFinalName;
539-
binding.logicalToPhysical.TryGetValue(logicalName.ToLowerInvariant(), out oldFinalName);
540-
binding.logicalToPhysical[logicalName.ToLowerInvariant()] = finalColumn.GetQuotedName();
539+
binding.logicalToPhysical.TryGetValue(logicalName, out oldFinalName);
540+
binding.logicalToPhysical[logicalName] = finalColumn.GetQuotedName();
541541
if (oldFinalName != null &&
542542
!(finalColumn.IsQuoted
543543
? oldFinalName.Equals(finalColumn.GetQuotedName())
@@ -584,7 +584,6 @@ public string GetLogicalColumnName(string physicalName, Table table)
584584

585585
public string GetPhysicalColumnName(string logicalName, Table table)
586586
{
587-
logicalName = logicalName.ToLowerInvariant();
588587
string finalName = null;
589588
Table currentTable = table;
590589
do

src/NHibernate/Cfg/SettingsFactory.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ public Settings BuildSettings(IDictionary<string, string> properties)
167167
}
168168

169169
string autoKeyWordsImport = PropertiesHelper.GetString(Environment.Hbm2ddlKeyWords, properties, "not-defined");
170-
autoKeyWordsImport = autoKeyWordsImport.ToLowerInvariant();
171170
if (autoKeyWordsImport == Hbm2DDLKeyWords.None)
172171
{
173172
settings.IsKeywordsImportEnabled = false;

0 commit comments

Comments
 (0)