Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge with 1.0.2

If anybody will need to merge additional changes from v10branch, merge between release_1-0-2-0 and v10branch.
Still need to upgrade Castle.DynamicProxy for the 2.0 build (and remove it from the shared lib\net directory)


SVN: trunk@1885
  • Loading branch information...
commit 14fcc53c148a161fa187aee7d3ab03afcad9189c 1 parent ba6c850
Sergey Koshcheyev authored
Showing with 3,210 additions and 1,349 deletions.
  1. +3 −1 NHibernateSolution.build
  2. +2 −1  doc/TODO.txt
  3. +0 −7 doc/chm_help.xsl
  4. +56 −3 doc/common.xsl
  5. +3 −3 doc/documentation.build
  6. +8 −3 doc/html_chunk.xsl
  7. +1 −6 doc/html_single.xsl
  8. +17 −17 doc/src/BasicMapping.xml
  9. +4 −1 doc/src/Configuration.xml
  10. +3 −13 doc/src/Documentation.xml
  11. +0 −27 doc/src/LegalNotice.xml
  12. +0 −21 doc/src/License.xml
  13. +1 −1  doc/src/NHibernate.Caches.xml
  14. +8 −8 doc/src/NHibernate.Mapping.Attributes.xml
  15. +1 −1  doc/src/NHibernate.Tool.hbm2net.xml
  16. +1 −1  doc/src/NHibernateContrib.Preface.xml
  17. +2 −2 doc/src/Nullables.xml
  18. +1 −1  doc/src/Preface.xml
  19. +1 −1  doc/src/Support.xml
  20. +61 −150 doc/src/html.css
  21. BIN  lib/net/1.1/Castle.DynamicProxy.dll
  22. +13 −0 lib/net/1.1/Castle.DynamicProxy.license.txt
  23. +664 −0 lib/net/1.1/Castle.DynamicProxy.xml
  24. +75 −2 releasenotes.txt
  25. +2 −2 src/NHibernate.DomainModel/AssemblyInfo.cs
  26. +2 −2 src/NHibernate.Test.Performance/AssemblyInfo.cs
  27. +1 −1  src/NHibernate.Test/App.config
  28. +2 −2 src/NHibernate.Test/AssemblyInfo.cs
  29. +1 −0  src/NHibernate.Test/ExpressionTest/BaseExpressionFixture.cs
  30. +9 −0 src/NHibernate.Test/ExpressionTest/SimpleExpressionFixture.cs
  31. +1 −1  src/NHibernate.Test/Legacy/SQLLoaderTest.cs
  32. +20 −0 src/NHibernate.Test/NHSpecificTest/EmptyMappingsFixture.cs
  33. +22 −24 src/NHibernate.Test/NHSpecificTest/NH295/SubclassFixture.cs
  34. +35 −0 src/NHibernate.Test/NHSpecificTest/NH464/DateRange.cs
  35. +77 −0 src/NHibernate.Test/NHSpecificTest/NH464/Fixture.cs
  36. +31 −0 src/NHibernate.Test/NHSpecificTest/NH464/Promotion.cs
  37. +22 −0 src/NHibernate.Test/NHSpecificTest/NH464/Promotion.hbm.xml
  38. +35 −0 src/NHibernate.Test/NHSpecificTest/NH464/PromotionWindow.cs
  39. +38 −0 src/NHibernate.Test/NHSpecificTest/NH479/Classes.cs
  40. +48 −0 src/NHibernate.Test/NHSpecificTest/NH479/Fixture.cs
  41. +21 −0 src/NHibernate.Test/NHSpecificTest/NH479/Mappings.hbm.xml
  42. +62 −0 src/NHibernate.Test/NHSpecificTest/NH480/Fixture.cs
  43. +49 −0 src/NHibernate.Test/NHSpecificTest/NH496/Fixture.cs
  44. +16 −0 src/NHibernate.Test/NHSpecificTest/NH496/Mappings.hbm.xml
  45. +22 −0 src/NHibernate.Test/NHSpecificTest/NH496/WronglyMappedClass.cs
  46. +68 −0 src/NHibernate.Test/NHSpecificTest/NH508/Fixture.cs
  47. +57 −0 src/NHibernate.Test/NHSpecificTest/NH508/Mappings.hbm.xml
  48. +71 −0 src/NHibernate.Test/NHSpecificTest/NH508/User.cs
  49. +47 −0 src/NHibernate.Test/NHSpecificTest/NH521/DomainModel.cs
  50. +60 −0 src/NHibernate.Test/NHSpecificTest/NH521/Fixture.cs
  51. +15 −0 src/NHibernate.Test/NHSpecificTest/NH521/Mappings.hbm.xml
  52. +22 −0 src/NHibernate.Test/NHSpecificTest/NH523/ClassA.cs
  53. +15 −0 src/NHibernate.Test/NHSpecificTest/NH523/ClassB.cs
  54. +43 −0 src/NHibernate.Test/NHSpecificTest/NH523/Fixture.cs
  55. +19 −0 src/NHibernate.Test/NHSpecificTest/NH523/Mappings.hbm.xml
  56. +27 −0 src/NHibernate.Test/NHSpecificTest/NH525/Classes.cs
  57. +36 −0 src/NHibernate.Test/NHSpecificTest/NH525/Fixture.cs
  58. +19 −0 src/NHibernate.Test/NHSpecificTest/NH525/Mappings.hbm.xml
  59. +119 −1 src/NHibernate.Test/NHibernate.Test-1.1.csproj
  60. +5 −5 src/NHibernate.Test/PropertyTest/FieldGetterFixture.cs
  61. +165 −0 src/NHibernate.Test/UtilityTest/AssemblyQualifiedTypeNameFixture.cs
  62. +14 −16 src/NHibernate.Test/UtilityTest/ReflectHelperFixture.cs
  63. +0 −1  src/NHibernate/ADOException.cs
  64. +2 −2 src/NHibernate/AssemblyInfo.cs
  65. +4 −1 src/NHibernate/Cfg/Binder.cs
  66. +0 −1  src/NHibernate/Cfg/Configuration.cs
  67. +22 −15 src/NHibernate/Cfg/Environment.cs
  68. +4 −3 src/NHibernate/Cfg/ImprovedNamingStrategy.cs
  69. +54 −149 src/NHibernate/Collection/IdentifierBag.cs
  70. +1 −1  src/NHibernate/Dialect/DB2Dialect.cs
  71. +2 −2 src/NHibernate/Dialect/Dialect.cs
  72. +1 −1  src/NHibernate/Dialect/MsSql2000Dialect.cs
  73. +19 −0 src/NHibernate/Dialect/PostgreSQL81Dialect.cs
  74. +1 −1  src/NHibernate/Dialect/PostgreSQLDialect.cs
  75. +2 −2 src/NHibernate/Dialect/SQLiteDialect.cs
  76. +9 −0 src/NHibernate/Dialect/SybaseDialect.cs
  77. +6 −39 src/NHibernate/Driver/DB2Driver.cs
  78. +2 −43 src/NHibernate/Driver/DriverBase.cs
  79. +6 −38 src/NHibernate/Driver/FirebirdDriver.cs
  80. +9 −47 src/NHibernate/Driver/MySqlDataDriver.cs
  81. +2 −2 src/NHibernate/Driver/NDataReader.cs
  82. +6 −40 src/NHibernate/Driver/NpgsqlDriver.cs
  83. +5 −23 src/NHibernate/Driver/OracleClientDriver.cs
  84. +6 −35 src/NHibernate/Driver/OracleDataClientDriver.cs
  85. +54 −0 src/NHibernate/Driver/ReflectionBasedDriver.cs
  86. +6 −48 src/NHibernate/Driver/SQLiteDriver.cs
  87. +2 −3 src/NHibernate/Driver/SqlClientDriver.cs
  88. +6 −47 src/NHibernate/Driver/SybaseClientDriver.cs
  89. +1 −1  src/NHibernate/Hql/ClauseParser.cs
  90. +1 −1  src/NHibernate/Hql/FromParser.cs
  91. +2 −2 src/NHibernate/Hql/PreprocessingParser.cs
  92. +3 −3 src/NHibernate/Hql/QueryTranslator.cs
  93. +1 −1  src/NHibernate/Hql/SelectParser.cs
  94. +2 −2 src/NHibernate/Hql/WhereParser.cs
  95. +3 −3 src/NHibernate/Id/IncrementGenerator.cs
  96. +2 −2 src/NHibernate/Impl/AbstractQueryImpl.cs
  97. +24 −8 src/NHibernate/Impl/BatcherImpl.cs
  98. +18 −1 src/NHibernate/Impl/SessionImpl.cs
  99. +1 −1  src/NHibernate/Loader/Loader.cs
  100. +1 −1  src/NHibernate/Mapping/ManyToOne.cs
  101. +1 −1  src/NHibernate/Mapping/OneToOne.cs
  102. +1 −1  src/NHibernate/Mapping/Table.cs
  103. +47 −22 src/NHibernate/NHibernate-1.1.csproj
  104. +2 −1  src/NHibernate/Persister/AbstractEntityPersister.cs
  105. +280 −259 src/NHibernate/Persister/GetSetHelperFactory.cs
  106. +6 −1 src/NHibernate/Persister/NormalizedEntityPersister.cs
  107. +1 −1  src/NHibernate/Property/CamelCaseStrategy.cs
  108. +1 −1  src/NHibernate/Property/CamelCaseUnderscoreStrategy.cs
  109. +1 −1  src/NHibernate/Property/LowerCaseStrategy.cs
  110. +1 −1  src/NHibernate/Property/LowerCaseUnderscoreStrategy.cs
  111. +1 −1  src/NHibernate/Property/PascalCaseMUnderscoreStrategy.cs
  112. +1 −1  src/NHibernate/Property/PascalCaseUnderscoreStrategy.cs
  113. +4 −1 src/NHibernate/Property/PropertyAccessorFactory.cs
  114. +1 −1  src/NHibernate/Proxy/CastleProxyFactory.cs
  115. +2 −2 src/NHibernate/SqlCommand/Template.cs
  116. +1 −1  src/NHibernate/Tool/hbm2ddl/SchemaExport.cs
  117. +21 −0 src/NHibernate/Type/AnsiCharType.cs
  118. +63 −0 src/NHibernate/Type/BaseCharType.cs
  119. +3 −3 src/NHibernate/Type/CharBooleanType.cs
  120. +2 −82 src/NHibernate/Type/CharType.cs
  121. +4 −2 src/NHibernate/Type/ComponentType.cs
  122. +10 −3 src/NHibernate/Type/EntityType.cs
  123. +5 −3 src/NHibernate/Type/TypeFactory.cs
  124. +150 −0 src/NHibernate/Util/AssemblyQualifiedTypeName.cs
  125. +13 −2 src/NHibernate/Util/CollectionPrinter.cs
  126. +54 −63 src/NHibernate/Util/ReflectHelper.cs
  127. +1 −1  src/NHibernate/Util/StringHelper.cs
View
4 NHibernateSolution.build
@@ -50,7 +50,7 @@
<property name="project.company" value="NHibernate.org" />
<property name="project.version.major" value="1" overwrite="false" />
<property name="project.version.minor" value="0" overwrite="false" />
- <property name="project.version.build" value="1" overwrite="false" />
+ <property name="project.version.build" value="2" overwrite="false" />
<property name="project.version.revision" value="0" overwrite="false" />
<property name="project.version" value="${project.version.major}.${project.version.minor}.${project.version.build}.${project.version.revision}" />
@@ -475,6 +475,8 @@
<include name="${lib.dir}/*" />
<include name="${lib.family.dir}/*" />
<include name="${lib.framework.dir}/*" />
+ <include name="external-bin/ILMerge.exe" />
+
<!--
exclude the UnitTesting project that is no longer used and the
Clover modified source files.
View
3  doc/TODO.txt
@@ -44,12 +44,13 @@ nhibernate
+ /doc/
- .ini and *.Hx? (.chm & .HxS, appear in /build/doc/)
- "NHibernate.[Reference|Documentation].[chm|HxS]"
- - "NHibernate.Documentation.html" (single version) (+ its /NHD_files/ dir)
+ /doc/docbook-xml/
+ /doc/docbook-xsl/
+ /doc/html/ (the chunk version) + html.css
- /doc/html/reference/
- /doc/html/images/
++ /doc/html_single/ (single file version)
+
- /doc/src/ DocBook xml files + doc.build + urls + "DocBook.txt" ...
View
7 doc/chm_help.xsl
@@ -5,15 +5,8 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="docbook-xsl/htmlhelp/htmlhelp.xsl"/>
-
<xsl:include href="common.xsl"/>
-
- <!-- Customized HTML stylesheet !-->
- <xsl:param name="html.stylesheet" select="'html.css'" />
-
- <!-- TODO: Check this !-->
-
<xsl:param name="suppress.navigation" select="0"/>
<xsl:param name="htmlhelp.hhc.binary" select="0"/>
<xsl:param name="htmlhelp.hhc.folders.instead.books" select="0"/>
View
59 doc/common.xsl
@@ -10,10 +10,63 @@
<!-- Don't divide chapters in many files !-->
<xsl:param name="chunk.section.depth" select="0" />
- <!-- Don't use graphics, use a simple number style !-->
- <xsl:param name="callout.graphics" select="'0'" />
-
<!-- Set <a ... target="_blank">...</a> for external links !-->
<xsl:param name="ulink.target" select="'_blank'" />
+<!--###################################################
+ HTML Settings
+ ################################################### -->
+
+ <xsl:param name="html.stylesheet">html.css</xsl:param>
+
+ <!-- These extensions are required for table printing and other stuff -->
+ <xsl:param name="use.extensions">1</xsl:param>
+ <xsl:param name="tablecolumns.extension">0</xsl:param>
+ <xsl:param name="callout.extensions">1</xsl:param>
+ <xsl:param name="graphicsize.extension">0</xsl:param>
+
+<!--###################################################
+ Table Of Contents
+ ################################################### -->
+
+ <!-- Generate the TOCs for named components only -->
+ <xsl:param name="generate.toc">
+ book toc
+ </xsl:param>
+
+ <!-- Show only Sections up to level 3 in the TOCs -->
+ <xsl:param name="toc.section.depth">3</xsl:param>
+
+<!--###################################################
+ Labels
+ ################################################### -->
+
+ <!-- Label Chapters and Sections (numbering) -->
+ <xsl:param name="chapter.autolabel">1</xsl:param>
+ <xsl:param name="section.autolabel" select="1"/>
+ <xsl:param name="section.label.includes.component.label" select="1"/>
+
+<!--###################################################
+ Callouts
+ ################################################### -->
+
+ <!-- Don't use graphics, use a simple number style -->
+ <xsl:param name="callout.graphics">0</xsl:param>
+
+ <!-- Place callout marks at this column in annotated areas -->
+ <xsl:param name="callout.defaultcolumn">90</xsl:param>
+
+<!--###################################################
+ Misc
+ ################################################### -->
+
+ <!-- Placement of titles -->
+ <xsl:param name="formal.title.placement">
+ figure after
+ example before
+ equation before
+ table before
+ procedure before
+ </xsl:param>
+
</xsl:stylesheet>
View
6 doc/documentation.build
@@ -81,7 +81,7 @@
<target name="build-html" depends="init" description="Generates html from docbook files.">
<property name="build.html.dir" value="${output.dir}" />
- <property name="build.single.dir" value="${build.html.dir}" />
+ <property name="build.single.dir" value="${build.html.dir}/html_single" />
<property name="build.chunk.dir" value="${build.html.dir}/html" />
<mkdir dir="${build.html.dir}" failonerror="false" />
@@ -90,7 +90,7 @@
<exec program="xsltproc" >
<arg value="--output" />
- <arg file="${build.single.dir}/NHibernate.Documentation.html" /><!-- file to output transform results to -->
+ <arg file="${build.single.dir}/index.html" /><!-- file to output transform results to -->
<arg file="html_single.xsl" /><!-- xsl to do the transforming -->
<arg file="src/Documentation.gen" /><!-- xml file to transform -->
</exec>
@@ -103,7 +103,7 @@
</exec>
<!-- Copy the images and the stylesheet -->
- <copy todir="${build.single.dir}/NHibernate.Documentation_files/" overwrite="true" >
+ <copy todir="${build.single.dir}" overwrite="true" >
<fileset basedir="./src/">
<include name="*.gif" />
<include name="html.css" />
View
11 doc/html_chunk.xsl
@@ -5,11 +5,16 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="docbook-xsl/html/chunk.xsl"/>
-
<xsl:include href="common.xsl"/>
- <!-- Customized HTML stylesheet !-->
- <xsl:param name="html.stylesheet" select="'html.css'" />
+ <!--
+ Output in ASCII because Hibernate.org web server is misconfigured
+ (has AddDefaultCharset UTF-8), and xsltproc doesn't replace &#160; with &nbsp;
+ -->
+ <xsl:param name="chunker.output.encoding" select="'ASCII'"/>
+ <xsl:output method="html"
+ encoding="ASCII"
+ indent="no"/>
</xsl:stylesheet>
View
7 doc/html_single.xsl
@@ -5,14 +5,9 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="docbook-xsl/html/docbook.xsl"/>
-
<xsl:include href="common.xsl"/>
-
- <!-- Customized HTML stylesheet !-->
- <xsl:param name="html.stylesheet" select="'NHibernate.Documentation_files/html.css'" />
-
<!-- Allow referring to images without writing the path !-->
- <xsl:param name="img.src.path">NHibernate.Documentation_files/</xsl:param>
+ <xsl:param name="img.src.path"></xsl:param>
</xsl:stylesheet>
View
34 doc/src/BasicMapping.xml
@@ -6,7 +6,7 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"../../support/docbook-dtd/docbookx.dtd">
-->
-<chapter id="mapping">
+<chapter id="basic-mapping">
<title>Basic O/R Mapping</title>
<sect1 id="mapping-declaration">
@@ -344,9 +344,9 @@
</callout>
<callout arearefs="id4-co" id="id4">
<para>
- <literal>unsaved-value</literal> (optional - defaults to <literal>null</literal>):
+ <literal>unsaved-value</literal> (optional - defaults to a "sensible" value):
An identifier property value that indicates that an instance is newly instantiated
- (unsaved), distinguishing it from transient instances that were saved or loaded
+ (unsaved), distinguishing it from detached instances that were saved or loaded
in a previous session.
</para>
</callout>
@@ -363,14 +363,9 @@
If the <literal>name</literal> attribute is missing, it is assumed that the class has no
identifier property.
</para>
-
+
<para>
- The <literal>unsaved-value</literal> attribute is important! If the identfier property of your
- class does not default to <literal>null</literal>, then you should specify the actual default.
- This is especially important when using a <literal>System.ValueType</literal> such as
- <literal>System.Int32</literal> or <literal>System.Guid</literal> as your <literal>&lt;id&gt;</literal>
- property. Make sure to explicity set this attribute because <literal>System.ValueType</literal>
- objects can not be <literal>null</literal>.
+ The <literal>unsaved-value</literal> attribute is almost never needed in NHibernate 1.0.
</para>
<para>
@@ -1655,6 +1650,12 @@
</thead>
<tbody>
<row>
+ <entry><literal>AnsiChar</literal></entry>
+ <entry><literal>System.Char</literal></entry>
+ <entry><literal>DbType.AnsiStringFixedLength - 1 char</literal></entry>
+ <entry></entry>
+ </row>
+ <row>
<entry><literal>Boolean</literal></entry>
<entry><literal>System.Boolean</literal></entry>
<entry><literal>DbType.Boolean</literal></entry>
@@ -1846,9 +1847,9 @@
<para>
For those of you coming over from Hibernate or using some of the tools to generate <literal>hbm.xml</literal> files
that are intended for Hibernate, there is a Hibernate compatiblity layer for type names. A <literal>type="integer"</literal>
- will map to an <literal>Int32</literal> NHibernateType, <literal>type="short"</literal> to an <literal>Int16</literal>
- NHibernateType. To see all of the conversions you can view the source of static constructor of the class
- <literal>NHibernate.Type.TypeFactory</literal>.
+ or <literal>type="int"</literal> will map to an <literal>Int32</literal> NHibernateType, <literal>type="short"</literal>
+ to an <literal>Int16</literal> NHibernateType. To see all of the conversions you can view the source of static constructor
+ of the class <literal>NHibernate.Type.TypeFactory</literal>.
</para>
</sect2>
<sect2 id="mapping-types-custom">
@@ -1885,11 +1886,11 @@
Even though NHibernate's rich range of built-in types and support for components means you
will very rarely <emphasis>need</emphasis> to use a custom type, it is nevertheless
considered good form to use custom types for (non-entity) classes that occur frequently
- in your application. For example, a <literal>MonetoryAmount</literal> class is a good
+ in your application. For example, a <literal>MonetaryAmount</literal> class is a good
candidate for a <literal>ICompositeUserType</literal>, even though it could easily be mapped
as a component. One motivation for this is abstraction. With a custom type, your mapping
documents would be future-proofed against possible changes in your way of representing
- monetory values.
+ monetary values.
</para>
</sect2>
<sect2 id="mapping-types-anymapping">
@@ -1897,9 +1898,8 @@
<para>TODO</para>
</sect2>
- </sect1>
+ </sect1>
-
<sect1 id="mapping-quotedidentifiers">
<title>SQL quoted identifiers</title>
<para>
View
5 doc/src/Configuration.xml
@@ -346,7 +346,10 @@ ISession session = sessions.OpenSession(conn);
<literal>hibernate.prepare_sql</literal>
</entry>
<entry>
- Enables preparing of sql statements.
+ Enables preparing of sql statements. Note that this parameter
+ should not be used in version 1.0.x since prepared statements
+ are currently not remembered and will be re-prepared over and
+ over again.
<para>
<emphasis role="strong">eg.</emphasis>
<literal>true</literal> | <literal>false</literal>
View
16 doc/src/Documentation.xml
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5b1//EN"
"../docbook-xml/docbookx.dtd" [
- <!ENTITY legalnotice SYSTEM "LegalNotice.xml">
-
<!ENTITY preface SYSTEM "Preface.xml">
<!ENTITY architecture SYSTEM "Architecture.xml">
<!ENTITY configuration SYSTEM "Configuration.xml">
@@ -20,24 +18,18 @@
<!ENTITY nullables-chapter SYSTEM "Nullables.xml">
<!ENTITY support SYSTEM "Support.xml">
- <!ENTITY license SYSTEM "License.xml">
- <!ENTITY gnu-lgpl SYSTEM "../../lgpl.txt">
- <!ENTITY gnu-fdl SYSTEM "../../gfdl.txt">
]>
<book id="NHibernate.Documentation" lang="en">
<bookinfo>
- <title>NHibernate Documentation</title>
+ <title>NHibernate - Relational Persistence for Idiomatic .NET</title>
<releaseinfo>Status: Production/Stable</releaseinfo>
<author>
<firstname><ulink url="http://www.nhibernate.org/">NHibernate</ulink></firstname>
<contrib>Thanks to all the contributors!</contrib>
<address>http://www.nhibernate.org/</address>
</author>
-
- &legalnotice;
-
</bookinfo>
@@ -47,7 +39,7 @@
&persistent-classes;
- <part id="NHibernate.Mapping">
+ <part id="part-mapping">
<title>NHibernate Mapping</title>
&basic-mapping;
&collection-mapping;
@@ -56,7 +48,7 @@
</part>
- <part id="NHibernateContrib">
+ <part id="part-contrib">
<title>NHibernateContrib Documentation</title>
&nhc-preface;
&nhcaches-chapter;
@@ -65,8 +57,6 @@
&nullables-chapter;
</part>
-
&support;
- &license;
</book>
View
27 doc/src/LegalNotice.xml
@@ -1,27 +0,0 @@
-<legalnotice id="LegalNotice">
-
-<para>This product is free software; you can redistribute it and/or modify it
-under the terms of the GNU Lesser General Public License as published by the
-Free Software Foundation; either version 2.1 of the License, or (at your
-option) any later version.</para>
-
-<para>This product is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
-for more details.</para>
-
-<para>You should have received a copy of the <link linkend="License.gnu.lgpl">GNU Lesser General Public License</link>
-along with this product; if not, write to the Free Software Foundation,
-Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</para>
-
-<para>Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1
-or any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
-A copy of the license is included in the section entitled
-"<link linkend="License.gnu.fdl">GNU Free Documentation License</link>".</para>
-
-<para>For more information, go to
-<ulink url="http://www.gnu.org/copyleft/">this website</ulink>.</para>
-
-</legalnotice>
View
21 doc/src/License.xml
@@ -1,21 +0,0 @@
-<!-- <!DOCTYPE appendix SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<appendix id="License.gnu.lgpl">
-
- <title>GNU Lesser General Public License</title>
-
- <para>
- <programlisting>&gnu-lgpl;</programlisting>
- </para>
-
-</appendix>
-
-
-<appendix id="License.gnu.fdl">
-
- <title>GNU Free Documentation License</title>
-
- <para>
- <programlisting>&gnu-fdl;</programlisting>
- </para>
-
-</appendix>
View
2  doc/src/NHibernate.Caches.xml
@@ -1,5 +1,5 @@
<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<chapter id="NHibernate.Caches">
+<chapter id="caches">
<title>NHibernate.Caches</title>
View
16 doc/src/NHibernate.Mapping.Attributes.xml
@@ -1,9 +1,9 @@
<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<chapter id="NHibernate.Mapping.Attributes">
+<chapter id="mapping-attributes">
<title>NHibernate.Mapping.Attributes</title>
- <abstract id="NHibernate.Mapping.Attributes-abstract">
+ <abstract id="mapping-attributes-abstract">
<title>What is NHibernate.Mapping.Attributes?</title>
<formalpara>
<title>NHibernate.Mapping.Attributes is an add-in for <ulink url="http://www.nhibernate.org">NHibernate</ulink> contributed by Pierre Henri Kuat&eacute; (aka <emphasis>KPixel</emphasis>); the former implementation was made by John Morris.</title>
@@ -49,7 +49,7 @@
</abstract>
- <section id="NHibernate.Mapping.Attributes-howto">
+ <section id="mapping-attributes-howto">
<title>How to use it?</title>
<formalpara>
<title>The <emphasis>end-user class</emphasis> is <classname>NHibernate.Mapping.Attributes.HbmSerializer</classname></title>
@@ -86,7 +86,7 @@
</section>
- <section id="NHibernate.Mapping.Attributes-tips">
+ <section id="mapping-attributes-tips">
<title>Tips</title>
<itemizedlist>
<listitem>
@@ -114,7 +114,7 @@
<para>Instead of using a string for <methodname>DiscriminatorValue</methodname> (in <classname>[Class]</classname> and <classname>[Subclass]</classname>), you can use any object you want. Example: <programlisting>[Subclass(DiscriminatorValueEnumFormat="d", DiscriminatorValueObject=DiscEnum.Val1)]</programlisting> Here, the object is an Enum, and you can set the format you want (the default value is "g"). Note that you must put it <emphasis role="strong">before</emphasis>! For others types, It simply use the <methodname>ToString()</methodname> method of the object.</para>
</listitem>
<listitem>
- <para>If you are using members of the type <classname>Nullables.NullableXXX</classname> (from the library <link linkend="Nullables">Nullables</link>), then they will be mapped to <classname>Nullables.NHibernate.NullableXXXType</classname> automatically; don't set <literal>Type="..."</literal> in <classname>[Property]</classname> (leave it null). Thanks to <emphasis>Michael Third</emphasis> for the idea :)</para>
+ <para>If you are using members of the type <classname>Nullables.NullableXXX</classname> (from the library <link linkend="nullables">Nullables</link>), then they will be mapped to <classname>Nullables.NHibernate.NullableXXXType</classname> automatically; don't set <literal>Type="..."</literal> in <classname>[Property]</classname> (leave it null). Thanks to <emphasis>Michael Third</emphasis> for the idea :)</para>
</listitem>
<listitem>
<para>Each stream generated by NHibernate.Mapping.Attributes can contain a comment with the date of the generation; You may enable/disable this by using the method <methodname>WriteDateComment</methodname>.</para>
@@ -156,7 +156,7 @@
</section>
- <section id="NHibernate.Mapping.Attributes-todo">
+ <section id="mapping-attributes-todo">
<title>Know issues and TODOs</title>
<para>First, read TODOs in the source code ;)</para>
@@ -184,12 +184,12 @@ Illustration:<programlisting><![CDATA[
<para>Another bad news is that, currently, XML elements coming after this elements can not be included in them. Eg: There is no way put a collection in <literal>&lt;dynamic-component&gt;</literal>. The reason is that the file <filename>nhibernate-mapping-2.0.xsd</filename> tells how elements are built and in which order, and NHibernate.Mapping.Attributes use this order.</para>
<para>Anyway, the solution would be to add a <methodname>int ParentNode</methodname> property to BaseAttribute so that you can create a real graph...</para>
- <para>Actually, there is no other know issue nor planned modification. This library should be stable and complete; but if you find a bug or think of an useful improvement, <link linkend="Support">contact us</link>!</para>
+ <para>Actually, there is no other know issue nor planned modification. This library should be stable and complete; but if you find a bug or think of an useful improvement, <link linkend="support">contact us</link>!</para>
<para>On side note, it would be nice to write a better TestFixture than <emphasis>NHibernate.Mapping.Attributes.Test</emphasis> :D</para>
</section>
- <section id="NHibernate.Mapping.Attributes-devnotes">
+ <section id="mapping-attributes-devnotes">
<title>Developer Notes</title>
<para>Any change to the schema (<filename>nhibernate-mapping-2.0.xsd</filename>) implies:</para>
<itemizedlist>
View
2  doc/src/NHibernate.Tool.hbm2net.xml
@@ -1,5 +1,5 @@
<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<chapter id="NHibernate.Tool.hbm2net">
+<chapter id="tool-hbm2net">
<title>NHibernate.Tool.hbm2net</title>
View
2  doc/src/NHibernateContrib.Preface.xml
@@ -1,5 +1,5 @@
<!-- <!DOCTYPE preface SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<preface id="NHibernateContrib.Preface">
+<preface id="contrib-preface">
<title>Preface</title>
View
4 doc/src/Nullables.xml
@@ -1,5 +1,5 @@
<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<chapter id="Nullables">
+<chapter id="nullables">
<title>Nullables</title>
@@ -60,7 +60,7 @@ public <emphasis role="strong">class Person</emphasis>
</hibernate-mapping>]]></programlisting>
<important>
<para>In the mapping, the type of <emphasis>DateOfBirth</emphasis>
- <emphasis role="strong">must</emphasis> be <classname>Nullables.NHibernate.NullableDateTimeType</classname>. Note that <link linkend="NHibernate.Mapping.Attributes">NHibernate.Mapping.Attributes</link> handles that automatically.</para>
+ <emphasis role="strong">must</emphasis> be <classname>Nullables.NHibernate.NullableDateTimeType</classname>. Note that <link linkend="mapping-attributes">NHibernate.Mapping.Attributes</link> handles that automatically.</para>
<para><classname>Nullables.NHibernate.NullableXXXType</classname>s are wrapper types used to translate Nullables types to Database types.</para>
</important>
View
2  doc/src/Preface.xml
@@ -1,5 +1,5 @@
<!-- <!DOCTYPE preface SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<preface id="Preface">
+<preface id="preface">
<title>Preface</title>
View
2  doc/src/Support.xml
@@ -1,5 +1,5 @@
<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> -->
-<chapter id="Support">
+<chapter id="support">
<title>More information and support</title>
View
211 doc/src/html.css
@@ -1,186 +1,97 @@
-
-BODY
-{
- font-family: Verdana;
-
- SCROLLBAR-FACE-COLOR: #777777;
- SCROLLBAR-SHADOW-COLOR: #000000;
- SCROLLBAR-3DLIGHT-COLOR: #101010;
- SCROLLBAR-ARROW-COLOR: #FAFAFA;
- SCROLLBAR-TRACK-COLOR: #DDDDDD;
- SCROLLBAR-DARKSHADOW-COLOR: #FFFFFF;
-}
-
-
-HR
-{
- width: 100%;
- height: 1px;
- color: #000000;
-}
-
-
-A
-{
- color: #005500;
-}
-A:active
-{
- color: #000055;
-}
-A:visited
-{
- color: #550000;
-}
-
-
-
-H1
-{
- color: #800000;
- font-size: 140%;
- font-weight: bold;
- padding-top:15px;
-}
-
-H2
-{
- color: #000080;
- font-size: 120%;
- font-weight: bold;
- padding-top:15px;
+A {
+ color: #003399;
}
-H3
-{
- color: #008000;
- font-size: 110%;
- font-weight: bold;
+A:active {
+ color: #003399;
}
-H4, H5, H6
-{
- color: #000000;
- font-size: 100%;
- font-style: italic;
+A:visited {
+ color: #888888;
}
-
-
-
-P, DL, DT, DD
-{
- color: #000000;
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+ color: #000000;
}
-OL, LI
-{
- color: #000000;
- list-style: disc;
+TD, TH, SPAN {
+ color: #000000;
}
-UL
-{
- color: #000000;
- list-style: disc;
- padding-top: 0;
- padding-bottom:0;
- margin:0;
+BLOCKQUOTE {
+ margin-right: 0px;
}
-TH, SPAN
-{
- color: #000000;
-}
-TD
-{
- color: #000000;
- padding: 4pt;
+H1, H2, H3, H4, H5, H6 {
+ color: #000000;
+ font-weight:500;
+ margin-top:10px;
+ padding-top:15px;
}
-TT
-{
- font-size: 90%;
- font-family: "Courier New", Courier, monospace;
- color: #000000;
+TABLE {
+ border-collapse: collapse;
+ border-spacing:0;
+ border: 1px thin black;
+ empty-cells: hide;
}
-
-
-PRE
-{
- font-size: 90%;
- font-family: "Courier New";
- padding: 10px;
- border-style: solid;
- border-width: 1px;
- border-color: #CCCCCC;
- background-color: #F5F5F5;
+TD {
+ padding: 4pt;
}
+H1 { font-size: 150%; }
+H2 { font-size: 140%; }
+H3 { font-size: 110%; font-weight: bold; }
+H4 { font-size: 110%; font-weight: bold;}
+H5 { font-size: 100%; font-style: italic; }
+H6 { font-size: 100%; font-style: italic; }
-
-BLOCKQUOTE
-{
- color: #000000;
- margin-right: 10px;
+TT {
+font-size: 90%;
+ font-family: "Courier New", Courier, monospace;
+ color: #000000;
}
-
-TABLE
-{
- text-align: left;
- background: #F5F5F5;
- border-collapse: collapse;
- border-spacing:0;
- border: 1px thin black;
- empty-cells: hide;
+PRE {
+font-size: 100%;
+ padding: 5px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #CCCCCC;
+ background-color: #F4F4F4;
}
-
-
-div.legalnotice
-{
- font-size: 75%;
+UL, OL, LI {
+ list-style: disc;
}
-.classname
-{
- color: #250050;
+HR {
+ width: 100%;
+ height: 1px;
+ background-color: #CCCCCC;
+ border-width: 0px;
+ padding: 0px;
+ color: #CCCCCC;
}
-.methodname
-{
- color: #002550;
+.variablelist {
+ padding-top: 10;
+ padding-bottom:10;
+ margin:0;
}
-.literal
-{
- color: #502500;
+.itemizedlist, UL {
+ padding-top: 0;
+ padding-bottom:0;
+ margin:0;
}
-.filename
-{
- color: #000050;
+.term {
+ font-weight:bold;
}
-.variablelist
-{
- padding-top: 10;
- padding-bottom:10;
- margin:0;
-}
-.itemizedlist
-{
- padding-top: 0;
- padding-bottom:0;
- margin:30;
-}
-
-.term
-{
- font-weight:bold;
-}
+
View
BIN  lib/net/1.1/Castle.DynamicProxy.dll
Binary file not shown
View
13 lib/net/1.1/Castle.DynamicProxy.license.txt
@@ -0,0 +1,13 @@
+Copyright 2004-2005 Castle Project - http://www.castleproject.org/
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
View
664 lib/net/1.1/Castle.DynamicProxy.xml
@@ -0,0 +1,664 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>Castle.DynamicProxy</name>
+ </assembly>
+ <members>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AddressOfReferenceExpression">
+ <summary>
+ Summary description for ReferenceExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression">
+ <summary>
+ Summary description for Expression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IEmitter">
+ <summary>
+ Summary description for IEmitter.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference">
+ <summary>
+ Summary description for ArgumentReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeReference">
+ <summary>
+ Summary description for TypeReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference">
+ <summary>
+ Summary description for Reference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignArrayStatement">
+ <summary>
+ Summary description for AssignArrayStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Statement">
+ <summary>
+ Summary description for Statement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignStatement">
+ <summary>
+ Summary description for AssignStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.BinaryExpression">
+ <summary>
+ Summary description for BinaryExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConditionExpression">
+ <summary>
+ Summary description for ConditionExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConstructorInvocationExpression">
+ <summary>
+ Summary description for ConstructorInvocationExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConvertExpression">
+ <summary>
+ Summary description for ConvertExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ExpressionStatement">
+ <summary>
+ Summary description for ExpressionStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FieldReference">
+ <summary>
+ Summary description for FieldReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FixedReference">
+ <summary>
+ Summary description for FixedReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.GotoStatement">
+ <summary>
+ Summary description for GotoStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IndirectReference">
+ <summary>
+ Wraps a reference that is passed ByRef and provides indirect load/store facilities.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LabelReference">
+ <summary>
+ Summary description for LabelReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LoadRefArrayElementExpression">
+ <summary>
+ Summary description for LoadRefArrayElementExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LocalReference">
+ <summary>
+ Summary description for LocalReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LockBlockExpression">
+ <summary>
+ Summary description for LockBlockExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MarkBranchStatement">
+ <summary>
+ Summary description for MarkBranchStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodInvocationExpression">
+ <summary>
+ Summary description for MethodInvocationExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodPointerExpression">
+ <summary>
+ Summary description for MethodPointerExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodTokenExpression">
+ <summary>
+ Summary description for MethodTokenExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewArrayExpression">
+ <summary>
+ Summary description for NewArrayExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewInstanceExpression">
+ <summary>
+ Summary description for NewInstanceExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NopStatement">
+ <summary>
+ Summary description for NopStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NullExpression">
+ <summary>
+ Summary description for NullExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.PopValueFromStackStatement">
+ <summary>
+ Summary description for PopValueFromStackStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferenceExpression">
+ <summary>
+ Summary description for ReferenceExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferencesToObjectArrayExpression">
+ <summary>
+ Summary description for ReferencesToObjectArrayExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnReferenceExpression">
+ <summary>
+ Summary description for ReturnReferenceExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnStatement">
+ <summary>
+ Summary description for ReturnStatement.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.SelfReference">
+ <summary>
+ Summary description for SelfReference.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeTokenExpression">
+ <summary>
+ Summary description for TypeTokenExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.VirtualMethodInvocationExpression">
+ <summary>
+ Summary description for VirtualMethodInvocationExpression.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.ArgumentsUtil">
+ <summary>
+ Summary description for ArgumentsUtil.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdcOpCodesDictionary">
+ <summary>
+ Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdindOpCodesDictionary">
+ <summary>
+ Provides appropriate Ldind.X opcode for the type of primitive value to be loaded indirectly.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.StindOpCodesDictionary">
+ <summary>
+ Provides appropriate Stind.X opcode for the type of primitive value to be stored indirectly.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil">
+ <summary>
+ Summary description for OpCodeUtil.
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
+ <summary>
+ Emits a load opcode of the appropriate kind for a constant string or
+ primitive value.
+ </summary>
+ <param name="gen"></param>
+ <param name="value"></param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
+ <summary>
+ Emits a load opcode of the appropriate kind for the constant default value of a
+ type, such as 0 for value types and null for reference types.
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
+ <summary>
+ Emits a load indirect opcode of the appropriate type for a value or object reference.
+ Pops a pointer off the evaluation stack, dereferences it and loads
+ a value of the specified type.
+ </summary>
+ <param name="gen"></param>
+ <param name="type"></param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
+ <summary>
+ Emits a store indirectopcode of the appropriate type for a value or object reference.
+ Pops a value of the specified type and a pointer off the evaluation stack, and
+ stores the value.
+ </summary>
+ <param name="gen"></param>
+ <param name="type"></param>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder">
+ <summary>
+ Summary description for AbstractCodeBuilder.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType">
+ <summary>
+ Summary description for AbstractEasyType.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder">
+ <summary>
+ Summary description for ConstructorCodeBuilder.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCollection">
+ <summary>
+ Summary description for ConstructorCollection.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyCallable">
+ <summary>
+ Summary description for EasyCallable.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyNested">
+ <summary>
+ Summary description for EasyNested.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyConstructor">
+ <summary>
+ Summary description for EasyConstructor.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.IEasyMember">
+ <summary>
+ Summary description for IEasyBuilder.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyDefaultConstructor">
+ <summary>
+ Summary description for EasyDefaultConstructor.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyEvent">
+ <summary>
+ Summary description for EasyEvent.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod">
+ <summary>
+ Summary description for EasyMethod.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty">
+ <summary>
+ Summary description for EasyProperty.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeConstructor">
+ <summary>
+ Summary description for EasyRuntimeConstructor.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeMethod">
+ <summary>
+ Summary description for EasyRuntimeMethod.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyType">
+ <summary>
+ Summary description for EasyType.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EventsCollection">
+ <summary>
+ Summary description for EventsCollection.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCodeBuilder">
+ <summary>
+ Summary description for MethodCodeBuilder.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCollection">
+ <summary>
+ Summary description for MethodCollection.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.NestedTypeCollection">
+ <summary>
+ Summary description for NestedTypeCollection.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeBuilder.PropertiesCollection">
+ <summary>
+ Summary description for PropertiesCollection.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.Set">
+ <summary>
+ Summary description for Set.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator">
+ <summary>
+ Summary description for BaseCodeGenerator.
+ </summary>
+ </member>
+ <member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._cachedFields">
+ <summary>
+ Holds instance fields which points to delegates instantiated
+ </summary>
+ </member>
+ <member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._method2Delegate">
+ <summary>
+ MethodInfo => Callable delegate
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructor">
+ <summary>
+ Generates one public constructor receiving
+ the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
+ </summary>
+ <remarks>
+ Should be overrided to provided specific semantics, if necessary
+ </remarks>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructorCode(Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference)">
+ <summary>
+ Common initializatio code for the default constructor
+ </summary>
+ <param name="codebuilder"></param>
+ <param name="interceptorArg"></param>
+ <param name="targetArgument"></param>
+ <param name="mixinArray"></param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateInterfaceImplementation(System.Type[])">
+ <summary>
+
+ </summary>
+ <param name="interfaces"></param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateTypeImplementation(System.Type,System.Boolean)">
+ <summary>
+ Iterates over the interfaces and generate implementation
+ for each method in it.
+ </summary>
+ <param name="type">Type class</param>
+ <param name="ignoreInterfaces">if true, we inspect the
+ type for implemented interfaces</param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.NormalizeNamespaceName(System.String)">
+ <summary>
+ Naive implementation, but valid for long namespaces
+ Works by using only the last piece of the namespace
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateProperty(System.Reflection.PropertyInfo)">
+ <summary>
+ Generate property implementation
+ </summary>
+ <param name="property"></param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateMethodImplementation(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty[])">
+ <summary>
+ Generates implementation for each method.
+ </summary>
+ <param name="method"></param>
+ <param name="properties"></param>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.WriteInterceptorInvocationMethod(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod)">
+ <summary>
+ Writes the method implementation. This
+ method generates the IL code for property get/set method and
+ ordinary methods.
+ </summary>
+ <param name="builder"><see cref="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod"/> being constructed.</param>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.CallableField">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator">
+ <summary>
+ Summary description for ClassProxyGenerator.
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateConstructor(System.Reflection.ConstructorInfo)">
+ <summary>
+ Generates one public constructor receiving
+ the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator">
+ <summary>
+ Summary description for InterfaceProxyGenerator.
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GetCorrectMethod(System.Reflection.MethodInfo)">
+ <summary>
+ From an interface method (abstract) look up
+ for a matching method on the target
+ </summary>
+ <param name="method"></param>
+ <returns></returns>
+ </member>
+ <member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GenerateConstructor">
+ <summary>
+ Generates one public constructor receiving
+ the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a HybridCollection
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope">
+ <summary>
+ Summary description for ModuleScope.
+ </summary>
+ </member>
+ <member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._moduleBuilderWithStrongName">
+ <summary>
+ Avoid leaks caused by non disposal of generated types.
+ </summary>
+ </member>
+ <member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._typeCache">
+ <summary>
+ Keep track of generated types
+ </summary>
+ </member>
+ <member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._lockobj">
+ <summary>
+ Used to lock the module builder creation
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ProxyGenerationException">
+ <summary>
+ Summary description for ProxyGenerationException.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.DefaultProxyBuilder">
+ <summary>
+ Summary description for DefaultProxyBuilder.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Builder.IProxyBuilder">
+ <summary>
+ Summary description for IProxyBuilder.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.GeneratorContext">
+ <summary>
+ Summary description for GeneratorContext.
+ </summary>
+ </member>
+ <member name="P:Castle.DynamicProxy.GeneratorContext.ProxyObjectReference">
+ <summary>
+ The implementor of IObjectReference responsible for
+ the deserialization and reconstruction of the proxy object
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.IInvocation">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.IInvocation.Proceed(System.Object[])">
+ <summary>
+
+ </summary>
+ <param name="args"></param>
+ <returns></returns>
+ </member>
+ <member name="P:Castle.DynamicProxy.IInvocation.Proxy">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:Castle.DynamicProxy.IInvocation.InvocationTarget">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:Castle.DynamicProxy.IInvocation.Method">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:Castle.DynamicProxy.IInvocation.MethodInvocationTarget">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Invocation.SameClassInvocation">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
+ <summary>
+ Handles the deserialization of proxies.
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
+ <summary>
+ Usefull for test cases
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.AssertUtil">
+ <summary>
+ Summary description for AssertUtil.
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.ICallable">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.ICallable.Call(System.Object[])">
+ <summary>
+
+ </summary>
+ <param name="args"></param>
+ <returns></returns>
+ </member>
+ <member name="P:Castle.DynamicProxy.ICallable.Target">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.IInterceptor">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:Castle.DynamicProxy.ProxyGenerator">
+ <summary>
+ Generates a Java style proxy. This overrides the .Net proxy requirements
+ that forces one to extend MarshalByRefObject or (for a different purpose)
+ ContextBoundObject to have a Proxiable class.
+ </summary>
+ <remarks>
+ The <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> should be used to generate a class
+ implementing the specified interfaces. The dynamic implementation will
+ only calls the internal <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance.
+ </remarks>
+ <remarks>
+ Please note that this proxy implementation currently doesn't not supports ref and out arguments
+ in methods.
+ Also note that only virtual methods can be proxied in a class.
+ </remarks>
+ <example>
+ <code>
+ MyInvocationHandler interceptor = ...
+ ProxyGenerator generator = new ProxyGenerator();
+ IInterfaceExposed proxy =
+ generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor );
+ </code>
+ </example>
+ </member>
+ <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object)">
+ <summary>
+ Generates a proxy implementing all the specified interfaces and
+ redirecting method invocations to the specifed interceptor.
+ </summary>
+ <param name="theInterface">Interface to be implemented</param>
+ <param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
+ <returns>Proxy instance</returns>
+ </member>
+ <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object)">
+ <summary>
+ Generates a proxy implementing all the specified interfaces and
+ redirecting method invocations to the specifed interceptor.
+ </summary>
+ <param name="interfaces">Array of interfaces to be implemented</param>
+ <param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
+ <returns>Proxy instance</returns>
+ </member>
+ <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
+ <summary>
+
+ </summary>
+ <param name="theInterface"></param>
+ <param name="interceptor"></param>
+ <param name="context"></param>
+ <returns></returns>
+ </member>
+ <member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
+ <summary>
+
+ </summary>
+ <param name="interfaces"></param>
+ <param name="interceptor"></param>
+ <param name="context"></param>
+ <returns></returns>
+ </member>
+ <member name="T:Castle.DynamicProxy.StandardInterceptor">
+ <summary>
+ Summary description for StandardInterceptor.
+ </summary>
+ </member>
+ <member name="M:Castle.DynamicProxy.StandardInterceptor.Intercept(Castle.DynamicProxy.IInvocation,System.Object[])">
+ <summary>
+
+ </summary>
+ <param name="invocation"></param>
+ <param name="args"></param>
+ <returns></returns>
+ </member>
+ </members>
+</doc>
View
77 releasenotes.txt
@@ -1,9 +1,82 @@
+Build 1.0.2.0
+========================
+
+Bugs Fixed:
+
+ * [NH-409] - Sybase - Polymorphics Queries - wrong SQL generation about aliases/quotes
+ * [NH-418] - Custom persister cannot be instanciated.
+ * [NH-464] - DateTime does not work in composite-element mapping
+ * [NH-470] - Disconnect and Close should not close user-supplied connections
+ * [NH-471] - Misspelled property in ICriteria throws NullReferenceException
+ * [NH-476] - GetSetHelperFactory doesn't work with external dependencies
+ * [NH-477] - IncrementGenerator reads Int64 even if Int32 or Int16 is used.
+ * [NH-479] - One-To-One SaveAndUpdateCopy - Reference Identifier Bug
+ * [NH-480] - Should use invariant culture with ToLower and other string calls
+ * [NH-496] - Reflection optimizer should throw a more informative exception when a property is mapped using a wrong type
+ * [NH-505] - Reflection optimizer does not work with structures
+ * [NH-508] - changes to idbag collection not persisted correctly
+ * [NH-509] - ILMerge is not packaged in the distribution
+ * [NH-512] - Custom properties accessors do not work
+ * [NH-523] - SaveOrUpdateCopy throws PersistentObjectException
+
+New Features:
+
+ * [NH-513] - FOR UPDATE NOWAIT in Postgresql 8.1
+
+Improvements:
+
+ * [NH-483] - Improve type resolution to handle dynamic assemblies
+ * [NH-488] - Change log level for GetSetHelper messages to DEBUG so that users are not confused
+ * [NH-489] - Remove logging from ADOException constructor
+ * [NH-491] - SQLite dialect should use DATETIME type for date/time columns
+ * [NH-493] - Correction in the NHibernate.Type.CharType.cs
+ * [NH-497] - Add more Hibernate-compatible type names
+ * [NH-506] - Make Environment.UseReflectionOptimizer property writable
+ * [NH-516] - Log SQL parameter values
+ * [NH-521] - Locking an unitialized entity causes its initialization
+ * [NH-525] - Upgrade to latest DynamicProxy
+
Build 1.0.1.0
========================
+Bugs Fixed:
+
+ * [NH-406] - NHibernate.Cfg.Configuration.Configure("MyAssembly.dll.config") results in System.NullReferenceException
+ * [NH-407] - session.Refresh(myObject) does not refresh/load the object from the datbase if it does not exist in the cache.
+ * [NH-414] - Need to process <cache> and <collection-cache> in configuration files
+ * [NH-417] - Column Alias bug
+ * [NH-422] - <meta-value> child tag missing from <many-to-any>
+ * [NH-440] - one-to-one unique foreign key mapping fails during query
+ * [NH-415] - AddXmlString should rethrow exceptions it catches
+ * [NH-463] - IncrementGenerator returns Int64 but uses an Int32 internally
+
+New Features:
+
+ * [NH-113] - drop table SQL will now check if the table exists on MS SQL
+ to avoid unnecessary warnings.
+ * [NH-450] - Added hbm2ddl NAnt task by James Geurts
+
Improvements:
- * BinaryType.Get should now perform faster
- * [NH-398] - Bulk property get/set optimization in AbstractEntityPersister (Roberto Paterlini)
+ * [NH-403] - BinaryType.Get should now perform faster
+ * [NH-398] - Bulk property get/set optimization in AbstractEntityPersister
+ contributed by Roberto Paterlini. The optimization is enabled by default,
+ set hibernate.use_reflection_optimizer property to false in your
+ App.config file to disable it. Note that the property is global, thus
+ it is only possible to set it in the app.config file in <nhibernate>
+ session (see above).
+ * [NH-443] - Added more details to "broken column mapping" message
+ * [NH-448] - NHibernate configuration process is now closer to Hibernate:
+ - hibernate.properties file corresponds to <nhibernate> section
+ in app.config (mapped to NameValueSectionHandler)
+ - configuration through hibernate.cfg.xml is supported
+ - instead of hibernate.cfg.xml, <hibernate-configuration> section
+ in app.config (mapped to NHibernate.Cfg.ConfigurationSectionHandler)
+ can also be used.
+ - creating a new configuration instance in version 1.0 would cause it
+ to read <hibernate-configuration> section immediately. In 1.0.1 this
+ was changed so that the section is only read when Configure() is called
+ * HashCodeProvider is now merged into NHibernate assembly during build,
+ thus it does not have to be distributed along with NHibernate.dll.
Build 1.0.0.0
========================
View
4 src/NHibernate.DomainModel/AssemblyInfo.cs
@@ -16,8 +16,8 @@
[assembly: AssemblyCompanyAttribute("NHibernate.org")]
[assembly: AssemblyProductAttribute("NHibernate.DomainModel")]
[assembly: AssemblyCopyrightAttribute("Licensed under LGPL.")]
-[assembly: AssemblyVersionAttribute("1.0.1.0")]
+[assembly: AssemblyVersionAttribute("1.0.2.0")]
[assembly: AssemblyInformationalVersionAttribute("1.0")]
-[assembly: AssemblyFileVersionAttribute("1.0.1.0")]
+[assembly: AssemblyFileVersionAttribute("1.0.2.0")]
[assembly: AssemblyDelaySignAttribute(false)]
View
4 src/NHibernate.Test.Performance/AssemblyInfo.cs
@@ -16,8 +16,8 @@
[assembly: AssemblyCompanyAttribute("NHibernate.org")]
[assembly: AssemblyProductAttribute("NHibernate.Test.Performance")]
[assembly: AssemblyCopyrightAttribute("Licensed under LGPL.")]
-[assembly: AssemblyVersionAttribute("1.0.1.0")]
+[assembly: AssemblyVersionAttribute("1.0.2.0")]
[assembly: AssemblyInformationalVersionAttribute("1.0")]
-[assembly: AssemblyFileVersionAttribute("1.0.1.0")]
+[assembly: AssemblyFileVersionAttribute("1.0.2.0")]
[assembly: AssemblyDelaySignAttribute(false)]
View
2  src/NHibernate.Test/App.config
@@ -32,7 +32,7 @@
/>
<add
key="hibernate.use_reflection_optimizer"
- value="false"
+ value="true"
/>
<!--
View
4 src/NHibernate.Test/AssemblyInfo.cs
@@ -16,8 +16,8 @@
[assembly: AssemblyCompanyAttribute("NHibernate.org")]
[assembly: AssemblyProductAttribute("NHibernate.Test")]
[assembly: AssemblyCopyrightAttribute("Licensed under LGPL.")]
-[assembly: AssemblyVersionAttribute("1.0.1.0")]
+[assembly: AssemblyVersionAttribute("1.0.2.0")]
[assembly: AssemblyInformationalVersionAttribute("1.0")]
-[assembly: AssemblyFileVersionAttribute("1.0.1.0")]
+[assembly: AssemblyFileVersionAttribute("1.0.2.0")]
[assembly: AssemblyDelaySignAttribute(false)]
View
1  src/NHibernate.Test/ExpressionTest/BaseExpressionFixture.cs
@@ -29,6 +29,7 @@ public virtual void SetUp()
Assembly dm = Assembly.GetAssembly( typeof(Simple) );
cfg.AddResource( "NHibernate.DomainModel.Simple.hbm.xml", dm );
cfg.AddResource( "NHibernate.DomainModel.NHSpecific.SimpleComponent.hbm.xml", dm );
+ cfg.AddResource( "NHibernate.DomainModel.Multi.hbm.xml", dm );
factory = cfg.BuildSessionFactory();
factoryImpl = (ISessionFactoryImplementor)factory;
View
9 src/NHibernate.Test/ExpressionTest/SimpleExpressionFixture.cs
@@ -85,5 +85,14 @@ public void SimpleDateExpression()
session.Close();
}
+
+ [Test]
+ [ExpectedException(typeof(QueryException))]
+ public void MisspelledPropertyWithNormalizedEntityPersister()
+ {
+ NExpression.ICriterion expression = NExpression.Expression.Eq( "MisspelledProperty", DateTime.Now );
+ expression.ToSqlString( factoryImpl, typeof(Multi), "multi", BaseExpressionFixture.EmptyAliasClasses );
+ }
+
}
}
View
2  src/NHibernate.Test/Legacy/SQLLoaderTest.cs
@@ -119,7 +119,7 @@ public void FindBySQLProperties()
s.Name = "WannaBeFound";
session.Flush();
- IQuery query = session.CreateSQLQuery( "select {category.*} from Category {category} where {category}.Name = :name", "category", typeof( Category ) );
+ IQuery query = session.CreateSQLQuery( "select {category.*} from Category {category} where {category}.Name = :Name", "category", typeof( Category ) );
query.SetProperties( s );
query.List();
View
20 src/NHibernate.Test/NHSpecificTest/EmptyMappingsFixture.cs
@@ -57,5 +57,25 @@ public void NullInterceptor()
IInterceptor nullInterceptor = null;
sessions.OpenSession(nullInterceptor).Close();
}
+
+ [Test]
+ public void DisconnectShouldNotCloseUserSuppliedConnection()
+ {
+ IDbConnection conn = sessions.ConnectionProvider.GetConnection();
+ try
+ {
+ using( ISession s = OpenSession() )
+ {
+ s.Disconnect();
+ s.Reconnect( conn );
+ Assert.AreSame( conn, s.Disconnect() );
+ Assert.AreEqual( ConnectionState.Open, conn.State );
+ }
+ }
+ finally
+ {
+ sessions.ConnectionProvider.CloseConnection( conn );
+ }
+ }
}
}
View
46 src/NHibernate.Test/NHSpecificTest/NH295/SubclassFixture.cs
@@ -1,7 +1,5 @@
using System;
using System.Collections;
-using NHibernate;
-using NHibernate.Expression;
using NUnit.Framework;
namespace NHibernate.Test.NHSpecificTest.NH295
@@ -11,36 +9,30 @@ public class SubclassFixture : TestCase
{
protected override IList Mappings
{
- get
- {
- return new string[] { "NHSpecificTest.NH295.Subclass.hbm.xml" };
- }
+ get { return new string[] {"NHSpecificTest.NH295.Subclass.hbm.xml"}; }
}
protected override string MappingsAssembly
{
- get
- {
- return "NHibernate.Test";
- }
+ get { return "NHibernate.Test"; }
}
[Test]
- public void LoadByIDFailure( )
+ public void LoadByIDFailure()
{
UserGroup ug1 = new UserGroup();
ug1.Name = "Group1";
- User ui1 = new User("User1");
+ User ui1 = new User( "User1" );
ISession s = OpenSession();
- object gid1 = s.Save(ug1);
+ object gid1 = s.Save( ug1 );
object uid1 = s.Save( ui1 );
s.Flush();
s.Close();
s = OpenSession();
//Load user with USER NAME:
- ICriteria criteria1 = s.CreateCriteria( typeof(User) );
+ ICriteria criteria1 = s.CreateCriteria( typeof( User ) );
criteria1.Add( Expression.Expression.Eq( "Name", "User1" ) );
Assert.AreEqual( 1, criteria1.List().Count );
s.Flush();
@@ -48,7 +40,7 @@ public void LoadByIDFailure( )
s = OpenSession();
//Load group with USER NAME:
- ICriteria criteria2 = s.CreateCriteria( typeof(UserGroup) );
+ ICriteria criteria2 = s.CreateCriteria( typeof( UserGroup ) );
criteria2.Add( Expression.Expression.Eq( "Name", "User1" ) );
Assert.AreEqual( 0, criteria2.List().Count );
s.Flush();
@@ -56,33 +48,39 @@ public void LoadByIDFailure( )
s = OpenSession();
//Load group with GROUP NAME
- ICriteria criteria3 = s.CreateCriteria( typeof(UserGroup) );
+ ICriteria criteria3 = s.CreateCriteria( typeof( UserGroup ) );
criteria3.Add( Expression.Expression.Eq( "Name", "Group1" ) );
Assert.AreEqual( 1, criteria3.List().Count );
s.Flush();
s.Close();
-
s = OpenSession();
//Load user with GROUP NAME
- ICriteria criteria4 = s.CreateCriteria( typeof(User) );
+ ICriteria criteria4 = s.CreateCriteria( typeof( User ) );
criteria4.Add( Expression.Expression.Eq( "Name", "Group1" ) );
Assert.AreEqual( 0, criteria4.List().Count );
s.Flush();
s.Close();
-
s = OpenSession();
//Load group with USER IDENTITY
- ug1 = (UserGroup)s.Get( typeof(UserGroup), uid1 );
- Assert.IsNull(ug1);
+ ug1 = ( UserGroup ) s.Get( typeof( UserGroup ), uid1 );
+ Assert.IsNull( ug1 );
s.Flush();
s.Close();
s = OpenSession();
//Load group with GROUP IDENTITY
- ui1 = (User)s.Get( typeof(User), gid1 );
- Assert.IsNull(ui1);
+ ui1 = ( User ) s.Get( typeof( User ), gid1 );
+ Assert.IsNull( ui1 );
+ s.Flush();
+ s.Close();
+
+ s = OpenSession();
+ Party p = ( Party ) s.Get( typeof( Party ), uid1 );
+ Assert.IsTrue( p is User );
+ p = ( Party ) s.Get( typeof( Party ), gid1 );
+ Assert.IsTrue( p is UserGroup );
s.Flush();
s.Close();
@@ -115,4 +113,4 @@ public void List()
}
}
}
-}
+}
View
35 src/NHibernate.Test/NHSpecificTest/NH464/DateRange.cs
@@ -0,0 +1,35 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH464
+{
+ public struct DateRange
+ {
+ public static readonly DateRange Infinite = new DateRange(new DateTime(2001, 1, 1), new DateTime(2050, 12, 31));
+
+ private DateTime start;
+ private DateTime end;
+
+ public DateRange(DateTime start, DateTime end)
+ {
+ this.start = start;
+ this.end = end;
+ }
+
+ public DateTime Start
+ {
+ get { return start; }
+ set { start = value; }
+ }
+
+ public DateTime End
+ {
+ get { return end; }
+ set { end = value; }
+ }
+
+ public bool Contains(DateTime date)
+ {
+ return ((date.CompareTo(start) >= 0) && (date.CompareTo(end) <= 0));
+ }
+ }
+}
View
77 src/NHibernate.Test/NHSpecificTest/NH464/Fixture.cs
@@ -0,0 +1,77 @@
+using System;
+using System.Collections;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH464
+{
+ /// <summary>
+ /// This is a test class for composite-element with reflection optimizer
+ /// </summary>
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ public override string BugNumber
+ {
+ get { return "NH464"; }
+ }
+
+ /// <summary>
+ /// Mapping files used in the TestCase
+ /// </summary>
+ protected override IList Mappings
+ {
+ get { return new string[] {"NHSpecificTest.NH464.Promotion.hbm.xml"}; }
+ }
+
+ protected override void OnSetUp()
+ {
+ base.OnSetUp ();
+ using( ISession session = OpenSession() )
+ using( ITransaction t = session.BeginTransaction() )
+ {
+ session.Delete( "from System.Object" ); // clear everything from database
+ t.Commit();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using( ISession session = OpenSession() )
+ using( ITransaction t = session.BeginTransaction() )
+ {
+ session.Delete("from System.Object"); // clear everything from database
+ t.Commit();
+ }
+ base.OnTearDown ();
+ }
+
+ [Test]
+ public void CompositeElement()
+ {
+ Promotion promo = new Promotion();
+ promo.Description = "test promo";
+ promo.Window = new PromotionWindow();
+ promo.Window.Dates.Add(new DateRange(DateTime.Today, DateTime.Today.AddDays(20)));
+
+ int id = 0;
+ using( ISession session = OpenSession() )
+ using( ITransaction tx = session.BeginTransaction() )
+ {
+ id = (int)session.Save(promo);
+ tx.Commit();
+ }
+
+ using( ISession session = OpenSession() )
+ using( ITransaction tx = session.BeginTransaction() )
+ {
+ promo = (Promotion)session.Load(typeof(Promotion), id);
+
+ Assert.AreEqual(1, promo.Window.Dates.Count);
+ Assert.AreEqual(DateTime.Today, ((DateRange)promo.Window.Dates[0]).Start);
+ Assert.AreEqual(DateTime.Today.AddDays(20), ((DateRange)promo.Window.Dates[0]).End);
+
+ tx.Commit();
+ }
+ }
+ }
+}
View
31 src/NHibernate.Test/NHSpecificTest/NH464/Promotion.cs
@@ -0,0 +1,31 @@
+namespace NHibernate.Test.NHSpecificTest.NH464
+{
+ public class Promotion
+ {
+ private int id;
+ private string description;
+ private PromotionWindow window;
+
+ public Promotion()
+ {
+ }
+
+ public int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public string Description
+ {
+ get { return description; }
+ set { description = value; }
+ }
+
+ public PromotionWindow Window
+ {
+ get { return window; }
+ set { window = value; }
+ }
+ }
+}
View
22 src/NHibernate.Test/NHSpecificTest/NH464/Promotion.hbm.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" auto-import="true">
+
+ <class name="NHibernate.Test.NHSpecificTest.NH464.Promotion, NHibernate.Test" table="PROMOTIONS" mutable="true" lazy="false">
+
+ <id name="Id" column="PromotionID" type="Int32" unsaved-value="0" access="nosetter.camelcase">
+ <generator class="native" />
+ </id>
+ <property name="Description" column="Description" type="String"/>
+
+ <component name="Window" class="NHibernate.Test.NHSpecificTest.NH464.PromotionWindow, NHibernate.Test" access="nosetter.camelcase" insert="true" update="true">
+ <bag name="Dates" inverse="false" access="nosetter.camelcase" cascade="none" table="PROMOTION_WINDOWS" lazy="true" batch-size="10">
+ <key column="PromotionID"/>
+ <composite-element class="NHibernate.Test.NHSpecificTest.NH464.DateRange, NHibernate.Test">
+ <property name="Start" column="DateFrom" type="DateTime"/>
+ <property name="End" column="DateTo" type="DateTime"/>
+ </composite-element>
+ </bag>
+ </component>
+ </class>
+</hibernate-mapping>
View
35 src/NHibernate.Test/NHSpecificTest/NH464/PromotionWindow.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections;
+
+namespace NHibernate.Test.NHSpecificTest.NH464
+{
+ public class PromotionWindow
+ {
+ private IList dates;
+
+ public PromotionWindow()
+ {
+ this.dates = new ArrayList();
+ }
+
+ public IList Dates