Skip to content

Commit 5dae5f1

Browse files
authored
Remove dialect instantiation in AddDeserializedMapping (#1703)
- Remove dependency on Dialect from Join and PersistentClass classes - Remove dependency on Dialect from Binder subclasses - Remove dependency on Dialect from Mappings class
1 parent 0390b46 commit 5dae5f1

27 files changed

+328
-82
lines changed

src/NHibernate.Test/Async/NHSpecificTest/NH1007/Fixture.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,12 @@ public async Task MappingIdGeneratorWithAttributeTakesPrecendenceOverMappingWith
6060

6161
private void VerifyMapping(HbmMapping mapping)
6262
{
63-
var dialect = new MsSql2008Dialect();
6463
var configuration = new Configuration();
65-
var mappings = configuration.CreateMappings(dialect);
64+
var mappings = configuration.CreateMappings();
6665
mappings.DefaultAssembly = "NHibernate.Test";
6766
mappings.DefaultNamespace = "NHibernate.Test.NHSpecificTest.NH1007";
6867

69-
var rootBinder = new MappingRootBinder(mappings, dialect);
68+
var rootBinder = new MappingRootBinder(mappings);
7069
rootBinder.Bind(mapping);
7170

7271
var employer = rootBinder.Mappings.GetClass("NHibernate.Test.NHSpecificTest.NH1007.Employer1");

src/NHibernate.Test/Bytecode/Lightweight/BytecodeProviderFixture.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,7 @@ public void AllowCustomCollectionTypeFactoryBeforeBuildFirstMapping()
131131
// "mapping-sources" is better to limitate the moment of injectability.
132132
var cfg = TestConfigurationHelper.GetDefaultConfiguration();
133133
cfg.SetProperty(Environment.CollectionTypeFactoryClass, typeof(CustomCollectionTypeFactory).AssemblyQualifiedName);
134-
Dialect.Dialect dialect = Dialect.Dialect.GetDialect(cfg.Properties);
135-
cfg.CreateMappings(dialect);
134+
cfg.CreateMappings();
136135
Assert.That(Environment.BytecodeProvider.CollectionTypeFactory, Is.TypeOf<CustomCollectionTypeFactory>());
137136
}
138137

src/NHibernate.Test/CfgTest/ConfigurationAddMappingEvents.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public void WhenSubscribedToBeforeBindThenRaiseEventForEachMapping()
5353
Assert.That(listOfCalls.Count, Is.EqualTo(2));
5454
Assert.That(listOfCalls.Select(x => x.FileName).All(x => x != null), Is.True);
5555
Assert.That(listOfCalls.Select(x => x.Mapping).All(x => x != null), Is.True);
56-
Assert.That(listOfCalls.Select(x => x.Dialect).All(x => x.GetType() == typeof (MsSql2008Dialect)), Is.True);
5756
}
5857

5958
[Test]
@@ -70,7 +69,6 @@ public void WhenSubscribedToAfterBindThenRaiseEventForEachMapping()
7069
Assert.That(listOfCalls.Count, Is.EqualTo(2));
7170
Assert.That(listOfCalls.Select(x => x.FileName).All(x => x != null), Is.True);
7271
Assert.That(listOfCalls.Select(x => x.Mapping).All(x => x != null), Is.True);
73-
Assert.That(listOfCalls.Select(x => x.Dialect).All(x => x.GetType() == typeof(MsSql2008Dialect)), Is.True);
7472
}
7573
}
7674
}

src/NHibernate.Test/CfgTest/Loquacious/TypeDefinitionFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void AddTypeDef()
1919
c.Alias = "HighLow";
2020
c.Properties = new {max_lo = 99};
2121
});
22-
var mappings = configure.CreateMappings(Dialect.Dialect.GetDialect(configure.Properties));
22+
var mappings = configure.CreateMappings();
2323
var typeDef = mappings.GetTypeDef("HighLow");
2424
Assert.That(typeDef, Is.Not.Null);
2525
Assert.That(typeDef.Parameters["max_lo"], Is.EqualTo("99"));

src/NHibernate.Test/NHSpecificTest/AliasFixture.cs

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,44 @@ public class AliasFixture
1111
[Test]
1212
public void NoLeadingUnderscores()
1313
{
14-
Alias alias = new Alias("suffix");
14+
var alias = new Alias("suffix");
1515
Dialect.Dialect dialect = new MsSql2000Dialect();
1616

17-
Assert.IsFalse(
18-
alias.ToAliasString("__someIdentifier", dialect)
19-
.StartsWith("_"));
17+
Assert.That(alias.ToAliasString("__someIdentifier", dialect), Does.Not.StartWith("_"));
2018

21-
Assert.IsFalse(
22-
alias.ToUnquotedAliasString("__someIdentifier", dialect)
23-
.StartsWith("_"));
19+
Assert.That(alias.ToUnquotedAliasString("__someIdentifier", dialect), Does.Not.StartsWith("_"));
20+
}
21+
22+
[Test]
23+
public void TestDialectQuotedAlias()
24+
{
25+
var alias = new Alias(15, "PK");
26+
var aliasString = alias.ToAliasString("[Hello]]World]", new MsSql2000Dialect());
27+
Assert.That(aliasString, Is.EqualTo("[Hello]]WorldPK]"));
28+
}
29+
30+
[Test]
31+
public void TestDialectQuotedAliasWithEscapedStringAtTheEdge()
32+
{
33+
var alias = new Alias(15, "PK");
34+
var aliasString = alias.ToAliasString("[Table0123456]]7890]", new MsSql2000Dialect());
35+
Assert.That(aliasString, Is.EqualTo("[Table0123456]]PK]"));
36+
}
37+
38+
[Test]
39+
public void TestQuotedAlias()
40+
{
41+
var alias = new Alias(15, "PK");
42+
var aliasString = alias.ToAliasString("[Hello]]World]");
43+
Assert.That(aliasString, Is.EqualTo("[Hello]]WorldPK]"));
44+
}
45+
46+
[Test]
47+
public void TestQuotedAliasWithEscapedStringAtTheEdge()
48+
{
49+
var alias = new Alias(15, "PK");
50+
var aliasString = alias.ToAliasString("[Table0123456]]7890]");
51+
Assert.That(aliasString, Is.EqualTo("[Table0123456PK]"));
2452
}
2553
}
2654
}

src/NHibernate.Test/NHSpecificTest/NH1007/Fixture.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,12 @@ public void ConfiguringIdGeneratorUsingAttributeAndElementIsEquivalent()
8484

8585
private void VerifyMapping(HbmMapping mapping)
8686
{
87-
var dialect = new MsSql2008Dialect();
8887
var configuration = new Configuration();
89-
var mappings = configuration.CreateMappings(dialect);
88+
var mappings = configuration.CreateMappings();
9089
mappings.DefaultAssembly = "NHibernate.Test";
9190
mappings.DefaultNamespace = "NHibernate.Test.NHSpecificTest.NH1007";
9291

93-
var rootBinder = new MappingRootBinder(mappings, dialect);
92+
var rootBinder = new MappingRootBinder(mappings);
9493
rootBinder.Bind(mapping);
9594

9695
var employer = rootBinder.Mappings.GetClass("NHibernate.Test.NHSpecificTest.NH1007.Employer1");

src/NHibernate.Test/NHSpecificTest/NH2041/Fixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public void WhenJoinTableContainComponentsThenColumnsShouldBeInJoinedTable()
1212
{
1313
Configuration cfg = TestConfigurationHelper.GetDefaultConfiguration();
1414
cfg.AddResource("NHibernate.Test.NHSpecificTest.NH2041.Mappings.hbm.xml", GetType().Assembly);
15-
var mappings = cfg.CreateMappings(Dialect.Dialect.GetDialect(cfg.Properties));
15+
var mappings = cfg.CreateMappings();
1616
var table = mappings.GetTable(null, null, "Locations");
1717
Assert.That(table, Is.Not.Null);
1818
Assert.That(table.ColumnIterator.Select(c => c.Name), Is.EquivalentTo(new [] {"myclassId", "latitudecol", "longitudecol"}));

src/NHibernate.Test/NHSpecificTest/NH2569/Fixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void WhenMapHiloToDifferentSchemaThanClassThenIdHasTheMappedSchema()
3030
conf.DataBaseIntegration(x=> x.Dialect<MsSql2008Dialect>());
3131
conf.AddDeserializedMapping(mapper.CompileMappingForAllExplicitlyAddedEntities(), "wholeDomain");
3232

33-
var mappings = conf.CreateMappings(Dialect.Dialect.GetDialect());
33+
var mappings = conf.CreateMappings();
3434
var pc = mappings.GetClass(typeof(MyClass).FullName);
3535
Assert.That(((SimpleValue)pc.Identifier).IdentifierGeneratorProperties["schema"], Is.EqualTo("gSchema"));
3636
}

src/NHibernate.Test/NHSpecificTest/NH2761/Fixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public void WhenMultipleConfigurationUseSameMappingsThenConstraintsHasSameNames(
2323
private Mappings GetMappings()
2424
{
2525
var configuration = GetConfiguration();
26-
return configuration.CreateMappings(Dialect.Dialect.GetDialect(configuration.Properties));
26+
return configuration.CreateMappings();
2727
}
2828

2929
private Configuration GetConfiguration()

src/NHibernate.Test/NHSpecificTest/NH3153/Fixture.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public void ShouldGetIdentifierSchemaFromClassElement()
1717
var conf = TestConfigurationHelper.GetDefaultConfiguration();
1818
conf.AddResource("NHibernate.Test.NHSpecificTest.NH3153.SchemaInClass.hbm.xml", typeof(A).Assembly);
1919

20-
var mappings = conf.CreateMappings(Dialect.Dialect.GetDialect());
20+
var mappings = conf.CreateMappings();
2121

2222
var pc = mappings.GetClass(typeof(A).FullName);
2323
Assert.That(((SimpleValue)pc.Identifier).IdentifierGeneratorProperties["schema"], Is.EqualTo("Test"));
@@ -30,7 +30,7 @@ public void ShouldGetIdentifierSchemaFromMappingElement()
3030
var conf = TestConfigurationHelper.GetDefaultConfiguration();
3131
conf.AddResource("NHibernate.Test.NHSpecificTest.NH3153.SchemaInMapping.hbm.xml", typeof(A).Assembly);
3232

33-
var mappings = conf.CreateMappings(Dialect.Dialect.GetDialect());
33+
var mappings = conf.CreateMappings();
3434

3535
var pc = mappings.GetClass(typeof(A).FullName);
3636
Assert.That(((SimpleValue)pc.Identifier).IdentifierGeneratorProperties["schema"], Is.EqualTo("Test"));

0 commit comments

Comments
 (0)