You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(248) |
May
(82) |
Jun
(90) |
Jul
(177) |
Aug
(253) |
Sep
(157) |
Oct
(151) |
Nov
(143) |
Dec
(278) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(152) |
Feb
(107) |
Mar
(177) |
Apr
(133) |
May
(259) |
Jun
(81) |
Jul
(119) |
Aug
(306) |
Sep
(416) |
Oct
(240) |
Nov
(329) |
Dec
(206) |
2006 |
Jan
(466) |
Feb
(382) |
Mar
(153) |
Apr
(162) |
May
(133) |
Jun
(21) |
Jul
(18) |
Aug
(37) |
Sep
(97) |
Oct
(114) |
Nov
(110) |
Dec
(28) |
2007 |
Jan
(74) |
Feb
(65) |
Mar
(49) |
Apr
(76) |
May
(43) |
Jun
(15) |
Jul
(68) |
Aug
(55) |
Sep
(63) |
Oct
(59) |
Nov
(70) |
Dec
(66) |
2008 |
Jan
(71) |
Feb
(60) |
Mar
(120) |
Apr
(31) |
May
(48) |
Jun
(81) |
Jul
(107) |
Aug
(51) |
Sep
(80) |
Oct
(83) |
Nov
(83) |
Dec
(79) |
2009 |
Jan
(83) |
Feb
(110) |
Mar
(97) |
Apr
(91) |
May
(291) |
Jun
(250) |
Jul
(197) |
Aug
(58) |
Sep
(54) |
Oct
(122) |
Nov
(68) |
Dec
(34) |
2010 |
Jan
(50) |
Feb
(17) |
Mar
(63) |
Apr
(61) |
May
(84) |
Jun
(81) |
Jul
(138) |
Aug
(144) |
Sep
(78) |
Oct
(26) |
Nov
(30) |
Dec
(61) |
2011 |
Jan
(33) |
Feb
(35) |
Mar
(166) |
Apr
(221) |
May
(109) |
Jun
(76) |
Jul
(27) |
Aug
(37) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(1) |
2014 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Michael D. <mik...@us...> - 2004-10-14 04:33:30
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13630/Impl Modified Files: BatcherImpl.cs Log Message: removed some old comments. Index: BatcherImpl.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl/BatcherImpl.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** BatcherImpl.cs 30 Sep 2004 21:00:59 -0000 1.9 --- BatcherImpl.cs 14 Oct 2004 04:33:14 -0000 1.10 *************** *** 11,27 **** /// <summary> /// Manages prepared statements and batching. Class exists to enfores seperation of concerns - /// TODO: RESEARCH how ADO.NET batching compares to JDBC batching - I am not at all familiar with - /// this concept nor where/how it is used in Hibernate - /// - /// From reading the Hibernate source code it looks like Java's JDBC drivers have the ability - /// to process SQL Statements in batches. I have looked through the newsgroups and documentation - /// and it doesn't appear that ADO.Net has any similar concept. It might be convenient just to leave - /// this in here and use the NonBatchingBatcher. - /// - /// http://java.sun.com/docs/books/tutorial/jdbc/jdbc2dot0/batchupdates.html explains how PreparedStatements - /// handle batch updating - I don't see that concept in ADO.NET at all because the main interface is the IDbCommand - /// and it handles a command - about the only way to batch would be just to keep adding on to the CommandText and - /// adding more Parameters. I think that would get a little ugly for the performance gain - don't know what the gain - /// would be because I don't want to even think about writing that code :) /// </summary> internal abstract class BatcherImpl : IBatcher --- 11,14 ---- *************** *** 53,70 **** /// Gets the current Command that is contained for this Batch /// </summary> - /// <remarks> - /// In the java version you make a PreparedStatement and then append values to the - /// parameters such as: - /// ps.setInt(1, 1); - /// ps.setString(2, "Second Param"); - /// ps.addBatch(); - /// If I am reading the javadoc correctly now you can go back to the PreparedStatement - /// and add more values such as - /// ps.setInt(1, 2); - /// ps.SetString(2, "Second Param, on Second evaluation of PreparedStatement); - /// ps.addBatch(); - /// - /// </remarks> - /// <returns></returns> protected IDbCommand GetCommand() { --- 40,43 ---- |
From: Michael D. <mik...@us...> - 2004-10-14 04:33:29
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13630 Modified Files: ISession.cs Log Message: removed some old comments. Index: ISession.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/ISession.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ISession.cs 9 Aug 2004 03:10:26 -0000 1.10 --- ISession.cs 14 Oct 2004 04:33:13 -0000 1.11 *************** *** 455,465 **** /// Get the current Unit of Work and return the associated <c>ITransaction</c> object. /// </summary> - /// <remarks> - /// I don't know if Hibernate is capable of having 2 Transaction objects for the same session - - /// it doesn't look like it is. Adding this method remove that ability from NHibernate because - /// we would be limiting a Session to one Active Transaction at a time. This is all necessary because when creating - /// an IDbCommand object you need to tell it the IDbTransaction to use. There is no property of the - /// IDbConnection object that gives you the current IDbTransaction. - /// </remarks> /// <exception cref="HibernateException">There was no Active IDbTransaction for this Session</exception> /// TODO: DESIGNQUESTION: We might have it return null to indicate there is no Transaction for this Session --- 455,458 ---- *************** *** 467,471 **** /// of error checking... ITransaction Transaction {get;} - /// <summary> --- 460,463 ---- |
From: Michael D. <mik...@us...> - 2004-10-14 04:33:28
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Cfg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13630/Cfg Modified Files: Binder.cs Log Message: removed some old comments. Index: Binder.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Cfg/Binder.cs,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** Binder.cs 20 Sep 2004 03:00:17 -0000 1.31 --- Binder.cs 14 Oct 2004 04:33:13 -0000 1.32 *************** *** 308,312 **** if ( indexNode!=null && table!=null ) { - //TODO: what do you do about associations?? (second pass compile) table.GetIndex( indexNode.Value ).AddColumn(col); } --- 308,311 ---- *************** *** 314,318 **** if ( uniqueNode!=null && table!=null ) { - //TODO: what do you do about associations?? (second pass compile) table.GetUniqueKey( uniqueNode.Value ).AddColumn(col); } --- 313,316 ---- |
From: Peter S. <sz...@us...> - 2004-10-13 12:38:50
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29742 Modified Files: SessionImpl.cs Log Message: Fixed collection initializing. Index: SessionImpl.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl/SessionImpl.cs,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** SessionImpl.cs 23 Sep 2004 13:08:59 -0000 1.44 --- SessionImpl.cs 13 Oct 2004 12:38:37 -0000 1.45 *************** *** 3473,3476 **** --- 3473,3477 ---- } + ce.initialized = true; ce.PostInitialize(collection); |
From: Michael D. <mik...@us...> - 2004-10-13 04:42:59
|
Update of /cvsroot/nhibernate/nhibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30934 Modified Files: NHibernateSolution.build Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: NHibernateSolution.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/NHibernateSolution.build,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** NHibernateSolution.build 24 Sep 2004 03:31:27 -0000 1.12 --- NHibernateSolution.build 13 Oct 2004 04:42:49 -0000 1.13 *************** *** 16,20 **** <!-- These are used to set the correct Attributes in AssemblyInfo.cs. ! --> <property name="project.name" value="nhibernate" /> <property name="project.version.major" value="0" /> --- 16,20 ---- <!-- These are used to set the correct Attributes in AssemblyInfo.cs. ! --> <property name="project.name" value="nhibernate" /> <property name="project.version.major" value="0" /> *************** *** 26,33 **** <!-- default configuration --> <property name="project.config" value="debug" /> ! <!-- debug|release --> <property name="build.defines" value="" /> ! <!-- named project configurations --> <target name="debug" description="Perform a 'debug' build"> --- 26,41 ---- <!-- default configuration --> <property name="project.config" value="debug" /> ! <!-- debug|release --> <property name="build.defines" value="" /> ! ! <!-- platform specific properties. These are the defaults --> ! <property name="current.build.defines" value="${build.defines}" /> ! ! <!-- properties used to connect to database for testing --> ! <property name="nhibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect" /> ! <property name="nhibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" /> ! <property name="nhibernate.connection.connection_string" value="Server=localhost;initial catalog=nhibernate;Integrated Security=SSPI" /> ! <!-- named project configurations --> <target name="debug" description="Perform a 'debug' build"> *************** *** 62,66 **** name="build-external" depends="init" ! description="Builds code that NHibernate depends on but is not a core peice of NHibernate. The built dll/exes will be distributed in the external-bin folder so there should be no need for a user to build it." > <nant --- 70,74 ---- name="build-external" depends="init" ! description="Builds code that NHibernate depends on but is not a core peice of NHibernate. The built dll/exes will be distributed in the lib folder so there should be no need for a user to build it." > <nant *************** *** 80,121 **** <!-- copy framework-nuetral libraries --> <copy todir="${build.dir}/bin"> ! <fileset basedir="external-bin"> ! <includes name="log4net.*" /> ! <includes name="HashCodeProvider.*" /> ! <includes name="DotNetMock.*" /> ! <includes name="nunit.framework.*" /> <includes name="Commons.*" /> ! <includes name="NVelocity.*" /> <includes name="NAnt.Core.*" /> </fileset> </copy> <!-- copy framework-specific libraries --> ! <!-- note that we are not targeting diff versions - only 1.1 and not mono yet --> ! <nant ! buildfile="src/NHibernate/NHibernate.build" ! target="build" ! /> ! <nant ! buildfile="src/NHibernate.DomainModel/NHibernate.DomainModel.build" ! target="build" ! /> ! <nant ! buildfile="src/NHibernate.Test/NHibernate.Test.build" ! target="build" ! /> ! <nant ! buildfile="src/NHibernate.Tool.hbm2net/NHibernate.Tool.hbm2net.build" ! target="build" ! /> ! <nant ! buildfile="src/NHibernate.Tasks/NHibernate.Tasks.build" ! target="build" ! /> ! <nant ! buildfile="src/NHibernate.Examples/NHibernate.Examples.build" ! target="build" ! /> </target> --- 88,114 ---- <!-- copy framework-nuetral libraries --> <copy todir="${build.dir}/bin"> ! <fileset basedir="lib"> <includes name="Commons.*" /> ! <includes name="DotNetMock.*" /> ! <includes name="HashCodeProvider.*" /> <includes name="NAnt.Core.*" /> + <includes name="NVelocity.*" /> </fileset> </copy> <!-- copy framework-specific libraries --> ! <copy todir="${build.dir}/bin"> ! <fileset basedir="${lib.dir}"> ! <includes name="log4net.*" /> ! <includes name="nunit.framework.*" /> ! </fileset> ! </copy> ! <nant target="build" buildfile="src/NHibernate/NHibernate.build" /> ! <nant target="build" buildfile="src/NHibernate.DomainModel/NHibernate.DomainModel.build" /> ! <nant target="build" buildfile="src/NHibernate.Test/NHibernate.Test.build" /> ! <nant target="build" buildfile="src/NHibernate.Tool.hbm2net/NHibernate.Tool.hbm2net.build" /> ! <nant target="build" buildfile="src/NHibernate.Tasks/NHibernate.Tasks.build" /> ! <nant target="build" buildfile="src/NHibernate.Examples/NHibernate.Examples.build" /> </target> *************** *** 128,220 **** --> <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.dialect']/@value" ! value="${nhibernate.dialect}" ! /> ! <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.connection.driver_class']/@value" ! value="${nhibernate.connection.driver_class}" ! /> ! <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.connection.connection_string']/@value" ! value="${nhibernate.connection.connection_string}" ! /> ! ! <nant ! buildfile="src/NHibernate.Test/NHibernate.Test.build" ! target="test" /> <!-- Remove the connnection string information that was just entered... --> ! <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.connection.connection_string']/@value" ! value="conn string here" ! /> </target> - <target name="set-runtime-configuration"> - <!-- - We are not building for anything but the .net 1.1 framework right now - --> - - <call target="set-net-1.1-runtime-configuration" /> - <!-- - <ifnot propertyexists="current.runtime.config"> - <ifnot propertyexists="nant.settings.currentframework"> - <fail message="No runtime configuration was specified and the default NAnt runtime is not available." /> - </ifnot> - <ifnot targetexists="set-${nant.settings.currentframework}-runtime-configuration"> - <fail message="No runtime configuration was specified and the current runtime (${nant.settings.currentframework}) is not supported by NAnt." /> - </ifnot> - <call target="set-${nant.settings.currentframework}-runtime-configuration"/> - </ifnot> - <ifnot propertyexists="current.runtime.version"> - <ifnot propertyexists="nant.settings.currentframework"> - <fail message="No runtime configuration was specified and the default NAnt runtime is not available." /> - </ifnot> - <ifnot targetexists="set-${nant.settings.currentframework}-runtime-configuration"> - <fail message="No runtime configuration was specified and the current runtime (${nant.settings.currentframework}) is not supported by NDoc." /> - </ifnot> - <call target="set-${nant.settings.currentframework}-runtime-configuration" /> - </ifnot> - <ifnot targetexists="set-${current.runtime.config}-${current.runtime.version}-runtime-configuration"> - <fail message="The ${current.runtime.config}-${current.runtime.version} runtime is not supported by NDoc." /> - </ifnot> - <call target="set-${current.runtime.config}-${current.runtime.version}-runtime-configuration"/> - --> - </target> - - <target name="set-runtime-configuration-flags"> - <property name="current.runtime.config.net" value="false" /> - <property name="current.runtime.config.netcf" value="false" /> - <property name="current.runtime.config.mono" value="false" /> - <property name="current.runtime.config.sscli" value="false" /> - <property name="current.runtime.config.${current.runtime.config}" value="true" /> - <property name="current.runtime.net-1.0" value="false" /> - <property name="current.runtime.net-1.1" value="false" /> - <property name="current.runtime.net-1.2" value="false" /> - <property name="current.runtime.netcf-1.0" value="false" /> - <property name="current.runtime.mono-1.0" value="false" /> - <property name="current.runtime.sscli-1.0" value="false" /> - <property name="current.runtime.${current.runtime.config}-${current.runtime.version}" value="true" /> - </target> - - <target name="set-net-1.1-runtime-configuration"> - <property name="current.runtime.config" value="net" /> - <property name="current.runtime.version" value="1.1" /> - <property name="current.runtime.description" value="Microsoft .NET Framework 1.1" /> - <property name="current.build.defines" value="${build.defines}NET,NET_1_1" /> - <property name="link.sdkdoc.version" value="SDK_v1_1" /> - <property name="lib.dir" value="lib/${current.runtime.config}/${current.runtime.version}" /> - <property name="nant.settings.currentframework" value="${current.runtime.config}-${current.runtime.version}" /> - <call target="set-runtime-configuration-flags" /> - </target> - <target name="sdkdoc" depends="init" description="Generates MSDN sytle documentation"> <ndoc> --- 121,152 ---- --> <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.dialect']/@value" ! value="${nhibernate.dialect}" ! /> ! <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.connection.driver_class']/@value" ! value="${nhibernate.connection.driver_class}" ! /> ! <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.connection.connection_string']/@value" ! value="${nhibernate.connection.connection_string}" /> + + <nant target="test" buildfile="src/NHibernate.Test/NHibernate.Test.build" /> <!-- Remove the connnection string information that was just entered... --> ! <xmlpoke ! file="${build.dir}/bin/NHibernate.Test.dll.config" ! xpath="/configuration/nhibernate/add[@key='hibernate.connection.connection_string']/@value" ! value="conn string here" ! /> </target> <target name="sdkdoc" depends="init" description="Generates MSDN sytle documentation"> <ndoc> *************** *** 267,270 **** --- 199,211 ---- </documenters> </ndoc> + + <delete> + <!-- remove all of the html, gif, etc... files and leave only the chm --> + <fileset basedir="${build.dir}/doc/sdk"> + <includes name="*" /> + <excludes name="*SDK.chm" /> + </fileset> + </delete> + </target> *************** *** 272,276 **** <copy todir="${build.dir}"> <fileset> ! <includes name="external-bin/**" /> <!-- exclude the UnitTesting project that is no longer used --> --- 213,219 ---- <copy todir="${build.dir}"> <fileset> ! <!-- copy framework nuetral dlls --> ! <includes name="lib/*" /> ! <includes name="${lib.dir}/**" /> <!-- exclude the UnitTesting project that is no longer used --> *************** *** 309,311 **** --- 252,326 ---- </target> + <!-- Framework specific configuration --> + <target name="set-runtime-configuration"> + <!-- + We are not building for anything but the .net 1.1 framework right now + I've been goofing around with mono but am having problems with nant 0.85 + and nunit-2.2 related tasks. Probably something simple, but I think I've + followed all the instructions to get that working... + --> + <call target="set-net-1.1-runtime-configuration" /> + <!-- + <ifnot propertyexists="current.runtime.config"> + <ifnot propertyexists="nant.settings.currentframework"> + <fail message="No runtime configuration was specified and the default NAnt runtime is not available." /> + </ifnot> + <ifnot targetexists="set-${nant.settings.currentframework}-runtime-configuration"> + <fail message="No runtime configuration was specified and the current runtime (${nant.settings.currentframework}) is not supported by NAnt." /> + </ifnot> + <call target="set-${nant.settings.currentframework}-runtime-configuration"/> + </ifnot> + <ifnot propertyexists="current.runtime.version"> + <ifnot propertyexists="nant.settings.currentframework"> + <fail message="No runtime configuration was specified and the default NAnt runtime is not available." /> + </ifnot> + <ifnot targetexists="set-${nant.settings.currentframework}-runtime-configuration"> + <fail message="No runtime configuration was specified and the current runtime (${nant.settings.currentframework}) is not supported by NDoc." /> + </ifnot> + <call target="set-${nant.settings.currentframework}-runtime-configuration" /> + </ifnot> + <ifnot targetexists="set-${current.runtime.config}-${current.runtime.version}-runtime-configuration"> + <fail message="The ${current.runtime.config}-${current.runtime.version} runtime is not supported by NDoc." /> + </ifnot> + <call target="set-${current.runtime.config}-${current.runtime.version}-runtime-configuration"/> + --> + </target> + + <target name="set-runtime-configuration-flags"> + <property name="current.runtime.config.net" value="false" /> + <property name="current.runtime.config.netcf" value="false" /> + <property name="current.runtime.config.mono" value="false" /> + <property name="current.runtime.config.sscli" value="false" /> + <property name="current.runtime.config.${current.runtime.config}" value="true" /> + <property name="current.runtime.net-1.0" value="false" /> + <property name="current.runtime.net-1.1" value="false" /> + <property name="current.runtime.net-1.2" value="false" /> + <property name="current.runtime.netcf-1.0" value="false" /> + <property name="current.runtime.mono-1.0" value="false" /> + <property name="current.runtime.sscli-1.0" value="false" /> + <property name="current.runtime.${current.runtime.config}-${current.runtime.version}" value="true" /> + </target> + + <target name="set-net-1.1-runtime-configuration"> + <property name="current.runtime.config" value="net" /> + <property name="current.runtime.version" value="1.1" /> + <property name="current.runtime.description" value="Microsoft .NET Framework 1.1" /> + <property name="current.build.defines" value="${build.defines}NET,NET_1_1" /> + <property name="link.sdkdoc.version" value="SDK_v1_1" /> + <property name="lib.dir" value="lib/${current.runtime.config}/${current.runtime.version}" /> + <property name="nant.settings.currentframework" value="${current.runtime.config}-${current.runtime.version}" /> + <call target="set-runtime-configuration-flags" /> + </target> + + <target name="set-mono-1.0-runtime-configuration"> + <property name="current.runtime.config" value="mono" /> + <property name="current.runtime.version" value="1.0" /> + <property name="current.runtime.description" value="Mono 1.0" /> + <property name="current.build.defines" value="${build.defines}MONO,MONO_1_0" /> + <property name="link.sdkdoc.version" value="MsdnOnline" /> + <property name="lib.dir" value="lib/${current.runtime.config}/${current.runtime.version}" /> + <property name="nant.settings.currentframework" value="${current.runtime.config}-${current.runtime.version}" /> + <call target="set-runtime-configuration-flags" /> + </target> + </project> \ No newline at end of file |
From: Michael D. <mik...@us...> - 2004-10-13 04:18:20
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26589/NHibernate Modified Files: NHibernate.build NHibernate-1.1.csproj Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: NHibernate-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/NHibernate-1.1.csproj,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** NHibernate-1.1.csproj 11 Oct 2004 23:57:55 -0000 1.50 --- NHibernate-1.1.csproj 13 Oct 2004 04:18:07 -0000 1.51 *************** *** 81,102 **** /> <Reference - Name = "log4net" - AssemblyName = "log4net" - HintPath = "..\..\external-bin\log4net.dll" - /> - <Reference - Name = "System.Web" - AssemblyName = "System.Web" - HintPath = "..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Web.dll" - /> - <Reference - Name = "System.Drawing" - AssemblyName = "System.Drawing" - HintPath = "..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll" - /> - <Reference Name = "HashCodeProvider" AssemblyName = "HashCodeProvider" ! HintPath = "..\..\external-bin\HashCodeProvider.dll" /> </References> --- 81,92 ---- /> <Reference Name = "HashCodeProvider" AssemblyName = "HashCodeProvider" ! HintPath = "..\..\lib\HashCodeProvider.dll" ! /> ! <Reference ! Name = "log4net" ! AssemblyName = "log4net" ! HintPath = "..\..\lib\net\1.1\log4net.dll" /> </References> Index: NHibernate.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/NHibernate.build,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NHibernate.build 13 Sep 2004 23:15:29 -0000 1.1 --- NHibernate.build 13 Oct 2004 04:18:07 -0000 1.2 *************** *** 8,22 **** <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! * sign - indicates if the Assembly should be signed ! --> ! <property name="keyFile" value="..\NHibernate.snk" /> --- 8,22 ---- <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! * sign - (true|false)indicates if the Assembly should be signed. ! --> ! <property name="keyFile" value="..\NHibernate.snk" /> *************** *** 71,77 **** <references basedir="${build.dir}/bin"> ! <includes name="System.dll" /> ! <includes name="System.XML.dll" /> ! <includes name="System.Data.dll" /> <includes name="log4net.dll" /> <includes name="HashCodeProvider.dll" /> --- 71,77 ---- <references basedir="${build.dir}/bin"> ! <includes name="${nant.settings.currentframework.frameworkassemblydirectory}/System.dll" /> ! <includes name="${nant.settings.currentframework.frameworkassemblydirectory}/System.XML.dll" /> ! <includes name="${nant.settings.currentframework.frameworkassemblydirectory}/System.Data.dll" /> <includes name="log4net.dll" /> <includes name="HashCodeProvider.dll" /> |
From: Michael D. <mik...@us...> - 2004-10-13 04:18:20
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26589/NHibernate.Test Modified Files: NHibernate.Test.build NHibernate.Test-1.1.csproj Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: NHibernate.Test.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/NHibernate.Test.build,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** NHibernate.Test.build 28 Sep 2004 01:10:16 -0000 1.8 --- NHibernate.Test.build 13 Oct 2004 04:18:08 -0000 1.9 *************** *** 7,20 **** > <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> ! <target name="build"> <!-- ensure the AssemblyInfo is writable --> --- 7,20 ---- > <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> ! <target name="build"> <!-- ensure the AssemblyInfo is writable --> Index: NHibernate.Test-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/NHibernate.Test-1.1.csproj,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** NHibernate.Test-1.1.csproj 28 Sep 2004 01:10:16 -0000 1.44 --- NHibernate.Test-1.1.csproj 13 Oct 2004 04:18:08 -0000 1.45 *************** *** 81,95 **** /> <Reference - Name = "log4net" - AssemblyName = "log4net" - HintPath = "..\..\external-bin\log4net.dll" - /> - <Reference - Name = "nunit.framework" - AssemblyName = "nunit.framework" - HintPath = "C:\Program Files\OSS.NET\NUnit V2.1\\bin\nunit.framework.dll" - AssemblyFolderKey = "hklm\dn\nunit.framework" - /> - <Reference Name = "NHibernate-1.1" Project = "{0D8B57B0-1310-4EF0-B50C-DD22F37310C7}" --- 81,84 ---- *************** *** 102,113 **** /> <Reference Name = "DotNetMock.Framework" AssemblyName = "DotNetMock.Framework" ! HintPath = "..\..\external-bin\DotNetMock.Framework.dll" /> <Reference Name = "DotNetMock" AssemblyName = "DotNetMock" ! HintPath = "..\..\external-bin\DotNetMock.dll" /> </References> --- 91,112 ---- /> <Reference + Name = "nunit.framework" + AssemblyName = "nunit.framework" + HintPath = "..\..\lib\net\1.1\nunit.framework.dll" + /> + <Reference + Name = "log4net" + AssemblyName = "log4net" + HintPath = "..\..\lib\net\1.1\log4net.dll" + /> + <Reference Name = "DotNetMock.Framework" AssemblyName = "DotNetMock.Framework" ! HintPath = "..\..\lib\DotNetMock.Framework.dll" /> <Reference Name = "DotNetMock" AssemblyName = "DotNetMock" ! HintPath = "..\..\lib\DotNetMock.dll" /> </References> |
From: Michael D. <mik...@us...> - 2004-10-13 04:18:20
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Tool.hbm2net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26589/NHibernate.Tool.hbm2net Modified Files: NHibernate.Tool.hbm2net.build NHibernate.Tool.hbm2net-1.1.csproj Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: NHibernate.Tool.hbm2net.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Tool.hbm2net/NHibernate.Tool.hbm2net.build,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NHibernate.Tool.hbm2net.build 10 Aug 2004 16:40:15 -0000 1.2 --- NHibernate.Tool.hbm2net.build 13 Oct 2004 04:18:08 -0000 1.3 *************** *** 8,21 **** <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> ! <target name="build" description="Tool to Generate Classes from hbm.xml files."> <!-- ensure the AssemblyInfo is writable --> --- 8,21 ---- <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> ! <target name="build" description="Tool to Generate Classes from hbm.xml files."> <!-- ensure the AssemblyInfo is writable --> Index: NHibernate.Tool.hbm2net-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Tool.hbm2net/NHibernate.Tool.hbm2net-1.1.csproj,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NHibernate.Tool.hbm2net-1.1.csproj 25 Jul 2004 11:41:03 -0000 1.1 --- NHibernate.Tool.hbm2net-1.1.csproj 13 Oct 2004 04:18:09 -0000 1.2 *************** *** 88,102 **** Name = "NVelocity" AssemblyName = "NVelocity" ! HintPath = "..\..\external-bin\NVelocity.dll" /> <Reference Name = "Commons" AssemblyName = "Commons" ! HintPath = "..\..\external-bin\Commons.dll" /> <Reference Name = "log4net" AssemblyName = "log4net" ! HintPath = "..\..\external-bin\log4net.dll" /> </References> --- 88,102 ---- Name = "NVelocity" AssemblyName = "NVelocity" ! HintPath = "..\..\lib\NVelocity.dll" /> <Reference Name = "Commons" AssemblyName = "Commons" ! HintPath = "..\..\lib\Commons.dll" /> <Reference Name = "log4net" AssemblyName = "log4net" ! HintPath = "..\..\lib\net\1.1\log4net.dll" /> </References> |
From: Michael D. <mik...@us...> - 2004-10-13 04:18:20
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26589/NHibernate.DomainModel Modified Files: NHibernate.DomainModel.build Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: NHibernate.DomainModel.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/NHibernate.DomainModel.build,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NHibernate.DomainModel.build 10 Aug 2004 16:40:14 -0000 1.4 --- NHibernate.DomainModel.build 13 Oct 2004 04:18:08 -0000 1.5 *************** *** 8,20 **** <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> <target name="build" description="Build the DomainModel that will be used by the Tests"> <!-- ensure the AssemblyInfo is writable --> --- 8,20 ---- <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> <target name="build" description="Build the DomainModel that will be used by the Tests"> <!-- ensure the AssemblyInfo is writable --> |
From: Michael D. <mik...@us...> - 2004-10-13 04:18:20
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Tasks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26589/NHibernate.Tasks Modified Files: NHibernate.Tasks.build NHibernate.Tasks-1.1.csproj Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: NHibernate.Tasks-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Tasks/NHibernate.Tasks-1.1.csproj,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NHibernate.Tasks-1.1.csproj 25 Jul 2004 11:41:34 -0000 1.1 --- NHibernate.Tasks-1.1.csproj 13 Oct 2004 04:18:08 -0000 1.2 *************** *** 77,81 **** <Reference Name = "System.XML" ! AssemblyName = "System.XML" HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" /> --- 77,81 ---- <Reference Name = "System.XML" ! AssemblyName = "System.Xml" HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" /> *************** *** 88,97 **** Name = "log4net" AssemblyName = "log4net" ! HintPath = "..\..\external-bin\log4net.dll" /> <Reference Name = "NAnt.Core" AssemblyName = "NAnt.Core" ! HintPath = "..\..\external-bin\NAnt.Core.dll" /> </References> --- 88,97 ---- Name = "log4net" AssemblyName = "log4net" ! HintPath = "..\..\lib\net\1.1\log4net.dll" /> <Reference Name = "NAnt.Core" AssemblyName = "NAnt.Core" ! HintPath = "..\..\lib\NAnt.Core.dll" /> </References> Index: NHibernate.Tasks.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Tasks/NHibernate.Tasks.build,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NHibernate.Tasks.build 10 Aug 2004 16:40:15 -0000 1.2 --- NHibernate.Tasks.build 13 Oct 2004 04:18:08 -0000 1.3 *************** *** 6,19 **** <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> ! <target name="build" description="NAnt Tasks that use NHibernate's Toolset."> <!-- ensure the AssemblyInfo is writable --> --- 6,19 ---- <!-- ! Required properties: ! * build.dir - (path) root level to build to, assemblies will go in ${build.dir}/bin ! * build.debug - (true|false) debug build? ! * current.build.defines - framework-specific build defines * project.version - full project version * project.version.major - the major number of the build * project.version.minor - the minor number of the build * project.version.build - the build number ! --> ! <target name="build" description="NAnt Tasks that use NHibernate's Toolset."> <!-- ensure the AssemblyInfo is writable --> |
From: Michael D. <mik...@us...> - 2004-10-13 04:18:18
|
Update of /cvsroot/nhibernate/nhibernate/src/HashCodeProvider In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26589/HashCodeProvider Modified Files: HashCodeProvider.build Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 Index: HashCodeProvider.build =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/HashCodeProvider/HashCodeProvider.build,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** HashCodeProvider.build 10 Aug 2004 16:14:47 -0000 1.2 --- HashCodeProvider.build 13 Oct 2004 04:18:07 -0000 1.3 *************** *** 10,16 **** <exec program="${nant.settings.currentframework.frameworkdirectory}\ilasm" ! commandline="HashCodeProvider.il /dll /output:..\..\external-bin\HashCodeProvider.dll /key:..\NHibernate.snk" /> ! <copy file="HashCodeProvider.license.txt" todir="../../external-bin" /> </target> --- 10,16 ---- <exec program="${nant.settings.currentframework.frameworkdirectory}\ilasm" ! commandline="HashCodeProvider.il /dll /output:..\..\lib\HashCodeProvider.dll /key:..\NHibernate.snk" /> ! <copy file="HashCodeProvider.license.txt" todir="../../lib" /> </target> |
From: Michael D. <mik...@us...> - 2004-10-13 04:17:47
|
Update of /cvsroot/nhibernate/nhibernate/external-bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26498 Removed Files: Commons.dll DotNetMock.dll DotNetMock.Framework.dll HashCodeProvider.dll log4net.dll NAnt.Core.dll nunit.framework.dll NVelocity.dll HashCodeProvider.license.txt Commons.xml log4net.xml NAnt.Core.xml NVelocity.xml Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 --- log4net.xml DELETED --- --- HashCodeProvider.dll DELETED --- --- NVelocity.xml DELETED --- --- DotNetMock.Framework.dll DELETED --- --- HashCodeProvider.license.txt DELETED --- --- Commons.dll DELETED --- --- NAnt.Core.xml DELETED --- --- NVelocity.dll DELETED --- --- NAnt.Core.dll DELETED --- --- Commons.xml DELETED --- --- DotNetMock.dll DELETED --- --- nunit.framework.dll DELETED --- --- log4net.dll DELETED --- |
From: Michael D. <mik...@us...> - 2004-10-13 04:05:46
|
Update of /cvsroot/nhibernate/nhibernate/lib/net/1.1 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24151/lib/net/1.1 Added Files: log4net.dll log4net.xml nunit.framework.dll Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 --- NEW FILE: nunit.framework.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: log4net.xml --- <?xml version="1.0"?> <doc> <assembly> <name>log4net</name> </assembly> <members> <member name="T:log4net.Appender.ADONetAppender"> <summary> Appender that logs to a database. </summary> <remarks> <para> <see cref="T:log4net.Appender.ADONetAppender"/> appends logging events to a table within a database. The appender can be configured to specify the connection string by setting the <see cref="P:log4net.Appender.ADONetAppender.ConnectionString"/> property. The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.ADONetAppender.ConnectionType"/> property. For more information on database connection strings for your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>. </para> [...14753 lines suppressed...] <param name="frameStack">The internal stack used by the NDC.</param> <param name="frameDepth">The depth to return the stack to when this object is disposed.</param> </member> <member name="M:log4net.NDC.NDCAutoDisposeFrame.Dispose"> <summary> Returns the NDC stack to the correct depth. </summary> </member> <member name="F:log4net.NDC.NDCAutoDisposeFrame.m_frameStack"> <summary> The NDC internal stack </summary> </member> <member name="F:log4net.NDC.NDCAutoDisposeFrame.m_frameDepth"> <summary> The depth to rethrow the stack to when this instance is disposed </summary> </member> </members> </doc> --- NEW FILE: log4net.dll --- (This appears to be a binary file; contents omitted.) |
From: Michael D. <mik...@us...> - 2004-10-13 04:05:39
|
Update of /cvsroot/nhibernate/nhibernate/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24151/lib Added Files: Commons.dll Commons.xml DotNetMock.Core.dll DotNetMock.dll DotNetMock.Framework.dll HashCodeProvider.dll HashCodeProvider.license.txt NAnt.Core.dll NAnt.Core.xml NVelocity.dll NVelocity.xml Log Message: began reorg of external libs to support targeting mono, net-1.1, and net-2.0 --- NEW FILE: HashCodeProvider.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: NVelocity.xml --- <?xml version="1.0"?> <doc> <assembly> <name>NVelocity</name> </assembly> <members> <member name="T:NVelocity.App.Events.EventCartridge"> <summary> 'Package' of event handlers... * </summary> <author> <a href="mailto:ge...@op...">Geir Magnusson Jr.</a> </author> <author> <a href="mailto:j_a...@ya...">Jose Alberto Fernandez</a> </author> <version> $Id: NVelocity.xml,v 1.1 2004/10/13 04:05:19 mikedoerfler Exp $ </version> </member> <member name="T:NVelocity.App.Events.ReferenceInsertionEventHandler"> [...6744 lines suppressed...] <summary> The AST node structure is merged with the context to produce the final output. * Throws IOException if failure is due to a file related issue, and Exception otherwise * </summary> <param name="context">Conext with data elements accessed by template </param> <param name="writer">output writer for rendered template @throws ResourceNotFoundException if template not found from any available source. @throws ParseErrorException if template cannot be parsed due to syntax (or other) error. @throws Exception anything else. </param> </member> </members> </doc> --- NEW FILE: DotNetMock.Framework.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: HashCodeProvider.license.txt --- Copyright (c) 2002 Mattias Sjogren This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. No substantial portion of the source code may be redistributed without the express written permission of the copyright holders, where "substantial" is defined as enough code to be recognizably from this library. --- NEW FILE: DotNetMock.Core.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Commons.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: NAnt.Core.xml --- <?xml version="1.0"?> <doc> <assembly> <name>NAnt.Core</name> </assembly> <members> <member name="T:NAnt.Core.Attributes.BooleanValidatorAttribute"> <summary> Used to indicate that a property should be able to be converted into a <see cref="T:System.Boolean"/>. </summary> </member> <member name="T:NAnt.Core.Attributes.ValidatorAttribute"> <summary> Base class for all validator attributes. </summary> </member> <member name="M:NAnt.Core.Attributes.ValidatorAttribute.Validate(System.Object)"> <summary> [...8955 lines suppressed...] </member> <member name="P:NAnt.Core.XmlLogger.Threshold"> <summary> Gets or sets the highest level of message this logger should respond to. </summary> <value>The highest level of message this logger should respond to.</value> <remarks> Only messages with a message level higher than or equal to the given level should be written to the log. </remarks> </member> <member name="P:NAnt.Core.XmlLogger.OutputWriter"> <summary> Gets or sets the <see cref="T:System.IO.TextWriter"/> to which the logger is to send its output. </summary> </member> </members> </doc> --- NEW FILE: NVelocity.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: NAnt.Core.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Commons.xml --- <?xml version="1.0"?> <doc> <assembly> <name>Commons</name> </assembly> <members> <member name="T:Commons.Collections.CollectionsUtil"> <summary> Static utility methods for collections </summary> </member> <!-- Badly formed XML comment ignored for member "T:Commons.Collections.ExtendedProperties" --> <member name="F:Commons.Collections.ExtendedProperties.defaults"> <summary> Default configurations repository. </summary> </member> <member name="F:Commons.Collections.ExtendedProperties.file"> <summary> The file connected to this repository (holding comments and such). * @serial </summary> </member> <member name="F:Commons.Collections.ExtendedProperties.basePath"> <summary> Base path of the configuration file used to create this ExtendedProperties object. </summary> </member> <member name="F:Commons.Collections.ExtendedProperties.fileSeparator"> <summary> File separator. </summary> </member> <member name="F:Commons.Collections.ExtendedProperties.isInitialized"> <summary> Has this configuration been intialized. </summary> </member> <member name="F:Commons.Collections.ExtendedProperties.include"> <summary> This is the name of the property that can point to other properties file for including other properties files. </summary> </member> <member name="F:Commons.Collections.ExtendedProperties.keysAsListed"> <summary> These are the keys in the order they listed in the configuration file. This is useful when you wish to perform operations with configuration information in a particular order. </summary> </member> <member name="M:Commons.Collections.ExtendedProperties.#ctor"> <summary> Creates an empty extended properties object. </summary> </member> <member name="M:Commons.Collections.ExtendedProperties.#ctor(System.String)"> <summary> Creates and loads the extended properties from the specified file. * </summary> <param name="file">A String. </param> <exception cref="!:">IOException. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.#ctor(System.String,System.String)"> <summary> Creates and loads the extended properties from the specified file. * </summary> <param name="file">A String. </param> <exception cref="!:">IOException. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.Init(Commons.Collections.ExtendedProperties)"> <summary> Private initializer method that sets up the generic resources. * </summary> <exception cref="!:">IOException, if there was an I/O problem. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.IsInitialized"> <summary> Indicate to client code whether property resources have been initialized or not. </summary> </member> <member name="M:Commons.Collections.ExtendedProperties.Load(System.IO.Stream)"> <summary> Load the properties from the given input stream. * </summary> <param name="input">An InputStream. </param> <exception cref="!:">IOException. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.Load(System.IO.Stream,System.String)"> <summary> Load the properties from the given input stream and using the specified encoding. * </summary> <param name="input">An InputStream. </param> <param name="enc">An encoding. </param> <exception cref="!:">IOException. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetProperty(System.String)"> <summary> Gets a property from the configuration. * </summary> <param name="key">property to retrieve </param> <returns>value as object. Will return user value if exists, if not then default value if exists, otherwise null </returns> </member> <member name="M:Commons.Collections.ExtendedProperties.AddProperty(System.String,System.Object)"> <summary> Add a property to the configuration. If it already exists then the value stated here will be added to the configuration entry. For example, if * resource.loader = file * is already present in the configuration and you * addProperty("resource.loader", "classpath") * Then you will end up with a Vector like the following: * ["file", "classpath"] * </summary> <param name="String">key </param> <param name="String">value </param> </member> <member name="M:Commons.Collections.ExtendedProperties.AddPropertyDirect(System.String,System.Object)"> <summary> Adds a key/value pair to the map. This routine does no magic morphing. It ensures the keylist is maintained * </summary> <param name="key">key to use for mapping </param> <param name="obj">object to store </param> </member> <member name="M:Commons.Collections.ExtendedProperties.AddStringProperty(System.String,System.String)"> <summary> Sets a string property w/o checking for commas - used internally when a property has been broken up into strings that could contain escaped commas to prevent the inadvertant vectorization. Thanks to Leon Messerschmidt for this one. </summary> </member> <member name="M:Commons.Collections.ExtendedProperties.SetProperty(System.String,System.Object)"> <summary> Set a property, this will replace any previously set values. Set values is implicitly a call to clearProperty(key), addProperty(key,value). </summary> <param name="String">key </param> <param name="String">value </param> </member> <member name="M:Commons.Collections.ExtendedProperties.Save(System.IO.TextWriter,System.String)"> <summary> Save the properties to the given outputstream. </summary> <param name="output">An OutputStream. </param> <param name="header">A String. </param> <exception cref="!:">IOException. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.Combine(Commons.Collections.ExtendedProperties)"> <summary> Combines an existing Hashtable with this Hashtable. * Warning: It will overwrite previous entries without warning. * </summary> <param name="">ExtendedProperties </param> </member> <member name="M:Commons.Collections.ExtendedProperties.ClearProperty(System.String)"> <summary> Clear a property in the configuration. * </summary> <param name="String">key to remove along with corresponding value. </param> </member> <member name="M:Commons.Collections.ExtendedProperties.GetKeys(System.String)"> <summary> Get the list of the keys contained in the configuration repository that match the specified prefix. * </summary> <param name="prefix">The prefix to test against. </param> <returns>An Iterator of keys that match the prefix. </returns> </member> <member name="M:Commons.Collections.ExtendedProperties.Subset(System.String)"> <summary> Create an ExtendedProperties object that is a subset of this one. Take into account duplicate keys by using the setProperty() in ExtendedProperties. * </summary> <param name="String">prefix </param> </member> <member name="M:Commons.Collections.ExtendedProperties.ToString"> <summary> Display the configuration for debugging purposes. </summary> </member> <member name="M:Commons.Collections.ExtendedProperties.GetString(System.String)"> <summary> Get a string associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated string. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a String. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetString(System.String,System.String)"> <summary> Get a string associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated string if key is found, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a String. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetProperties(System.String)"> <summary> Get a list of properties associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated properties if key is found. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a String/Vector. </exception> <exception cref="!:">IllegalArgumentException if one of the tokens is malformed (does not contain an equals sign). </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetProperties(System.String,System.Collections.Hashtable)"> <summary> Get a list of properties associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated properties if key is found. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a String/Vector. </exception> <exception cref="!:">IllegalArgumentException if one of the tokens is malformed (does not contain an equals sign). </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetStringArray(System.String)"> <summary> Get an array of strings associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated string array if key is found. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a String/Vector. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetVector(System.String)"> <summary> Get a Vector of strings associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated Vector. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Vector. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetVector(System.String,System.Collections.ArrayList)"> <summary> Get a Vector of strings associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated Vector. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Vector. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetBoolean(System.String)"> <summary> Get a boolean associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated boolean. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Boolean. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetBoolean(System.String,System.Boolean)"> <summary> Get a boolean associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated boolean if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Boolean. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.TestBoolean(System.String)"> <summary> Test whether the string represent by value maps to a boolean value or not. We will allow <code>true</code>, <code>on</code>, and <code>yes</code> for a <code>true</code> boolean value, and <code>false</code>, <code>off</code>, and <code>no</code> for <code>false</code> boolean values. Case of value to test for boolean status is ignored. * </summary> <param name="String">The value to test for boolean state. </param> <returns><code>true</code> or <code>false</code> if the supplied text maps to a boolean value, or <code>null</code> otherwise. </returns> </member> <member name="M:Commons.Collections.ExtendedProperties.GetByte(System.String)"> <summary> Get a byte associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated byte. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Byte. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetByte(System.String,System.SByte)"> <summary> Get a byte associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated byte. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Byte. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetByte(System.String,System.Byte)"> <summary> Get a byte associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated byte if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Byte. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetShort(System.String)"> <summary> Get a short associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated short. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Short. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetShort(System.String,System.Int16)"> <summary> Get a short associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated short if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Short. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetInt(System.String)"> <summary> The purpose of this method is to get the configuration resource with the given name as an integer. * </summary> <param name="name">The resource name. </param> <returns>The value of the resource as an integer. </returns> </member> <member name="M:Commons.Collections.ExtendedProperties.GetInt(System.String,System.Int32)"> <summary> The purpose of this method is to get the configuration resource with the given name as an integer, or a default value. * </summary> <param name="name">The resource name </param> <param name="def">The default value of the resource. </param> <returns>The value of the resource as an integer. </returns> </member> <member name="M:Commons.Collections.ExtendedProperties.GetInteger(System.String)"> <summary> Get a int associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated int. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Integer. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetInteger(System.String,System.Int32)"> <summary> Get a int associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated int if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Integer. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetLong(System.String)"> <summary> Get a long associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated long. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Long. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetLong(System.String,System.Int64)"> <summary> Get a long associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated long if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Long. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetFloat(System.String)"> <summary> Get a float associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated float. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Float. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetFloat(System.String,System.Single)"> <summary> Get a float associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated float if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Float. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetDouble(System.String)"> <summary> Get a double associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <returns>The associated double. </returns> <exception cref="!:">NoSuchElementException is thrown if the key doesn't map to an existing object. </exception> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Double. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.GetDouble(System.String,System.Double)"> <summary> Get a double associated with the given configuration key. * </summary> <param name="key">The configuration key. </param> <param name="defaultValue">The default value. </param> <returns>The associated double if key is found and has valid format, default value otherwise. </returns> <exception cref="!:">ClassCastException is thrown if the key maps to an object that is not a Double. </exception> <exception cref="!:">NumberFormatException is thrown if the value mapped by the key has not a valid number format. </exception> </member> <member name="M:Commons.Collections.ExtendedProperties.ConvertProperties(Commons.Collections.ExtendedProperties)"> <summary> Convert a standard properties class into a configuration class. * </summary> <param name="p">properties object to convert into a ExtendedProperties object. * </param> <returns>ExtendedProperties configuration created from the properties object. </returns> </member> <member name="T:Commons.Collections.PropertiesReader"> <summary> This class is used to read properties lines. These lines do not terminate with new-line chars but rather when there is no backslash sign a the end of the line. This is used to concatenate multiple lines for readability. </summary> </member> <member name="M:Commons.Collections.PropertiesReader.#ctor(System.IO.StreamReader)"> <summary> Constructor. </summary> <param name="reader">A Reader.</param> </member> <member name="M:Commons.Collections.PropertiesReader.ReadProperty"> <summary> Read a property. </summary> <returns>A String.</returns> </member> <member name="T:Commons.Collections.PropertiesTokenizer"> <summary> This class divides into tokens a property value. Token separator is "," but commas into the property value are escaped using the backslash in front. </summary> </member> <member name="F:Commons.Collections.PropertiesTokenizer.DELIMITER"> <summary> The property delimiter used while parsing (a comma). </summary> </member> <member name="M:Commons.Collections.PropertiesTokenizer.#ctor(System.String)"> <summary> Constructor. </summary> <param name="string">A String</param> </member> <member name="M:Commons.Collections.PropertiesTokenizer.HasMoreTokens"> <summary> Check whether the object has more tokens. </summary> <returns>True if the object has more tokens. </returns> </member> <member name="M:Commons.Collections.PropertiesTokenizer.NextToken"> <summary> Get next token. </summary> <returns>A String</returns> </member> </members> </doc> --- NEW FILE: DotNetMock.dll --- (This appears to be a binary file; contents omitted.) |
From: Michael D. <mik...@us...> - 2004-10-13 03:27:56
|
Update of /cvsroot/nhibernate/nhibernate/lib/net/1.1 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18340/1.1 Log Message: Directory /cvsroot/nhibernate/nhibernate/lib/net/1.1 added to the repository |
From: Michael D. <mik...@us...> - 2004-10-13 03:26:53
|
Update of /cvsroot/nhibernate/nhibernate/lib/net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18205/net Log Message: Directory /cvsroot/nhibernate/nhibernate/lib/net added to the repository |
From: Michael D. <mik...@us...> - 2004-10-13 03:26:44
|
Update of /cvsroot/nhibernate/nhibernate/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18181/lib Log Message: Directory /cvsroot/nhibernate/nhibernate/lib added to the repository |
From: Michael D. <mik...@us...> - 2004-10-12 22:57:46
|
Update of /cvsroot/nhibernate/nhibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30227 Modified Files: readme.html Log Message: updated to point to jira.nhibernate.org without port 8080 Index: readme.html =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/readme.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** readme.html 10 Aug 2004 17:35:20 -0000 1.11 --- readme.html 12 Oct 2004 22:57:36 -0000 1.12 *************** *** 30,34 **** <p> As we mentioned before, this software is still being developed. So if you do ! find any bugs please use the <a href="http://jira.nhibernate.org:8080/">JIRA bug tracker</a> . </p> --- 30,34 ---- <p> As we mentioned before, this software is still being developed. So if you do ! find any bugs please use the <a href="http://jira.nhibernate.org/">JIRA bug tracker</a> . </p> |
From: Michael D. <mik...@us...> - 2004-10-11 23:59:16
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5623/NHibernate Modified Files: NHibernate-1.1.csproj Log Message: added guid.comb generator from a jira submitted. Index: NHibernate-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/NHibernate-1.1.csproj,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** NHibernate-1.1.csproj 28 Sep 2004 02:42:43 -0000 1.49 --- NHibernate-1.1.csproj 11 Oct 2004 23:57:55 -0000 1.50 *************** *** 869,872 **** --- 869,877 ---- /> <File + RelPath = "Id\GuidCombGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Id\GuidGenerator.cs" SubType = "Code" |
From: Michael D. <mik...@us...> - 2004-10-11 23:59:15
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Id In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5623/NHibernate/Id Modified Files: IdentifierGeneratorFactory.cs Added Files: GuidCombGenerator.cs Log Message: added guid.comb generator from a jira submitted. --- NEW FILE: GuidCombGenerator.cs --- using System; using NHibernate.Engine; namespace NHibernate.Id { /// <summary> /// Generates <see cref="System.Guid"/> values using a strategy suggested Jimmy Nilsson's /// <a href="http://www.informit.com/articles/article.asp?p=25862">article</a> /// on <a href="http://www.informit.com">informit.com</a>. /// </summary> /// <remarks> /// This code was contributed by Donald Mull. /// </remarks> public class GuidCombGenerator : IIdentifierGenerator { #region IIdentifierGenerator Members public object Generate(ISessionImplementor session, object obj) { return GenerateComb(); } private Guid GenerateComb() { byte[] guidArray = System.Guid.NewGuid().ToByteArray(); DateTime baseDate = new DateTime(1900,1,1); DateTime now = DateTime.Now; // Get the days and milliseconds which will be used to build the byte string TimeSpan days = new TimeSpan(now.Ticks - baseDate.Ticks); TimeSpan msecs = new TimeSpan(now.Ticks - (new DateTime(now.Year, now.Month, now.Day).Ticks)); // Convert to a byte array // Note that SQL Server is accurate to 1/300th of a millisecond so we divide by 3.333333 byte[] daysArray = BitConverter.GetBytes(days.Days); byte[] msecsArray = BitConverter.GetBytes((long)(msecs.TotalMilliseconds/3.333333)); // Reverse the bytes to match SQL Servers ordering Array.Reverse(daysArray); Array.Reverse(msecsArray); // Copy the bytes into the guid Array.Copy(daysArray, daysArray.Length - 2, guidArray, guidArray.Length - 6, 2); Array.Copy(msecsArray, msecsArray.Length - 4, guidArray, guidArray.Length - 4, 4); return new Guid(guidArray); } #endregion } } Index: IdentifierGeneratorFactory.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Id/IdentifierGeneratorFactory.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** IdentifierGeneratorFactory.cs 30 Apr 2004 14:06:46 -0000 1.10 --- IdentifierGeneratorFactory.cs 11 Oct 2004 23:57:54 -0000 1.11 *************** *** 46,59 **** static IdentifierGeneratorFactory() { ! idgenerators.Add("uuid.hex", typeof(UUIDHexGenerator)); ! idgenerators.Add("uuid.string", typeof(UUIDStringGenerator)); ! idgenerators.Add("hilo", typeof(TableHiLoGenerator)); ! idgenerators.Add("assigned", typeof(Assigned)); ! idgenerators.Add("identity", typeof(IdentityGenerator)); ! idgenerators.Add("sequence", typeof(SequenceGenerator)); ! idgenerators.Add("seqhilo", typeof(SequenceHiLoGenerator)); ! idgenerators.Add("vm", typeof(CounterGenerator)); ! idgenerators.Add("foreign", typeof(ForeignGenerator)); ! idgenerators.Add("guid", typeof(GuidGenerator)); } --- 46,60 ---- static IdentifierGeneratorFactory() { ! idgenerators.Add( "uuid.hex", typeof(UUIDHexGenerator) ); ! idgenerators.Add( "uuid.string", typeof(UUIDStringGenerator) ); ! idgenerators.Add( "hilo", typeof(TableHiLoGenerator) ); ! idgenerators.Add( "assigned", typeof(Assigned) ); ! idgenerators.Add( "identity", typeof(IdentityGenerator) ); ! idgenerators.Add( "sequence", typeof(SequenceGenerator) ); ! idgenerators.Add( "seqhilo", typeof(SequenceHiLoGenerator) ); ! idgenerators.Add( "vm", typeof(CounterGenerator) ); ! idgenerators.Add( "foreign", typeof(ForeignGenerator) ); ! idgenerators.Add( "guid", typeof(GuidGenerator) ); ! idgenerators.Add( "guid.comb", typeof(GuidCombGenerator) ); } |
From: Michael D. <mik...@us...> - 2004-10-05 15:36:20
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28506 Modified Files: Tag: alpha_avalon-proxy AvalonLazyInitializer.cs LazyInitializer.cs Log Message: refixed spelling error I reintroduced when moving files between machines. Index: LazyInitializer.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/LazyInitializer.cs,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -d -r1.1.2.4 -r1.1.2.5 *** LazyInitializer.cs 5 Oct 2004 15:25:05 -0000 1.1.2.4 --- LazyInitializer.cs 5 Oct 2004 15:34:49 -0000 1.1.2.5 *************** *** 104,108 **** /// </summary> /// <param name="info">The <see cref="SerializationInfo"/> to write the object to.</param> ! protected abstract void AddSerailizationInfo(SerializationInfo info); public object Identifier --- 104,108 ---- /// </summary> /// <param name="info">The <see cref="SerializationInfo"/> to write the object to.</param> ! protected abstract void AddSerializationInfo(SerializationInfo info); public object Identifier *************** *** 189,193 **** // let the specific LazyInitializer write its requirements for deserialization // into the stream. ! AddSerailizationInfo( info ); // don't need a return value for proxy. --- 189,193 ---- // let the specific LazyInitializer write its requirements for deserialization // into the stream. ! AddSerializationInfo( info ); // don't need a return value for proxy. Index: AvalonLazyInitializer.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/AvalonLazyInitializer.cs,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -d -r1.1.2.4 -r1.1.2.5 *** AvalonLazyInitializer.cs 5 Oct 2004 15:25:05 -0000 1.1.2.4 --- AvalonLazyInitializer.cs 5 Oct 2004 15:34:49 -0000 1.1.2.5 *************** *** 37,41 **** ! protected override void AddSerailizationInfo(SerializationInfo info) { // the AvalonProxyDeserializer will be the Type that is actually serialized for this --- 37,41 ---- ! protected override void AddSerializationInfo(SerializationInfo info) { // the AvalonProxyDeserializer will be the Type that is actually serialized for this |
From: Michael D. <mik...@us...> - 2004-10-05 15:28:09
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26229/src/NHibernate.DomainModel Modified Files: Tag: alpha_avalon-proxy A.cs ABC.hbm.xml ABCProxy.hbm.xml B.cs C1.cs C2.cs Contained.cs Container.cs Container.hbm.xml D.cs Log Message: much work done to implement proxies with classes and virtual properties. All test that are being run now pass with proxy="some class" Index: Container.hbm.xml =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/Container.hbm.xml,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -C2 -d -r1.8 -r1.8.2.1 *** Container.hbm.xml 11 Jul 2004 21:07:24 -0000 1.8 --- Container.hbm.xml 5 Oct 2004 15:25:04 -0000 1.8.2.1 *************** *** 14,17 **** --- 14,18 ---- <class name="NHibernate.DomainModel.Container, NHibernate.DomainModel" + proxy="NHibernate.DomainModel.Container, NHibernate.DomainModel" > <!-- *************** *** 161,164 **** --- 162,166 ---- <class name="NHibernate.DomainModel.Contained, NHibernate.DomainModel" + proxy="NHibernate.DomainModel.Contained, NHibernate.DomainModel" > <!-- Index: A.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/A.cs,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -d -r1.3 -r1.3.2.1 *** A.cs 17 Jun 2004 21:17:13 -0000 1.3 --- A.cs 5 Oct 2004 15:25:04 -0000 1.3.2.1 *************** *** 1,3 **** - using System; --- 1,2 ---- *************** *** 48,61 **** /// Get/set for id /// </summary> ! public Int64 Id { ! get ! { ! return _id; ! } ! set ! { ! _id = value; ! } } --- 47,54 ---- /// Get/set for id /// </summary> ! public virtual Int64 Id { ! get { return _id; } ! set { _id = value; } } *************** *** 63,76 **** /// Get/set for name /// </summary> ! public String Name { ! get ! { ! return _name; ! } ! set ! { ! _name = value; ! } } --- 56,63 ---- /// Get/set for name /// </summary> ! public virtual String Name { ! get { return _name; } ! set { _name = value; } } Index: C1.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/C1.cs,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -C2 -d -r1.4 -r1.4.2.1 *** C1.cs 17 Jun 2004 21:17:13 -0000 1.4 --- C1.cs 5 Oct 2004 15:25:04 -0000 1.4.2.1 *************** *** 1,12 **** - //------------------------------------------------------------------------------ - // <autogenerated> - // This code was generated by a tool. - // Runtime Version: v1.1.4322 - // - // Changes to this file may cause incorrect behavior and will be lost if - // the code is regenerated. - // </autogenerated> - //------------------------------------------------------------------------------ - using System; --- 1,2 ---- *************** *** 74,87 **** /// Get/set for address /// </summary> ! public String Address { ! get ! { ! return _address; ! } ! set ! { ! _address = value; ! } } --- 64,71 ---- /// Get/set for address /// </summary> ! public virtual String Address { ! get { return _address; } ! set { _address = value; } } *************** *** 89,102 **** /// Get/set for d /// </summary> ! public D D { ! get ! { ! return _d; ! } ! set ! { ! _d = value; ! } } --- 73,80 ---- /// Get/set for d /// </summary> ! public virtual D D { ! get { return _d; } ! set { _d = value; } } Index: B.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/B.cs,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -d -r1.3 -r1.3.2.1 *** B.cs 4 Jun 2004 12:02:43 -0000 1.3 --- B.cs 5 Oct 2004 15:25:04 -0000 1.3.2.1 *************** *** 62,75 **** /// Get/set for count /// </summary> ! public Int32 Count { ! get ! { ! return this._count; ! } ! set ! { ! this._count = value; ! } } --- 62,69 ---- /// Get/set for count /// </summary> ! public virtual Int32 Count { ! get { return _count; } ! set { _count = value; } } *************** *** 77,90 **** /// Get/set for map /// </summary> ! public System.Collections.IDictionary Map { ! get ! { ! return this._map; ! } ! set ! { ! this._map = value; ! } } --- 71,78 ---- /// Get/set for map /// </summary> ! public virtual System.Collections.IDictionary Map { ! get { return _map; } ! set { _map = value; } } Index: Container.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/Container.cs,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** Container.cs 7 Jun 2004 20:41:30 -0000 1.2 --- Container.cs 5 Oct 2004 15:25:04 -0000 1.2.2.1 *************** *** 97,101 **** ! public IList OneToMany { get { return _oneToMany; } --- 97,101 ---- ! public virtual IList OneToMany { get { return _oneToMany; } *************** *** 103,107 **** } ! public IList ManyToMany { get { return _manyToMany; } --- 103,107 ---- } ! public virtual IList ManyToMany { get { return _manyToMany; } *************** *** 109,113 **** } ! public IList Components { get { return _components; } --- 109,113 ---- } ! public virtual IList Components { get { return _components; } *************** *** 115,119 **** } ! public IDictionary Composites { get { return _composites; } --- 115,119 ---- } ! public virtual IDictionary Composites { get { return _composites; } *************** *** 121,125 **** } ! public IList Cascades { get { return _cascades; } --- 121,125 ---- } ! public virtual IList Cascades { get { return _cascades; } *************** *** 127,131 **** } ! public long Id { get { return _id; } --- 127,131 ---- } ! public virtual long Id { get { return _id; } *************** *** 133,137 **** } ! public IList Bag { get { return _bag; } --- 133,137 ---- } ! public virtual IList Bag { get { return _bag; } *************** *** 139,143 **** } ! public IList LazyBag { get { return _lazyBag; } --- 139,143 ---- } ! public virtual IList LazyBag { get { return _lazyBag; } *************** *** 145,149 **** } ! public IDictionary TernaryMap { get { return _ternaryMap; } --- 145,149 ---- } ! public virtual IDictionary TernaryMap { get { return _ternaryMap; } *************** *** 151,155 **** } ! public IDictionary TernarySet { get { return _ternarySet; } --- 151,155 ---- } ! public virtual IDictionary TernarySet { get { return _ternarySet; } Index: D.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/D.cs,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** D.cs 17 Jun 2004 21:17:13 -0000 1.2 --- D.cs 5 Oct 2004 15:25:04 -0000 1.2.2.1 *************** *** 51,55 **** /// Get/set for id /// </summary> ! public Int64 Id { get { return _id; } --- 51,55 ---- /// Get/set for id /// </summary> ! public virtual Int64 Id { get { return _id; } *************** *** 60,64 **** /// Get/set for Amount /// </summary> ! public Double Amount { get { return _amount; } --- 60,64 ---- /// Get/set for Amount /// </summary> ! public virtual Double Amount { get { return _amount; } Index: ABCProxy.hbm.xml =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/ABCProxy.hbm.xml,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** ABCProxy.hbm.xml 11 Jul 2004 21:07:24 -0000 1.6 --- ABCProxy.hbm.xml 5 Oct 2004 15:25:04 -0000 1.6.2.1 *************** *** 1,9 **** <?xml version="1.0" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> ! <class name="NHibernate.DomainModel.A, NHibernate.DomainModel" discriminator-value="0"> ! <!-- ! proxy doesn't work yet ! proxy="NHibernate.DomainModel.A, NHibernate.DomainModel" ! --> <id name="Id" unsaved-value="0" type="Int64"> <generator class="native" /> --- 1,7 ---- <?xml version="1.0" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> ! <class name="NHibernate.DomainModel.A, NHibernate.DomainModel" discriminator-value="0" ! proxy="NHibernate.DomainModel.A, NHibernate.DomainModel" ! > <id name="Id" unsaved-value="0" type="Int64"> <generator class="native" /> *************** *** 11,19 **** <discriminator column="clazz" type="Int32" force="true" not-null="false" /> <property name="Name" /> - <subclass name="NHibernate.DomainModel.B, NHibernate.DomainModel" discriminator-value="null"> <!-- ! proxy doesn't work yet ! proxy="NHibernate.DomainModel.B, NHibernate.DomainModel" --> <property name="Count" column="count_" type="Int32" /> <map name="Map"> --- 9,19 ---- <discriminator column="clazz" type="Int32" force="true" not-null="false" /> <property name="Name" /> <!-- ! the discriminator-value used to be "null", but there are null values ! for Int32 so I made it -2 --> + <subclass name="NHibernate.DomainModel.B, NHibernate.DomainModel" discriminator-value="-2" + proxy="NHibernate.DomainModel.B, NHibernate.DomainModel" + > <property name="Count" column="count_" type="Int32" /> <map name="Map"> *************** *** 23,44 **** </map> <subclass name="NHibernate.DomainModel.C1, NHibernate.DomainModel" discriminator-value="1" ! proxy="NHibernate.DomainModel.C1, NHibernate.DomainModel"> <property name="Address" column="c1" /> <one-to-one name="D" class="NHibernate.DomainModel.D, NHibernate.DomainModel" /> </subclass> ! <subclass name="NHibernate.DomainModel.C2, NHibernate.DomainModel" discriminator-value="2"> ! <!-- ! proxy doesn't work yet ! proxy="NHibernate.DomainModel.C2, NHibernate.DomainModel" ! --> <property name="Address" column="c2" /> </subclass> </subclass> </class> ! <class name="NHibernate.DomainModel.D, NHibernate.DomainModel" discriminator-value="0" > ! <!-- ! proxy doesn't work yet ! proxy="NHibernate.DomainModel.D, NHibernate.DomainModel" ! --> <id name="Id" unsaved-value="0" type="Int64"> <generator class="assigned" /> --- 23,41 ---- </map> <subclass name="NHibernate.DomainModel.C1, NHibernate.DomainModel" discriminator-value="1" ! proxy="NHibernate.DomainModel.C1, NHibernate.DomainModel" ! > <property name="Address" column="c1" /> <one-to-one name="D" class="NHibernate.DomainModel.D, NHibernate.DomainModel" /> </subclass> ! <subclass name="NHibernate.DomainModel.C2, NHibernate.DomainModel" discriminator-value="2" ! proxy="NHibernate.DomainModel.C2, NHibernate.DomainModel" ! > <property name="Address" column="c2" /> </subclass> </subclass> </class> ! <class name="NHibernate.DomainModel.D, NHibernate.DomainModel" discriminator-value="0" ! proxy="NHibernate.DomainModel.D, NHibernate.DomainModel" ! > <id name="Id" unsaved-value="0" type="Int64"> <generator class="assigned" /> Index: ABC.hbm.xml =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/ABC.hbm.xml,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -C2 -d -r1.8 -r1.8.2.1 *** ABC.hbm.xml 27 Aug 2004 13:29:57 -0000 1.8 --- ABC.hbm.xml 5 Oct 2004 15:25:04 -0000 1.8.2.1 *************** *** 31,37 **** /> <subclass name="NHibernate.DomainModel.C1, NHibernate.DomainModel" ! discriminator-value="null" > <property --- 31,41 ---- /> + <!-- + the discriminator-value used to be "null", but there are null values + for Int32 so I made it -2 + --> <subclass name="NHibernate.DomainModel.C1, NHibernate.DomainModel" ! discriminator-value="-2" > <property Index: C2.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/C2.cs,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** C2.cs 3 Jun 2004 18:01:24 -0000 1.2 --- C2.cs 5 Oct 2004 15:25:04 -0000 1.2.2.1 *************** *** 67,80 **** /// Get/set for address /// </summary> ! public String Address { ! get ! { ! return this._address; ! } ! set ! { ! this._address = value; ! } } --- 67,74 ---- /// Get/set for address /// </summary> ! public virtual String Address { ! get { return _address; } ! set { _address = value; } } Index: Contained.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.DomainModel/Contained.cs,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** Contained.cs 2 Jun 2004 04:53:24 -0000 1.1 --- Contained.cs 5 Oct 2004 15:25:04 -0000 1.1.2.1 *************** *** 29,33 **** #endregion ! public Container Container { get { return _container; } --- 29,33 ---- #endregion ! public virtual Container Container { get { return _container; } *************** *** 35,39 **** } ! public long Id { get { return _id; } --- 35,39 ---- } ! public virtual long Id { get { return _id; } *************** *** 41,45 **** } ! public IList Bag { get { return _bag; } --- 41,45 ---- } ! public virtual IList Bag { get { return _bag; } *************** *** 47,51 **** } ! public IList LazyBag { get { return _lazyBag; } --- 47,51 ---- } ! public virtual IList LazyBag { get { return _lazyBag; } |
From: Michael D. <mik...@us...> - 2004-10-05 15:27:12
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26229/src/NHibernate/Proxy Modified Files: Tag: alpha_avalon-proxy AvalonLazyInitializer.cs AvalonProxyDeserializer.cs AvalonProxyGenerator.cs IProxyGenerator.cs LazyInitializer.cs NHibernateProxyHelper.cs ProxyGeneratorFactory.cs Added Files: Tag: alpha_avalon-proxy AvalonCustomProxyGenerator.cs Log Message: much work done to implement proxies with classes and virtual properties. All test that are being run now pass with proxy="some class" Index: NHibernateProxyHelper.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/NHibernateProxyHelper.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** NHibernateProxyHelper.cs 27 Sep 2004 03:42:03 -0000 1.1.2.1 --- NHibernateProxyHelper.cs 5 Oct 2004 15:25:05 -0000 1.1.2.2 *************** *** 22,30 **** public static LazyInitializer GetLazyInitializer(INHibernateProxy proxy) { ! // have to hard code in "handler" - very dependant on them not changing their ! // implementation - email Hammet about this - or atleast to provide a static ! // field ! object fieldValue = proxy.GetType().GetField( "handler" ).GetValue(proxy); ! return (LazyInitializer)fieldValue; } --- 22,28 ---- public static LazyInitializer GetLazyInitializer(INHibernateProxy proxy) { ! LazyInitializer li = ProxyGeneratorFactory.GetProxyGenerator().GetLazyInitializer( proxy ); ! return li; ! } *************** *** 40,44 **** { INHibernateProxy proxy = (INHibernateProxy) obj; ! LazyInitializer li = GetLazyInitializer(proxy); return li.PersistentClass; } --- 38,42 ---- { INHibernateProxy proxy = (INHibernateProxy) obj; ! LazyInitializer li = NHibernateProxyHelper.GetLazyInitializer( proxy ); return li.PersistentClass; } Index: AvalonProxyGenerator.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/AvalonProxyGenerator.cs,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** AvalonProxyGenerator.cs 3 Oct 2004 16:58:13 -0000 1.1.2.2 --- AvalonProxyGenerator.cs 5 Oct 2004 15:25:05 -0000 1.1.2.3 *************** *** 19,25 **** private static readonly log4net.ILog log = log4net.LogManager.GetLogger( typeof(AvalonProxyGenerator) ); ! private ProxyGenerator _generator; ! private DefaultProxyBuilder _defaultBuilder; private GeneratorContext _context; /// <summary> --- 19,28 ---- private static readonly log4net.ILog log = log4net.LogManager.GetLogger( typeof(AvalonProxyGenerator) ); ! // key = mapped type ! // value = proxy type ! private IDictionary cachedProxyTypes; ! private GeneratorContext _context; + private ModuleScope _scope; /// <summary> *************** *** 28,41 **** internal AvalonProxyGenerator() { ! _defaultBuilder = new DefaultProxyBuilder( ); // the EnhanceTypeDelegate will add custom code gen that DynamicProxy does not provide // by default. _context = new GeneratorContext( new EnhanceTypeDelegate( EnhanceInterfaceType ), null ); - - // only create the genator once so I should be okay with the DefaultProxyBuilder - // maintaining the ModuleScope - _generator = new ProxyGenerator(); - } --- 31,41 ---- internal AvalonProxyGenerator() { ! cachedProxyTypes = new Hashtable(); ! ! _scope = new ModuleScope(); // the EnhanceTypeDelegate will add custom code gen that DynamicProxy does not provide // by default. _context = new GeneratorContext( new EnhanceTypeDelegate( EnhanceInterfaceType ), null ); } *************** *** 53,59 **** private void EnhanceInterfaceType(TypeBuilder mainType, FieldBuilder handlerFieldBuilder, ConstructorBuilder constructorBuilder) { ! ConstructorInfo serAttConstructor = typeof(SerializableAttribute).GetConstructor( new System.Type[0] ); ! CustomAttributeBuilder serializableAttBuilder = new CustomAttributeBuilder( serAttConstructor, new object[0] ); ! mainType.SetCustomAttribute( serializableAttBuilder ); } --- 53,66 ---- private void EnhanceInterfaceType(TypeBuilder mainType, FieldBuilder handlerFieldBuilder, ConstructorBuilder constructorBuilder) { ! bool isSerializableAttFound = false; ! System.Type baseType = mainType.BaseType; ! ! // I don't know why I can't find the [Serializable] on the generated type ! if( isSerializableAttFound==false ) ! { ! ConstructorInfo serAttConstructor = typeof(SerializableAttribute).GetConstructor( new System.Type[0] ); ! CustomAttributeBuilder serializableAttBuilder = new CustomAttributeBuilder( serAttConstructor, new object[0] ); ! mainType.SetCustomAttribute( serializableAttBuilder ); ! } } *************** *** 69,91 **** /// <param name="session">The Session the proxy is in.</param> /// <returns>A fully built <c>INHibernateProxy</c>.</returns> ! public INHibernateProxy GetProxy(System.Type persistentClass, System.Type[] interfaces, PropertyInfo identifierPropertyInfo, object id, ISessionImplementor session) { try { ! AvalonLazyInitializer initializer = new AvalonLazyInitializer( persistentClass, interfaces, id, identifierPropertyInfo, session ); ! // if the pc is an interface then we need to add the interface to the ! // interfaces array that was passed in because it only includes the extra ! // interfaces for that persistent class. ! if( persistentClass.IsInterface ) { ! System.Type[] temp = new System.Type[ interfaces.Length + 1 ]; ! interfaces.CopyTo( temp, 0 ); ! temp[ interfaces.Length ] = persistentClass; ! interfaces = temp; ! } ! System.Type proxyType = _defaultBuilder.CreateCustomInterfaceProxy( interfaces, _context ); object generatedProxy = Activator.CreateInstance( proxyType, new object[] { initializer } ); return (INHibernateProxy)generatedProxy; --- 76,123 ---- /// <param name="session">The Session the proxy is in.</param> /// <returns>A fully built <c>INHibernateProxy</c>.</returns> ! public INHibernateProxy GetProxy(System.Type persistentClass, System.Type concreteProxy, System.Type[] interfaces, PropertyInfo identifierPropertyInfo, object id, ISessionImplementor session) { try { ! AvalonLazyInitializer initializer = new AvalonLazyInitializer( persistentClass, concreteProxy, interfaces, id, identifierPropertyInfo, session ); ! System.Type proxyType = null; ! // if I try to generate a proxy twice for the same type the Avalon library will do the same ! // in one ModuleBuilder. The ModuleBuilder throws an exception (not suprisingly) when you try ! // to define the same type twice in it. So nh needs to keep a cache of the proxy types that have ! // already been generated. ! lock( cachedProxyTypes.SyncRoot ) { ! proxyType = cachedProxyTypes[ concreteProxy ] as System.Type; ! if( proxyType==null ) ! { ! // if the pc is an interface then we need to add the interface to the ! // interfaces array that was passed in because it only includes the extra ! // interfaces for that persistent class. ! //if( persistentClass.IsInterface ) ! if( concreteProxy.IsInterface ) ! { ! //TODO: figure out if this is necessary because the concreteProxy is ! // already included in the interfaces array... ! System.Type[] temp = new System.Type[ interfaces.Length + 1 ]; ! interfaces.CopyTo( temp, 0 ); ! temp[ interfaces.Length ] = concreteProxy; //persistentClass; ! interfaces = temp; ! ! InterfaceProxyGenerator _interfaceGenerator = new InterfaceProxyGenerator( _scope, _context ); ! proxyType = _interfaceGenerator.GenerateCode( interfaces ); ! ! } ! else ! { ! AvalonCustomProxyGenerator _classGenerator = new AvalonCustomProxyGenerator( _scope, _context ); ! proxyType = _classGenerator.GenerateCode( concreteProxy ); ! } ! ! cachedProxyTypes[ concreteProxy ] = proxyType; ! } ! } object generatedProxy = Activator.CreateInstance( proxyType, new object[] { initializer } ); return (INHibernateProxy)generatedProxy; *************** *** 99,102 **** --- 131,168 ---- } + /// <summary> + /// Gets the <see cref="LazyInitializer"/> that is used by the Proxy. + /// </summary> + /// <param name="proxy">The Proxy object</param> + /// <returns>The <see cref="LazyInitializer"/> that contains the details of the Proxied object.</returns> + public LazyInitializer GetLazyInitializer(INHibernateProxy proxy) + { + // have to hard code in "handler" - very dependant on them not changing their + // implementation - email Hammet about this - or atleast to provide a static + // field + object fieldValue = proxy.GetType().GetField( "handler" ).GetValue( proxy ); + return (LazyInitializer)fieldValue; + } + + /// <summary> + /// Convenience method to figure out the underlying type for the object regardless of it + /// is a Proxied object or the real object. + /// </summary> + /// <param name="obj">The object to get the type of.</param> + /// <returns>The Underlying Type for the object regardless of if it is a Proxy.</returns> + public System.Type GetClass(object obj) + { + if (obj is INHibernateProxy) + { + INHibernateProxy proxy = (INHibernateProxy) obj; + LazyInitializer li = GetLazyInitializer( proxy ); + return li.PersistentClass; + } + else + { + return obj.GetType(); + } + } + #endregion } Index: IProxyGenerator.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/IProxyGenerator.cs,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** IProxyGenerator.cs 3 Oct 2004 16:58:13 -0000 1.1.2.2 --- IProxyGenerator.cs 5 Oct 2004 15:25:05 -0000 1.1.2.3 *************** *** 21,25 **** /// <param name="session">The Session the proxy is in.</param> /// <returns>A fully built <c>INHibernateProxy</c>.</returns> ! INHibernateProxy GetProxy(System.Type persistentClass, System.Type[] interfaces, PropertyInfo identifierPropertyInfo, object id, ISessionImplementor session); } } --- 21,40 ---- /// <param name="session">The Session the proxy is in.</param> /// <returns>A fully built <c>INHibernateProxy</c>.</returns> ! INHibernateProxy GetProxy(System.Type persistentClass, System.Type concreteProxy, System.Type[] interfaces, PropertyInfo identifierPropertyInfo, object id, ISessionImplementor session); ! ! /// <summary> ! /// Gets the <see cref="LazyInitializer"/> that is used by the Proxy. ! /// </summary> ! /// <param name="proxy">The Proxy object</param> ! /// <returns>The <see cref="LazyInitializer"/> that contains the details of the Proxied object.</returns> ! LazyInitializer GetLazyInitializer(INHibernateProxy proxy); ! ! /// <summary> ! /// Convenience method to figure out the underlying type for the object regardless of it ! /// is a Proxied object or the real object. ! /// </summary> ! /// <param name="obj">The object to get the type of.</param> ! /// <returns>The Underlying Type for the object regardless of if it is a Proxy.</returns> ! System.Type GetClass(object obj); } } Index: LazyInitializer.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/LazyInitializer.cs,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -d -r1.1.2.3 -r1.1.2.4 *** LazyInitializer.cs 4 Oct 2004 13:13:04 -0000 1.1.2.3 --- LazyInitializer.cs 5 Oct 2004 15:25:05 -0000 1.1.2.4 *************** *** 104,108 **** /// </summary> /// <param name="info">The <see cref="SerializationInfo"/> to write the object to.</param> ! protected abstract void AddSerializationInfo(SerializationInfo info); public object Identifier --- 104,108 ---- /// </summary> /// <param name="info">The <see cref="SerializationInfo"/> to write the object to.</param> ! protected abstract void AddSerailizationInfo(SerializationInfo info); public object Identifier *************** *** 189,193 **** // let the specific LazyInitializer write its requirements for deserialization // into the stream. ! AddSerializationInfo( info ); // don't need a return value for proxy. --- 189,193 ---- // let the specific LazyInitializer write its requirements for deserialization // into the stream. ! AddSerailizationInfo( info ); // don't need a return value for proxy. Index: AvalonLazyInitializer.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/AvalonLazyInitializer.cs,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -d -r1.1.2.3 -r1.1.2.4 *** AvalonLazyInitializer.cs 4 Oct 2004 13:13:04 -0000 1.1.2.3 --- AvalonLazyInitializer.cs 5 Oct 2004 15:25:05 -0000 1.1.2.4 *************** *** 17,38 **** private static readonly log4net.ILog log = log4net.LogManager.GetLogger( typeof(AvalonLazyInitializer) ); private System.Type[] _interfaces; /// <summary> ! /// /// </summary> ! /// <param name="persistentClass"></param> ! /// <param name="interfaces"></param> ! /// <param name="id"></param> ! /// <param name="identifierProperty"></param> ! /// <param name="session"></param> ! internal AvalonLazyInitializer(System.Type persistentClass, System.Type[] interfaces, object id, PropertyInfo identifierPropertyInfo, ISessionImplementor session) : base (persistentClass, id, identifierPropertyInfo, session) { _interfaces = interfaces; } ! protected override void AddSerializationInfo(SerializationInfo info) { // the AvalonProxyDeserializer will be the Type that is actually serialized for this --- 17,41 ---- private static readonly log4net.ILog log = log4net.LogManager.GetLogger( typeof(AvalonLazyInitializer) ); + private System.Type _concreteProxy; private System.Type[] _interfaces; /// <summary> ! /// Initializes a new <see cref="AvalonLazyInitializer"/> object. /// </summary> ! /// <param name="persistentClass">The Class to Proxy.</param> ! /// <param name="concreteProxy">The <see cref="System.Type"/> to use as the Proxy.</param> ! /// <param name="interfaces">An array of <see cref="System.Type"/> interfaces that the Proxy should implement.</param> ! /// <param name="id">The Id of the Object we are Proxying.</param> ! /// <param name="identifierPropertyInfo">The PropertyInfo for the <id> property.</param> ! /// <param name="session">The ISession this Proxy is in.</param> ! internal AvalonLazyInitializer(System.Type persistentClass, System.Type concreteProxy, System.Type[] interfaces, object id, PropertyInfo identifierPropertyInfo, ISessionImplementor session) : base (persistentClass, id, identifierPropertyInfo, session) { + _concreteProxy = concreteProxy; _interfaces = interfaces; } ! protected override void AddSerailizationInfo(SerializationInfo info) { // the AvalonProxyDeserializer will be the Type that is actually serialized for this *************** *** 42,45 **** --- 45,49 ---- info.AddValue( "_target", _target ); info.AddValue( "_persistentClass", _persistentClass ); + info.AddValue( "_concreteProxy", _concreteProxy ); info.AddValue( "_interfaces", _interfaces ); info.AddValue( "_identifierPropertyInfo", _identifierPropertyInfo ); --- NEW FILE: AvalonCustomProxyGenerator.cs --- using System; using System.Reflection.Emit; using Apache.Avalon.DynamicProxy; using Apache.Avalon.DynamicProxy.Builder.CodeGenerators; namespace NHibernate.Proxy { /// <summary> /// This will build a proxy for a <see cref="System.Type"/> that is /// a <c>Class</c> and then add the <see cref="INHibernateProxy"/> /// interface to it. /// </summary> public class AvalonCustomProxyGenerator : ClassProxyGenerator { public AvalonCustomProxyGenerator(ModuleScope scope) : base(scope) { } public AvalonCustomProxyGenerator(ModuleScope scope, GeneratorContext context) : base(scope, context) { } protected override TypeBuilder CreateTypeBuilder(System.Type baseType, System.Type[] interfaces) { bool isImplemented = false; // check to see if this implements INHibernateProxy - if not then make it // implement the interface for( int i=0; i<interfaces.Length; i++) { if( interfaces[i].Equals( typeof(INHibernateProxy) ) ) { isImplemented = true; } } if( isImplemented==false ) { int length = interfaces.Length; System.Type[] newInterfaces = new System.Type[ length + 1 ]; Array.Copy( interfaces, 0, newInterfaces, 0, length ); newInterfaces[ length ] = typeof(INHibernateProxy); interfaces = newInterfaces; } TypeBuilder builder = base.CreateTypeBuilder(baseType, interfaces); // the CreateTypeBuilder for a Proxy of a Class ignores the interfaces parameter - // so we need to tell the ProxyGenerator to specifically generate the // implementation of INHibernateProxy : ISerializable GenerateInterfaceImplementation( interfaces ); return builder; } } } Index: ProxyGeneratorFactory.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/ProxyGeneratorFactory.cs,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** ProxyGeneratorFactory.cs 3 Oct 2004 16:58:13 -0000 1.1.2.2 --- ProxyGeneratorFactory.cs 5 Oct 2004 15:25:05 -0000 1.1.2.3 *************** *** 19,22 **** --- 19,24 ---- public static IProxyGenerator GetProxyGenerator() { + //TODO: make this read from a configuration file!!! At this point anybody + // could substitue in their own IProxyGenerator and LazyInitializer. return _generator; } Index: AvalonProxyDeserializer.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Proxy/Attic/AvalonProxyDeserializer.cs,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** AvalonProxyDeserializer.cs 3 Oct 2004 16:58:13 -0000 1.1.2.1 --- AvalonProxyDeserializer.cs 5 Oct 2004 15:25:05 -0000 1.1.2.2 *************** *** 15,18 **** --- 15,19 ---- private object _target = null; private System.Type _persistentClass = null; + private System.Type _concreteProxy = null; private System.Type[] _interfaces = null; private PropertyInfo _identifierPropertyInfo = null; *************** *** 36,39 **** --- 37,41 ---- object proxy = generator.GetProxy( _persistentClass + , _concreteProxy , _interfaces , _identifierPropertyInfo |
From: Michael D. <mik...@us...> - 2004-10-05 15:26:56
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26229/src/NHibernate Modified Files: Tag: alpha_avalon-proxy NHibernate-1.1.csproj Log Message: much work done to implement proxies with classes and virtual properties. All test that are being run now pass with proxy="some class" Index: NHibernate-1.1.csproj =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/NHibernate-1.1.csproj,v retrieving revision 1.48.2.2 retrieving revision 1.48.2.3 diff -C2 -d -r1.48.2.2 -r1.48.2.3 *** NHibernate-1.1.csproj 3 Oct 2004 16:58:14 -0000 1.48.2.2 --- NHibernate-1.1.csproj 5 Oct 2004 15:25:03 -0000 1.48.2.3 *************** *** 1369,1372 **** --- 1369,1377 ---- /> <File + RelPath = "Proxy\AvalonCustomProxyGenerator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Proxy\AvalonLazyInitializer.cs" SubType = "Code" |
From: Michael D. <mik...@us...> - 2004-10-05 15:26:47
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26229/src/NHibernate.Test Modified Files: Tag: alpha_avalon-proxy ABCProxyTest.cs Log Message: much work done to implement proxies with classes and virtual properties. All test that are being run now pass with proxy="some class" Index: ABCProxyTest.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/ABCProxyTest.cs,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -C2 -d -r1.9 -r1.9.2.1 *** ABCProxyTest.cs 6 Aug 2004 14:50:34 -0000 1.9 --- ABCProxyTest.cs 5 Oct 2004 15:25:04 -0000 1.9.2.1 *************** *** 19,23 **** [Test] - [Ignore("Proxies Required - http://jira.nhibernate.org:8080/browse/NH-41")] public void Subclassing() { --- 19,22 ---- |