Skip to content

Commit 0d613de

Browse files
committed
Structured changes closer to Hibernate version; Added few comments
1 parent d0006b7 commit 0d613de

File tree

1 file changed

+35
-31
lines changed

1 file changed

+35
-31
lines changed

src/NHibernate/Loader/DefaultEntityAliases.cs

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ namespace NHibernate.Loader
88
/// <summary>
99
/// EntityAliases which handles the logic of selecting user provided aliases (via return-property),
1010
/// before using the default aliases.
11+
/// Based on https://raw.githubusercontent.com/hibernate/hibernate-orm/master/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java
1112
/// </summary>
1213
public class DefaultEntityAliases : IEntityAliases
1314
{
@@ -20,37 +21,40 @@ public class DefaultEntityAliases : IEntityAliases
2021
private readonly IDictionary<string, string[]> userProvidedAliases;
2122

2223
public DefaultEntityAliases(ILoadable persister, string suffix)
23-
: this(null, persister, suffix){}
24+
: this(null, persister, suffix) {}
2425

2526
/// <summary>
26-
/// Calculate and cache select-clause suffixes.
27+
/// Calculate and cache select-clause aliases.
2728
/// </summary>
2829
public DefaultEntityAliases(IDictionary<string, string[]> userProvidedAliases, ILoadable persister, string suffix)
2930
{
3031
this.suffix = suffix;
3132
this.userProvidedAliases = userProvidedAliases?.Count > 0 ? userProvidedAliases : null;
3233

33-
suffixedKeyColumns = GetSuffixedKeyAliases(persister, suffix);
34-
34+
suffixedKeyColumns = DetermineKeyAliases(persister, suffix);
3535
suffixedPropertyColumns = GetSuffixedPropertyAliases(persister);
36-
suffixedDiscriminatorColumn = GetSuffixedDiscriminatorAlias(persister, suffix);
36+
suffixedDiscriminatorColumn = DetermineDiscriminatorAlias(persister, suffix);
3737

3838
suffixedVersionColumn = persister.IsVersioned ? suffixedPropertyColumns[persister.VersionProperty] : null;
39+
//rowIdAlias is generated on demand in property
3940
}
4041

41-
protected virtual string GetDiscriminatorAlias(ILoadable persister, string suffix)
42+
private string[] DetermineKeyAliases(ILoadable persister, string suffix)
4243
{
43-
return persister.GetDiscriminatorAlias(suffix);
44-
}
44+
if (userProvidedAliases == null)
45+
return GetIdentifierAliases(persister, suffix);
4546

46-
protected virtual string[] GetIdentifierAliases(ILoadable persister, string suffix)
47-
{
48-
return persister.GetIdentifierAliases(suffix);
47+
return GetUserProvidedAliases(
48+
persister.IdentifierPropertyName,
49+
() => GetUserProvidedAliases(EntityPersister.EntityID, () => GetIdentifierAliases(persister, suffix)));
4950
}
5051

51-
protected virtual string[] GetPropertyAliases(ILoadable persister, int j)
52+
private string DetermineDiscriminatorAlias(ILoadable persister, string suffix)
5253
{
53-
return persister.GetPropertyAliases(suffix, j);
54+
if (userProvidedAliases == null)
55+
return GetDiscriminatorAlias(persister, suffix);
56+
57+
return GetUserProvidedAlias(AbstractEntityPersister.EntityClass, () => GetDiscriminatorAlias(persister, suffix));
5458
}
5559

5660
/// <summary>
@@ -61,6 +65,21 @@ protected string[][] GetPropertiesAliases(ILoadable persister)
6165
return Enumerable.Range(0, persister.PropertyNames.Length).Select(i => GetPropertyAliases(persister, i)).ToArray();
6266
}
6367

68+
protected virtual string GetDiscriminatorAlias(ILoadable persister, string suffix)
69+
{
70+
return persister.GetDiscriminatorAlias(suffix);
71+
}
72+
73+
protected virtual string[] GetIdentifierAliases(ILoadable persister, string suffix)
74+
{
75+
return persister.GetIdentifierAliases(suffix);
76+
}
77+
78+
protected virtual string[] GetPropertyAliases(ILoadable persister, int j)
79+
{
80+
return persister.GetPropertyAliases(suffix, j);
81+
}
82+
6483
private string[] GetUserProvidedAliases(string propertyPath, Func<string[]> getDefaultAliases)
6584
{
6685
string[] result = propertyPath == null ? null : GetUserProvidedAlias(propertyPath);
@@ -94,24 +113,9 @@ private string GetUserProvidedAlias(string propertyPath, Func<string> getDefault
94113
}
95114
}
96115

97-
private string GetSuffixedDiscriminatorAlias(ILoadable persister, string suffix)
98-
{
99-
if (userProvidedAliases == null)
100-
return GetDiscriminatorAlias(persister, suffix);
101-
102-
return GetUserProvidedAlias(AbstractEntityPersister.EntityClass, () => GetDiscriminatorAlias(persister, suffix));
103-
}
104-
105-
private string[] GetSuffixedKeyAliases(ILoadable persister, string suffix)
106-
{
107-
if (userProvidedAliases == null)
108-
return GetIdentifierAliases(persister, suffix);
109-
110-
return GetUserProvidedAliases(
111-
persister.IdentifierPropertyName,
112-
() => GetUserProvidedAliases(EntityPersister.EntityID, () => GetIdentifierAliases(persister, suffix)));
113-
}
114-
116+
/// <summary>
117+
/// Returns aliases for subclass persister
118+
/// </summary>
115119
public string[][] GetSuffixedPropertyAliases(ILoadable persister)
116120
{
117121
if (userProvidedAliases == null)

0 commit comments

Comments
 (0)