|
From: <fab...@us...> - 2011-04-03 13:44:00
|
Revision: 5589
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5589&view=rev
Author: fabiomaulo
Date: 2011-04-03 13:43:54 +0000 (Sun, 03 Apr 2011)
Log Message:
-----------
Minor (only fixed for Alpha1)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-03 13:29:00 UTC (rev 5588)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-03 13:43:54 UTC (rev 5589)
@@ -1040,7 +1040,10 @@
private IMapKeyRelationMapper DetermineMapKeyRelationType(MemberInfo member, PropertyPath propertyPath, System.Type dictionaryKeyType)
{
- if (modelInspector.IsManyToMany(member) || modelInspector.IsOneToMany(member))
+ // Perhaps we have to change IModelInspector with IsDictionaryKeyManyToMany(member), IsDictionaryKeyComponent(member) and so on
+
+ //if (modelInspector.IsManyToMany(member) || modelInspector.IsOneToMany(member))
+ if (modelInspector.IsEntity(dictionaryKeyType))
{
// OneToMany is not possible as map-key so we map it as many-to-many instead ignore the case
return new KeyManyToManyRelationMapper(propertyPath, customizerHolder, this);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-05 18:57:34
|
Revision: 5615
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5615&view=rev
Author: fabiomaulo
Date: 2011-04-05 18:57:28 +0000 (Tue, 05 Apr 2011)
Log Message:
-----------
Minor
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-05 18:52:02 UTC (rev 5614)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-05 18:57:28 UTC (rev 5615)
@@ -640,7 +640,7 @@
IJoinMapper joinMapper;
if (propertiesOfTheGroup.Count > 0 && classMapper.JoinMappers.TryGetValue(groupId, out joinMapper))
{
- MapProperties(type, propertiesOfTheGroup, joinMapper);
+ MapSplittedProperties(type, propertiesOfTheGroup, joinMapper);
propertiesInSplits.UnionWith(propertiesOfTheGroup);
}
}
@@ -725,7 +725,7 @@
IJoinMapper joinMapper;
if (propertiesOfTheGroup.Count > 0 && classMapper.JoinMappers.TryGetValue(groupId, out joinMapper))
{
- MapProperties(type, propertiesOfTheGroup, joinMapper);
+ MapSplittedProperties(type, propertiesOfTheGroup, joinMapper);
propertiesInSplits.UnionWith(propertiesOfTheGroup);
}
}
@@ -734,7 +734,7 @@
InvokeAfterMapClass(type, classMapper);
}
- private void MapProperties(System.Type propertiesContainerType, IEnumerable<MemberInfo> propertiesToMap, IJoinMapper propertiesContainer)
+ private void MapSplittedProperties(System.Type propertiesContainerType, IEnumerable<MemberInfo> propertiesToMap, IJoinMapper propertiesContainer)
{
foreach (var property in propertiesToMap)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-12 14:27:53
|
Revision: 5677
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5677&view=rev
Author: fabiomaulo
Date: 2011-04-12 14:27:47 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Minor (protected property)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-12 12:21:04 UTC (rev 5676)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-12 14:27:47 UTC (rev 5677)
@@ -491,7 +491,7 @@
#endregion
- public IModelInspector ModelInspector
+ protected IModelInspector ModelInspector
{
get { return modelInspector; }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-16 22:07:56
|
Revision: 5713
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5713&view=rev
Author: fabiomaulo
Date: 2011-04-16 22:07:50 +0000 (Sat, 16 Apr 2011)
Log Message:
-----------
Refactoring (removed duplicated code)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-16 21:27:47 UTC (rev 5712)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-16 22:07:50 UTC (rev 5713)
@@ -1598,14 +1598,18 @@
public void AddMapping<T>() where T: IConformistHoldersProvider, new()
{
- var mapping = new T();
+ AddMapping(new T());
+ }
+
+ public void AddMapping(IConformistHoldersProvider mapping)
+ {
var thisCustomizerHolder = customizerHolder as CustomizersHolder;
if (thisCustomizerHolder == null)
{
throw new NotSupportedException("To merge 'conformist' mappings, the instance of ICustomizersHolder, provided in the ModelMapper constructor, have to be a CustomizersHolder instance.");
}
var otherCustomizerHolder = mapping.CustomizersHolder as CustomizersHolder;
- if(otherCustomizerHolder == null)
+ if (otherCustomizerHolder == null)
{
throw new NotSupportedException("The mapping class have to provide a CustomizersHolder instance.");
}
@@ -1630,18 +1634,7 @@
{
throw new ArgumentOutOfRangeException("type", "The mapping class must be an implementation of IConformistHoldersProvider.");
}
- var thisCustomizerHolder = customizerHolder as CustomizersHolder;
- if (thisCustomizerHolder == null)
- {
- throw new NotSupportedException("To merge 'conformist' mappings, the instance of ICustomizersHolder, provided in the ModelMapper constructor, have to be a CustomizersHolder instance.");
- }
- var otherCustomizerHolder = mapping.CustomizersHolder as CustomizersHolder;
- if (otherCustomizerHolder == null)
- {
- throw new NotSupportedException("The mapping class have to provide a CustomizersHolder instance.");
- }
- thisCustomizerHolder.Merge(otherCustomizerHolder);
- explicitDeclarationsHolder.Merge(mapping.ExplicitDeclarationsHolder);
+ AddMapping(mapping);
}
public void AddMappings(IEnumerable<System.Type> types)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-19 18:05:05
|
Revision: 5721
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5721&view=rev
Author: fabiomaulo
Date: 2011-04-19 18:04:58 +0000 (Tue, 19 Apr 2011)
Log Message:
-----------
Refactoring
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-19 17:50:26 UTC (rev 5720)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-19 18:04:58 UTC (rev 5721)
@@ -1035,9 +1035,7 @@
IEnumerable<MemberInfo> persistentProperties =
membersProvider.GetComponentMembers(componentType).Where(p => modelInspector.IsPersistentProperty(p));
- MemberInfo parentReferenceProperty = modelInspector.IsComponent(propertiesContainerType)
- ? persistentProperties.FirstOrDefault(pp => pp.GetPropertyOrFieldType() == propertiesContainerType)
- : null;
+ MemberInfo parentReferenceProperty = GetComponentParentReferenceProperty(persistentProperties, propertiesContainerType);
if (parentReferenceProperty != null)
{
componentMapper.Parent(parentReferenceProperty,
@@ -1054,6 +1052,13 @@
});
}
+ protected MemberInfo GetComponentParentReferenceProperty(IEnumerable<MemberInfo> persistentProperties, System.Type propertiesContainerType)
+ {
+ return modelInspector.IsComponent(propertiesContainerType)
+ ? persistentProperties.FirstOrDefault(pp => pp.GetPropertyOrFieldType() == propertiesContainerType)
+ : null;
+ }
+
private void MapBag(MemberInfo member, PropertyPath propertyPath, System.Type propertyType, ICollectionPropertiesContainerMapper propertiesContainer,
System.Type propertiesContainerType)
{
@@ -1232,26 +1237,24 @@
public void Map(ICollectionElementRelation relation)
{
relation.Component(x =>
- {
- IEnumerable<MemberInfo> persistentProperties = GetPersistentProperties(componentType);
+ {
+ IEnumerable<MemberInfo> persistentProperties = GetPersistentProperties(componentType);
- MemberInfo parentReferenceProperty = domainInspector.IsComponent(ownerType)
- ? persistentProperties.FirstOrDefault(pp => pp.GetPropertyOrFieldType() == ownerType)
- : null;
- if (parentReferenceProperty != null)
- {
- x.Parent(parentReferenceProperty,
- componentParentMapper =>
- {
+ MemberInfo parentReferenceProperty = modelMapper.GetComponentParentReferenceProperty(persistentProperties, ownerType);
+ if (parentReferenceProperty != null)
+ {
+ x.Parent(parentReferenceProperty,
+ componentParentMapper =>
+ {
/* TODO */
- }
- );
- }
- customizersHolder.InvokeCustomizers(componentType, x);
+ }
+ );
+ }
+ customizersHolder.InvokeCustomizers(componentType, x);
- var propertyPath = new PropertyPath(null, collectionMember);
- MapProperties(componentType, propertyPath, x, persistentProperties.Where(pi => pi != parentReferenceProperty));
- });
+ var propertyPath = new PropertyPath(null, collectionMember);
+ MapProperties(componentType, propertyPath, x, persistentProperties.Where(pi => pi != parentReferenceProperty));
+ });
}
public void MapCollectionProperties(ICollectionPropertiesMapper mapped) {}
@@ -1294,7 +1297,7 @@
IEnumerable<MemberInfo> componentProperties = GetPersistentProperties(componentPropertyType);
- MemberInfo parentReferenceProperty = componentProperties.FirstOrDefault(pp => pp.GetPropertyOrFieldType() == componentOwnerType);
+ MemberInfo parentReferenceProperty = modelMapper.GetComponentParentReferenceProperty(componentProperties, componentOwnerType);
if (parentReferenceProperty != null)
{
x.Parent(parentReferenceProperty, componentParentMapper =>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-07-17 18:54:02
|
Revision: 5986
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5986&view=rev
Author: fabiomaulo
Date: 2011-07-17 18:53:55 +0000 (Sun, 17 Jul 2011)
Log Message:
-----------
Minor
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-07-11 00:01:17 UTC (rev 5985)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-07-17 18:53:55 UTC (rev 5986)
@@ -491,7 +491,7 @@
#endregion
- protected IModelInspector ModelInspector
+ public IModelInspector ModelInspector
{
get { return modelInspector; }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|