springnet-commits Mailing List for Spring Framework .NET (Page 4)
Brought to you by:
aseovic,
markpollack
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(33) |
Aug
(163) |
Sep
(491) |
Oct
(289) |
Nov
(336) |
Dec
(84) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(227) |
Feb
(413) |
Mar
(128) |
Apr
(232) |
May
(92) |
Jun
(299) |
Jul
(386) |
Aug
(228) |
Sep
(237) |
Oct
(426) |
Nov
(325) |
Dec
(405) |
2006 |
Jan
(315) |
Feb
(311) |
Mar
(152) |
Apr
(177) |
May
(443) |
Jun
(92) |
Jul
(88) |
Aug
(80) |
Sep
(288) |
Oct
(515) |
Nov
(1049) |
Dec
(440) |
2007 |
Jan
(179) |
Feb
(406) |
Mar
(294) |
Apr
(80) |
May
(432) |
Jun
(242) |
Jul
(452) |
Aug
(710) |
Sep
(206) |
Oct
(240) |
Nov
(65) |
Dec
(227) |
2008 |
Jan
(80) |
Feb
(90) |
Mar
(98) |
Apr
(136) |
May
(101) |
Jun
(12) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Erich E. <oak...@us...> - 2008-05-13 14:22:51
|
Update of /cvsroot/springnet/Spring.Net/examples/Spring/SpringAir/src/SpringAir.Data.Ado In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv17466/examples/Spring/SpringAir/src/SpringAir.Data.Ado Modified Files: SpringAir.Data.Ado.2003.csproj Log Message: SPRNET-794 - complete rework of Control interception minor fixes to SpringAir demo switched DynamicField implementation to using net-2.0's DynamicMethod technique Index: SpringAir.Data.Ado.2003.csproj =================================================================== RCS file: /cvsroot/springnet/Spring.Net/examples/Spring/SpringAir/src/SpringAir.Data.Ado/SpringAir.Data.Ado.2003.csproj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SpringAir.Data.Ado.2003.csproj 3 Dec 2006 08:25:45 -0000 1.2 --- SpringAir.Data.Ado.2003.csproj 13 May 2008 14:22:46 -0000 1.3 *************** *** 2,6 **** <CSHARP ProjectType = "Local" ! ProductVersion = "7.10.3077" SchemaVersion = "2.0" ProjectGuid = "{78B285FE-27F3-44F4-84B1-7A589AB48EF3}" --- 2,6 ---- <CSHARP ProjectType = "Local" ! ProductVersion = "7.10.6030" SchemaVersion = "2.0" ProjectGuid = "{78B285FE-27F3-44F4-84B1-7A589AB48EF3}" *************** *** 24,28 **** > <Config ! Name = "Debug" AllowUnsafeBlocks = "false" BaseAddress = "285212672" --- 24,28 ---- > <Config ! Name = "Debug-1.1" AllowUnsafeBlocks = "false" BaseAddress = "285212672" *************** *** 44,48 **** /> <Config ! Name = "Release" AllowUnsafeBlocks = "false" BaseAddress = "285212672" --- 44,48 ---- /> <Config ! Name = "Release-1.1" AllowUnsafeBlocks = "false" BaseAddress = "285212672" |
From: Erich E. <oak...@us...> - 2008-05-13 14:22:51
|
Update of /cvsroot/springnet/Spring.Net/src/Spring In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv17466/src/Spring Added Files: .cvsignore Log Message: SPRNET-794 - complete rework of Control interception minor fixes to SpringAir demo switched DynamicField implementation to using net-2.0's DynamicMethod technique --- NEW FILE: .cvsignore --- GenCommonAssemblyInfo.cs |
From: Bruno B. <bb...@us...> - 2008-05-13 12:47:18
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11497 Modified Files: xml-custom.xml Log Message: Renamed INamespaceHandler to INamespaceParser. Index: xml-custom.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/xml-custom.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xml-custom.xml 5 May 2008 20:04:55 -0000 1.2 --- xml-custom.xml 13 May 2008 12:47:11 -0000 1.3 *************** *** 29,33 **** <listitem> ! <para><link linkend="extensible-xml-namespacehandler">Coding</link> a custom <interfacename>INamespaceParser</interfacename> implementation (this is an easy step, don't worry).</para> --- 29,33 ---- <listitem> ! <para><link linkend="extensible-xml-namespaceparser">Coding</link> a custom <interfacename>INamespaceParser</interfacename> implementation (this is an easy step, don't worry).</para> *************** *** 135,149 **** </section> ! <section id="extensible-xml-namespacehandler"> ! <title>Coding a <interfacename>INamespaceHandler</interfacename></title> <para>In addition to the schema, we need an <interfacename>INamespaceParser</interfacename> that will parse all elements of this specific namespace Spring encounters while parsing ! configuration files. The <interfacename>INamespaceHandler</interfacename> should in our case take care of the parsing of the <literal>myns:regex</literal> element.</para> ! <para>The <interfacename>INamespaceHandler</interfacename> interface is pretty simple in that it features just two methods:</para> --- 135,149 ---- </section> ! <section id="extensible-xml-namespaceparser"> ! <title>Coding a <interfacename>INamespaceParser</interfacename></title> <para>In addition to the schema, we need an <interfacename>INamespaceParser</interfacename> that will parse all elements of this specific namespace Spring encounters while parsing ! configuration files. The <interfacename>INamespaceParser</interfacename> should in our case take care of the parsing of the <literal>myns:regex</literal> element.</para> ! <para>The <interfacename>INamespaceParser</interfacename> interface is pretty simple in that it features just two methods:</para> *************** *** 151,155 **** <listitem> <para><methodname>Init()</methodname> - allows for initialization of ! the <interfacename>INamespaceHandler</interfacename> and will be called by Spring before the handler is used</para> </listitem> --- 151,155 ---- <listitem> <para><methodname>Init()</methodname> - allows for initialization of ! the <interfacename>INamespaceParser</interfacename> and will be called by Spring before the handler is used</para> </listitem> *************** *** 165,169 **** <para>Although it is perfectly possible to code your own ! <interfacename>INamespaceHandler</interfacename> for the entire namespace (and hence provide code that parses each and every element in the namespace), it is often the case that each top-level XML element in a --- 165,169 ---- <para>Although it is perfectly possible to code your own ! <interfacename>INamespaceParser</interfacename> for the entire namespace (and hence provide code that parses each and every element in the namespace), it is often the case that each top-level XML element in a |
From: Bruno B. <bb...@us...> - 2008-05-13 08:37:26
|
Update of /cvsroot/springnet/Spring.Net/examples/Spring/Spring.Calculator/src/Spring.Calculator.ClientApp In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13143 Modified Files: Spring.Calculator.ClientApp.2005.csproj Log Message: Projects typo error. Index: Spring.Calculator.ClientApp.2005.csproj =================================================================== RCS file: /cvsroot/springnet/Spring.Net/examples/Spring/Spring.Calculator/src/Spring.Calculator.ClientApp/Spring.Calculator.ClientApp.2005.csproj,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Spring.Calculator.ClientApp.2005.csproj 12 Feb 2007 02:22:54 -0000 1.6 --- Spring.Calculator.ClientApp.2005.csproj 13 May 2008 08:37:21 -0000 1.7 *************** *** 76,90 **** <ItemGroup> <ProjectReference Include="..\Spring.Aspects\Spring.Aspects.2005.csproj"> ! <Name>Spring.Aspects.2003</Name> <Project>{6B34626E-8D2A-4387-BBB6-CB352D4DBDEC}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> </ProjectReference> <ProjectReference Include="..\Spring.Calculator.Contract\Spring.Calculator.Contract.2005.csproj"> ! <Name>Spring.Calculator.Contract.2003</Name> <Project>{284C0873-BBB4-4399-B6F7-CB7EDBD001C7}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> </ProjectReference> <ProjectReference Include="..\Spring.Calculator.Services\Spring.Calculator.Services.2005.csproj"> ! <Name>Spring.Calculator.Services.2003</Name> <Project>{D9FB04E5-D636-4EC2-A3AB-FAB1C4F37827}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> --- 76,90 ---- <ItemGroup> <ProjectReference Include="..\Spring.Aspects\Spring.Aspects.2005.csproj"> ! <Name>Spring.Aspects.2005</Name> <Project>{6B34626E-8D2A-4387-BBB6-CB352D4DBDEC}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> </ProjectReference> <ProjectReference Include="..\Spring.Calculator.Contract\Spring.Calculator.Contract.2005.csproj"> ! <Name>Spring.Calculator.Contract.2005</Name> <Project>{284C0873-BBB4-4399-B6F7-CB7EDBD001C7}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> </ProjectReference> <ProjectReference Include="..\Spring.Calculator.Services\Spring.Calculator.Services.2005.csproj"> ! <Name>Spring.Calculator.Services.2005</Name> <Project>{D9FB04E5-D636-4EC2-A3AB-FAB1C4F37827}</Project> <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
From: Mark P. <mar...@us...> - 2008-05-08 16:04:39
|
Update of /cvsroot/springnet/Spring.Net In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv15762 Modified Files: Spring.build Spring.include Log Message: fix silly typo.. Index: Spring.build =================================================================== RCS file: /cvsroot/springnet/Spring.Net/Spring.build,v retrieving revision 1.200 retrieving revision 1.201 diff -C2 -d -r1.200 -r1.201 *** Spring.build 7 May 2008 18:25:43 -0000 1.200 --- Spring.build 8 May 2008 16:03:13 -0000 1.201 *************** *** 386,390 **** </if> <!-- for .NET 2.0 need to provide keyfile argument to compiler --> ! <if test="${net-2.0}" if=${project.build.sign}> <property name="compiler.args" value="/keyfile:..\..\..\Spring.Net.snk"/> </if> --- 386,390 ---- </if> <!-- for .NET 2.0 need to provide keyfile argument to compiler --> ! <if test="${net-2.0}" if="${project.build.sign}"> <property name="compiler.args" value="/keyfile:..\..\..\Spring.Net.snk"/> </if> Index: Spring.include =================================================================== RCS file: /cvsroot/springnet/Spring.Net/Spring.include,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Spring.include 7 May 2008 18:25:43 -0000 1.13 --- Spring.include 8 May 2008 16:03:13 -0000 1.14 *************** *** 241,245 **** <attribute type="AssemblyDelaySignAttribute" value="false"/> ! <attribute type="AssemblyKeyFileAttribute" value="${assembly.keyfile}" if="${(nant.settings.currentframework == 'net-1.0' or nant.settings.currentframework == 'net-1.1') and ${project.build.sign}" /> --- 241,245 ---- <attribute type="AssemblyDelaySignAttribute" value="false"/> ! <attribute type="AssemblyKeyFileAttribute" value="${assembly.keyfile}" if="${(nant.settings.currentframework == 'net-1.0' or nant.settings.currentframework == 'net-1.1') and project.build.sign}" /> |
From: Mark P. <mar...@us...> - 2008-05-07 18:26:51
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src/images In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv18987 Added Files: container-in-action.gif Log Message: add high level container pic --- NEW FILE: container-in-action.gif --- (This appears to be a binary file; contents omitted.) |
From: Mark P. <mar...@us...> - 2008-05-07 18:25:54
|
Update of /cvsroot/springnet/Spring.Net In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv18573 Modified Files: Spring.build Spring.include Log Message: fixes for daily build Index: Spring.build =================================================================== RCS file: /cvsroot/springnet/Spring.Net/Spring.build,v retrieving revision 1.199 retrieving revision 1.200 diff -C2 -d -r1.199 -r1.200 *** Spring.build 2 May 2008 20:40:58 -0000 1.199 --- Spring.build 7 May 2008 18:25:43 -0000 1.200 *************** *** 170,174 **** <!-- <property name="current.package.dir" value="l:/release/${project::get-name()}"/> - <property name="current.package.dir" value="L:/projects/Spring.Net/build/package-docs/${project::get-name()}"/> --> --- 170,173 ---- *************** *** 349,360 **** <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <property name="temp.build.skip" value="false"/> ! <!-- configure build --> ! <if test="${not temp.build.skip}"> ! <!-- disable namespaces not supported in net-1.0 --> ! <property name="build-web" value="false" /> ! <!-- property name="build-services" value="true" / --> ! <call target="compile-test" /> ! </if> </target> --- 348,354 ---- <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <!-- disable namespaces not supported in net-1.0 --> ! <property name="build-web" value="false" /> ! <call target="compile-test" /> </target> *************** *** 363,370 **** <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <property name="temp.build.skip" value="false"/> ! <if test="${not temp.build.skip}"> ! <call target="compile-test" /> ! </if> </target> --- 357,361 ---- <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <call target="compile-test" /> </target> *************** *** 373,380 **** <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <property name="temp.build.skip" value="false"/> ! <if test="${not temp.build.skip}"> ! <call target="compile-test" /> ! </if> </target> --- 364,368 ---- <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <call target="compile-test" /> </target> *************** *** 383,390 **** <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <property name="temp.build.skip" value="false"/> ! <if test="${not temp.build.skip}"> ! <call target="compile-test" /> ! </if> </target> --- 371,375 ---- <call target="copykeys" if="${project.build.sign}"/> <call target="common.generate-assemblyinfo"/> ! <call target="compile-test" /> </target> *************** *** 392,404 **** <if test="${not file::exists(spring.basedir + '/Spring.Net.snk')}"> - <if test="${property::exists('project.build.package') and project.build.package}"> - <fail message="Key file not found."/> - </if> - <if test="${not(property::exists('project.build.package') and project.build.package)}"> <echo message="Key file not found. You can generate a key file by running 'sn -k Spring.Net.snk'."/> <echo message="The generated key file should be stored in the Spring.Net base directory."/> - <echo message="The release build will be skipped."/> - <property name="temp.build.skip" value="true"/> - </if> </if> <if test="${file::exists(spring.basedir + '/Spring.Net.snk')}"> --- 377,382 ---- *************** *** 407,412 **** <copy file="Spring.Net.snk" todir="sandbox"/> </if> ! <!-- for release on .NET 2.0 need to provide keyfile argument to compiler --> ! <if test="${net-2.0}"> <property name="compiler.args" value="/keyfile:..\..\..\Spring.Net.snk"/> </if> --- 385,390 ---- <copy file="Spring.Net.snk" todir="sandbox"/> </if> ! <!-- for .NET 2.0 need to provide keyfile argument to compiler --> ! <if test="${net-2.0}" if=${project.build.sign}> <property name="compiler.args" value="/keyfile:..\..\..\Spring.Net.snk"/> </if> *************** *** 628,631 **** --- 606,610 ---- <call target="set-build-namespaces-release"/> <property name="project.build.package" value="true"/> + <call target="build-all-function"/> *************** *** 978,981 **** --- 957,961 ---- <fileset basedir="lib/NHibernate10"> <include name="**/*.dll"/> + <include name="**/*.license.txt"/> </fileset> </copy> *************** *** 987,990 **** --- 967,971 ---- <fileset basedir="lib/NHibernate12"> <include name="**/*.dll"/> + <include name="**/*.license.txt"/> </fileset> </copy> *************** *** 1176,1179 **** --- 1157,1166 ---- <exclude name="**/POC/**"/> <exclude name="**/sdk/net/1.1/${project.name}-SDK-HTML.zip"/> + <exclude name="examples/Spring/SpringAir/src/SpringAir.Web.2005.References/*.dll"/> + <exclude name="examples/Spring/SpringAir/src/SpringAir.Web.2005.References/*.pdb"/> + <exclude name="examples/Spring/SpringAir/src/SpringAir.Web.2005.References/*.xml"/> + <exclude name="examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/*.dll"/> + <exclude name="examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/*.pdb"/> + <exclude name="examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.References/*.xml"/> <include name="installer/**"/> Index: Spring.include =================================================================== RCS file: /cvsroot/springnet/Spring.Net/Spring.include,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Spring.include 2 May 2008 20:34:40 -0000 1.12 --- Spring.include 7 May 2008 18:25:43 -0000 1.13 *************** *** 241,245 **** <attribute type="AssemblyDelaySignAttribute" value="false"/> ! <attribute type="AssemblyKeyFileAttribute" value="${assembly.keyfile}" if="${(nant.settings.currentframework == 'net-1.0' or nant.settings.currentframework == 'net-1.1')}" /> --- 241,245 ---- <attribute type="AssemblyDelaySignAttribute" value="false"/> ! <attribute type="AssemblyKeyFileAttribute" value="${assembly.keyfile}" if="${(nant.settings.currentframework == 'net-1.0' or nant.settings.currentframework == 'net-1.1') and ${project.build.sign}" /> |
From: Mark P. <mar...@us...> - 2008-05-06 07:35:10
|
Update of /cvsroot/springnet/Spring.Net/installer/installaware/Spring.NET-1.1 In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv14011 Modified Files: Spring.NET-1.1.mpr Log Message: update installer for 1.1.2 Index: Spring.NET-1.1.mpr =================================================================== RCS file: /cvsroot/springnet/Spring.Net/installer/installaware/Spring.NET-1.1/Spring.NET-1.1.mpr,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Spring.NET-1.1.mpr 6 May 2008 04:28:39 -0000 1.8 --- Spring.NET-1.1.mpr 6 May 2008 07:35:06 -0000 1.9 *************** *** 459,464 **** SpringSource Spring.NET 1.1.2 ! {6290AA1D-33B9-432B-9711-AD87DA63A19F} ! {2A5C9C45-7813-4875-88C4-2BA37421DC02} 1.1.2 English --- 459,464 ---- SpringSource Spring.NET 1.1.2 ! {4D418DBC-09E3-4265-ABBC-541C5610C3F0} ! {E4E36CA4-CA2E-4C28-9231-B76761E9D614} 1.1.2 English *************** *** 467,471 **** Spring.NET authors All rights reserved ! {A9B0BCD3-DEDE-44D7-B983-570BFBB410BE} Spring.NET Spring.NET --- 467,471 ---- Spring.NET authors All rights reserved ! {868E6709-F92E-4EA6-BBED-63D32EF7EEA4} Spring.NET Spring.NET |
From: Mark P. <mar...@us...> - 2008-05-06 06:18:04
|
Update of /cvsroot/springnet/Spring.Net/examples/Spring/SpringAir/src/SpringAir.Web.2005/Web In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13374 Modified Files: StandardTemplate.master Log Message: css was not rendering... Index: StandardTemplate.master =================================================================== RCS file: /cvsroot/springnet/Spring.Net/examples/Spring/SpringAir/src/SpringAir.Web.2005/Web/StandardTemplate.master,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StandardTemplate.master 6 May 2008 05:42:16 -0000 1.3 --- StandardTemplate.master 6 May 2008 06:17:59 -0000 1.4 *************** *** 11,15 **** </title> <link href="<%= Page.CssRoot %>/default.css" type="text/css" rel="stylesheet"> ! <spring:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"></spring:ContentPlaceHolder> </spring:Head> <body> --- 11,15 ---- </title> <link href="<%= Page.CssRoot %>/default.css" type="text/css" rel="stylesheet"> ! <spring:ContentPlaceHolder id="head" runat="server"></spring:ContentPlaceHolder> </spring:Head> <body> |
From: Mark P. <mar...@us...> - 2008-05-06 05:42:22
|
Update of /cvsroot/springnet/Spring.Net/examples/Spring/SpringAir/src/SpringAir.Web.2005/Web In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv30588 Modified Files: StandardTemplate.master Log Message: css was not rendering... Index: StandardTemplate.master =================================================================== RCS file: /cvsroot/springnet/Spring.Net/examples/Spring/SpringAir/src/SpringAir.Web.2005/Web/StandardTemplate.master,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StandardTemplate.master 17 Mar 2008 22:04:50 -0000 1.2 --- StandardTemplate.master 6 May 2008 05:42:16 -0000 1.3 *************** *** 4,14 **** <html> ! <head runat="server"> ! <title><%= GetMessage("default.title") %></title> ! <link href="<%= Page.CssRoot %>/default.css" type="text/css" rel="stylesheet" /> ! <spring:Head ID="Head1" runat="server"> ! <asp:ContentPlaceHolder id="head" runat="server" /> ! </spring:Head> ! </head> <body> <form id="form" method="post" runat="server"> --- 4,16 ---- <html> ! <spring:Head ID="Head2" runat="server"> ! <title> ! <spring:ContentPlaceHolder id="title" runat="server"> ! <%= GetMessage("default.title") %> ! </spring:ContentPlaceHolder> ! </title> ! <link href="<%= Page.CssRoot %>/default.css" type="text/css" rel="stylesheet"> ! <spring:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"></spring:ContentPlaceHolder> ! </spring:Head> <body> <form id="form" method="post" runat="server"> |
From: Mark P. <mar...@us...> - 2008-05-06 05:03:09
|
Update of /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13341 Modified Files: Spring.Data.2003.csproj Log Message: fix 2003 solution Index: Spring.Data.2003.csproj =================================================================== RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data/Spring.Data.2003.csproj,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Spring.Data.2003.csproj 4 Feb 2008 22:42:49 -0000 1.29 --- Spring.Data.2003.csproj 6 May 2008 05:03:05 -0000 1.30 *************** *** 215,218 **** --- 215,223 ---- /> <File + RelPath = "Dao\PessimisticLockingFailureException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Dao\TypeMismatchDataAccessException.cs" SubType = "Code" |
From: Mark P. <mar...@us...> - 2008-05-06 04:29:19
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv31901 Modified Files: index.xml Log Message: misc updates Index: index.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/index.xml,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** index.xml 6 May 2008 03:37:13 -0000 1.88 --- index.xml 6 May 2008 04:29:15 -0000 1.89 *************** *** 36,50 **** <!ENTITY aop-quickstart SYSTEM "aop-quickstart.xml"> <!ENTITY remoting-quickstart SYSTEM "remoting-quickstart.xml"> ! <!ENTITY springair SYSTEM "springair.xml"> ! <!ENTITY web-quickstart SYSTEM "web-quickstart.xml"> ! <!ENTITY data-quickstart SYSTEM "data-quickstart.xml"> ! <!ENTITY tx-quickstart SYSTEM "tx-quickstart.xml"> ! <!ENTITY javadevelopers SYSTEM "javadevelopers.xml"> ! <!ENTITY xml-config SYSTEM "xml-config-reference.xml"> ! <!ENTITY xsd SYSTEM "xsd.xml"> <!ENTITY xsd-configuration SYSTEM "xsd-configuration.xml"> <!ENTITY xml-custom SYSTEM "xml-custom.xml"> ! <!ENTITY misc SYSTEM "misc.xml"> ! <!ENTITY pooling-example SYSTEM "pooling-example.xml"> ]> --- 36,50 ---- <!ENTITY aop-quickstart SYSTEM "aop-quickstart.xml"> <!ENTITY remoting-quickstart SYSTEM "remoting-quickstart.xml"> ! <!ENTITY springair SYSTEM "springair.xml"> ! <!ENTITY web-quickstart SYSTEM "web-quickstart.xml"> ! <!ENTITY data-quickstart SYSTEM "data-quickstart.xml"> ! <!ENTITY tx-quickstart SYSTEM "tx-quickstart.xml"> ! <!ENTITY javadevelopers SYSTEM "javadevelopers.xml"> ! <!ENTITY misc SYSTEM "misc.xml"> ! <!ENTITY pooling-example SYSTEM "pooling-example.xml"> <!ENTITY xsd-configuration SYSTEM "xsd-configuration.xml"> <!ENTITY xml-custom SYSTEM "xml-custom.xml"> ! <!ENTITY xsd SYSTEM "xsd.xml"> ! ]> |
From: Mark P. <mar...@us...> - 2008-05-06 04:28:45
|
Update of /cvsroot/springnet/Spring.Net/installer/installaware/Spring.NET-1.1 In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv31502 Modified Files: Spring.NET-1.1.mia Spring.NET-1.1.mia.brk Spring.NET-1.1.mpr Log Message: update installer for 1.1.2 Index: Spring.NET-1.1.mpr =================================================================== RCS file: /cvsroot/springnet/Spring.Net/installer/installaware/Spring.NET-1.1/Spring.NET-1.1.mpr,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Spring.NET-1.1.mpr 3 May 2008 01:01:28 -0000 1.7 --- Spring.NET-1.1.mpr 6 May 2008 04:28:39 -0000 1.8 *************** *** 449,452 **** --- 449,454 ---- + + $ $ *************** *** 456,469 **** L:\projects\Spring.Net\msi SpringSource ! Spring.NET 1.1.1 ! {2C0667AF-1CC4-48E0-8A78-927DAEC14286} {2A5C9C45-7813-4875-88C4-2BA37421DC02} ! 1.1.1 English ! Spring.NET 1.1.1 ! Spring.NET 1.1.1 Installation Spring.NET authors All rights reserved ! {14D0B623-6ABC-472E-B174-3B1A68A54EE7} Spring.NET Spring.NET --- 458,471 ---- L:\projects\Spring.Net\msi SpringSource ! Spring.NET 1.1.2 ! {6290AA1D-33B9-432B-9711-AD87DA63A19F} {2A5C9C45-7813-4875-88C4-2BA37421DC02} ! 1.1.2 English ! Spring.NET 1.1.2 ! Spring.NET 1.1.2 Installation Spring.NET authors All rights reserved ! {A9B0BCD3-DEDE-44D7-B983-570BFBB410BE} Spring.NET Spring.NET *************** *** 472,476 **** All rights reserved FALSE ! Spring.NET-1.1.1 TRUE FALSE --- 474,478 ---- All rights reserved FALSE ! Spring.NET-1.1.2 TRUE FALSE Index: Spring.NET-1.1.mia =================================================================== RCS file: /cvsroot/springnet/Spring.Net/installer/installaware/Spring.NET-1.1/Spring.NET-1.1.mia,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Spring.NET-1.1.mia 4 Apr 2008 15:24:18 -0000 1.3 --- Spring.NET-1.1.mia 6 May 2008 04:28:39 -0000 1.4 *************** *** 354,357 **** --- 354,359 ---- Install Files Install Files + Install Files + Install Files Web Media Block Get Component State *************** *** 769,772 **** --- 771,776 ---- {D887138C-5E08-47C4-8A51-53A8F714EFB7} {0F86BF0F-F836-4FF4-B8AA-B7A826981964} + {57BA5F33-63DD-4884-ABAD-ADC55B447BCA} + {C5A04B8A-7853-4B45-92F3-E831B4C67BF9} {CA8886A7-0940-49AE-8FBF-B6D8857621C3} {830DA74D-7462-48B6-A133-06DA43BA64D6} *************** *** 1289,1303 **** FALSE {A3A8A528-F4F5-4031-8308-7F556B64C129} ! Spring.NET 1.1.1 TRUE ! Spring.NET 1.1.1 {5749130C-401B-46B6-A1F3-F227D549C673} ! Spring.NET 1.1.1 FALSE {EDB251B5-EFEA-4792-B040-60474F526530} ! Spring.NET 1.1.1 TRUE {830DA74D-7462-48B6-A133-06DA43BA64D6} ! Spring.NET 1.1.1 SELECTED {16E358DF-D903-48F5-A026-FDC700D1C889} --- 1293,1307 ---- FALSE {A3A8A528-F4F5-4031-8308-7F556B64C129} ! Spring.NET 1.1.2 TRUE ! Spring.NET 1.1.2 {5749130C-401B-46B6-A1F3-F227D549C673} ! Spring.NET 1.1.2 FALSE {EDB251B5-EFEA-4792-B040-60474F526530} ! Spring.NET 1.1.2 TRUE {830DA74D-7462-48B6-A133-06DA43BA64D6} ! Spring.NET 1.1.2 SELECTED {16E358DF-D903-48F5-A026-FDC700D1C889} *************** *** 2851,2857 **** FALSE FALSE {F3D1B9D2-7A04-44B6-9F91-860D3A2384C0} $UNINSTALLLINK$ ! Uninstall Spring.NET 1.1.1 $SHORTCUTFOLDER$ Removes this Interface21 product --- 2855,2887 ---- FALSE FALSE + {57BA5F33-63DD-4884-ABAD-ADC55B447BCA} + L:\projects\Spring.Net\build\package\Spring.NET\doc\reference\html\extensible-xml.html + FALSE| + $TARGETDIR$\doc\reference\html + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + {C5A04B8A-7853-4B45-92F3-E831B4C67BF9} + L:\projects\Spring.Net\build\package\Spring.NET\doc\reference\html\xsd-config.html + FALSE| + $TARGETDIR$\doc\reference\html + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE {F3D1B9D2-7A04-44B6-9F91-860D3A2384C0} $UNINSTALLLINK$ ! Uninstall Spring.NET 1.1.2 $SHORTCUTFOLDER$ Removes this Interface21 product *************** *** 3159,3164 **** FALSE {CA8886A7-0940-49AE-8FBF-B6D8857621C3} ! Spring.NET 1.1.1 ! Spring.NET 1.1.1.7zip FALSE {1D2C9F3A-3B3F-4046-8FC7-86624108C2B2} --- 3189,3194 ---- FALSE {CA8886A7-0940-49AE-8FBF-B6D8857621C3} ! Spring.NET 1.1.2 ! Spring.NET 1.1.2.7zip FALSE {1D2C9F3A-3B3F-4046-8FC7-86624108C2B2} *************** *** 3699,3702 **** --- 3729,3734 ---- + + $ *************** *** 4114,4116 **** --- 4146,4150 ---- + + $ Index: Spring.NET-1.1.mia.brk =================================================================== RCS file: /cvsroot/springnet/Spring.Net/installer/installaware/Spring.NET-1.1/Spring.NET-1.1.mia.brk,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Spring.NET-1.1.mia.brk 11 Oct 2007 18:06:22 -0000 1.1 --- Spring.NET-1.1.mia.brk 6 May 2008 04:28:39 -0000 1.2 *************** *** 413,414 **** --- 413,416 ---- + + |
From: Mark P. <mar...@us...> - 2008-05-06 03:41:08
|
Update of /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-2.0 In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12884/net-2.0 Modified Files: RegisterHelp2.bat Spring-1.1.0.dxp UnRegisterHelp2.bat Log Message: update version numbers. Index: Spring-1.1.0.dxp =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-2.0/Spring-1.1.0.dxp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Spring-1.1.0.dxp 7 Apr 2008 14:11:55 -0000 1.12 --- Spring-1.1.0.dxp 6 May 2008 03:41:04 -0000 1.13 *************** *** 1,4 **** <?xml version="1.0" encoding="UTF-8" standalone="yes"?> ! <DocumentXProject Version="5.0" CompileHelpFile="True" RefreshIfExists="False" DocumentSourceCode="False" AlwaysCopySupportFiles="True" PropertyCommentsFrom="0" RelationshipsFrom="2" DefaultRelsOnlyForCollections="True" ProjectGroupName="Spring-1.1.1" HTMLHelpVersion="2" HHNamespace="Spring.NET" HHIdentifier="Spring.NET-1.1.1" H2PlugIn="True" H2PlugInNamespace="MS.VSIPCC.v80" LocaleID="0" ExcludeFiltersRegExp="False" OutputFileExtension=".html"> <OutputLocation OutputFolder="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-2.0\web\" HelpFileName="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-2.0\htmlhelp1and2\Spring.NET.hxs" UseFilenameAliases="True" StripMetadata="False" ClearBeforeBuild="True" RemoveOutputFilesAfterCompile="False"/> <HTMLHelpOptions UseALinkMenus="False"/> --- 1,4 ---- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> ! <DocumentXProject Version="5.0" CompileHelpFile="True" RefreshIfExists="False" DocumentSourceCode="False" AlwaysCopySupportFiles="True" PropertyCommentsFrom="0" RelationshipsFrom="2" DefaultRelsOnlyForCollections="True" ProjectGroupName="Spring-1.1.2" HTMLHelpVersion="2" HHNamespace="Spring.NET" HHIdentifier="Spring.NET-1.1.2" H2PlugIn="True" H2PlugInNamespace="MS.VSIPCC.v80" LocaleID="0" ExcludeFiltersRegExp="False" OutputFileExtension=".html"> <OutputLocation OutputFolder="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-2.0\web\" HelpFileName="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-2.0\htmlhelp1and2\Spring.NET.hxs" UseFilenameAliases="True" StripMetadata="False" ClearBeforeBuild="True" RemoveOutputFilesAfterCompile="False"/> <HTMLHelpOptions UseALinkMenus="False"/> Index: UnRegisterHelp2.bat =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-2.0/UnRegisterHelp2.bat,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** UnRegisterHelp2.bat 7 Apr 2008 11:48:35 -0000 1.6 --- UnRegisterHelp2.bat 6 May 2008 03:41:04 -0000 1.7 *************** *** 2,6 **** REM Un-Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /U /T /namespace:Spring.NET /id:Spring.NET-1.1.1 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-Register the Namespace --- 2,6 ---- REM Un-Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /U /T /namespace:Spring.NET /id:Spring.NET-1.1.2 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-Register the Namespace Index: RegisterHelp2.bat =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-2.0/RegisterHelp2.bat,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RegisterHelp2.bat 7 Apr 2008 11:48:35 -0000 1.6 --- RegisterHelp2.bat 6 May 2008 03:41:04 -0000 1.7 *************** *** 3,7 **** REM Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /R /T /namespace:Spring.NET /id:Spring.NET-1.1.1 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-comment to plug in to the Visual Studio.NET 2005 help system --- 3,7 ---- REM Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /R /T /namespace:Spring.NET /id:Spring.NET-1.1.2 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-comment to plug in to the Visual Studio.NET 2005 help system |
From: Mark P. <mar...@us...> - 2008-05-06 03:41:07
|
Update of /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-1.1 In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12884/net-1.1 Modified Files: RegisterHelp2.bat Spring-1.1.0.dxp UnRegisterHelp2.bat Log Message: update version numbers. Index: Spring-1.1.0.dxp =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-1.1/Spring-1.1.0.dxp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Spring-1.1.0.dxp 7 Apr 2008 11:48:35 -0000 1.11 --- Spring-1.1.0.dxp 6 May 2008 03:41:04 -0000 1.12 *************** *** 1,4 **** <?xml version="1.0" encoding="UTF-8" standalone="yes"?> ! <DocumentXProject Version="5.0" CompileHelpFile="True" RefreshIfExists="True" DocumentSourceCode="False" AlwaysCopySupportFiles="True" PropertyCommentsFrom="0" RelationshipsFrom="2" DefaultRelsOnlyForCollections="True" ProjectGroupName="Spring-1.1.1" HTMLHelpVersion="2" HHNamespace="Spring.NET" HHIdentifier="Spring.NET-1.1.1" H2PlugIn="True" H2PlugInNamespace="MS.VSCC,MS.VSCC.2003" LocaleID="0" ExcludeFiltersRegExp="False" OutputFileExtension=".html"> <OutputLocation OutputFolder="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-1.1\web\" HelpFileName="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-1.1\htmlhelp1and2\Spring.NET.hxs" UseFilenameAliases="True" StripMetadata="False" ClearBeforeBuild="True" RemoveOutputFilesAfterCompile="False"/> <HTMLHelpOptions UseALinkMenus="False"/> --- 1,4 ---- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> ! <DocumentXProject Version="5.0" CompileHelpFile="True" RefreshIfExists="True" DocumentSourceCode="False" AlwaysCopySupportFiles="True" PropertyCommentsFrom="0" RelationshipsFrom="2" DefaultRelsOnlyForCollections="True" ProjectGroupName="Spring-1.1.2" HTMLHelpVersion="2" HHNamespace="Spring.NET" HHIdentifier="Spring.NET-1.1.2" H2PlugIn="True" H2PlugInNamespace="MS.VSCC,MS.VSCC.2003" LocaleID="0" ExcludeFiltersRegExp="False" OutputFileExtension=".html"> <OutputLocation OutputFolder="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-1.1\web\" HelpFileName="L:\release\Spring.Net\doc\sdk\Spring-1.1\net-1.1\htmlhelp1and2\Spring.NET.hxs" UseFilenameAliases="True" StripMetadata="False" ClearBeforeBuild="True" RemoveOutputFilesAfterCompile="False"/> <HTMLHelpOptions UseALinkMenus="False"/> Index: UnRegisterHelp2.bat =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-1.1/UnRegisterHelp2.bat,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** UnRegisterHelp2.bat 7 Apr 2008 11:48:35 -0000 1.6 --- UnRegisterHelp2.bat 6 May 2008 03:41:04 -0000 1.7 *************** *** 3,7 **** REM Un-Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /U /T /namespace:Spring.NET /id:Spring.NET-1.1.1 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-Register the Namespace --- 3,7 ---- REM Un-Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /U /T /namespace:Spring.NET /id:Spring.NET-1.1.2 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-Register the Namespace Index: RegisterHelp2.bat =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/docx/Spring-1.1/net-1.1/RegisterHelp2.bat,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RegisterHelp2.bat 7 Apr 2008 11:48:35 -0000 1.6 --- RegisterHelp2.bat 6 May 2008 03:41:04 -0000 1.7 *************** *** 3,7 **** REM Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /R /T /namespace:Spring.NET /id:Spring.NET-1.1.1 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-comment to plug in to the Visual Studio.NET 2003 help system --- 3,7 ---- REM Register the help file (title in Help 2.0 terminology) ! InnovaHxReg /R /T /namespace:Spring.NET /id:Spring.NET-1.1.2 /langid:1033 /helpfile:"Spring.NET.hxs" REM Un-comment to plug in to the Visual Studio.NET 2003 help system |
From: Mark P. <mar...@us...> - 2008-05-06 03:37:22
|
Update of /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Support In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11515 Modified Files: SessionScope.cs Log Message: misc updates. Index: SessionScope.cs =================================================================== RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Support/SessionScope.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SessionScope.cs 21 Jan 2008 06:39:12 -0000 1.3 --- SessionScope.cs 6 May 2008 03:37:18 -0000 1.4 *************** *** 215,219 **** #region Properties ! ///<summary> /// Set whether to use a single session for each request. Default is "true". /// If set to false, each data access operation or transaction will use --- 215,219 ---- #region Properties ! /// <summary> /// Set whether to use a single session for each request. Default is "true". /// If set to false, each data access operation or transaction will use *************** *** 228,232 **** /// <summary> ! /// Gets or Sets the flushmode to be applied on each newly created session. /// </summary> /// <remarks> --- 228,232 ---- /// <summary> ! /// Gets the flushmode to be applied on each newly created session. /// </summary> /// <remarks> |
From: Mark P. <mar...@us...> - 2008-05-06 03:37:17
|
Update of /cvsroot/springnet/Spring.Net In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11498 Modified Files: readme.txt Log Message: misc updates. Index: readme.txt =================================================================== RCS file: /cvsroot/springnet/Spring.Net/readme.txt,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** readme.txt 2 May 2008 20:40:58 -0000 1.37 --- readme.txt 6 May 2008 03:37:13 -0000 1.38 *************** *** 1,3 **** ! THE SPRING.NET FRAMEWORK, Release 1.1.2 (March 5, 2008) -------------------------------------------------------------------- http://www.springframework.net/ --- 1,3 ---- ! THE SPRING.NET FRAMEWORK, Release 1.1.2 (May 6, 2008) -------------------------------------------------------------------- http://www.springframework.net/ |
From: Mark P. <mar...@us...> - 2008-05-06 03:37:17
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11498/doc/reference/src Modified Files: index.xml Log Message: misc updates. Index: index.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/index.xml,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** index.xml 5 May 2008 20:04:55 -0000 1.87 --- index.xml 6 May 2008 03:37:13 -0000 1.88 *************** *** 54,58 **** <subtitle>Reference Documentation</subtitle> <releaseinfo>Version 1.1.2</releaseinfo> ! <pubdate>Last Updated May 5, 2008</pubdate> <authorgroup> <author> --- 54,58 ---- <subtitle>Reference Documentation</subtitle> <releaseinfo>Version 1.1.2</releaseinfo> ! <pubdate>Last Updated May 6, 2008</pubdate> <authorgroup> <author> |
From: Mark P. <mar...@us...> - 2008-05-06 03:14:47
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv4022 Modified Files: objects.xml xsd-configuration.xml Log Message: misc updates. Index: objects.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/objects.xml,v retrieving revision 1.124 retrieving revision 1.125 diff -C2 -d -r1.124 -r1.125 *** objects.xml 2 May 2008 16:43:30 -0000 1.124 --- objects.xml 6 May 2008 03:14:43 -0000 1.125 *************** *** 3718,3722 **** class...</para> ! <para><programlisting><object id="inheritedTestObjectWithoutClass"> <property name="name" value="parent"/> <property name="age" value="1"/> --- 3718,3722 ---- class...</para> ! <para><programlisting><object id="inheritedTestObjectWithoutClass" abstract="true"> <property name="name" value="parent"/> <property name="age" value="1"/> *************** *** 3728,3744 **** </object></programlisting></para> ! <para>... the parent object cannot be instantiated on its own since the ! definition is incomplete. The definition is also implicitly considered to ! be abstract. An object definition can also be explicitly declared as ! abstract using the abstract attribute. Valid values of the attribute are ! true and false. An abstract definition like this is usable just as a pure ! template or abstract object definition that will serve as a parent ! definition for child definitions. Trying to use such parent objects on ! their own (by referring to it as a ref property of another object, or doing an explicit <methodname>GetObject()</methodname> with the parent ! object id), will result in an error. Declaring the object as abstract will ! prevent it being instantiated and any attempt to instantiate the object ! will result in an <classname>ObjectDefinitionIsAbstract</classname> ! exception being thrown. The container's internal <methodname>PreInstantiateSingletons</methodname> method will completely ignore object definitions that are considered abstract.</para> --- 3728,3739 ---- </object></programlisting></para> ! <para>... the parent object cannot be instantiated on its own since it ! incomplete, and it is also explicitly marked as abstract. ! When a definition is defined to be abstract like this, it is usable only ! as a pure template object definition that will serve as a parent ! definition for child definitions. Trying to use such an abstract parent ! object on its own (by referring to it as a ref property of another object, or doing an explicit <methodname>GetObject()</methodname> with the parent ! object id), will result in an error. The container's internal <methodname>PreInstantiateSingletons</methodname> method will completely ignore object definitions that are considered abstract.</para> *************** *** 3753,3772 **** <emphasis>true</emphasis> ! , otherwise the application context will actually attempt to pre-instantiate it. </note> - <para><programlisting><object id="abstractObject" abstract="true" - type="Spring.Objects.DerivedTestObject, Spring.Core.Tests"> - <property name="name" value="parent"/> - <property name="age" value="1"/> - </object> - <object id="inheritsFromAbstract" type="Spring.Objects.DerivedTestObject, Spring.Core.Tests" - parent="abstractObject" init-method="Initialize"> - <property name="name" value="override"/> - <!-- age will inherit value of 1 from parent --> - </object></programlisting></para> </sect1> ! <sect1 id="objects-factory-client"> <title>Interacting with the container</title> --- 3748,3757 ---- <emphasis>true</emphasis> ! , otherwise the application context will actually (attempt to) pre-instantiate the abstract object. </note> </sect1> ! <sect1 id="objects-factory-extension"> <title>Interacting with the container</title> Index: xsd-configuration.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/xsd-configuration.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xsd-configuration.xml 5 May 2008 20:04:55 -0000 1.2 --- xsd-configuration.xml 6 May 2008 03:14:43 -0000 1.3 *************** *** 132,136 **** </section> ! <section id="xsd-config-body-schemas-context"> <title>The <literal>db</literal> schema</title> --- 132,136 ---- </section> ! <section id="xsd-config-body-schemas-db"> <title>The <literal>db</literal> schema</title> *************** *** 152,156 **** </section> ! <section id="xsd-config-body-schemas-tool"> <title>The <literal>remoting</literal> schema</title> --- 152,156 ---- </section> ! <section id="xsd-config-body-schemas-remoting"> <title>The <literal>remoting</literal> schema</title> *************** *** 170,174 **** </section> ! <section id="xsd-config-body-schemas-tool"> <title>The <literal>validation</literal> schema</title> --- 170,174 ---- </section> ! <section id="xsd-config-body-schemas-validation"> <title>The <literal>validation</literal> schema</title> *************** *** 188,192 **** </section> ! <section id="xsd-config-body-schemas-beans"> <title>The <literal>objects</literal> schema</title> --- 188,192 ---- </section> ! <section id="xsd-config-body-schemas-objects"> <title>The <literal>objects</literal> schema</title> |
From: Mark P. <mar...@us...> - 2008-05-06 01:39:30
|
Update of /cvsroot/springnet/Spring.Net In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3649 Modified Files: changelog.txt Log Message: add remaining jira issues. Index: changelog.txt =================================================================== RCS file: /cvsroot/springnet/Spring.Net/changelog.txt,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** changelog.txt 2 May 2008 20:40:58 -0000 1.38 --- changelog.txt 6 May 2008 01:39:23 -0000 1.39 *************** *** 5,10 **** Release 1.1.2, May 5, 2008 - - Bug --- 5,8 ---- *************** *** 21,28 **** --- 19,28 ---- [SPRNET-933] - Support MethodInjection for objects declared inside the WebApplicationContext [SPRNET-935] - Release DLLs built with /DEBUG:pdbonly + [SPRNET-937] - Add additional logging of cache inserts in Cache advice. Task [SPRNET-925] - Update documentation for DI in ASP.NET regarding use of name attribute and object definition inheritance + [SPRNET-938] - Add documentation for authoring custom namespace parsers |
From: Mark P. <mar...@us...> - 2008-05-05 22:42:21
|
Update of /cvsroot/springnet/Spring.Net/src/Spring/Spring.Core/Objects/Factory/Support In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3084 Modified Files: AbstractAutowireCapableObjectFactory.cs Log Message: SPRNET-900 - AbstractAutoWireCapableObjectFactory throws exceptions in primary control path, modify to avoid use of exceptions for flow control Index: AbstractAutowireCapableObjectFactory.cs =================================================================== RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Core/Objects/Factory/Support/AbstractAutowireCapableObjectFactory.cs,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** AbstractAutowireCapableObjectFactory.cs 5 May 2008 21:30:47 -0000 1.88 --- AbstractAutowireCapableObjectFactory.cs 5 May 2008 22:42:17 -0000 1.89 *************** *** 1015,1018 **** --- 1015,1019 ---- #else MethodInfo[] factoryMethods = FindMethods(definition.FactoryMethodName, expectedArgCount, isStatic, factoryClass); + UnsatisfiedDependencyExceptionData unsatisfiedDependencyExceptionData = null; // try all matching methods to see if they match the constructor arguments... foreach(MethodInfo factoryMethod in factoryMethods) |
From: Mark P. <mar...@us...> - 2008-05-05 21:30:54
|
Update of /cvsroot/springnet/Spring.Net/src/Spring/Spring.Core/Objects/Factory/Support In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8700 Modified Files: AbstractAutowireCapableObjectFactory.cs Log Message: SPRNET-900 - AbstractAutoWireCapableObjectFactory throws exceptions in primary control path, modify to avoid use of exceptions for flow control Index: AbstractAutowireCapableObjectFactory.cs =================================================================== RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Core/Objects/Factory/Support/AbstractAutowireCapableObjectFactory.cs,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** AbstractAutowireCapableObjectFactory.cs 5 Apr 2008 13:35:35 -0000 1.87 --- AbstractAutowireCapableObjectFactory.cs 5 May 2008 21:30:47 -0000 1.88 *************** *** 993,999 **** --- 993,1001 ---- MethodInfo[] factoryMethods = FindMethods(genericArgsInfo.GenericMethodName, expectedArgCount, isStatic, factoryClass); + UnsatisfiedDependencyExceptionData unsatisfiedDependencyExceptionData = null; // try all matching methods to see if they match the constructor arguments... for (int i = 0; i < factoryMethods.Length; i++) { + unsatisfiedDependencyExceptionData = null; MethodInfo factoryMethod = factoryMethods[i]; *************** *** 1017,1034 **** { #endif ! try { // try to create the required arguments... ! if (arguments == null || arguments.Length == 0) { ! arguments = CreateArgumentArray(name, definition, resolvedValues, factoryMethod); } } - catch - { - // if we failed to match this method, swallow the exception and keep - // trying new overloaded factory methods... - continue; - } // if we get here, we found a factory method... --- 1019,1033 ---- { #endif ! if (arguments == null || arguments.Length == 0) { // try to create the required arguments... ! arguments = CreateArgumentArray(name, definition, resolvedValues, factoryMethod, out unsatisfiedDependencyExceptionData); ! if (arguments == null) { ! // if we failed to match this method, keep ! // trying new overloaded factory methods... ! continue; } } // if we get here, we found a factory method... *************** *** 1100,1108 **** /// given the resolved constructor arguments values. /// </summary> ! private object[] CreateArgumentArray(string name, RootObjectDefinition definition, ! ConstructorArgumentValues resolvedValues, MethodBase methodOrCtor) { string methodType = (methodOrCtor is ConstructorInfo) ? "constructor" : "factory method"; ! ParameterInfo[] argTypes = methodOrCtor.GetParameters(); object[] args = new object[argTypes.Length]; --- 1099,1110 ---- /// given the resolved constructor arguments values. /// </summary> ! /// <remarks>When return value is null the out parameter UnsatisfiedDependencyExceptionData will contain ! /// information for use in throwing a UnsatisfiedDependencyException by the caller. This avoids using ! /// exceptions for flow control as in the original implementation.</remarks> ! private object[] CreateArgumentArray(string name, RootObjectDefinition definition, ! ConstructorArgumentValues resolvedValues, MethodBase methodOrCtor, out UnsatisfiedDependencyExceptionData unsatisfiedDependencyExceptionData) { string methodType = (methodOrCtor is ConstructorInfo) ? "constructor" : "factory method"; ! unsatisfiedDependencyExceptionData = null; ParameterInfo[] argTypes = methodOrCtor.GetParameters(); object[] args = new object[argTypes.Length]; *************** *** 1130,1137 **** catch (TypeMismatchException ex) { ! throw new UnsatisfiedDependencyException(definition.ResourceDescription, name, j, parameterType, ! String.Format(CultureInfo.InvariantCulture, ! "Could not convert {0} argument value [{1}] to required type [{2}] : {3}", ! methodType, valueHolder.Value, parameterType, ex.Message)); } } --- 1132,1143 ---- catch (TypeMismatchException ex) { ! string errorMessage = String.Format(CultureInfo.InvariantCulture, ! "Could not convert {0} argument value [{1}] to required type [{2}] : {3}", ! methodType, valueHolder.Value, ! parameterType, ex.Message); ! unsatisfiedDependencyExceptionData = new UnsatisfiedDependencyExceptionData(j,parameterType, errorMessage); ! ! ! return null; } } *************** *** 1140,1159 **** if (definition.ResolvedAutowireMode != AutoWiringMode.Constructor) { ! throw new UnsatisfiedDependencyException(definition.ResourceDescription, name, j, parameterType, ! String.Format(CultureInfo.InvariantCulture, ! "Ambiguous {0} argument types - " + ! "Did you specify the correct object references as {0} arguments?", ! methodType)); } IDictionary matchingObjects = FindMatchingObjects(parameterType); if (matchingObjects == null || matchingObjects.Count != 1) { ! throw new UnsatisfiedDependencyException(definition.ResourceDescription, name, j, parameterType, ! String.Format(CultureInfo.InvariantCulture, ! "There are '{0}' objects of type [{1}] for autowiring " ! + "{2}. There should have been exactly 1 to be able to " ! + "autowire the '{3}' argument on the {2} of object '{4}'.", ! (matchingObjects == null ? 0 : matchingObjects.Count), ! parameterType, methodType, parameterName, name)); } DictionaryEntry entry = (DictionaryEntry)ObjectUtils.EnumerateFirstElement(matchingObjects); --- 1146,1174 ---- if (definition.ResolvedAutowireMode != AutoWiringMode.Constructor) { ! string errorMessage = String.Format(CultureInfo.InvariantCulture, ! "Ambiguous {0} argument types - " + ! "Did you specify the correct object references as {0} arguments?", ! methodType); ! unsatisfiedDependencyExceptionData = new UnsatisfiedDependencyExceptionData(j, parameterType, errorMessage); ! ! return null; } IDictionary matchingObjects = FindMatchingObjects(parameterType); if (matchingObjects == null || matchingObjects.Count != 1) { ! string errorMessage = String.Format(CultureInfo.InvariantCulture, ! "There are '{0}' objects of type [{1}] for autowiring " ! + ! "{2}. There should have been exactly 1 to be able to " ! + ! "autowire the '{3}' argument on the {2} of object '{4}'.", ! (matchingObjects == null ! ? 0 ! : matchingObjects.Count), ! parameterType, methodType, ! parameterName, name); ! unsatisfiedDependencyExceptionData = new UnsatisfiedDependencyExceptionData(j, parameterType, errorMessage); ! ! return null; } DictionaryEntry entry = (DictionaryEntry)ObjectUtils.EnumerateFirstElement(matchingObjects); *************** *** 1265,1311 **** object[] argsToUse = null; int weighting = Int32.MaxValue; for (int i = 0; i < constructors.Length; ++i) { ! try { ! ConstructorInfo constructor = constructors[i]; ! if (constructorToUse != null && ! constructorToUse.GetParameters().Length > constructor.GetParameters().Length) ! { ! // already found greedy constructor that can be satisfied, so ! // don't look any further, there are only less greedy constructors left... ! break; ! } ! ! object[] args = CreateArgumentArray(name, definition, argumentValues, constructor); ! ! int typeDiffWeight = AutowireUtils.GetTypeDifferenceWeight(constructor.GetParameters(), args); ! if (typeDiffWeight < weighting) ! { ! constructorToUse = constructor; ! argsToUse = args; ! weighting = typeDiffWeight; ! } } - catch (UnsatisfiedDependencyException ex) - { - #region Instrumentation - - if (log.IsDebugEnabled) - { - log.Debug("Ignoring constructor [" + constructors[i] + "] of object '" + name + "': could not satisfy dependencies. Detail: " - + ex.Message); - } - - #endregion if (i == constructors.Length - 1 && constructorToUse == null) { ! // all constructors tried... ! throw; } ! // swallow and try next constructor... } } if (constructorToUse == null) { --- 1280,1320 ---- object[] argsToUse = null; int weighting = Int32.MaxValue; + UnsatisfiedDependencyExceptionData unsatisfiedDependencyExceptionData = null; for (int i = 0; i < constructors.Length; ++i) { ! unsatisfiedDependencyExceptionData = null; ! ConstructorInfo constructor = constructors[i]; ! if (constructorToUse != null && ! constructorToUse.GetParameters().Length > constructor.GetParameters().Length) { ! // already found greedy constructor that can be satisfied, so ! // don't look any further, there are only less greedy constructors left... ! break; } + object[] args = CreateArgumentArray(name, definition, argumentValues, constructor, out unsatisfiedDependencyExceptionData); + if (args == null) + { if (i == constructors.Length - 1 && constructorToUse == null) { ! throw new UnsatisfiedDependencyException(definition.ResourceDescription, ! name, ! unsatisfiedDependencyExceptionData.ParameterIndex, ! unsatisfiedDependencyExceptionData.ParameterType, ! unsatisfiedDependencyExceptionData.ErrorMessage); } ! // try next constructor... ! continue; ! } ! ! int typeDiffWeight = AutowireUtils.GetTypeDifferenceWeight(constructor.GetParameters(), args); ! if (typeDiffWeight < weighting) ! { ! constructorToUse = constructor; ! argsToUse = args; ! weighting = typeDiffWeight; } } + if (constructorToUse == null) { *************** *** 2362,2364 **** --- 2371,2402 ---- #endregion } + + internal class UnsatisfiedDependencyExceptionData + { + private int parameterIndex; + private Type parameterType; + private string errorMessage; + + public UnsatisfiedDependencyExceptionData(int parameterIndex, Type parameterType, string errorMessage) + { + this.parameterIndex = parameterIndex; + this.parameterType = parameterType; + this.errorMessage = errorMessage; + } + + public int ParameterIndex + { + get { return parameterIndex; } + } + + public Type ParameterType + { + get { return parameterType; } + } + + public string ErrorMessage + { + get { return errorMessage; } + } + } } |
From: Mark P. <mar...@us...> - 2008-05-05 20:18:17
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13547 Modified Files: overview.xml Log Message: add usage scenarios to docs Index: overview.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/overview.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** overview.xml 16 Jan 2008 19:42:37 -0000 1.23 --- overview.xml 5 May 2008 20:18:05 -0000 1.24 *************** *** 184,187 **** --- 184,212 ---- <sect1> + <title>Usage Scenarios</title> + + <para>With the building blocks described above you can use Spring in all + sorts of scenarios, from simple stand alone console applications to + fully-fledged enterprise applications using Spring's transaction + management functionality and web framework integration. </para> + + <para>It is important to note that the Spring Framework <emphasis>does + not</emphasis> force you to use everything within it; it is not an + <emphasis>all-or-nothing</emphasis> solution. Existing front-ends built + using standard ASP.NET can be integrated perfectly well with a + Spring-based middle-tier, allowing you to use the transaction and/or data + access features that Spring offers. The only things you need to do is wire + up your business logic using Spring's IoC container and integrate it into + your web layer using WebApplicationContext to locate middle tier services + and/or configure your standard ASP.NET pages with depdenency injection. + </para> + + <para>While the Spring framework does not force any particular application + architecure it encourages the use of a well layered application + architecture with distinct tiers for the presentation, service, data + access, and database. </para> + </sect1> + + <sect1> <title>Quickstart applications</title> *************** *** 257,261 **** integration to simplify the use of NHibernate. Web tier is also included showing how to use the Open-Session In View approach to ! session management in the web tier. </para> </listitem> </itemizedlist> --- 282,286 ---- integration to simplify the use of NHibernate. Web tier is also included showing how to use the Open-Session In View approach to ! session management in the web tier.</para> </listitem> </itemizedlist> |
From: Mark P. <mar...@us...> - 2008-05-05 20:05:03
|
Update of /cvsroot/springnet/Spring.Net/doc/reference/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8292 Modified Files: index.xml xml-custom.xml xsd-configuration.xml Log Message: SPRNET-938 - Add documentation for authoring custom namespace parsers Index: index.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/index.xml,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** index.xml 2 May 2008 20:40:58 -0000 1.86 --- index.xml 5 May 2008 20:04:55 -0000 1.87 *************** *** 363,366 **** --- 363,368 ---- <!-- back matter --> + &xsd-configuration; + &xml-custom; &xsd; Index: xsd-configuration.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/xsd-configuration.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xsd-configuration.xml 1 Jun 2007 09:02:07 -0000 1.1 --- xsd-configuration.xml 5 May 2008 20:04:55 -0000 1.2 *************** *** 1,25 **** ! <!-- ! /* ! * Copyright 2002-2007 the original author or authors. ! * ! * Licensed under the Apache License, Version 2.0 (the "License"); ! * you may not use this file except in compliance with the License. ! * You may obtain a copy of the License at ! * ! * http://www.apache.org/licenses/LICENSE-2.0 ! * ! * Unless required by applicable law or agreed to in writing, software ! * distributed under the License is distributed on an "AS IS" BASIS, ! * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ! * See the License for the specific language governing permissions and ! * limitations under the License. ! */ ! --> <appendix id="xsd-config"> <title>XML Schema-based configuration</title> ! <section id="xsd-config-introduction"> <title>Introduction</title> ! <para>This appendix details the XML Schema-based configuration introduced in Spring 2.0.</para> </section> - </appendix> --- 1,225 ---- ! <?xml version="1.0" encoding="UTF-8"?> <appendix id="xsd-config"> <title>XML Schema-based configuration</title> ! ! <section id="xsd-config-introduction"> <title>Introduction</title> ! ! <para>This appendix details the use of XML Schema-based configuration in ! Spring.</para> ! ! <para> The <emphasis>'classic' </emphasis> ! <literal><object/></literal>-based schema is good, but its ! generic-nature comes with a price in terms of configuration overhead. ! Creating a custom XML Schema-based configuration makes Spring XML ! configuration files substantially clearer to read. In addition, it allows ! you to express the intent of an object definition.</para> ! ! <para>The key thing to remember is that creating custom schema tags work ! best for infrastructure or integration objects: for example, AOP, ! collections, transactions, integration with 3rd-party frameworks, etc., ! while the existing object tags are best suited to application-specific ! objects, such as DAOs, service layer objects, etc.</para> ! ! <para>Please note the fact that the XML configuration mechanism is totally ! customisable and extensible. This means you can write your own ! domain-specific configuration tags that would better represent your ! application's domain; the process involved in doing so is covered in the ! appendix entitled <xref linkend="extensible-xml" />.</para> ! </section> ! ! <section id="xsd-config-body"> ! <title>XML Schema-based configuration</title> ! ! <section id="xsd-config-body-referencing"> ! <title>Referencing the schemas</title> ! ! <para>As a reminder, you reference the standard objects schema as shown ! below</para> ! ! <programlisting> ! <?xml version="1.0" encoding="UTF-8"?> ! <objects xmlns="http://www.springframework.net" ! xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ! xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/schema/objects/spring-objects-1.1.xsd"> ! ! <lineannotation> <!-- <literal><object/></literal> definitions here --></lineannotation> ! ! </objects></programlisting> ! ! <note> ! <para>The <literal>'xsi:schemaLocation'</literal> fragment is not ! actually required, but can be included to reference a local copy of a ! schema (which can be useful during development) and assumes the XML ! editor will look to that location and load the schema.</para> ! </note> ! ! <para>The above Spring XML configuration fragment is boilerplate that ! you can copy and paste (!) and then plug ! <literal><object/></literal> definitions into like you have always ! done. However, the entire point of using custom schema tags is to make ! configuration easier. </para> </section> + <para>The rest of this chapter gives an overview of custom XML Schema + based configuration that are included with the release.</para> + + <section id="xsd-config-body-schemas-tx"> + <title>The <literal>tx</literal> (transaction) schema</title> + + <para>The <literal>tx</literal> tags deal with configuring objects in + Spring's comprehensive support for transactions. These tags are covered + in the chapter entitled <xref linkend="transaction" />.</para> + + <tip> + <para>You are strongly encouraged to look at the + <filename>'spring-tx-1.1.xsd'</filename> file that ships with the + Spring distribution. This file is (of course), the XML Schema for + Spring's transaction configuration, and covers all of the various tags + in the <literal>tx</literal> namespace, including attribute defaults + and suchlike. This file is documented inline, and thus the information + is not repeated here in the interests of adhering to the DRY (Don't + Repeat Yourself) principle.</para> + </tip> + + <para>In the interest of completeness, to use the tags in the + <literal>tx</literal> schema, you need to have the following preamble at + the top of your Spring XML configuration file; the emboldened text in + the following snippet references the correct schema so that the tags in + the <literal>tx</literal> namespace are available to you.</para> + + <programlisting><?xml version="1.0" encoding="UTF-8"?> + <object xmlns="http://www.springframework.net" + xmlns:aop="http://www.springframework.org/schema/aop" + <emphasis role="bold"> xmlns:tx="http://www.springframework.org/schema/tx"</emphasis>> + + <lineannotation><!-- <literal><object/></literal> definitions here --></lineannotation> + + </object></programlisting> + + <note> + <para>Often when using the tags in the <literal>tx</literal> namespace + you will also be using the tags from the <literal>aop</literal> + namespace (since the declarative transaction support in Spring is + implemented using AOP). The above XML snippet contains the relevant + lines needed to reference the <literal>aop</literal> schema so that + the tags in the <literal>aop</literal> namespace are available to + you.</para> + </note> + </section> + + <section id="xsd-config-body-schemas-aop"> + <title>The <literal>aop</literal> schema</title> + + <para>The <literal>aop</literal> tags deal with configuring all things + AOP in Spring. These tags are comprehensively covered in the chapter + entitled <xref linkend="aop" />.</para> + + <para>In the interest of completeness, to use the tags in the + <literal>aop</literal> schema, you need to have the following preamble + at the top of your Spring XML configuration file; the emboldened text in + the following snippet references the correct schema so that the tags in + the <literal>aop</literal> namespace are available to you.</para> + + <programlisting><?xml version="1.0" encoding="UTF-8"?> + <objects xmlns="http://www.springframework.net" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + <emphasis role="bold">xmlns:aop="http://www.springframework.org/schema/aop"</emphasis>> + + <lineannotation><!-- <literal><object/></literal> definitions here --></lineannotation> + + </objects></programlisting> + </section> + + <section id="xsd-config-body-schemas-context"> + <title>The <literal>db</literal> schema</title> + + <para>The <literal>db</literal> tags deal with creating + <classname>IDbProvider</classname> instances for a given database client + library. The following snippet references the correct schema so that the + tags in the <literal>db</literal> namespace are available to you. The + tags are comprehensively covered in the chapter entitled <xref + linkend="dbprovider" />.</para> + + <programlisting><?xml version="1.0" encoding="UTF-8"?> + <objects xmlns="http://www.springframework.net" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + <emphasis role="bold">xmlns:db="http://www.springframework.org/schema/db"</emphasis>> + + <lineannotation><!-- <literal><object/></literal> definitions here --></lineannotation> + + </objects></programlisting> + </section> + + <section id="xsd-config-body-schemas-tool"> + <title>The <literal>remoting</literal> schema</title> + + <para>The <literal>remoting</literal> tags are for use when you want to + export an existing POCO object as a .NET remoted object or to create a + client side .NET remoting proxy. The tags are comprehensively covered in + the chapter <xref linkend="remoting" /></para> + + <programlisting><?xml version="1.0" encoding="UTF-8"?> + <objects xmlns="http://www.springframework.org/schema/objects" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + <emphasis role="bold">xmlns:r="http://www.springframework.org/schema/remoting"</emphasis>> + + <lineannotation><!-- <literal><object/></literal> definitions here --></lineannotation> + + </objects></programlisting> + </section> + + <section id="xsd-config-body-schemas-tool"> + <title>The <literal>validation</literal> schema</title> + + <para>The <literal>validation</literal> tags are for use when you want + definte <literal>IValidator</literal> object instances. The tags are + comprehensively covered in the chapter <xref + linkend="validation" /></para> + + <programlisting><?xml version="1.0" encoding="UTF-8"?> + <objects xmlns="http://www.springframework.net" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + <emphasis role="bold">xmlns:v="http://www.springframework.org/schema/validation"</emphasis>> + + <lineannotation><!-- <literal><object/></literal> definitions here --></lineannotation> + + </objects></programlisting> + </section> + + <section id="xsd-config-body-schemas-beans"> + <title>The <literal>objects</literal> schema</title> + + <para>Last but not least we have the tags in the + <literal>objects</literal> schema. Examples of the various tags in the + <literal>objects</literal> schema are not shown here because they are + quite comprehensively covered in the section entitled <xref + linkend="object-factory-properties-detailed" /> (and indeed in that + entire <link linkend="objects">chapter</link>).</para> + + <programlisting><?xml version="1.0" encoding="UTF-8"?> + <objects xmlns="http://www.springframework.net" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/schema/objects/spring-objects-1.1.xsd"> + + <object id="foo" class="X.Y.Foo, X"> + <property name="name" value="Rick"/> + </object> + + </objects></programlisting> + </section> + </section> + + <section id="xsd-config-setup"> + <title>Setting up your IDE</title> + + <para>To setup VS.NET to provide intellisence while editing XML file for + your custom XML schemas you will need to copy your XSD files to an + appropriate VS.NET directory. Refer to the following chapter for details, + <xref linkend="vsnet" /></para> + + <para>For SharpDevelop, follow the directions on the "<ulink + url="http://community.sharpdevelop.net/blogs/mattward/articles/FeatureTourEditingXml.aspx">Editing + XML</ulink>" product documentation.</para> + </section> + </appendix> \ No newline at end of file Index: xml-custom.xml =================================================================== RCS file: /cvsroot/springnet/Spring.Net/doc/reference/src/xml-custom.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** xml-custom.xml 1 Jun 2007 09:02:07 -0000 1.1 --- xml-custom.xml 5 May 2008 20:04:55 -0000 1.2 *************** *** 1,9 **** ! <?xml version="1.0" encoding="UTF-8" ?> <appendix id="extensible-xml"> ! <title>Extensible XML authoring</title> ! <section id="extensible-xml-introduction"> ! <title>Introduction</title> ! <para>Spring has featured a mechanism for schema-based extensions ! </para> </section> </appendix> \ No newline at end of file --- 1,388 ---- ! <?xml version="1.0" encoding="UTF-8"?> <appendix id="extensible-xml"> ! <title>Extensible XML authoring</title> ! ! <section id="extensible-xml-introduction"> ! <title>Introduction</title> ! ! <para>Spring supports adding custom schema-based extensions to the basic ! Spring XML format for defining and configuring objects. This section is ! devoted to detailing how you would go about writing your own custom XML ! object definition parsers and integrating such parsers into the Spring IoC ! container.</para> ! ! <para>To facilitate the authoring of configuration files using a ! schema-aware XML editor, Spring's extensible XML configuration mechanism ! is based on XML Schema. If you are not familiar with Spring's current XML ! configuration extensions that come with the standard Spring distribution, ! please first read the appendix entitled <xref ! linkend="xsd-config" />.</para> ! ! <para>Creating new XML configuration extensions can be done by following ! these (relatively) simple steps:</para> ! ! <para><orderedlist numeration="arabic"> ! <listitem> ! <para><link linkend="extensible-xml-schema">Authoring</link> an XML ! schema to describe your custom element(s).</para> ! </listitem> ! ! <listitem> ! <para><link linkend="extensible-xml-namespacehandler">Coding</link> ! a custom <interfacename>INamespaceParser</interfacename> ! implementation (this is an easy step, don't worry).</para> ! </listitem> ! ! <listitem> ! <para><link linkend="extensible-xml-parser">Coding</link> one or ! more <interfacename>IObjectDefinitionParser</interfacename> ! implementations (this is where the real work is done).</para> ! </listitem> ! ! <listitem> ! <para><link linkend="extensible-xml-registration">Registering</link> ! the above artifacts with Spring (this too is an easy step).</para> ! </listitem> ! </orderedlist></para> ! ! <para>What follows is a description of each of these steps. For the ! example, we will create an XML extension (a custom XML element) that ! allows us to configure objects of the type <classname>Regex</classname> ! (from the <literal>System.Text.RegularExpressions</literal> namespace) in ! an easy manner. When we are done, we will be able to define object ! definitions of type <classname>Regex</classname> like this:</para> ! ! <programlisting><myns:regex id="regex" ! pattern="(^\d{5}$)|(^\d{5}-\d{4}$)" ! options="Compiled"/> ! </programlisting> ! </section> ! ! <section id="extensible-xml-schema"> ! <title>Authoring the schema</title> ! ! <para>Creating an XML configuration extension for use with Spring's IoC ! container starts with authoring an XML Schema to describe the extension. ! What follows is the schema we'll use to configure ! <classname>Regex</classname> objects.</para> ! ! <programlisting><?xml version="1.0" encoding="utf-8" ?> ! <xsd:schema id="myns" ! xmlns="http://www.mycompany.com/schema/myns" ! xmlns:xsd="http://www.w3.org/2001/XMLSchema" ! xmlns:objects="http://www.springframework.net" ! xmlns:vs="http://schemas.microsoft.com/Visual-Studio-Intellisense" ! targetNamespace="http://www.mycompany.com/schema/myns" ! elementFormDefault="qualified" ! attributeFormDefault="unqualified" ! vs:friendlyname="Spring Regex Configuration" vs:ishtmlschema="false" ! vs:iscasesensitive="true" vs:requireattributequotes="true" ! vs:defaultnamespacequalifier="" vs:defaultnsprefix="" ! > ! ! <xsd:import namespace="http://www.springframework.net"/> ! ! <xsd:element name="regex"> ! <xsd:complexType> ! <xsd:complexContent> ! <emphasis role="bold"><xsd:extension base="objects:identifiedType"></emphasis> ! <xsd:attribute name="pattern" type="xsd:string" use="required"/> ! <xsd:attribute name="options" type="xsd:string" use="optional"/> ! </xsd:extension> ! </xsd:complexContent> ! </xsd:complexType> ! </xsd:element> ! ! </xsd:schema> </programlisting> ! ! <para>The emphasized line contains an extension base for all tags that ! will be identifiable (meaning they have an <literal>id</literal> attribute ! that will be used as the object identifier in the container). We are able ! to use this attribute because we imported the Spring-provided ! <literal>'objects'</literal> namespace. The <literal>vs:</literal> ! prefixed elements are for better integration with intellisense in ! VS.NET.</para> ! ! <para>The above schema will be used to configure ! <classname>Regex</classname> objects, directly in an XML application ! context file using the <literal><myns:regex/></literal> ! element.</para> ! ! <programlisting><myns:regex id="usZipCodeRegex" ! pattern="(^\d{5}$)|(^\d{5}-\d{4}$)" ! options="Compiled"/></programlisting> ! ! <para>Note that after we've created the infrastructure classes, the above ! snippet of XML will essentially be exactly the same as the following XML ! snippet. In other words, we're just creating an object in the container, ! identified by the name <literal>'usZipCodeRegex'</literal> of type ! <classname>Regex</classname>, with a couple of constructor arguments ! set.</para> ! ! <programlisting> <object id="usZipCodeRegex" type="System.Text.RegularExpressions.Regex, System"> ! <constructor-arg name="pattern" value="(^\d{5}$)|(^\d{5}-\d{4}$)"/> ! <constructor-arg name="options" value="Compiled"/> ! </object></programlisting> ! ! <note> ! <para>The schema-based approach to creating configuration format allows ! for tight integration with an IDE that has a schema-aware XML editor. ! Using a properly authored schema, you can use intellisense to have a ! user choose between several configuration options defined in the ! enumeration. The schema for creating IDbProvider instances shows the use ! of XSD enumerations.</para> ! </note> ! </section> ! ! <section id="extensible-xml-namespacehandler"> ! <title>Coding a <interfacename>INamespaceHandler</interfacename></title> ! ! <para>In addition to the schema, we need an ! <interfacename>INamespaceParser</interfacename> that will parse all ! elements of this specific namespace Spring encounters while parsing ! configuration files. The <interfacename>INamespaceHandler</interfacename> ! should in our case take care of the parsing of the ! <literal>myns:regex</literal> element.</para> ! ! <para>The <interfacename>INamespaceHandler</interfacename> interface is ! pretty simple in that it features just two methods:</para> ! ! <itemizedlist spacing="compact"> ! <listitem> ! <para><methodname>Init()</methodname> - allows for initialization of ! the <interfacename>INamespaceHandler</interfacename> and will be ! called by Spring before the handler is used</para> ! </listitem> ! ! <listitem> ! <para><methodname>IObjectDefinition Parse(Element, ! ParserContext)</methodname> - called when Spring encounters a ! top-level element (not nested inside a object definition or a ! different namespace). This method can register object definitions ! itself and/or return a object definition.</para> ! </listitem> ! </itemizedlist> ! ! <para>Although it is perfectly possible to code your own ! <interfacename>INamespaceHandler</interfacename> for the entire namespace ! (and hence provide code that parses each and every element in the ! namespace), it is often the case that each top-level XML element in a ! Spring XML configuration file results in a single object definition (as in ! our case, where a single <literal><myns:regex/></literal> element ! results in a single <classname>Regex</classname> object definition). ! Spring features a number of convenience classes that support this ! scenario. In this example, we'll make use the ! <classname>NamespaceParserSupport</classname> class:</para> ! ! <programlisting>using Spring.Objects.Factory.Xml; ! ! namespace CustomNamespace ! { ! [NamespaceParser( ! Namespace = "http://www.mycompany.com/schema/myns", ! SchemaLocationAssemblyHint = typeof(MyNamespaceParser), ! SchemaLocation = "/CustomNamespace/myns.xsd" ! ) ! ] ! public class MyNamespaceParser : NamespaceParserSupport ! { ! public override void Init() ! { ! <emphasis role="bold">RegisterObjectDefinitionParser</emphasis>("regex", new RegexObjectDefinitionParser()); ! } ! } ! }</programlisting> ! ! <para>Notice that there isn't actually a whole lot of parsing logic in ! this class. Indeed... the <classname>NamespaceParserSupport</classname> ! class has a built in notion of delegation. It supports the registration of ! any number of <interfacename>IObjectDefinitionParser</interfacename> ! instances, to which it will delegate to when it needs to parse an element ! in it's namespace. This clean separation of concerns allows an ! <interfacename>INamespaceParser</interfacename> to handle the ! orchestration of the parsing of <emphasis>all</emphasis> of the custom ! elements in it's namespace, while delegating to ! <literal>IObjectDefinitionParsers</literal> to do the grunt work of the ! XML parsing; this means that each ! <interfacename>IObjectDefinitionParser</interfacename> will contain just ! the logic for parsing a single custom element, as we can see in the next ! step.</para> ! ! <para>To help in the registration of the parser for this namespace, the ! <literal>NamespaceParser</literal> attribute is used to map the XML ! namespace string, i.e. ! <literal>http://www.mycompany.com/schema/myns</literal>, to the location ! of the XML Schema file as an embedded assembly resource.</para> ! </section> ! ! <section id="extensible-xml-parser"> ! <title>Coding an ! <interfacename>IObjectDefinitionParser</interfacename></title> ! ! <para>A <interfacename>IObjectDefinitionParser</interfacename> will be ! used if the <interfacename>INamespaceParser</interfacename> encounters an ! XML element of the type that has been mapped to the specific object ! definition parser (which is <literal>'regex'</literal> in this case). In ! other words, the <interfacename>IObjectDefinitionParser</interfacename> is ! responsible for parsing <emphasis>one</emphasis> distinct top-level XML ! element defined in the schema. In the parser, we'll have access to the XML ! element (and thus it's subelements too) so that we can parse our custom ! XML content, as can be seen in the following example:</para> ! ! <programlisting>using System; ! using System.Text.RegularExpressions; ! using System.Xml; ! using Spring.Objects.Factory.Support; ! using Spring.Objects.Factory.Xml; ! using Spring.Util; ! ! namespace CustomNamespace ! { ! public class RegexObjectDefinitionParser : AbstractSimpleObjectDefinitionParser { <co ! id="extensible-xml-parser-simpledateformat-co-1" /> ! ! protected override Type GetObjectType(XmlElement element) ! { ! return typeof (Regex); <co ! id="extensible-xml-parser-simpledateformat-co-2" /> ! } ! ! protected override void DoParse(XmlElement element, ObjectDefinitionBuilder builder) ! { ! <lineannotation> // this will never be null since the schema explicitly requires that a value be supplied</lineannotation> ! string pattern = element.GetAttribute("pattern"); ! builder.AddConstructorArg(pattern); ! ! <lineannotation> // this however is an optional property</lineannotation> ! string options = element.GetAttribute("options"); ! if (StringUtils.HasText(options)) ! { ! RegexOptions regexOptions = (RegexOptions)Enum.Parse(typeof (RegexOptions), options); ! builder.AddConstructorArg(regexOptions); ! } ! } ! ! protected override bool ShouldGenerateIdAsFallback ! { ! get { return true; } ! } ! } ! </programlisting> ! ! <calloutlist> ! <callout arearefs="extensible-xml-parser-simpledateformat-co-1"> ! <para>We use the Spring-provided ! <classname>AbstractSingleObjectDefinitionParser</classname> to handle ! a lot of the basic grunt work of creating a ! <emphasis>single</emphasis> ! <interfacename>IObjectDefinition</interfacename>.</para> ! </callout> ! ! <callout arearefs="extensible-xml-parser-simpledateformat-co-2"> ! <para>We supply the ! <classname>AbstractSingleObjectDefinitionParser</classname> superclass ! with the type that our single ! <interfacename>IObjectDefinition</interfacename> will ! represent.</para> ! </callout> ! </calloutlist> ! ! <para>In this simple case, this is all that we need to do. The creation of ! our single <interfacename>IObjectDefinition</interfacename> is handled by ! the <classname>AbstractSingleObjectDefinitionParser</classname> ! superclass, as is the extraction and setting of the object definition's ! unique identifier. The property ! <literal>ShouldGenerateIdAsFallback</literal> will generate a throw-away ! object id incase one is not specified, this is useful when nesting object ! definitions.</para> ! </section> ! ! <section id="extensible-xml-registration"> ! <title>Registering the handler and the schema</title> ! ! <para>The coding is finished! All that remains to be done is to somehow ! make the Spring XML parsing infrastructure aware of our custom element; we ! do this by registering our custom ! <interfacename>INamespaceParser</interfacename> using a special ! configuration section handler. The location of the XML Schema in this ! example has been directly assoicated with the parser though the use of the ! <literal>Namespace</literal> attribute.</para> ! ! <section id="extensible-xml-registration-spring-handlers"> ! <title><filename>NamespaceParsersSectionHandler</filename></title> ! ! <para>The custom configuration section handler is of the type ! <classname>Spring.Context.Support.NamespaceParsersSectionHandler</classname> ! and is registered with .NET in the normal manner. The custom ! configuration section will simply point to the ! <classname>INamespaceParser</classname> implementation that has the ! <classname>Namespace</classname> attribute. For our example, we need to ! write the following:</para> ! ! <programlisting><configuration> ! ! <configSections> ! <sectionGroup name="spring"> ! <section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/> ! </sectionGroup> ! </configSections> ! ! <spring> ! <parsers> ! <parser type="CustomNamespace.MyNamespaceParser, CustomNamespace" /> ! </parsers> ! </spring> ! ! </configuration></programlisting> </section> + </section> + + <section id="extensible-xml-using"> + <title>Using a custom extension in your Spring XML configuration</title> + + <para>Using a custom extension that you yourself have implemented is no + different from using one of the 'custom' extensions that Spring provides + straight out of the box. Find below an example of using the custom + <literal><regex/></literal> element developed in the previous steps + in a Spring XML configuration file.</para> + + <programlisting><?xml version="1.0" encoding="utf-8" ?> + <objects xmlns="http://www.springframework.net" + xmlns:myns="http://www.mycompany.com/schema/myns"> + + <!-- as a top level object definition --> + <myns:regex id="usZipCodeRegex" + pattern="(^\d{5}$)|(^\d{5}-\d{4}$)"/> + + <object id="jobDetailTemplate" abstract="true"> + <property name="regex"> + <!-- as an inner object definition --> + <myns:regex pattern="(^\d{5}$)|(^\d{5}-\d{4}$)" + options="Compiled"/> + </property> + </object> + + </objects></programlisting> + </section> + + <section id="extensible-xml-resources"> + <title>Further Resources</title> + + <para>Find below links to further resources concerning XML Schema and the + extensible XML support described in this chapter.</para> + + <itemizedlist> + <listitem> + <para>The <ulink + url="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">XML Schema + Part 1: Structures Second Edition</ulink></para> + </listitem> + + <listitem> + <para>The <ulink + url="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema + Part 2: Datatypes Second Edition</ulink></para> + </listitem> + </itemizedlist> + </section> </appendix> \ No newline at end of file |
From: Mark P. <mar...@us...> - 2008-05-05 15:01:09
|
Update of /cvsroot/springnet/Spring.Net/src/Spring/Spring.Aop/Aspects/Cache In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13877 Modified Files: CacheParameterAdvice.cs CacheResultAdvice.cs Log Message: SPRNET-937 - Add additional logging of cache inserts in Cache advice. Index: CacheParameterAdvice.cs =================================================================== RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Aop/Aspects/Cache/CacheParameterAdvice.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CacheParameterAdvice.cs 24 Aug 2007 22:43:46 -0000 1.6 --- CacheParameterAdvice.cs 5 May 2008 15:00:55 -0000 1.7 *************** *** 22,25 **** --- 22,26 ---- using System.Reflection; + using Common.Logging; using Spring.Aop; using Spring.Caching; *************** *** 54,58 **** { // shared logger instance ! //private static readonly ILog logger = LogManager.GetLogger(typeof(CacheParameterAdvice)); /// <summary> --- 55,59 ---- { // shared logger instance ! private static readonly ILog logger = LogManager.GetLogger(typeof(CacheParameterAdvice)); /// <summary> *************** *** 86,89 **** --- 87,91 ---- (CacheParameterAttribute[])p.GetCustomAttributes(typeof(CacheParameterAttribute), false); + bool isLogDebugEnabled = logger.IsDebugEnabled; foreach (CacheParameterAttribute paramInfo in paramInfoArray) { *************** *** 95,99 **** --- 97,108 ---- "] does not exist."); object key = paramInfo.KeyExpression.GetValue(arguments[i]); + #region Instrumentation + if (isLogDebugEnabled) + { + logger.Debug("Caching parameter for key [" + key + "]."); + } + + #endregion cache.Insert(key, arguments[i], paramInfo.TimeToLiveTimeSpan); } Index: CacheResultAdvice.cs =================================================================== RCS file: /cvsroot/springnet/Spring.Net/src/Spring/Spring.Aop/Aspects/Cache/CacheResultAdvice.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CacheResultAdvice.cs 24 Aug 2007 22:43:46 -0000 1.5 --- CacheResultAdvice.cs 5 May 2008 15:00:55 -0000 1.6 *************** *** 152,155 **** --- 152,163 ---- if (EvalCondition(resultInfo.Condition, resultInfo.ConditionExpression, returnValue, vars)) { + #region Instrumentation + + if (isLogDebugEnabled) + { + logger.Debug("Caching object for key [" + resultKey + "]."); + } + + #endregion cache.Insert(resultKey, (returnValue==null)?NullValue:returnValue, resultInfo.TimeToLiveTimeSpan); } *************** *** 192,195 **** --- 200,204 ---- "] does not exist."); + bool isDebugEnabled = logger.IsDebugEnabled; foreach (object item in items) { *************** *** 197,200 **** --- 206,217 ---- { object itemKey = itemInfo.KeyExpression.GetValue(item); + #region Instrumentation + + if (isDebugEnabled) + { + logger.Debug("Caching collection item for key [" + itemKey + "]."); + } + + #endregion cache.Insert(itemKey, (item==null?NullValue:item), itemInfo.TimeToLiveTimeSpan); } |