|
From: <fab...@us...> - 2008-09-18 14:05:51
|
Revision: 3766
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3766&view=rev
Author: fabiomaulo
Date: 2008-09-18 21:06:00 +0000 (Thu, 18 Sep 2008)
Log Message:
-----------
EntityNames recognitions inside a hbm file with default namespace
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs
trunk/nhibernate/src/NHibernate.Test/Extendshbm/ExtendsFixture.cs
Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs 2008-09-18 20:29:55 UTC (rev 3765)
+++ trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs 2008-09-18 21:06:00 UTC (rev 3766)
@@ -1,7 +1,5 @@
-using Iesi.Collections;
-using NHibernate.Util;
+using System.Collections.Generic;
using Iesi.Collections.Generic;
-using System.Collections.Generic;
namespace NHibernate.Cfg
{
@@ -10,17 +8,16 @@
/// </summary>
public class MappingsQueueEntry
{
+ private readonly HashedSet<string> containedClassNames;
private readonly NamedXmlDocument document;
- private readonly ISet<string> requiredClassNames;
- private readonly ISet<string> containedClassNames;
+ private readonly HashedSet<string> requiredClassNames;
public MappingsQueueEntry(NamedXmlDocument document, IEnumerable<ClassExtractor.ClassEntry> classEntries)
{
this.document = document;
containedClassNames = GetClassNames(classEntries);
- requiredClassNames = GetExtendsNames(classEntries);
- requiredClassNames.RemoveAll(containedClassNames);
+ requiredClassNames = GetRequiredClassNames(classEntries, containedClassNames);
}
public NamedXmlDocument Document
@@ -28,8 +25,25 @@
get { return document; }
}
- private static ISet<string> GetClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries)
+ /// <summary>
+ /// Gets the names of all entities outside this resource
+ /// needed by the classes in this resource.
+ /// </summary>
+ public ICollection<string> RequiredClassNames
{
+ get { return requiredClassNames; }
+ }
+
+ /// <summary>
+ /// Gets the names of all entities in this resource
+ /// </summary>
+ public ICollection<string> ContainedClassNames
+ {
+ get { return containedClassNames; }
+ }
+
+ private static HashedSet<string> GetClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries)
+ {
HashedSet<string> result = new HashedSet<string>();
foreach (ClassExtractor.ClassEntry ce in classEntries)
@@ -47,13 +61,14 @@
return result;
}
- private static ISet<string> GetExtendsNames(IEnumerable<ClassExtractor.ClassEntry> classEntries)
+ private static HashedSet<string> GetRequiredClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries,
+ ICollection<string> containedNames)
{
HashedSet<string> result = new HashedSet<string>();
foreach (ClassExtractor.ClassEntry ce in classEntries)
{
- if (ce.FullExtends != null)
+ if (ce.ExtendsEntityName != null && !containedNames.Contains(ce.FullExtends.Type) && !containedNames.Contains(ce.ExtendsEntityName))
{
result.Add(ce.FullExtends.Type);
}
@@ -61,20 +76,5 @@
return result;
}
-
- /// <summary>
- /// Gets the names of all classes outside this resource
- /// needed by the classes in this resource.
- /// </summary>
- /// <returns>An <see cref="ISet"/> of <see cref="AssemblyQualifiedTypeName" /></returns>
- public ICollection<string> RequiredClassNames
- {
- get { return requiredClassNames; }
- }
-
- public ICollection<string> ContainedClassNames
- {
- get { return containedClassNames; }
- }
}
-}
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/Extendshbm/ExtendsFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Extendshbm/ExtendsFixture.cs 2008-09-18 20:29:55 UTC (rev 3765)
+++ trunk/nhibernate/src/NHibernate.Test/Extendshbm/ExtendsFixture.cs 2008-09-18 21:06:00 UTC (rev 3766)
@@ -104,7 +104,7 @@
Assert.That(cfg.GetClassMapping("EntityCompany"), Is.Not.Null);
}
- [Test, Ignore("Not supported yet!")]
+ [Test]
public void EntityNamesWithPackageFailureExpected()
{
Configuration cfg = new Configuration();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|