|
From: <fab...@us...> - 2008-10-10 04:33:35
|
Revision: 3827
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3827&view=rev
Author: fabiomaulo
Date: 2008-10-10 04:33:22 +0000 (Fri, 10 Oct 2008)
Log Message:
-----------
another initial test to support Xml entityMode
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/
trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/AB.hbm.xml
trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Account.hbm.xml
trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Employer.hbm.xml
trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/XmlFixture.cs
Added: trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/AB.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/AB.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/AB.hbm.xml 2008-10-10 04:33:22 UTC (rev 3827)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
+
+ <class entity-name="A" table="AX" node="a">
+ <id name="aId" type="int" column="aId" node="@id"/>
+ <property name="x" type="string"/>
+ <set name="bs" node="." embed-xml="true" cascade="all" inverse="true">
+ <key column="aId"/>
+ <one-to-many class="B"/>
+ </set>
+ </class>
+
+
+ <class entity-name="B" table="BX" node="b">
+ <composite-id>
+ <key-property name="bId" column="bId" type="int" node="@bId"/>
+ <key-property name="aId" column="aId" type="int" node="@aId"/>
+ </composite-id>
+ <property name="y" type="string" node="."/>
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Account.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Account.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Account.hbm.xml 2008-10-10 04:33:22 UTC (rev 3827)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
+
+ <class entity-name="Customer" node="customer">
+ <id name="customerId" type="string" node="@id"/>
+ <component name="name">
+ <property name="first" type="string"/>
+ <property name="last" type="string"/>
+ </component>
+ <property name="address" type="string" node="address"/>
+ <map name="stuff">
+ <key column="customerId"/>
+ <map-key type="string" column="bar" node="@bar"/>
+ <element type="string" node="foo" column="foo"/>
+ </map>
+ <bag name="morestuff" node=".">
+ <key column="customerId"/>
+ <element type="integer" node="amount" column="amount"/>
+ </bag>
+ <list name="accounts" cascade="all">
+ <key column="customerId2"/>
+ <list-index column="acctno" base="1"/>
+ <one-to-many entity-name="Account" node="account"/>
+ </list>
+ <many-to-one name="location" node="location/@id" entity-name="Location" embed-xml="false"/>
+ <property name="description" node="." type="string"/>
+ <set name="unembedded" embed-xml="false">
+ <key column="x"/>
+ <element type="string" column="y" not-null="true"/>
+ </set>
+ </class>
+
+ <class entity-name="Account" node="account">
+ <id name="accountId" type="string" node="@id"/>
+ <many-to-one name="customer" column="customerId" entity-name="Customer" cascade="all" embed-xml="true" />
+ <!--not-null="true"-->
+ <property name="balance" type="big_decimal" node="balance" precision="10" scale="0" />
+ </class>
+
+ <class entity-name="Location" node="location">
+ <id name="id" node="@id" type="long">
+ <generator class="increment"/>
+ </id>
+ <property name="address" type="string"/>
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Employer.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Employer.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/Employer.hbm.xml 2008-10-10 04:33:22 UTC (rev 3827)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
+
+ <class entity-name="Employer" node="employer">
+ <id name="id" node="@id" type="long">
+ <generator class="increment"/>
+ </id>
+ <property name="name" node="@name" type="string"/>
+ <set name="employees" node="." cascade="all,delete-orphan" fetch="join" lazy="false">
+ <key not-null="true" column="employerId"/>
+ <one-to-many entity-name="Employee" />
+ </set>
+ </class>
+
+ <class entity-name="Employee" node="employee">
+ <id name="id" node="@id" type="long">
+ <generator class="increment"/>
+ </id>
+ <discriminator column="role" type="string" length="10"/>
+ <property name="name" node="@name" type="string"/>
+ <subclass entity-name="Techie" node="techie" />
+ <subclass entity-name="Salesdude" node="sales-dude"/>
+ </class>
+
+ <class entity-name="Department" node="department">
+ <id name="id" node="@id" type="long">
+ <generator class="increment"/>
+ </id>
+ <property name="name" node="@name" type="string"/>
+ <many-to-one name="manager" entity-name="Employee" cascade="all" fetch="join" lazy="false" embed-xml="true" node="manager" />
+ </class>
+
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/XmlFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/XmlFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/EntityModeTest/Xml/Basic/XmlFixture.cs 2008-10-10 04:33:22 UTC (rev 3827)
@@ -0,0 +1,69 @@
+using System.Collections;
+using System.Xml;
+using NHibernate.Cfg;
+using NUnit.Framework;
+
+namespace NHibernate.Test.EntityModeTest.Xml.Basic
+{
+ [TestFixture, Ignore("Not supported yet.")]
+ public class XmlFixture : TestCase
+ {
+ protected override string MappingsAssembly
+ {
+ get { return "NHibernate.Test"; }
+ }
+
+ #region Overrides of TestCase
+
+ protected override IList Mappings
+ {
+ get
+ {
+ return new[]
+ {
+ "EntityModeTest.Xml.Basic.Account.hbm.xml", "EntityModeTest.Xml.Basic.AB.hbm.xml",
+ "EntityModeTest.Xml.Basic.Employer.hbm.xml"
+ };
+ }
+ }
+
+ #endregion
+
+ protected override void Configure(Configuration configuration)
+ {
+ cfg.SetProperty(Environment.DefaultEntityMode, EntityModeHelper.ToString(EntityMode.Xml));
+ }
+
+ [Test]
+ public void CompositeId()
+ {
+ const string xml =
+@"<a id='1'>
+ <x>foo bar</x>
+ <b bId='1' aId='1>foo foo</b>
+ <b bId='2' aId='1>bar bar</b>
+</a>";
+
+ XmlElement a=null;
+ ISession s = OpenSession();
+ ITransaction t = s.BeginTransaction();
+ s.Persist("A", a);
+ t.Commit();
+ s.Close();
+
+ s = OpenSession();
+ t = s.BeginTransaction();
+ //a = (XmlElement)s.CreateCriteria("A").UniqueResult();
+ Assert.AreEqual(a.GetElementsByTagName("b").Count, 2);
+ Print(a);
+ //s.Delete("A", a);
+ t.Commit();
+ s.Close();
+ }
+
+ public static void Print(XmlElement elt)
+ {
+ //XMLHelper.dump( elt );
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-10-10 00:13:56 UTC (rev 3826)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-10-10 04:33:22 UTC (rev 3827)
@@ -161,6 +161,7 @@
<Compile Include="EngineTest\TypedValueFixture.cs" />
<Compile Include="EntityModeTest\Map\Basic\DynamicClassFixture.cs" />
<Compile Include="EntityModeTest\Xml\Accessors\XmlAccessorFixture.cs" />
+ <Compile Include="EntityModeTest\Xml\Basic\XmlFixture.cs" />
<Compile Include="Events\Collections\AbstractCollectionEventFixture.cs" />
<Compile Include="Events\Collections\AbstractParentWithCollection.cs" />
<Compile Include="Events\Collections\Association\AbstractAssociationCollectionEventFixture.cs" />
@@ -1488,6 +1489,9 @@
<EmbeddedResource Include="Cascade\JobBatch.hbm.xml" />
<EmbeddedResource Include="Deletetransient\Person.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="EntityModeTest\Xml\Basic\AB.hbm.xml" />
+ <EmbeddedResource Include="EntityModeTest\Xml\Basic\Account.hbm.xml" />
+ <EmbeddedResource Include="EntityModeTest\Xml\Basic\Employer.hbm.xml" />
<EmbeddedResource Include="SqlTest\MSSQLIdentityInsertWithStoredProcs.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1508\Mappings.hbm.xml" />
<EmbeddedResource Include="GenericTest\OrderedSetGeneric\OrderedSetFixture.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|