|
From: <fab...@us...> - 2011-04-06 16:07:20
|
Revision: 5623
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5623&view=rev
Author: fabiomaulo
Date: 2011-04-06 16:07:13 +0000 (Wed, 06 Apr 2011)
Log Message:
-----------
Added classes for Conformist mapping
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs
trunk/nhibernate/src/NHibernate/NHibernate.csproj
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ModelExplicitDeclarationsHolderMergeTest.cs
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ClassMapping.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/JoinedSubclassMapping.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/SubclassMapping.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/UnionSubclassMapping.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IConformistHoldersProvider.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ExplicitDeclarationsHolder.cs
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ClassMapping.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ClassMapping.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ClassMapping.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,10 @@
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Mapping.ByCode.Impl.CustomizersImpl;
+
+namespace NHibernate.Mapping.ByCode.Conformist
+{
+ public class ClassMapping<T> : ClassCustomizer<T> where T : class
+ {
+ public ClassMapping() : base(new ExplicitDeclarationsHolder(), new CustomizersHolder()) { }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/ComponentMapping.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,10 @@
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Mapping.ByCode.Impl.CustomizersImpl;
+
+namespace NHibernate.Mapping.ByCode.Conformist
+{
+ public class ComponentMapping<T> : ComponentCustomizer<T> where T : class
+ {
+ public ComponentMapping() : base(new ExplicitDeclarationsHolder(), new CustomizersHolder()) { }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/JoinedSubclassMapping.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/JoinedSubclassMapping.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/JoinedSubclassMapping.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,10 @@
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Mapping.ByCode.Impl.CustomizersImpl;
+
+namespace NHibernate.Mapping.ByCode.Conformist
+{
+ public class JoinedSubclassMapping<T> : JoinedSubclassCustomizer<T> where T : class
+ {
+ public JoinedSubclassMapping() : base(new ExplicitDeclarationsHolder(), new CustomizersHolder()) { }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/SubclassMapping.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/SubclassMapping.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/SubclassMapping.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,10 @@
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Mapping.ByCode.Impl.CustomizersImpl;
+
+namespace NHibernate.Mapping.ByCode.Conformist
+{
+ public class SubclassMapping<T> : SubclassCustomizer<T> where T : class
+ {
+ public SubclassMapping() : base(new ExplicitDeclarationsHolder(), new CustomizersHolder()) { }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/UnionSubclassMapping.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/UnionSubclassMapping.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Conformist/UnionSubclassMapping.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,10 @@
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Mapping.ByCode.Impl.CustomizersImpl;
+
+namespace NHibernate.Mapping.ByCode.Conformist
+{
+ public class UnionSubclassMapping<T> : UnionSubclassCustomizer<T> where T : class
+ {
+ public UnionSubclassMapping() : base(new ExplicitDeclarationsHolder(), new CustomizersHolder()) { }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IConformistHoldersProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IConformistHoldersProvider.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IConformistHoldersProvider.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,10 @@
+using NHibernate.Mapping.ByCode.Impl;
+
+namespace NHibernate.Mapping.ByCode
+{
+ public interface IConformistHoldersProvider
+ {
+ ICustomizersHolder CustomizersHolder { get; }
+ IModelExplicitDeclarationsHolder ExplicitDeclarationsHolder { get; }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-06 15:13:35 UTC (rev 5622)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -6,7 +6,7 @@
namespace NHibernate.Mapping.ByCode.Impl.CustomizersImpl
{
- public class ClassCustomizer<TEntity> : PropertyContainerCustomizer<TEntity>, IClassMapper<TEntity> where TEntity : class
+ public class ClassCustomizer<TEntity> : PropertyContainerCustomizer<TEntity>, IClassMapper<TEntity>, IConformistHoldersProvider where TEntity : class
{
private Dictionary<string, IJoinMapper<TEntity>> joinCustomizers;
@@ -201,5 +201,15 @@
}
#endregion
+
+ ICustomizersHolder IConformistHoldersProvider.CustomizersHolder
+ {
+ get { return CustomizersHolder; }
+ }
+
+ IModelExplicitDeclarationsHolder IConformistHoldersProvider.ExplicitDeclarationsHolder
+ {
+ get { return ExplicitDeclarationsHolder; }
+ }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs 2011-04-06 15:13:35 UTC (rev 5622)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/PropertyContainerCustomizer.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -20,9 +20,10 @@
PropertyPath = propertyPath;
}
- protected ICustomizersHolder CustomizersHolder { get; private set; }
- protected PropertyPath PropertyPath { get; private set; }
- protected IModelExplicitDeclarationsHolder ExplicitDeclarationsHolder
+ protected internal ICustomizersHolder CustomizersHolder { get; private set; }
+ protected internal PropertyPath PropertyPath { get; private set; }
+
+ protected internal IModelExplicitDeclarationsHolder ExplicitDeclarationsHolder
{
get { return explicitDeclarationsHolder; }
}
Added: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ExplicitDeclarationsHolder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ExplicitDeclarationsHolder.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ExplicitDeclarationsHolder.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -0,0 +1,255 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
+namespace NHibernate.Mapping.ByCode.Impl
+{
+ public class ExplicitDeclarationsHolder : IModelExplicitDeclarationsHolder
+ {
+ private readonly HashSet<MemberInfo> any = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> arrays = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> bags = new HashSet<MemberInfo>();
+ private readonly HashSet<System.Type> components = new HashSet<System.Type>();
+ private readonly HashSet<MemberInfo> dictionaries = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> idBags = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> lists = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> manyToManyRelations = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> manyToOneRelations = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> naturalIds = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> oneToManyRelations = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> oneToOneRelations = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> poids = new HashSet<MemberInfo>();
+ private readonly HashSet<MemberInfo> properties = new HashSet<MemberInfo>();
+ private readonly HashSet<System.Type> rootEntities = new HashSet<System.Type>();
+ private readonly HashSet<MemberInfo> sets = new HashSet<MemberInfo>();
+ private readonly HashSet<SplitDefinition> splitDefinitions = new HashSet<SplitDefinition>();
+ private readonly HashSet<System.Type> tablePerClassEntities = new HashSet<System.Type>();
+ private readonly HashSet<System.Type> tablePerClassHierarchyEntities = new HashSet<System.Type>();
+ private readonly HashSet<System.Type> tablePerConcreteClassEntities = new HashSet<System.Type>();
+ private readonly HashSet<MemberInfo> versionProperties = new HashSet<MemberInfo>();
+
+ #region IModelExplicitDeclarationsHolder Members
+
+ public IEnumerable<System.Type> RootEntities
+ {
+ get { return rootEntities; }
+ }
+
+ public IEnumerable<System.Type> Components
+ {
+ get { return components; }
+ }
+
+ public IEnumerable<System.Type> TablePerClassEntities
+ {
+ get { return tablePerClassEntities; }
+ }
+
+ public IEnumerable<System.Type> TablePerClassHierarchyEntities
+ {
+ get { return tablePerClassHierarchyEntities; }
+ }
+
+ public IEnumerable<System.Type> TablePerConcreteClassEntities
+ {
+ get { return tablePerConcreteClassEntities; }
+ }
+
+ public IEnumerable<MemberInfo> OneToOneRelations
+ {
+ get { return oneToOneRelations; }
+ }
+
+ public IEnumerable<MemberInfo> ManyToOneRelations
+ {
+ get { return manyToOneRelations; }
+ }
+
+ public IEnumerable<MemberInfo> ManyToManyRelations
+ {
+ get { return manyToManyRelations; }
+ }
+
+ public IEnumerable<MemberInfo> OneToManyRelations
+ {
+ get { return oneToManyRelations; }
+ }
+
+ public IEnumerable<MemberInfo> Any
+ {
+ get { return any; }
+ }
+
+ public IEnumerable<MemberInfo> Poids
+ {
+ get { return poids; }
+ }
+
+ public IEnumerable<MemberInfo> VersionProperties
+ {
+ get { return versionProperties; }
+ }
+
+ public IEnumerable<MemberInfo> NaturalIds
+ {
+ get { return naturalIds; }
+ }
+
+ public IEnumerable<MemberInfo> Sets
+ {
+ get { return sets; }
+ }
+
+ public IEnumerable<MemberInfo> Bags
+ {
+ get { return bags; }
+ }
+
+ public IEnumerable<MemberInfo> IdBags
+ {
+ get { return idBags; }
+ }
+
+ public IEnumerable<MemberInfo> Lists
+ {
+ get { return lists; }
+ }
+
+ public IEnumerable<MemberInfo> Arrays
+ {
+ get { return arrays; }
+ }
+
+ public IEnumerable<MemberInfo> Dictionaries
+ {
+ get { return dictionaries; }
+ }
+
+ public IEnumerable<MemberInfo> Properties
+ {
+ get { return properties; }
+ }
+
+ public IEnumerable<SplitDefinition> SplitDefinitions
+ {
+ get { return splitDefinitions; }
+ }
+
+ public IEnumerable<string> GetSplitGroupsFor(System.Type type)
+ {
+ return Enumerable.Empty<string>();
+ }
+
+ public string GetSplitGroupFor(MemberInfo member)
+ {
+ return null;
+ }
+
+ public void AddAsRootEntity(System.Type type)
+ {
+ rootEntities.Add(type);
+ }
+
+ public void AddAsComponent(System.Type type)
+ {
+ components.Add(type);
+ }
+
+ public void AddAsTablePerClassEntity(System.Type type)
+ {
+ tablePerClassEntities.Add(type);
+ }
+
+ public void AddAsTablePerClassHierarchyEntity(System.Type type)
+ {
+ tablePerClassHierarchyEntities.Add(type);
+ }
+
+ public void AddAsTablePerConcreteClassEntity(System.Type type)
+ {
+ tablePerConcreteClassEntities.Add(type);
+ }
+
+ public void AddAsOneToOneRelation(MemberInfo member)
+ {
+ oneToOneRelations.Add(member);
+ }
+
+ public void AddAsManyToOneRelation(MemberInfo member)
+ {
+ manyToOneRelations.Add(member);
+ }
+
+ public void AddAsManyToManyRelation(MemberInfo member)
+ {
+ manyToManyRelations.Add(member);
+ }
+
+ public void AddAsOneToManyRelation(MemberInfo member)
+ {
+ oneToManyRelations.Add(member);
+ }
+
+ public void AddAsAny(MemberInfo member)
+ {
+ any.Add(member);
+ }
+
+ public void AddAsPoid(MemberInfo member)
+ {
+ poids.Add(member);
+ }
+
+ public void AddAsVersionProperty(MemberInfo member)
+ {
+ versionProperties.Add(member);
+ }
+
+ public void AddAsNaturalId(MemberInfo member)
+ {
+ naturalIds.Add(member);
+ }
+
+ public void AddAsSet(MemberInfo member)
+ {
+ sets.Add(member);
+ }
+
+ public void AddAsBag(MemberInfo member)
+ {
+ bags.Add(member);
+ }
+
+ public void AddAsIdBag(MemberInfo member)
+ {
+ idBags.Add(member);
+ }
+
+ public void AddAsList(MemberInfo member)
+ {
+ lists.Add(member);
+ }
+
+ public void AddAsArray(MemberInfo member)
+ {
+ arrays.Add(member);
+ }
+
+ public void AddAsMap(MemberInfo member)
+ {
+ dictionaries.Add(member);
+ }
+
+ public void AddAsProperty(MemberInfo member)
+ {
+ properties.Add(member);
+ }
+
+ public void AddAsPropertySplit(System.Type propertyContainer, string splitGroupId, MemberInfo member)
+ {
+ splitDefinitions.Add(new SplitDefinition(propertyContainer, splitGroupId, member));
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2011-04-06 15:13:35 UTC (rev 5622)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2011-04-06 16:07:13 UTC (rev 5623)
@@ -280,6 +280,11 @@
<Compile Include="Mapping\ByCode\CascadeExtensions.cs" />
<Compile Include="Mapping\ByCode\CollectionFetchMode.cs" />
<Compile Include="Mapping\ByCode\CollectionLazy.cs" />
+ <Compile Include="Mapping\ByCode\Conformist\ClassMapping.cs" />
+ <Compile Include="Mapping\ByCode\Conformist\ComponentMapping.cs" />
+ <Compile Include="Mapping\ByCode\Conformist\JoinedSubclassMapping.cs" />
+ <Compile Include="Mapping\ByCode\Conformist\SubclassMapping.cs" />
+ <Compile Include="Mapping\ByCode\Conformist\UnionSubclassMapping.cs" />
<Compile Include="Mapping\ByCode\ExplicitlyDeclaredModel.cs" />
<Compile Include="Mapping\ByCode\FakeModelExplicitDeclarationsHolder.cs" />
<Compile Include="Mapping\ByCode\FetchKind.cs" />
@@ -299,6 +304,7 @@
<Compile Include="Mapping\ByCode\IComponentMapKeyMapper.cs" />
<Compile Include="Mapping\ByCode\IComponentMapper.cs" />
<Compile Include="Mapping\ByCode\IComponentParentMapper.cs" />
+ <Compile Include="Mapping\ByCode\IConformistHoldersProvider.cs" />
<Compile Include="Mapping\ByCode\IDiscriminatorMapper.cs" />
<Compile Include="Mapping\ByCode\IElementMapper.cs" />
<Compile Include="Mapping\ByCode\IEntityAttributesMapper.cs" />
@@ -369,6 +375,7 @@
<Compile Include="Mapping\ByCode\Impl\DefaultCandidatePersistentMembersProvider.cs" />
<Compile Include="Mapping\ByCode\Impl\DiscriminatorMapper.cs" />
<Compile Include="Mapping\ByCode\Impl\ElementMapper.cs" />
+ <Compile Include="Mapping\ByCode\Impl\ExplicitDeclarationsHolder.cs" />
<Compile Include="Mapping\ByCode\Impl\FilterMapper.cs" />
<Compile Include="Mapping\ByCode\Impl\GeneratorMapper.cs" />
<Compile Include="Mapping\ByCode\Generators.cs" />
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ModelExplicitDeclarationsHolderMergeTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ModelExplicitDeclarationsHolderMergeTest.cs 2011-04-06 15:13:35 UTC (rev 5622)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ModelExplicitDeclarationsHolderMergeTest.cs 2011-04-06 16:07:13 UTC (rev 5623)
@@ -1,7 +1,6 @@
-using System.Collections.Generic;
-using System.Linq;
using System.Reflection;
using NHibernate.Mapping.ByCode;
+using NHibernate.Mapping.ByCode.Impl;
using NUnit.Framework;
using SharpTestsEx;
@@ -14,15 +13,15 @@
[Test]
public void WhenMergeNullsThenNotThrows()
{
- Executing.This(() => ((EmptyHolder) null).Merge(new EmptyHolder())).Should().NotThrow();
- Executing.This(() => (new EmptyHolder()).Merge(null)).Should().NotThrow();
+ Executing.This(() => ((ExplicitDeclarationsHolder) null).Merge(new ExplicitDeclarationsHolder())).Should().NotThrow();
+ Executing.This(() => (new ExplicitDeclarationsHolder()).Merge(null)).Should().NotThrow();
}
[Test]
public void MergeSplitDefinitions()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsPropertySplit(typeof (MyClass), "foo", property);
destination.Merge(source);
@@ -32,8 +31,8 @@
[Test]
public void MergeProperties()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsProperty(property);
destination.Merge(source);
@@ -43,8 +42,8 @@
[Test]
public void MergeDictionaries()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsMap(property);
destination.Merge(source);
@@ -54,8 +53,8 @@
[Test]
public void MergeArrays()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsArray(property);
destination.Merge(source);
@@ -65,8 +64,8 @@
[Test]
public void MergeLists()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsList(property);
destination.Merge(source);
@@ -76,8 +75,8 @@
[Test]
public void MergeIdBags()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsIdBag(property);
destination.Merge(source);
@@ -87,8 +86,8 @@
[Test]
public void MergeBags()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsBag(property);
destination.Merge(source);
@@ -98,8 +97,8 @@
[Test]
public void MergeSets()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsSet(property);
destination.Merge(source);
@@ -109,8 +108,8 @@
[Test]
public void MergeNaturalIds()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsNaturalId(property);
destination.Merge(source);
@@ -120,8 +119,8 @@
[Test]
public void MergeVersionProperties()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsVersionProperty(property);
destination.Merge(source);
@@ -131,8 +130,8 @@
[Test]
public void MergePoids()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsPoid(property);
destination.Merge(source);
@@ -142,8 +141,8 @@
[Test]
public void MergeAny()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsAny(property);
destination.Merge(source);
@@ -153,8 +152,8 @@
[Test]
public void MergeOneToManyRelations()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsOneToManyRelation(property);
destination.Merge(source);
@@ -164,8 +163,8 @@
[Test]
public void MergeManyToManyRelations()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsManyToManyRelation(property);
destination.Merge(source);
@@ -175,8 +174,8 @@
[Test]
public void MergeManyToOneRelations()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsManyToOneRelation(property);
destination.Merge(source);
@@ -186,8 +185,8 @@
[Test]
public void MergeOneToOneRelations()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsOneToOneRelation(property);
destination.Merge(source);
@@ -197,8 +196,8 @@
[Test]
public void MergeTablePerConcreteClassEntities()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsTablePerConcreteClassEntity(typeof (MyClass));
destination.Merge(source);
@@ -208,8 +207,8 @@
[Test]
public void MergeTablePerClassHierarchyEntities()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsTablePerClassHierarchyEntity(typeof (MyClass));
destination.Merge(source);
@@ -219,8 +218,8 @@
[Test]
public void MergeTablePerClassEntities()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsTablePerClassEntity(typeof (MyClass));
destination.Merge(source);
@@ -230,8 +229,8 @@
[Test]
public void MergeComponents()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsComponent(typeof (MyClass));
destination.Merge(source);
@@ -241,267 +240,14 @@
[Test]
public void MergeRootEntities()
{
- var destination = new EmptyHolder();
- var source = new EmptyHolder();
+ var destination = new ExplicitDeclarationsHolder();
+ var source = new ExplicitDeclarationsHolder();
source.AddAsRootEntity(typeof (MyClass));
destination.Merge(source);
destination.RootEntities.Should().Have.Count.EqualTo(1);
}
- #region Nested type: EmptyHolder
-
- public class EmptyHolder : IModelExplicitDeclarationsHolder
- {
- private readonly HashSet<MemberInfo> any = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> arrays = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> bags = new HashSet<MemberInfo>();
- private readonly HashSet<System.Type> components = new HashSet<System.Type>();
- private readonly HashSet<MemberInfo> dictionaries = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> idBags = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> lists = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> manyToManyRelations = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> manyToOneRelations = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> naturalIds = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> oneToManyRelations = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> oneToOneRelations = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> poids = new HashSet<MemberInfo>();
- private readonly HashSet<MemberInfo> properties = new HashSet<MemberInfo>();
- private readonly HashSet<System.Type> rootEntities = new HashSet<System.Type>();
- private readonly HashSet<MemberInfo> sets = new HashSet<MemberInfo>();
- private readonly HashSet<SplitDefinition> splitDefinitions = new HashSet<SplitDefinition>();
- private readonly HashSet<System.Type> tablePerClassEntities = new HashSet<System.Type>();
- private readonly HashSet<System.Type> tablePerClassHierarchyEntities = new HashSet<System.Type>();
- private readonly HashSet<System.Type> tablePerConcreteClassEntities = new HashSet<System.Type>();
- private readonly HashSet<MemberInfo> versionProperties = new HashSet<MemberInfo>();
-
- #region IModelExplicitDeclarationsHolder Members
-
- public IEnumerable<System.Type> RootEntities
- {
- get { return rootEntities; }
- }
-
- public IEnumerable<System.Type> Components
- {
- get { return components; }
- }
-
- public IEnumerable<System.Type> TablePerClassEntities
- {
- get { return tablePerClassEntities; }
- }
-
- public IEnumerable<System.Type> TablePerClassHierarchyEntities
- {
- get { return tablePerClassHierarchyEntities; }
- }
-
- public IEnumerable<System.Type> TablePerConcreteClassEntities
- {
- get { return tablePerConcreteClassEntities; }
- }
-
- public IEnumerable<MemberInfo> OneToOneRelations
- {
- get { return oneToOneRelations; }
- }
-
- public IEnumerable<MemberInfo> ManyToOneRelations
- {
- get { return manyToOneRelations; }
- }
-
- public IEnumerable<MemberInfo> ManyToManyRelations
- {
- get { return manyToManyRelations; }
- }
-
- public IEnumerable<MemberInfo> OneToManyRelations
- {
- get { return oneToManyRelations; }
- }
-
- public IEnumerable<MemberInfo> Any
- {
- get { return any; }
- }
-
- public IEnumerable<MemberInfo> Poids
- {
- get { return poids; }
- }
-
- public IEnumerable<MemberInfo> VersionProperties
- {
- get { return versionProperties; }
- }
-
- public IEnumerable<MemberInfo> NaturalIds
- {
- get { return naturalIds; }
- }
-
- public IEnumerable<MemberInfo> Sets
- {
- get { return sets; }
- }
-
- public IEnumerable<MemberInfo> Bags
- {
- get { return bags; }
- }
-
- public IEnumerable<MemberInfo> IdBags
- {
- get { return idBags; }
- }
-
- public IEnumerable<MemberInfo> Lists
- {
- get { return lists; }
- }
-
- public IEnumerable<MemberInfo> Arrays
- {
- get { return arrays; }
- }
-
- public IEnumerable<MemberInfo> Dictionaries
- {
- get { return dictionaries; }
- }
-
- public IEnumerable<MemberInfo> Properties
- {
- get { return properties; }
- }
-
- public IEnumerable<SplitDefinition> SplitDefinitions
- {
- get { return splitDefinitions; }
- }
-
- public IEnumerable<string> GetSplitGroupsFor(System.Type type)
- {
- return Enumerable.Empty<string>();
- }
-
- public string GetSplitGroupFor(MemberInfo member)
- {
- return null;
- }
-
- public void AddAsRootEntity(System.Type type)
- {
- rootEntities.Add(type);
- }
-
- public void AddAsComponent(System.Type type)
- {
- components.Add(type);
- }
-
- public void AddAsTablePerClassEntity(System.Type type)
- {
- tablePerClassEntities.Add(type);
- }
-
- public void AddAsTablePerClassHierarchyEntity(System.Type type)
- {
- tablePerClassHierarchyEntities.Add(type);
- }
-
- public void AddAsTablePerConcreteClassEntity(System.Type type)
- {
- tablePerConcreteClassEntities.Add(type);
- }
-
- public void AddAsOneToOneRelation(MemberInfo member)
- {
- oneToOneRelations.Add(member);
- }
-
- public void AddAsManyToOneRelation(MemberInfo member)
- {
- manyToOneRelations.Add(member);
- }
-
- public void AddAsManyToManyRelation(MemberInfo member)
- {
- manyToManyRelations.Add(member);
- }
-
- public void AddAsOneToManyRelation(MemberInfo member)
- {
- oneToManyRelations.Add(member);
- }
-
- public void AddAsAny(MemberInfo member)
- {
- any.Add(member);
- }
-
- public void AddAsPoid(MemberInfo member)
- {
- poids.Add(member);
- }
-
- public void AddAsVersionProperty(MemberInfo member)
- {
- versionProperties.Add(member);
- }
-
- public void AddAsNaturalId(MemberInfo member)
- {
- naturalIds.Add(member);
- }
-
- public void AddAsSet(MemberInfo member)
- {
- sets.Add(member);
- }
-
- public void AddAsBag(MemberInfo member)
- {
- bags.Add(member);
- }
-
- public void AddAsIdBag(MemberInfo member)
- {
- idBags.Add(member);
- }
-
- public void AddAsList(MemberInfo member)
- {
- lists.Add(member);
- }
-
- public void AddAsArray(MemberInfo member)
- {
- arrays.Add(member);
- }
-
- public void AddAsMap(MemberInfo member)
- {
- dictionaries.Add(member);
- }
-
- public void AddAsProperty(MemberInfo member)
- {
- properties.Add(member);
- }
-
- public void AddAsPropertySplit(System.Type propertyContainer, string splitGroupId, MemberInfo member)
- {
- splitDefinitions.Add(new SplitDefinition(propertyContainer, splitGroupId, member));
- }
-
- #endregion
- }
-
- #endregion
-
#region Nested type: MyClass
private class MyClass
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|