From: Michael D. <mik...@us...> - 2004-07-06 21:08:36
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Collection In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv462/Collection Modified Files: Map.cs SortedMap.cs Log Message: Fixed bug where a lazy loaded sorted map was deleting the entries because it was not loading properly. Added comments to ctors. Index: Map.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Collection/Map.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Map.cs 3 Jun 2004 13:29:32 -0000 1.9 --- Map.cs 6 Jul 2004 21:08:17 -0000 1.10 *************** *** 39,44 **** --- 39,55 ---- } + /// <summary> + /// Construct an uninitialized Map. + /// </summary> + /// <param name="session">The ISession the Map should be a part of.</param> public Map(ISessionImplementor session) : base(session) { } + /// <summary> + /// Construct an initialized Map from its disassembled state. + /// </summary> + /// <param name="session">The ISession the Map should be a part of.</param> + /// <param name="persister">The CollectionPersister to use to reassemble the Map.</param> + /// <param name="disassembled">The disassembled Map.</param> + /// <param name="owner">The owner object.</param> public Map(ISessionImplementor session, CollectionPersister persister, object disassembled, object owner) : base(session) { BeforeInitialize(persister); *************** *** 50,54 **** } ! public override void BeforeInitialize(CollectionPersister persister) { if(persister.HasOrdering) --- 61,79 ---- } ! /// <summary> ! /// Construct an initialized Map based off the values from the existing IDictionary. ! /// </summary> ! /// <param name="session">The ISession the Map should be a part of.</param> ! /// <param name="map">The IDictionary that contains the initial values.</param> ! public Map(ISessionImplementor session, IDictionary map) : base(session) ! { ! this.map = map; ! initialized = true; ! directlyAccessible = true; ! } ! ! ! public override void BeforeInitialize(CollectionPersister persister) ! { if(persister.HasOrdering) *************** *** 67,76 **** } - public Map(ISessionImplementor session, IDictionary map) : base(session) { - this.map = map; - initialized = true; - directlyAccessible = true; - } - public int Count { get { --- 92,95 ---- Index: SortedMap.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Collection/SortedMap.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SortedMap.cs 27 Apr 2004 15:49:21 -0000 1.2 --- SortedMap.cs 6 Jul 2004 21:08:21 -0000 1.3 *************** *** 24,28 **** protected override object Snapshot(CollectionPersister persister) { ! SortedList clonedMap = new SortedList(comparer, map.Count); foreach(DictionaryEntry de in map) { --- 24,28 ---- protected override object Snapshot(CollectionPersister persister) { ! SortedList clonedMap = new SortedList(comparer); foreach(DictionaryEntry de in map) { *************** *** 39,45 **** } ! public SortedMap(ISessionImplementor session, CollectionPersister persister, IComparer comparer, object disassembled, object owner) : this(session, comparer) { BeforeInitialize(persister); object[] array = (object[])disassembled; --- 39,63 ---- } + /// <summary> + /// Create an Uninitialized SortedMap. + /// </summary> + /// <param name="session">The ISession the Map should be a part of.</param> + public SortedMap(ISessionImplementor session) + : base(session) + { + } ! /// <summary> ! /// Create an Initialized SortedMap from its disassembled state. ! /// </summary> ! /// <param name="session">The ISession the Map should be a part of.</param> ! /// <param name="persister">The CollectionPersister to use to reassemble the Map.</param> ! /// <param name="comparer">The IComparer to perform the sorting.</param> ! /// <param name="disassembled">The disassembled Map.</param> ! /// <param name="owner">The owner object.</param> ! public SortedMap(ISessionImplementor session, CollectionPersister persister, IComparer comparer, object disassembled, object owner) ! : base(session) { + this.comparer = comparer; BeforeInitialize(persister); object[] array = (object[])disassembled; *************** *** 58,66 **** /// <summary> ! /// Constuct a new empty SortedMap that uses a IComparer to perform the sorting. /// </summary> /// <param name="session"></param> /// <param name="comparer">The IComparer to user for Sorting.</param> ! public SortedMap(ISessionImplementor session, IComparer comparer) : base(session, new SortedList(comparer)) { this.comparer = comparer; --- 76,85 ---- /// <summary> ! /// Constuct an uninitialized SortedMap that uses an IComparer to perform the sorting. /// </summary> /// <param name="session"></param> /// <param name="comparer">The IComparer to user for Sorting.</param> ! public SortedMap(ISessionImplementor session, IComparer comparer) ! : base(session) { this.comparer = comparer; *************** *** 68,77 **** /// <summary> ! /// Construct a new SortedMap initialized with the map values. /// </summary> ! /// <param name="session">The Session to be bound to.</param> ! /// <param name="map">The initial values.</param> /// <param name="comparer">The IComparer to use for Sorting.</param> ! public SortedMap(ISessionImplementor session, IDictionary map, IComparer comparer) : base(session, new SortedList(map, comparer)) { this.comparer = comparer; --- 87,97 ---- /// <summary> ! /// Construct an initialized SortedMap based off the values from the existing IDictionary. /// </summary> ! /// <param name="session">The ISession the SortedMap should be a part of.</param> ! /// <param name="map">The IDictionary that contains the initial values.</param> /// <param name="comparer">The IComparer to use for Sorting.</param> ! public SortedMap(ISessionImplementor session, IDictionary map, IComparer comparer) ! : base(session, new SortedList(map, comparer)) { this.comparer = comparer; |