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. |