You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(55) |
Mar
(100) |
Apr
(203) |
May
(330) |
Jun
(190) |
Jul
(302) |
Aug
(323) |
Sep
(197) |
Oct
(245) |
Nov
(490) |
Dec
(330) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(194) |
Feb
(400) |
Mar
(416) |
Apr
(415) |
May
(359) |
Jun
(381) |
Jul
(491) |
Aug
(311) |
Sep
(291) |
Oct
(273) |
Nov
(355) |
Dec
(266) |
| 2005 |
Jan
(306) |
Feb
(303) |
Mar
(520) |
Apr
(346) |
May
(255) |
Jun
(221) |
Jul
(171) |
Aug
(247) |
Sep
(147) |
Oct
(125) |
Nov
(165) |
Dec
(65) |
| 2006 |
Jan
(90) |
Feb
(53) |
Mar
(121) |
Apr
(103) |
May
(113) |
Jun
(103) |
Jul
(104) |
Aug
(67) |
Sep
(78) |
Oct
(82) |
Nov
(78) |
Dec
(70) |
| 2007 |
Jan
(77) |
Feb
(76) |
Mar
(63) |
Apr
(30) |
May
(47) |
Jun
(41) |
Jul
(44) |
Aug
(44) |
Sep
(49) |
Oct
(33) |
Nov
(25) |
Dec
(21) |
| 2008 |
Jan
(45) |
Feb
(13) |
Mar
(15) |
Apr
(12) |
May
(9) |
Jun
(33) |
Jul
(30) |
Aug
(7) |
Sep
(20) |
Oct
(17) |
Nov
(20) |
Dec
(10) |
| 2009 |
Jan
(8) |
Feb
(5) |
Mar
(12) |
Apr
(17) |
May
(19) |
Jun
(97) |
Jul
(77) |
Aug
(33) |
Sep
(24) |
Oct
(41) |
Nov
(16) |
Dec
(32) |
| 2010 |
Jan
(24) |
Feb
(14) |
Mar
(50) |
Apr
(71) |
May
(70) |
Jun
(64) |
Jul
(45) |
Aug
(62) |
Sep
(32) |
Oct
(4) |
Nov
(12) |
Dec
(2) |
| 2011 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(3) |
May
(6) |
Jun
(1) |
Jul
(4) |
Aug
(3) |
Sep
(4) |
Oct
(6) |
Nov
(3) |
Dec
(3) |
| 2012 |
Jan
(4) |
Feb
(8) |
Mar
(6) |
Apr
(10) |
May
(2) |
Jun
(3) |
Jul
(11) |
Aug
(10) |
Sep
(4) |
Oct
|
Nov
(1) |
Dec
(1) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
(9) |
Apr
(1) |
May
(8) |
Jun
(2) |
Jul
(5) |
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(10) |
Dec
(8) |
| 2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(12) |
May
(2) |
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(2) |
| 2015 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(9) |
May
(2) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
(7) |
Oct
(9) |
Nov
(7) |
Dec
(9) |
| 2016 |
Jan
(7) |
Feb
(5) |
Mar
(5) |
Apr
(5) |
May
(8) |
Jun
(4) |
Jul
(5) |
Aug
(4) |
Sep
(6) |
Oct
(7) |
Nov
(2) |
Dec
(3) |
| 2017 |
Jan
(7) |
Feb
(8) |
Mar
(7) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(5) |
Aug
(8) |
Sep
(4) |
Oct
(2) |
Nov
(3) |
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
(5) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
| 2026 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Alef A. <al...@jt...> - 2004-06-15 12:12:45
|
In build.xml there are a couple of targets related to the automated build. They all begin with mb and mention the server tests executed during the build. If those succeed, the build should succeed as well. And if you commit stuff, it'll automatically be picked up by the build machine (there's a slight delay since the code is pulled from anonymous CVS). Alef > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...] On Behalf > Of Darren Davison > Sent: Tuesday, June 15, 2004 12:46 PM > To: spr...@li... > Subject: Re: [Springframework-developer] spring build.25 Build Successful >=20 > Alef Arendsen wrote: >=20 > > I've recently added a couple of extra servers and apps to the build > (tomcat4 & 5, jetty4 & 5, some of them running apptest and some of them > running jpetstore). I had to change a couple of things (default portnumber > in the apptest application e.g.) to make it work and this probably causes > the problem. > > > > I'm in the middle of a major refactoring of a huge codebase at the > moment so I don't have much time to spend on this till after Thursday. > I'll spend more time on reporting next weekend. >=20 > work does have this annoying habit of getting in the way of everything > doesn't it? >=20 > I've fixed my CVS issue so I'll have a look at it soon. >=20 > -- > Darren Davison > Public Key: http://www.davison.uk.net/pages/key.htm >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 >=20 |
|
From: Darren D. <da...@da...> - 2004-06-15 10:37:55
|
Alef Arendsen wrote: > I've recently added a couple of extra servers and apps to the build (tomcat4 & 5, jetty4 & 5, some of them running apptest and some of them running jpetstore). I had to change a couple of things (default portnumber in the apptest application e.g.) to make it work and this probably causes the problem. > > I'm in the middle of a major refactoring of a huge codebase at the moment so I don't have much time to spend on this till after Thursday. I'll spend more time on reporting next weekend. work does have this annoying habit of getting in the way of everything doesn't it? I've fixed my CVS issue so I'll have a look at it soon. -- Darren Davison Public Key: http://www.davison.uk.net/pages/key.htm |
|
From: Alef A. <al...@jt...> - 2004-06-15 08:10:29
|
I've recently added a couple of extra servers and apps to the build = (tomcat4 & 5, jetty4 & 5, some of them running apptest and some of them = running jpetstore). I had to change a couple of things (default = portnumber in the apptest application e.g.) to make it work and this = probably causes the problem. I'm in the middle of a major refactoring of a huge codebase at the = moment so I don't have much time to spend on this till after Thursday. = I'll spend more time on reporting next weekend. Alef > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...] On = Behalf > Of Darren Davison > Sent: Tuesday, June 15, 2004 3:16 AM > To: spr...@li... > Subject: Re: [Springframework-developer] spring build.25 Build = Successful >=20 > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 >=20 > On Monday 14 June 2004 23:30, al...@jt... wrote: >=20 > > failure > > testHomePage > > org.springframework.apptests.buildtest.AllTests > > =A0Unit Test Error Details:=A0(1) > > > > > > Test:=A0testHomePage > > > > > > Class:=A0org.springframework.apptests.buildtest.AllTests > > > > > > Type: junit.framework.AssertionFailedError > > > > > > Message: Exception while testing URL > > http://localhost:13084/buildtest:java.io.IOException > > > > > > junit.framework.AssertionFailedError: Exception while testing URL > > http://localhost:13084/buildtest:java.io.IOException at > > org.springframework.apptests.buildtest.AllTests.testHomePage(Unknown > > Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native = Method) > > at > > > = sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java= > >:39) at > > > = sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI= > >mpl.java:25) >=20 > any idea what's causing this failure? I'm still without any CVS = access to > sourceforge, so I can't get latest copies. My local sources pass the > test. >=20 > - -- > Darren Davison > Public Key: http://www.davison.uk.net/pages/key.htm > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.4 (GNU/Linux) >=20 > iD8DBQFAzkjeKLMLAN01aw0RAqndAJ9RWo6fUq6ZtGdYuhx/SqkDAqKs9ACfcTl9 > lITsyXnL4eUzAx8QWAdARdI=3D > =3D+K5G > -----END PGP SIGNATURE----- >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, = CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code = NWMGYKND > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 >=20 |
|
From: Tom T. <tom...@pr...> - 2004-06-15 06:46:47
|
Works fine now, thanks Juergen! > This is a post-1.0.2 bug that I've accidentally introduced last week. > I've just fixed it. Thanks for spotting this! > > Juergen |
|
From: Rod J. <rod...@in...> - 2004-06-15 06:26:14
|
Sean > > I'd vote for Toplink support first. I know it's not open source but a lot > > of us have to use it and I am pretty sure there are several Toplink users > > on the list, each of us rolling our own Spring integration. I don't think it's either/or. Ideally we'd like the development for either of these to be done outside the core Spring team--with our support of course. Especially as Juergen and I (mainly Juergen!) are currently putting a lot of effort into improving our JDO integration, which is already part of Spring. TopLink support would be good to have, and the topic has come up a few times, mainly in forums. I think someone once volunteered to contribute some code, but it didn't happen. Good TopLink integration is also non-trivial, because of the need to register objects selectively with the unit of work (via cloning) to minimize the cost of dirty checking. This makes the issues a bit different to those with Hibernate or JDO, for example. I know TopLink pretty well myself, but I don't have the time to actually do the integration, as it isn't currently a priority for a client. (It came close to being a priority for me last year.) I'd certainly be happy to advise anyone who wanted to work on it in Spring's data access architecture, and the issues I see in TopLink integration: getting it right is an interesting challenge. I tried to interest the TopLink team in Spring integration a few weeks ago--after an encouraging suggestion from someone at Oracle--but so far haven't had a response. We certainly don't have any objection to integrating with a product just because it's not open source. If it's a proven product and people want to use it, we're in favour of integrating with it... I'd be interested to hear about what solutions Spring/TopLink users are using now. R |
|
From: Darren D. <da...@da...> - 2004-06-15 00:54:57
|
=2D----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Monday 14 June 2004 23:30, al...@jt... wrote: > failure > testHomePage > org.springframework.apptests.buildtest.AllTests > =A0Unit Test Error Details:=A0(1) > > > Test:=A0testHomePage > > > Class:=A0org.springframework.apptests.buildtest.AllTests > > > Type: junit.framework.AssertionFailedError > > > Message: Exception while testing URL > http://localhost:13084/buildtest:java.io.IOException > > > junit.framework.AssertionFailedError: Exception while testing URL > http://localhost:13084/buildtest:java.io.IOException at > org.springframework.apptests.buildtest.AllTests.testHomePage(Unknown > Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java >:39) at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI >mpl.java:25) any idea what's causing this failure? I'm still without any CVS access to= =20 sourceforge, so I can't get latest copies. My local sources pass the test. =2D --=20 Darren Davison Public Key: http://www.davison.uk.net/pages/key.htm =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAzkjeKLMLAN01aw0RAqndAJ9RWo6fUq6ZtGdYuhx/SqkDAqKs9ACfcTl9 lITsyXnL4eUzAx8QWAdARdI=3D =3D+K5G =2D----END PGP SIGNATURE----- |
|
From: <al...@jt...> - 2004-06-14 22:19:14
|
<html><head>
<style>
.white { color:#FFFFFF }.index { background-color:#FFFFFF }.index-passed { =
color:#004400 }.index-failed { color:#FF0000; font-weight:bold }.index-head=
er { font-weight:bold }.link { font-family:arial,helvetica,sans-serif; font=
-size:10pt; color:#FFFFFF; text-decoration:none; }.tab-table { margin: 0em =
0em 0.5em 0em; }.tabs { font-family:arial,helvetica,sans-serif; font-size:8=
pt; color:#000000; font-weight:bold; padding: 0em 2em; background-color:#EE=
EEEE; }.tabs-link { color:#000000; text-decoration:none; }.tabs-link:visite=
d { color:#000000; text-decoration:none; }.tabs-selected { font-family:aria=
l,helvetica,sans-serif; font-size:8pt; color:#000000; font-weight:bold; pad=
ding: 0em 2em; }.tabs-selected { border: inset; }.header-title { font-famil=
y:arial,helvetica,sans-serif; font-size:12pt; color:#000000; font-weight:bo=
ld; }.header-label { font-weight:bold; }.header-data { font-family:arial,he=
lvetica,sans-serif; font-size:10pt; color:#000000; }.modifications-data { f=
ont-family:arial,helvetica,sans-serif; font-size:8pt; color:#000000; }.modi=
fications-sectionheader { background-color:#000066; font-family:arial,helve=
tica,sans-serif; font-size:10pt; color:#FFFFFF; }.modifications-oddrow { ba=
ckground-color:#CCCCCC }.modifications-evenrow { background-color:#FFFFCC }=
.changelists-oddrow { background-color:#CCCCCC }.changelists-evenrow { back=
ground-color:#FFFFCC }.changelists-file-spacer { background-color:#FFFFFF }=
.changelists-file-evenrow { background-color:#EEEEEE }.changelists-file-odd=
row { background-color:#FFFFEE }.changelists-file-header { background-color=
:#666666; font-family:arial,helvetica,sans-serif; font-size:8pt; color:#FFF=
FFF; }.compile-data { font-family:arial,helvetica,sans-serif; font-size:8pt=
; color:#000000; }.compile-error-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#FF0000; }.compile-warn-data { font-family:arial,=
helvetica,sans-serif; font-size:8pt; color:#CC9900; }.compile-sectionheader=
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-s=
ize:10pt; color:#FFFFFF; }.distributables-data { font-family:arial,helvetic=
a,sans-serif; font-size:8pt; color:#000000; }.distributables-sectionheader =
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-si=
ze:10pt; color:#FFFFFF; }.distributables-oddrow { background-color:#CCCCCC =
}.unittests-sectionheader { background-color:#000066; font-family:arial,hel=
vetica,sans-serif; font-size:10pt; color:#FFFFFF; }.unittests-oddrow { back=
ground-color:#CCCCCC }.unittests-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#000000; }.unittests-error { font-family:arial,he=
lvetica,sans-serif; font-size:8pt; color:#FF0000; }.checkstyle-oddrow { bac=
kground-color:#CCCCCC }.checkstyle-data { font-family:arial,helvetica,sans-=
serif; font-size:8pt; color:#000000; }.checkstyle-sectionheader { backgroun=
d-color:#000066; font-family:arial,helvetica,sans-serif; font-size:10pt; co=
lor:#FFFFFF; }
</style>
</head><body>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"header-title">BUILD COMPLETE - =
build.25</td></tr><tr><td class=3D"header-data"><span class=
=3D"header-label">Date of build: </span>06/15/2004 00:15:21</td></tr><=
tr><td class=3D"header-data"><span class=3D"header-label">Time to build:&nb=
sp;</span>13 minutes 31 seconds</td></tr><tr><td class=3D"header-data"><spa=
n class=3D"header-label">Last changed: </span>06/14/2004 19:08:15</td>=
</tr><tr><td class=3D"header-data"><span class=3D"header-label">Last log en=
try: </span>polishing</td></tr></table><p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"/><p>
<p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"><tr><td class=
=3D"compile-sectionheader"> Errors/Warnings: (=
6) </td></tr><tr><td><pre class=3D"compile-error-data">N=
ote: Some input files use or override a deprecated API.<br class=3D"none"/>=
Note: Recompile with -deprecation for details.Note: /jteam/build/checkout/s=
pring/spring/mock/org/springframework/mock/web/MockHttpSession.java uses or=
overrides a deprecated API.<br class=3D"none"/>Note: Recompile with -depre=
cation for details.<br class=3D"none"/>Note: Some input files use or overri=
de a deprecated API.<br class=3D"none"/>Note: Recompile with -deprecation f=
or details.<br class=3D"none"/></pre></td></tr></table><p>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Tests: (1470) </td></tr><tr><td><tabl=
e width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"c=
enter"><tr><td class=3D"unittests-data"> failure =
</td><td width=3D"40%" class=3D"unittests-data">testHomePage</td><td width=
=3D"40%" class=3D"unittests-data">org.springframework.apptests.buildtest.Al=
lTests</td></tr></table></td></tr><tr></tr><tr><td colspan=3D"2"> </td=
></tr><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Test Error Details: (1) </td></tr><tr=
><td class=3D"unittests-data" colspan=3D"2"> Test: test=
HomePage</td></tr><tr><td class=3D"unittests-data" colspan=3D"2"> =
Class: org.springframework.apptests.buildtest.AllTests</td></tr>=
<tr><td class=3D"unittests-data" colspan=3D"2"> Type: junit.=
framework.AssertionFailedError</td></tr><tr><td class=3D"unittests-data" co=
lspan=3D"2"> Message: Exception while testing URL http://loc=
alhost:13084/buildtest:java.io.IOException</td></tr><tr><td class=3D"unitte=
sts-error" colspan=3D"2"><pre>junit.framework.AssertionFailedError: Excepti=
on while testing URL http://localhost:13084/buildtest:java.io.IOException<b=
r>=09at org.springframework.apptests.buildtest.AllTests.testHomePage(Unknow=
n Source)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth=
od)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess=
orImpl.java:39)<br>=09at sun.reflect.DelegatingMethodAccessorImpl.invoke(De=
legatingMethodAccessorImpl.java:25)<br></pre></td></tr><tr><td colspan=3D"2=
"> </td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"modifications-sectionheader"> =
Modifications since last build: =
(114) </td></tr><tr class=3D"modifications-evenrow"><td=
class=3D"modifications-data">modified</td><td class=3D"modifications-data"=
>jhoeller</td><td class=3D"modifications-data">src/org/springframework/orm/=
hibernate/HibernateTemplate.java</td><td class=3D"modifications-data">polis=
hing</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications=
-data">modified</td><td class=3D"modifications-data">jhoeller</td><td class=
=3D"modifications-data">test/org/springframework/orm/jdo/JdoTransactionMana=
gerTests.java</td><td class=3D"modifications-data">introduced ConnectionHan=
dle for JdoDialect.getJdbcConnection</td></tr><tr class=3D"modifications-ev=
enrow"><td class=3D"modifications-data">added</td><td class=3D"modification=
s-data">jhoeller</td><td class=3D"modifications-data">src/org/springframewo=
rk/jdbc/datasource/SimpleConnectionHandle.java</td><td class=3D"modificatio=
ns-data">introduced ConnectionHandle for JdoDialect.getJdbcConnection</td><=
/tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">add=
ed</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modificat=
ions-data">src/org/springframework/jdbc/datasource/ConnectionHandle.java</t=
d><td class=3D"modifications-data">introduced ConnectionHandle for JdoDiale=
ct.getJdbcConnection</td></tr><tr class=3D"modifications-evenrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoel=
ler</td><td class=3D"modifications-data">src/org/springframework/jdbc/datas=
ource/ConnectionHolder.java</td><td class=3D"modifications-data">introduced=
ConnectionHandle for JdoDialect.getJdbcConnection</td></tr><tr class=3D"mo=
difications-oddrow"><td class=3D"modifications-data">modified</td><td class=
=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">src/o=
rg/springframework/orm/jdo/support/JdoDialectAdapter.java</td><td class=3D"=
modifications-data">introduced ConnectionHandle for JdoDialect.getJdbcConne=
ction</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modificatio=
ns-data">modified</td><td class=3D"modifications-data">jhoeller</td><td cla=
ss=3D"modifications-data">src/org/springframework/orm/jdo/JdoDialect.java</=
td><td class=3D"modifications-data">introduced ConnectionHandle for JdoDial=
ect.getJdbcConnection</td></tr><tr class=3D"modifications-oddrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoel=
ler</td><td class=3D"modifications-data">src/org/springframework/orm/jdo/Jd=
oTransactionManager.java</td><td class=3D"modifications-data">introduced Co=
nnectionHandle for JdoDialect.getJdbcConnection</td></tr><tr class=3D"modif=
ications-evenrow"><td class=3D"modifications-data">modified</td><td class=
=3D"modifications-data">kdonald</td><td class=3D"modifications-data">sandbo=
x/src/org/springframework/rules/Algorithms.java</td><td class=3D"modificati=
ons-data">support for compound form models</td></tr><tr class=3D"modificati=
ons-oddrow"><td class=3D"modifications-data">modified</td><td class=3D"modi=
fications-data">kdonald</td><td class=3D"modifications-data">sandbox/src/or=
g/springframework/rules/values/AspectAdapter.java</td><td class=3D"modifica=
tions-data">support for compound form models</td></tr><tr class=3D"modifica=
tions-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"m=
odifications-data">kdonald</td><td class=3D"modifications-data">sandbox/src=
/org/springframework/rules/values/BeanPropertyAccessStrategy.java</td><td c=
lass=3D"modifications-data">support for compound form models</td></tr><tr c=
lass=3D"modifications-oddrow"><td class=3D"modifications-data">modified</td=
><td class=3D"modifications-data">kdonald</td><td class=3D"modifications-da=
ta">sandbox/src/org/springframework/rules/values/BufferedValueModel.java</t=
d><td class=3D"modifications-data">support for compound form models</td></t=
r><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">adde=
d</td><td class=3D"modifications-data">kdonald</td><td class=3D"modificatio=
ns-data">sandbox/src/org/springframework/rules/values/CompoundFormModel.jav=
a</td><td class=3D"modifications-data">support for compound form models</td=
></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">m=
odified</td><td class=3D"modifications-data">kdonald</td><td class=3D"modif=
ications-data">sandbox/src/org/springframework/rules/values/DefaultFormMode=
l.java</td><td class=3D"modifications-data">support for compound form model=
s</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-d=
ata">modified</td><td class=3D"modifications-data">kdonald</td><td class=3D=
"modifications-data">sandbox/src/org/springframework/rules/values/MutableAs=
pectAccessStrategy.java</td><td class=3D"modifications-data">support for co=
mpound form models</td></tr><tr class=3D"modifications-oddrow"><td class=3D=
"modifications-data">added</td><td class=3D"modifications-data">kdonald</td=
><td class=3D"modifications-data">sandbox/src/org/springframework/rules/val=
ues/MutableFormModel.java</td><td class=3D"modifications-data">support for =
compound form models</td></tr><tr class=3D"modifications-evenrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoel=
ler</td><td class=3D"modifications-data">src/org/springframework/validation=
/BindException.java</td><td class=3D"modifications-data">find custom editor=
that was registered for a superclass of the given type</td></tr><tr class=
=3D"modifications-oddrow"><td class=3D"modifications-data">modified</td><td=
class=3D"modifications-data">jhoeller</td><td class=3D"modifications-data"=
>test/org/springframework/validation/ValidationTestSuite.java</td><td class=
=3D"modifications-data">find custom editor that was registered for a superc=
lass of the given type</td></tr><tr class=3D"modifications-evenrow"><td cla=
ss=3D"modifications-data">modified</td><td class=3D"modifications-data">jho=
eller</td><td class=3D"modifications-data">src/org/springframework/beans/Be=
anWrapperImpl.java</td><td class=3D"modifications-data">find custom editor =
that was registered for a superclass of the given type</td></tr><tr class=
=3D"modifications-oddrow"><td class=3D"modifications-data">modified</td><td=
class=3D"modifications-data">dkopylenko</td><td class=3D"modifications-dat=
a">src/org/springframework/orm/jdo/JdoAccessor.java</td><td class=3D"modifi=
cations-data">Added @version tag and fixed javadoc of setFlusheager() by ch=
anging "Hibernate tranasction" to "JDO transaction"</td></tr><tr class=3D"m=
odifications-evenrow"><td class=3D"modifications-data">modified</td><td cla=
ss=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">src=
/org/springframework/validation/BindException.java</td><td class=3D"modific=
ations-data">pass property type into BeanWrapper.findCustomEditor in "getFi=
eldValue" implementation</td></tr><tr class=3D"modifications-oddrow"><td cl=
ass=3D"modifications-data">modified</td><td class=3D"modifications-data">jh=
oeller</td><td class=3D"modifications-data">/changelog.txt</td><td class=3D=
"modifications-data">refined JDO support</td></tr><tr class=3D"modification=
s-evenrow"><td class=3D"modifications-data">added</td><td class=3D"modifica=
tions-data">jhoeller</td><td class=3D"modifications-data">src/org/springfra=
mework/orm/jdo/support/OpenPersistenceManagerInViewFilter.java</td><td clas=
s=3D"modifications-data">added OpenPersistenceManagerInViewInterceptor and =
OpenPersistenceManagerInViewFilter</td></tr><tr class=3D"modifications-oddr=
ow"><td class=3D"modifications-data">added</td><td class=3D"modifications-d=
ata">jhoeller</td><td class=3D"modifications-data">src/org/springframework/=
orm/jdo/support/OpenPersistenceManagerInViewInterceptor.java</td><td class=
=3D"modifications-data">added OpenPersistenceManagerInViewInterceptor and O=
penPersistenceManagerInViewFilter</td></tr><tr class=3D"modifications-evenr=
ow"><td class=3D"modifications-data">added</td><td class=3D"modifications-d=
ata">jhoeller</td><td class=3D"modifications-data">src/org/springframework/=
orm/jdo/support/JdoDialectAdapter.java</td><td class=3D"modifications-data"=
>added JdoDialectAdapter</td></tr><tr class=3D"modifications-oddrow"><td cl=
ass=3D"modifications-data">modified</td><td class=3D"modifications-data">jh=
oeller</td><td class=3D"modifications-data">src/org/springframework/orm/jdo=
/LocalPersistenceManagerFactoryBean.java</td><td class=3D"modifications-dat=
a">added "dataSource2" property</td></tr><tr class=3D"modifications-evenrow=
"><td class=3D"modifications-data">modified</td><td class=3D"modifications-=
data">jhoeller</td><td class=3D"modifications-data">test/org/springframewor=
k/orm/jdo/JdoTransactionManagerTests.java</td><td class=3D"modifications-da=
ta">added "beginTransaction" and "releaseJdbcConnection" methods to JdoDial=
ect</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-=
data">modified</td><td class=3D"modifications-data">jhoeller</td><td class=
=3D"modifications-data">src/org/springframework/orm/jdo/JdoAccessor.java</t=
d><td class=3D"modifications-data">pessimistic jdoDialect check in flushIfN=
ecessary</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifica=
tions-data">modified</td><td class=3D"modifications-data">jhoeller</td><td =
class=3D"modifications-data">src/org/springframework/orm/jdo/JdoDialect.jav=
a</td><td class=3D"modifications-data">added "beginTransaction" and "releas=
eJdbcConnection" methods to JdoDialect</td></tr><tr class=3D"modifications-=
oddrow"><td class=3D"modifications-data">modified</td><td class=3D"modifica=
tions-data">jhoeller</td><td class=3D"modifications-data">src/org/springfra=
mework/orm/jdo/JdoTransactionManager.java</td><td class=3D"modifications-da=
ta">added "beginTransaction" and "releaseJdbcConnection" methods to JdoDial=
ect</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications=
-data">added</td><td class=3D"modifications-data">jhoeller</td><td class=3D=
"modifications-data">src/org/springframework/orm/jdo/JdoObjectRetrievalFail=
ureException.java</td><td class=3D"modifications-data">more fine-grained ex=
ception conversion</td></tr><tr class=3D"modifications-oddrow"><td class=3D=
"modifications-data">added</td><td class=3D"modifications-data">jhoeller</t=
d><td class=3D"modifications-data">src/org/springframework/orm/jdo/JdoOptim=
isticLockingFailureException.java</td><td class=3D"modifications-data">more=
fine-grained exception conversion</td></tr><tr class=3D"modifications-even=
row"><td class=3D"modifications-data">added</td><td class=3D"modifications-=
data">jhoeller</td><td class=3D"modifications-data">src/org/springframework=
/orm/jdo/JdoResourceFailureException.java</td><td class=3D"modifications-da=
ta">more fine-grained exception conversion</td></tr><tr class=3D"modificati=
ons-oddrow"><td class=3D"modifications-data">modified</td><td class=3D"modi=
fications-data">jhoeller</td><td class=3D"modifications-data">src/org/sprin=
gframework/orm/jdo/JdoSystemException.java</td><td class=3D"modifications-d=
ata">more fine-grained exception conversion</td></tr><tr class=3D"modificat=
ions-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"mo=
difications-data">jhoeller</td><td class=3D"modifications-data">src/org/spr=
ingframework/orm/jdo/JdoUsageException.java</td><td class=3D"modifications-=
data">more fine-grained exception conversion</td></tr><tr class=3D"modifica=
tions-oddrow"><td class=3D"modifications-data">modified</td><td class=3D"mo=
difications-data">jhoeller</td><td class=3D"modifications-data">src/org/spr=
ingframework/orm/jdo/PersistenceManagerFactoryUtils.java</td><td class=3D"m=
odifications-data">more fine-grained exception conversion</td></tr><tr clas=
s=3D"modifications-evenrow"><td class=3D"modifications-data">added</td><td =
class=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">=
src/org/springframework/orm/jdo/JdoOperations.java</td><td class=3D"modific=
ations-data">introduced convenience methods for load, save, delete and find=
</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-dat=
a">modified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"=
modifications-data">src/org/springframework/orm/jdo/JdoTemplate.java</td><t=
d class=3D"modifications-data">introduced convenience methods for load, sav=
e, delete and find</td></tr><tr class=3D"modifications-evenrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoel=
ler</td><td class=3D"modifications-data">src/org/springframework/orm/hibern=
ate/support/OpenSessionInViewFilter.java</td><td class=3D"modifications-dat=
a">polishing</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modif=
ications-data">modified</td><td class=3D"modifications-data">jhoeller</td><=
td class=3D"modifications-data">src/org/springframework/orm/hibernate/suppo=
rt/OpenSessionInViewInterceptor.java</td><td class=3D"modifications-data">p=
olishing</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifica=
tions-data">modified</td><td class=3D"modifications-data">jhoeller</td><td =
class=3D"modifications-data">src/org/springframework/orm/hibernate/Hibernat=
eJdbcException.java</td><td class=3D"modifications-data">polishing</td></tr=
><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">modifi=
ed</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modificat=
ions-data">src/org/springframework/orm/hibernate/HibernateObjectRetrievalFa=
ilureException.java</td><td class=3D"modifications-data">polishing</td></tr=
><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">modif=
ied</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modifica=
tions-data">src/org/springframework/orm/hibernate/HibernateOptimisticLockin=
gFailureException.java</td><td class=3D"modifications-data">polishing</td><=
/tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">mod=
ified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modifi=
cations-data">src/org/springframework/orm/hibernate/HibernateQueryException=
.java</td><td class=3D"modifications-data">polishing</td></tr><tr class=3D"=
modifications-evenrow"><td class=3D"modifications-data">modified</td><td cl=
ass=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">sr=
c/org/springframework/orm/hibernate/HibernateSystemException.java</td><td c=
lass=3D"modifications-data">polishing</td></tr><tr class=3D"modifications-o=
ddrow"><td class=3D"modifications-data">modified</td><td class=3D"modificat=
ions-data">jhoeller</td><td class=3D"modifications-data">src/org/springfram=
ework/orm/hibernate/SessionFactoryUtils.java</td><td class=3D"modifications=
-data">polishing</td></tr><tr class=3D"modifications-evenrow"><td class=3D"=
modifications-data">modified</td><td class=3D"modifications-data">jhoeller<=
/td><td class=3D"modifications-data">src/org/springframework/orm/hibernate/=
HibernateTransactionManager.java</td><td class=3D"modifications-data">clean=
up if "deBegin" fails</td></tr><tr class=3D"modifications-oddrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoel=
ler</td><td class=3D"modifications-data">src/org/springframework/orm/hibern=
ate/HibernateOperations.java</td><td class=3D"modifications-data">added "it=
erate" methods</td></tr><tr class=3D"modifications-evenrow"><td class=3D"mo=
difications-data">modified</td><td class=3D"modifications-data">jhoeller</t=
d><td class=3D"modifications-data">src/org/springframework/orm/hibernate/Hi=
bernateTemplate.java</td><td class=3D"modifications-data">added "iterate" m=
ethods</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modificatio=
ns-data">modified</td><td class=3D"modifications-data">jhoeller</td><td cla=
ss=3D"modifications-data">src/org/springframework/jdbc/datasource/DataSourc=
eUtils.java</td><td class=3D"modifications-data">polishing</td></tr><tr cla=
ss=3D"modifications-evenrow"><td class=3D"modifications-data">modified</td>=
<td class=3D"modifications-data">jhoeller</td><td class=3D"modifications-da=
ta">test/org/springframework/jdbc/datasource/DataSourceTransactionManagerTe=
sts.java</td><td class=3D"modifications-data">cleanup when begin fails</td>=
</tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">mo=
dified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modif=
ications-data">src/org/springframework/jdbc/datasource/DataSourceTransactio=
nManager.java</td><td class=3D"modifications-data">cleanup when begin fails=
</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-da=
ta">modified</td><td class=3D"modifications-data">jhoeller</td><td class=3D=
"modifications-data">src/org/springframework/transaction/jta/JtaTransaction=
Manager.java</td><td class=3D"modifications-data">access UserTransaction me=
mber variable directly</td></tr><tr class=3D"modifications-oddrow"><td clas=
s=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoe=
ller</td><td class=3D"modifications-data">src/org/springframework/jdbc/core=
/JdbcTemplate.java</td><td class=3D"modifications-data">inner class Stateme=
ntCallbacks implement SqlProvider</td></tr><tr class=3D"modifications-evenr=
ow"><td class=3D"modifications-data">modified</td><td class=3D"modification=
s-data">jhoeller</td><td class=3D"modifications-data">src/org/springframewo=
rk/orm/hibernate/SessionHolder.java</td><td class=3D"modifications-data">mo=
ved synchronizedWithTransaction property up to ResourceHolderSupport</td></=
tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">modi=
fied</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modific=
ations-data">src/org/springframework/transaction/support/ResourceHolderSupp=
ort.java</td><td class=3D"modifications-data">moved synchronizedWithTransac=
tion property up to ResourceHolderSupport</td></tr><tr class=3D"modificatio=
ns-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"modi=
fications-data">kdonald</td><td class=3D"modifications-data">sandbox/src/or=
g/springframework/rules/values/BeanPropertyAccessStrategy.java</td><td clas=
s=3D"modifications-data">polishing</td></tr><tr class=3D"modifications-oddr=
ow"><td class=3D"modifications-data">modified</td><td class=3D"modification=
s-data">kdonald</td><td class=3D"modifications-data">sandbox/src/org/spring=
framework/rules/values/BufferedValueModel.java</td><td class=3D"modificatio=
ns-data">polishing</td></tr><tr class=3D"modifications-evenrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">kdona=
ld</td><td class=3D"modifications-data">sandbox/src/org/springframework/rul=
es/values/ValidatingFormModel.java</td><td class=3D"modifications-data">pol=
ishing</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modificatio=
ns-data">modified</td><td class=3D"modifications-data">kdonald</td><td clas=
s=3D"modifications-data">sandbox/src/org/springframework/rules/values/Abstr=
actValueModel.java</td><td class=3D"modifications-data">copyright</td></tr>=
<tr class=3D"modifications-evenrow"><td class=3D"modifications-data">modifi=
ed</td><td class=3D"modifications-data">kdonald</td><td class=3D"modificati=
ons-data">sandbox/src/org/springframework/rules/values/AspectAccessStrategy=
.java</td><td class=3D"modifications-data">copyright</td></tr><tr class=3D"=
modifications-oddrow"><td class=3D"modifications-data">modified</td><td cla=
ss=3D"modifications-data">kdonald</td><td class=3D"modifications-data">sand=
box/src/org/springframework/rules/values/AspectAdapter.java</td><td class=
=3D"modifications-data">copyright</td></tr><tr class=3D"modifications-evenr=
ow"><td class=3D"modifications-data">modified</td><td class=3D"modification=
s-data">kdonald</td><td class=3D"modifications-data">sandbox/src/org/spring=
framework/rules/values/BeanPropertyAccessStrategy.java</td><td class=3D"mod=
ifications-data">copyright</td></tr><tr class=3D"modifications-oddrow"><td =
class=3D"modifications-data">modified</td><td class=3D"modifications-data">=
kdonald</td><td class=3D"modifications-data">sandbox/src/org/springframewor=
k/rules/values/BufferedValueModel.java</td><td class=3D"modifications-data"=
>copyright</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifi=
cations-data">modified</td><td class=3D"modifications-data">kdonald</td><td=
class=3D"modifications-data">sandbox/src/org/springframework/rules/values/=
DefaultFormModel.java</td><td class=3D"modifications-data">copyright</td></=
tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">modi=
fied</td><td class=3D"modifications-data">kdonald</td><td class=3D"modifica=
tions-data">sandbox/src/org/springframework/rules/values/FormModel.java</td=
><td class=3D"modifications-data">copyright</td></tr><tr class=3D"modificat=
ions-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"mo=
difications-data">kdonald</td><td class=3D"modifications-data">sandbox/src/=
org/springframework/rules/values/MutableAspectAccessStrategy.java</td><td c=
lass=3D"modifications-data">copyright</td></tr><tr class=3D"modifications-o=
ddrow"><td class=3D"modifications-data">modified</td><td class=3D"modificat=
ions-data">kdonald</td><td class=3D"modifications-data">sandbox/src/org/spr=
ingframework/rules/values/PropertyChangePublisher.java</td><td class=3D"mod=
ifications-data">copyright</td></tr><tr class=3D"modifications-evenrow"><td=
class=3D"modifications-data">modified</td><td class=3D"modifications-data"=
>kdonald</td><td class=3D"modifications-data">sandbox/src/org/springframewo=
rk/rules/values/ValidatingFormModel.java</td><td class=3D"modifications-dat=
a">copyright</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modif=
ications-data">modified</td><td class=3D"modifications-data">kdonald</td><t=
d class=3D"modifications-data">sandbox/src/org/springframework/rules/values=
/ValidationListener.java</td><td class=3D"modifications-data">copyright</td=
></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">=
modified</td><td class=3D"modifications-data">kdonald</td><td class=3D"modi=
fications-data">sandbox/src/org/springframework/rules/values/ValueChangeabl=
e.java</td><td class=3D"modifications-data">copyright</td></tr><tr class=3D=
"modifications-oddrow"><td class=3D"modifications-data">modified</td><td cl=
ass=3D"modifications-data">kdonald</td><td class=3D"modifications-data">san=
dbox/src/org/springframework/rules/values/ValueHolder.java</td><td class=3D=
"modifications-data">copyright</td></tr><tr class=3D"modifications-evenrow"=
><td class=3D"modifications-data">modified</td><td class=3D"modifications-d=
ata">kdonald</td><td class=3D"modifications-data">sandbox/src/org/springfra=
mework/rules/values/ValueListener.java</td><td class=3D"modifications-data"=
>copyright</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modific=
ations-data">modified</td><td class=3D"modifications-data">kdonald</td><td =
class=3D"modifications-data">sandbox/src/org/springframework/rules/values/V=
alueModel.java</td><td class=3D"modifications-data">copyright</td></tr><tr =
class=3D"modifications-evenrow"><td class=3D"modifications-data">modified</=
td><td class=3D"modifications-data">kdonald</td><td class=3D"modifications-=
data">sandbox/src/org/springframework/rules/values/ValueModelWrapper.java</=
td><td class=3D"modifications-data">copyright</td></tr><tr class=3D"modific=
ations-oddrow"><td class=3D"modifications-data">modified</td><td class=3D"m=
odifications-data">kdonald</td><td class=3D"modifications-data">sandbox/src=
/org/springframework/rules/values/ValuePropertyChangeListenerMediator.java<=
/td><td class=3D"modifications-data">copyright</td></tr><tr class=3D"modifi=
cations-evenrow"><td class=3D"modifications-data">added</td><td class=3D"mo=
difications-data">markpollack</td><td class=3D"modifications-data">sandbox/=
src/org/springframework/jms/support/DefaultJmsAdmin.java</td><td class=3D"m=
odifications-data">add simple admin support - currenlty for dynamic destina=
tions</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modification=
s-data">added</td><td class=3D"modifications-data">markpollack</td><td clas=
s=3D"modifications-data">sandbox/src/org/springframework/jms/support/Destin=
ationInfo.java</td><td class=3D"modifications-data">add simple admin suppor=
t - currenlty for dynamic destinations</td></tr><tr class=3D"modifications-=
evenrow"><td class=3D"modifications-data">added</td><td class=3D"modificati=
ons-data">markpollack</td><td class=3D"modifications-data">sandbox/src/org/=
springframework/jms/support/JmsAdmin.java</td><td class=3D"modifications-da=
ta">add simple admin support - currenlty for dynamic destinations</td></tr>=
<tr class=3D"modifications-oddrow"><td class=3D"modifications-data">added</=
td><td class=3D"modifications-data">markpollack</td><td class=3D"modificati=
ons-data">sandbox/src/org/springframework/jms/support/QueueInfo.java</td><t=
d class=3D"modifications-data">add simple admin support - currenlty for dyn=
amic destinations</td></tr><tr class=3D"modifications-evenrow"><td class=3D=
"modifications-data">added</td><td class=3D"modifications-data">markpollack=
</td><td class=3D"modifications-data">sandbox/src/org/springframework/jms/s=
upport/TopicInfo.java</td><td class=3D"modifications-data">add simple admin=
support - currenlty for dynamic destinations</td></tr><tr class=3D"modific=
ations-oddrow"><td class=3D"modifications-data">modified</td><td class=3D"m=
odifications-data">markpollack</td><td class=3D"modifications-data">sandbox=
/src/org/springframework/jms/AbstractJmsSender.java</td><td class=3D"modifi=
cations-data">add low-level callback actions</td></tr><tr class=3D"modifica=
tions-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"m=
odifications-data">markpollack</td><td class=3D"modifications-data">sandbox=
/src/org/springframework/jms/JmsSender.java</td><td class=3D"modifications-=
data">add low-level callback actions</td></tr><tr class=3D"modifications-od=
drow"><td class=3D"modifications-data">modified</td><td class=3D"modificati=
ons-data">markpollack</td><td class=3D"modifications-data">sandbox/src/org/=
springframework/jms/JmsSender102.java</td><td class=3D"modifications-data">=
add low-level callback actions</td></tr><tr class=3D"modifications-evenrow"=
><td class=3D"modifications-data">modified</td><td class=3D"modifications-d=
ata">markpollack</td><td class=3D"modifications-data">sandbox/src/org/sprin=
gframework/jms/JmsSender11.java</td><td class=3D"modifications-data">add lo=
w-level callback actions</td></tr><tr class=3D"modifications-oddrow"><td cl=
ass=3D"modifications-data">added</td><td class=3D"modifications-data">markp=
ollack</td><td class=3D"modifications-data">sandbox/src/org/springframework=
/jms/QueueSessionCallback.java</td><td class=3D"modifications-data">add low=
-level callback actions</td></tr><tr class=3D"modifications-evenrow"><td cl=
ass=3D"modifications-data">added</td><td class=3D"modifications-data">markp=
ollack</td><td class=3D"modifications-data">sandbox/src/org/springframework=
/jms/SessionCallback.java</td><td class=3D"modifications-data">add low-leve=
l callback actions</td></tr><tr class=3D"modifications-oddrow"><td class=3D=
"modifications-data">added</td><td class=3D"modifications-data">markpollack=
</td><td class=3D"modifications-data">sandbox/src/org/springframework/jms/T=
opicSessionCallback.java</td><td class=3D"modifications-data">add low-level=
callback actions</td></tr><tr class=3D"modifications-evenrow"><td class=3D=
"modifications-data">modified</td><td class=3D"modifications-data">johnsonr=
</td><td class=3D"modifications-data">test/org/springframework/beans/TestBe=
an.java</td><td class=3D"modifications-data">Added =3D=3D check to equals()=
method</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modificati=
ons-data">modified</td><td class=3D"modifications-data">kdonald</td><td cla=
ss=3D"modifications-data">sandbox/src/org/springframework/rules/values/Aspe=
ctAccessStrategy.java</td><td class=3D"modifications-data">polishing</td></=
tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">mod=
ified</td><td class=3D"modifications-data">kdonald</td><td class=3D"modific=
ations-data">sandbox/src/org/springframework/rules/values/DefaultFormModel.=
java</td><td class=3D"modifications-data">polishing</td></tr><tr class=3D"m=
odifications-oddrow"><td class=3D"modifications-data">modified</td><td clas=
s=3D"modifications-data">kdonald</td><td class=3D"modifications-data">sandb=
ox/src/org/springframework/rules/values/MutableAspectAccessStrategy.java</t=
d><td class=3D"modifications-data">polishing</td></tr><tr class=3D"modifica=
tions-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"m=
odifications-data">kdonald</td><td class=3D"modifications-data">sandbox/src=
/org/springframework/rules/values/ValidatingFormModel.java</td><td class=3D=
"modifications-data">polishing</td></tr><tr class=3D"modifications-oddrow">=
<td class=3D"modifications-data">modified</td><td class=3D"modifications-da=
ta">kdonald</td><td class=3D"modifications-data">sandbox/test/org/springfra=
mework/rules/RulesTestSuite.java</td><td class=3D"modifications-data">valid=
ation fixes</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modif=
ications-data">modified</td><td class=3D"modifications-data">kdonald</td><t=
d class=3D"modifications-data">sandbox/src/org/springframework/rules/report=
ing/BeanValidationResultsBuilder.java</td><td class=3D"modifications-data">=
validation listener</td></tr><tr class=3D"modifications-oddrow"><td class=
=3D"modifications-data">modified</td><td class=3D"modifications-data">kdona=
ld</td><td class=3D"modifications-data">sandbox/src/org/springframework/rul=
es/reporting/BeanValidationResultsCollector.java</td><td class=3D"modificat=
ions-data">validation listener</td></tr><tr class=3D"modifications-evenrow"=
><td class=3D"modifications-data">modified</td><td class=3D"modifications-d=
ata">kdonald</td><td class=3D"modifications-data">sandbox/src/org/springfra=
mework/rules/values/ValidatingFormModel.java</td><td class=3D"modifications=
-data">validation listener</td></tr><tr class=3D"modifications-oddrow"><td =
class=3D"modifications-data">added</td><td class=3D"modifications-data">kdo=
nald</td><td class=3D"modifications-data">sandbox/src/org/springframework/r=
ules/values/ValidationListener.java</td><td class=3D"modifications-data">va=
lidation listener</td></tr><tr class=3D"modifications-evenrow"><td class=3D=
"modifications-data">modified</td><td class=3D"modifications-data">kdonald<=
/td><td class=3D"modifications-data">sandbox/src/org/springframework/rules/=
predicates/beans/AbstractBeanPropertyExpression.java</td><td class=3D"modif=
ications-data">validating form model and enhancements to bean property expr=
essionsto support pluggable property access methods</td></tr><tr class=3D"m=
odifications-oddrow"><td class=3D"modifications-data">modified</td><td clas=
s=3D"modifications-data">kdonald</td><td class=3D"modifications-data">sandb=
ox/src/org/springframework/rules/predicates/beans/BeanPropertiesExpression.=
java</td><td class=3D"modifications-data">validating form model and enhance=
ments to bean property expressionsto support pluggable property access meth=
ods</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications=
-data">modified</td><td class=3D"modifications-data">kdonald</td><td class=
=3D"modifications-data">sandbox/src/org/springframework/rules/predicates/be=
ans/BeanPropertyValueConstraint.java</td><td class=3D"modifications-data">v=
alidating form model and enhancements to bean property expressionsto suppor=
t pluggable property access methods</td></tr><tr class=3D"modifications-odd=
row"><td class=3D"modifications-data">modified</td><td class=3D"modificatio=
ns-data">kdonald</td><td class=3D"modifications-data">sandbox/src/org/sprin=
gframework/rules/predicates/beans/PropertyPresent.java</td><td class=3D"mod=
ifications-data">validating form model and enhancements to bean property ex=
pressionsto support pluggable property access methods</td></tr><tr class=3D=
"modifications-evenrow"><td class=3D"modifications-data">modified</td><td c=
lass=3D"modifications-data">kdonald</td><td class=3D"modifications-data">sa=
ndbox/src/org/springframework/rules/predicates/beans/RequiredIfTrue.java</t=
d><td class=3D"modifications-data">validating form model and enhancements t=
o bean property expressionsto support pluggable property access methods</td=
></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">m=
odified</td><td class=3D"modifications-data">kdonald</td><td class=3D"modif=
ications-data">sandbox/src/org/springframework/rules/values/AspectAccessStr=
ategy.java</td><td class=3D"modifications-data">validating form model and e=
nhancements to bean property expressionsto support pluggable property acces=
s methods</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modific=
ations-data">modified</td><td class=3D"modifications-data">kdonald</td><td =
class=3D"modifications-data">sandbox/src/org/springframework/rules/values/A=
spectAdapter.java</td><td class=3D"modifications-data">validating form mode=
l and enhancements to bean property expressionsto support pluggable propert=
y access methods</td></tr><tr class=3D"modifications-oddrow"><td class=3D"m=
odifications-data">modified</td><td class=3D"modifications-data">kdonald</t=
d><td class=3D"modifications-data">sandbox/src/org/springframework/rules/va=
lues/BeanPropertyAccessStrategy.java</td><td class=3D"modifications-data">v=
alidating form model and enhancements to bean property expressionsto suppor=
t pluggable property access methods</td></tr><tr class=3D"modifications-eve=
nrow"><td class=3D"modifications-data">modified</td><td class=3D"modificati=
ons-data">kdonald</td><td class=3D"modifications-data">sandbox/src/org/spri=
ngframework/rules/values/DefaultFormModel.java</td><td class=3D"modificatio=
ns-data">validating form model and enhancements to bean property expression=
sto support pluggable property access methods</td></tr><tr class=3D"modific=
ations-oddrow"><td class=3D"modifications-data">added</td><td class=3D"modi=
fications-data">kdonald</td><td class=3D"modifications-data">sandbox/src/or=
g/springframework/rules/values/MutableAspectAccessStrategy.java</td><td cla=
ss=3D"modifications-data">validating form model and enhancements to bean pr=
operty expressionsto support pluggable property access methods</td></tr><tr=
class=3D"modifications-evenrow"><td class=3D"modifications-data">added</td=
><td class=3D"modifications-data">kdonald</td><td class=3D"modifications-da=
ta">sandbox/src/org/springframework/rules/values/ValidatingFormModel.java</=
td><td class=3D"modifications-data">validating form model and enhancements =
to bean property expressionsto support pluggable property access methods</t=
d></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">=
modified</td><td class=3D"modifications-data">markpollack</td><td class=3D"=
modifications-data">sandbox/test/org/springframework/jms/JmsSender102Tests.=
java</td><td class=3D"modifications-data">add 1.1 tests</td></tr><tr class=
=3D"modifications-evenrow"><td class=3D"modifications-data">added</td><td c=
lass=3D"modifications-data">markpollack</td><td class=3D"modifications-data=
">sandbox/test/org/springframework/jms/JmsSender11Tests.java</td><td class=
=3D"modifications-data">add 1.1 tests</td></tr><tr class=3D"modifications-o=
ddrow"><td class=3D"modifications-data">added</td><td class=3D"modification=
s-data">markpollack</td><td class=3D"modifications-data">sandbox/test/org/s=
pringframework/jms/JmsTestCase.java</td><td class=3D"modifications-data">ad=
d 1.1 tests</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modif=
ications-data">modified</td><td class=3D"modifications-data">markpollack</t=
d><td class=3D"modifications-data">sandbox/src/org/springframework/jms/JmsS=
ender.java</td><td class=3D"modifications-data">modify doc</td></tr><tr cla=
ss=3D"modifications-oddrow"><td class=3D"modifications-data">modified</td><=
td class=3D"modifications-data">markpollack</td><td class=3D"modifications-=
data">sandbox/src/org/springframework/jms/MessageCreator.java</td><td class=
=3D"modifications-data">move abstract modifier</td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"distributables-sectionheader"> =
Deployments by this build: (8) </td><=
/tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/checko=
ut/spring/spring/dist/spring.jar</td></tr><tr class=3D"distributables-oddro=
w"><td class=3D"distributables-data">Building war: /jteam/build/checkout/sp=
ring/spring/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr><td c=
lass=3D"distributables-data">Building war: /jteam/build/checkout/spring/spr=
ing/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr class=3D"dist=
ributables-oddrow"><td class=3D"distributables-data">Building war: /jteam/b=
uild/checkout/spring/spring/autobuilds/apps/buildtest/dist/buildtest.war</t=
d></tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/che=
ckout/spring/spring/autobuilds/apps/jpetstore/war/WEB-INF/lib/jpetstore.jar=
</td></tr><tr class=3D"distributables-oddrow"><td class=3D"distributables-d=
ata">Building war: /jteam/build/checkout/spring/spring/autobuilds/apps/jpet=
store/dist/jpetstore.war</td></tr><tr><td class=3D"distributables-data">Bui=
lding jar: /jteam/build/checkout/spring/spring/autobuilds/apps/jpetstore/wa=
r/WEB-INF/lib/jpetstore.jar</td></tr><tr class=3D"distributables-oddrow"><t=
d class=3D"distributables-data">Building war: /jteam/build/checkout/spring/=
spring/autobuilds/apps/jpetstore/dist/jpetstore.war</td></tr></table>
</body></html> |
|
From: Keith D. <kd...@cs...> - 2004-06-14 16:41:49
|
I recently committed support for "CompoundFormModels" for the rich client form / data binding / validation framework, where a CompoundFormModel is a FormModel that aggregate other form models. The use cases / requirements addressed by this capability are: - A wizard or other multi-page dialog contains multiple logical "pages", where each page (generally) displays a form for editing. Thus: o It should be possible for form validation listeners to subscribe only to a single page's form fields, for local results reporting on that page. o It should be easy to commit all edits on all forms models to the domain layer on a single bulk "submit" - e.g calling commit on the parent, compound form model should trigger commits on all child page models. o It should be impossible to submit unless all aggregated page models are free of validation errors. o It should be easy to commit or revert a single page's edits. o It should be easy to reuse the same compound form instance with a different backing form object of the same type. So the general cardinality of these objects for a wizard would be: o One CompoundFormModel per wizard o One to many MutableFormModels, one for each wizard page I believe what I just checked in accomplishes these goals. I've updated the sample app to illustrate (as always.) I've also renamed a few framework classes to better document the separation between a "CompoundForm", and a single "FormPage." Very best regards, Keith |
|
From: Dmitriy K. <dko...@ru...> - 2004-06-14 13:34:58
|
If I remember correctly, a TopLink support has been discussed a while ago. Dmitriy. sk...@fe... wrote: > I'd vote for Toplink support first. I know it's not open source but a lot > of us have to use it and I am pretty sure there are several Toplink users > on the list, each of us rolling our own Spring integration. > > > Sean Kroah > FedEx Ground > (412) 859-5130 > > sk...@fe... > > > > |---------+-----------------------------------------------------> > | | "Rod Johnson" | > | | <rod...@in...> | > | | Sent by: | > | | spr...@li...| > | | ceforge.net | > | | | > | | | > | | 06/13/2004 08:37 AM | > | | Please respond to | > | | springframework-developer | > | | | > |---------+-----------------------------------------------------> > >----------------------------------------------------------------------------------------------| > | | > | To: <spr...@li...> | > | cc: | > | Subject: Re: [Springframework-developer] Cayenne ORM Support | > >----------------------------------------------------------------------------------------------| > > > > > Tim > > I would like Spring to have Cayenne support, to go with our Hibernate, JDBC > and JDO support. I haven't used it, but I have heard good things about it. > > We have a well-established template for supporting ORM solutions, > demonstrated in our JDO and Hibernate support: > > - templates and interceptors that handle resource open/close > - integration with Spring transaction management > - support for JDBC operations in the same transaction if possible (it is > with Hibernate and most JDO implementations) > - translation from ORM-specific exceptions (like HibernateException) to our > own DataAccessException hierarchy > > As no one in the core Spring team is a Cayenne expert (AFAIK) we hope that > the Cayenne team could work within this consistent architectural approach > to > lead the necessary implementation, and donate the code (and support the > integration). We would of course be very happy to help them with this. > > Rgds > Rod > > ----- Original Message ----- > From: "Tim Nolan" <kat...@ho...> > To: <spr...@li...> > Sent: Sunday, June 13, 2004 11:39 AM > Subject: [Springframework-developer] Cayenne ORM Support > > > >>Anyone looking at adding support for this Cayenne ORM? Anyone used it on >>a project? It seems to have a bit of a following. >> >>For product, see: >>http://www.objectstyle.org/cayenne/ >> >>For brief comment on Spring support see: >>http://objectstyle.org/cayenne/lists/cayenne-user/2004/06/0028.html >> >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by the new InstallShield X. >>From Windows to Linux, servers to mobile, InstallShield X is the >>one installation-authoring solution that does it all. Learn more and >>evaluate today! http://www.installshield.com/Dev2Dev/0504 >>_______________________________________________ >>Springframework-developer mailing list >>Spr...@li... >>https://lists.sourceforge.net/lists/listinfo/springframework-developer >> > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <sk...@fe...> - 2004-06-14 13:30:33
|
I'd vote for Toplink support first. I know it's not open source but a lot of us have to use it and I am pretty sure there are several Toplink users on the list, each of us rolling our own Spring integration. Sean Kroah FedEx Ground (412) 859-5130 sk...@fe... |---------+-----------------------------------------------------> | | "Rod Johnson" | | | <rod...@in...> | | | Sent by: | | | spr...@li...| | | ceforge.net | | | | | | | | | 06/13/2004 08:37 AM | | | Please respond to | | | springframework-developer | | | | |---------+-----------------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <spr...@li...> | | cc: | | Subject: Re: [Springframework-developer] Cayenne ORM Support | >----------------------------------------------------------------------------------------------| Tim I would like Spring to have Cayenne support, to go with our Hibernate, JDBC and JDO support. I haven't used it, but I have heard good things about it. We have a well-established template for supporting ORM solutions, demonstrated in our JDO and Hibernate support: - templates and interceptors that handle resource open/close - integration with Spring transaction management - support for JDBC operations in the same transaction if possible (it is with Hibernate and most JDO implementations) - translation from ORM-specific exceptions (like HibernateException) to our own DataAccessException hierarchy As no one in the core Spring team is a Cayenne expert (AFAIK) we hope that the Cayenne team could work within this consistent architectural approach to lead the necessary implementation, and donate the code (and support the integration). We would of course be very happy to help them with this. Rgds Rod ----- Original Message ----- From: "Tim Nolan" <kat...@ho...> To: <spr...@li...> Sent: Sunday, June 13, 2004 11:39 AM Subject: [Springframework-developer] Cayenne ORM Support > Anyone looking at adding support for this Cayenne ORM? Anyone used it on > a project? It seems to have a bit of a following. > > For product, see: > http://www.objectstyle.org/cayenne/ > > For brief comment on Spring support see: > http://objectstyle.org/cayenne/lists/cayenne-user/2004/06/0028.html > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <jue...@we...> - 2004-06-14 12:44:53
|
Hi Rob, First of all, welcome :-) Regarding our current CGLIB jar in CVS: Let's find out ASAP when the = CGLIB team intends to release 2.0.2. It is a necessity for Spring 1.0.3 = that we ship at least CGLIB 2.0.2 RC1. If a proper CGLIB 2.0.2 jar is gonna take a while, please rename the = current cglib-2.0.1.jar to cglib-2.0.2-dev.jar (or a similar name that = indicates that it is a snapshot). Juergen -----Original Message----- From: spr...@li... [mailto:spr...@li...]On Behalf Of Rob Harrop Sent: Friday, June 11, 2004 11:46 PM To: spr...@li... Subject: Re: [Springframework-developer] Not leveraging the CGLIB cache James (All), First I better introduce myself, my name is Rob Harrop and I have been=20 working on the Cglib proxy class, fixing bugs and improving=20 performance. The problem you mention is now fixed, but it does rely on the HEAD of=20 Cglib (which I mistakenly checked into CVS without changing the name).=20 The new CallbackFilter correctly implements hashCode so that Cglib can=20 cache class instances. Rob On 11 Jun 2004, at 22:05, James Cook wrote: > Rod, > > Do you remember this issue? Has this one been addressed yet? > > http://article.gmane.org/gmane.comp.java.springframework.user/1502 > > From: Chris Nokleberg <chris <at> sixlegs.com> > Subject: Re: CGLIB proxies are not assignable > Newsgroups: gmane.comp.java.springframework.user > Date: Sun, 11 Apr 2004 17:15:30 +0000 > > Rod Johnson <rod.johnson <at> interface21.com> writes: >> This is the behaviour I would expect. As you say, maybe we should >> add it to the docs. All proxies _are_ instances of the class to be >> proxied. > > I actually think this is a bug. If the name of the class is changing > it means that caching of generated classes is not working correctly > --it is probably generating a new class per proxy. This will obviously > slow down proxy creation tremendously and eventually cause > OutOfMemoryExceptions. The typical culprit is when you use a > custom CallbackFilter that does not implement equals/hashCode. I > don't have time right now but I'll take a look soon. > > Happy Easter > Chris > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rob H. <ro...@ca...> - 2004-06-14 12:26:09
|
James (All), First I better introduce myself, my name is Rob Harrop and I have been working on the Cglib proxy class, fixing bugs and improving performance. The problem you mention is now fixed, but it does rely on the HEAD of Cglib (which I mistakenly checked into CVS without changing the name). The new CallbackFilter correctly implements hashCode so that Cglib can cache class instances. Rob On 11 Jun 2004, at 22:05, James Cook wrote: > Rod, > > Do you remember this issue? Has this one been addressed yet? > > http://article.gmane.org/gmane.comp.java.springframework.user/1502 > > From: Chris Nokleberg <chris <at> sixlegs.com> > Subject: Re: CGLIB proxies are not assignable > Newsgroups: gmane.comp.java.springframework.user > Date: Sun, 11 Apr 2004 17:15:30 +0000 > > Rod Johnson <rod.johnson <at> interface21.com> writes: >> This is the behaviour I would expect. As you say, maybe we should >> add it to the docs. All proxies _are_ instances of the class to be >> proxied. > > I actually think this is a bug. If the name of the class is changing > it means that caching of generated classes is not working correctly > --it is probably generating a new class per proxy. This will obviously > slow down proxy creation tremendously and eventually cause > OutOfMemoryExceptions. The typical culprit is when you use a > custom CallbackFilter that does not implement equals/hashCode. I > don't have time right now but I'll take a look soon. > > Happy Easter > Chris > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |
|
From: <jue...@we...> - 2004-06-14 12:15:34
|
This is a post-1.0.2 bug that I've accidentally introduced last week. =
I've just fixed it. Thanks for spotting this!
Juergen
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...]On Behalf
Of Tom Turelinckx
Sent: Monday, June 14, 2004 12:33 PM
To: spr...@li...
Subject: Re: Fw: [Springframework-developer] BeanWrapperImpl abstraction
Juergen,
> The change should be completely backward-compatible. Only if you
> specified a
> wrong type on registration (i.e. not the target type that the editor =
will
> actually create), the stricter check will now show. As passing in such =
a
> wrong type is a misuse of the API, this is even desirable, I guess.
When you register a custom editor "for a certain type", do you register
it for the type of the property or the actual type of the value?
For example, I'm not sure this is desired behavior:
private void test() {
long now =3D 1087206665855L;
System.out.println(getValue(new Date(now), null));
// prints "14/06/2004"
System.out.println(getValue(new Timestamp(now), null));
// prints "2004-06-14 11:51:05.855"
// shouldn't this be "14/06/2004" as well?
System.out.println(getValue(new Timestamp(now), "date"));
// prints "14/06/2004"
}
private Object getValue(Date date, String property) {
DateBean dateBean =3D new DateBean();
dateBean.setDate(date);
DataBinder binder =3D new DataBinder(dateBean, "dateBean");
binder.registerCustomEditor(Date.class, property,
new CustomDateEditor(new SimpleDateFormat("dd/MM/yyyy"),
true));
return binder.getErrors().getFieldValue("date");
}
public class DateBean {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date =3D date;
}
}
Suppose I have a form in a web application to edit an object, with a
Controller extending from AbstractFormController. The form backing
object has java.util.Date properties, so I register a custom editor for
all Date properties (property =3D null) in initBinder, like above.
When the form backing object is the result of a database query, its
java.util.Date properties actually contain java.sql.Timestamp objects,
which are then incorrectly displayed in the form, because the property
editor is not used, unless I register a custom editor for every
individual property...
Of course, I don't want to _know_ that the Date properties are actually
Timestamps, so I don't want to register a custom editor for all
Timestamp properties...
Is this the intended behavior or a bug?
Kind regards,
Tom.
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Tom T. <tom...@pr...> - 2004-06-14 10:34:12
|
Juergen,
> The change should be completely backward-compatible. Only if you
> specified a
> wrong type on registration (i.e. not the target type that the editor will
> actually create), the stricter check will now show. As passing in such a
> wrong type is a misuse of the API, this is even desirable, I guess.
When you register a custom editor "for a certain type", do you register
it for the type of the property or the actual type of the value?
For example, I'm not sure this is desired behavior:
private void test() {
long now = 1087206665855L;
System.out.println(getValue(new Date(now), null));
// prints "14/06/2004"
System.out.println(getValue(new Timestamp(now), null));
// prints "2004-06-14 11:51:05.855"
// shouldn't this be "14/06/2004" as well?
System.out.println(getValue(new Timestamp(now), "date"));
// prints "14/06/2004"
}
private Object getValue(Date date, String property) {
DateBean dateBean = new DateBean();
dateBean.setDate(date);
DataBinder binder = new DataBinder(dateBean, "dateBean");
binder.registerCustomEditor(Date.class, property,
new CustomDateEditor(new SimpleDateFormat("dd/MM/yyyy"),
true));
return binder.getErrors().getFieldValue("date");
}
public class DateBean {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
Suppose I have a form in a web application to edit an object, with a
Controller extending from AbstractFormController. The form backing
object has java.util.Date properties, so I register a custom editor for
all Date properties (property = null) in initBinder, like above.
When the form backing object is the result of a database query, its
java.util.Date properties actually contain java.sql.Timestamp objects,
which are then incorrectly displayed in the form, because the property
editor is not used, unless I register a custom editor for every
individual property...
Of course, I don't want to _know_ that the Date properties are actually
Timestamps, so I don't want to register a custom editor for all
Timestamp properties...
Is this the intended behavior or a bug?
Kind regards,
Tom.
|
|
From: Daniel M. <mi...@pa...> - 2004-06-14 03:25:40
|
James, >Does that also mean that a new Hibernate session is created if a data access occurs after the exception? (Think of an app that logs application failures to a database.) No, that is the problem--the same session continues to be used after the exception occurs. >From the Hibernate Session interface javadoc: "If the Session throws an exception, the transaction must be rolled back and the session discarded. The internal state of the Session might not be consistent with the database after the exception occurs." http://www.hibernate.org/hib_docs/api/net/sf/hibernate/Session.html >Also, is the discarding (shutting down) of a session handled by the transaction manager or some other wrapper? I'm trying to understand if the discard behavior is the same for checked or unchecked exceptions. Our apps are set up to throw checked exceptions when we think the application could recover from the failure. No, discarding is not handled by the transaction manager. The session only needs to be discarded if a HibernateException is thrown (checked). If you use Spring's HibernateDAOSupport for your DAO's, Spring catches the HibernateExceptions and wraps them in DataAccessExceptions (unchecked). >In cases where a checked exception is deemed fatal we control rollback using: TransactionInterceptor.currentTransactionStatus().setRollbackOnly(); A rollback wouldn't solve the problem because you would still be using the same (potentially damaged) session for other data accesses after the exception occurred. > The Hibernate session will always get discarded properly, even when > exceptions get thrown during view rendering. If that doesn't happen in any > case, it's a bug in either Spring's interceptor/filter implementations (or > the servlet container's handling of filters, in case of > OpenSessionInViewFilter). > > Juergen Sorry Juergen, I worded my original message wrongly. The session is always properly discarded by Spring at the end of the request. Both the filter and the interceptor versions of OpenSessionInView do this correctly. However, they cannot tell when an exception is thrown in the middle of your business logic and therefore cannot discard the session and create a new one after an exception occurs. Daniel ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. >From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: James C. <jim...@do...> - 2004-06-13 18:29:20
|
Does that also mean that a new Hibernate session is created if a data access occurs after the exception? (Think of an app that logs application failures to a database.) Also, is the discarding (shutting down) of a session handled by the transaction manager or some other wrapper? I'm trying to understand if the discard behavior is the same for checked or unchecked exceptions. Our apps are set up to throw checked exceptions when we think the application could recover from the failure. In cases where a checked exception is deemed fatal we control rollback using: TransactionInterceptor.currentTransactionStatus().setRollbackOnly(); > The Hibernate session will always get discarded properly, even when > exceptions get thrown during view rendering. If that doesn't happen in any > case, it's a bug in either Spring's interceptor/filter implementations (or > the servlet container's handling of filters, in case of > OpenSessionInViewFilter). > > Juergen |
|
From: Keith D. <kd...@cs...> - 2004-06-13 17:35:23
|
Rich client gang:
I've refactored and substantially enhanced our rich client form data binding
and validation framework over the last several days to meet the
objectives/requirements outlined below. Thanks to Ben, Ronald, Francois,
and Andy for offering their suggestions & helping evolve the design. I'm
quite liking it now, and I'd probably still be arguing with myself still had
it not been for your help.
Specifically:
- There is a "FormModel" mediator layer that sits between the GUI controls
and the domain model layer, which provides a model for buffering form edits
and performing form validation and results reporting. This layer makes
heavy use of the ValueModel pattern, pointed to me by Ben as an elegant
solution to this problem.
This means the following happens when you edit a form:
- GUI Control edits are captured by the form model. Validation is applied
on each form model update, with results reported to validation listeners in
real-time (for example, one listener might be a message pane attached to an
application dialog title area). What validation to perform is determined by
the declarative rules associated with the properties of the form-backing
domain object. These rules are centrally configured and accessed by our
RulesSource interface (part of the declarative validation system.)
- The text-field edit commit policy is now configurable. You may choose to
have the form model updated on each character event (as-you-type), on a
focus lost event, or only on form submission. The as-you-type
"ValueCommitPolicy" is the default.
- A Guard (ValidationListener) enables the form for submission when there
are no errors, and disables it when there are errors. Thus we only allow
submission when the form has no errors, protecting domain model invariants.
Note also the guard triggers on the result of the evaluation of
business-tier rules associated with domain object properties that are
presentation independent; thus the same rules could be applied in a web-app
environment, for example. In a rich client, a guard implementation
typically has the responsibility of enabling/disabling the "OK", "Finish",
or "Apply" button on a form's dialog.
- A submit event (what we call a "finish" event) commits changes to the
backing domain layer, a cancel event triggers no action.
The API has changed a bit (to be expected); however, some of this change is
mitigated by existing framework superclasses.
Checkout the rc-petclinic sample for illustration of the new API. Here is a
quick peek:
The AbstractCommandEditor (framework class) - illustrated below is code to
set the backing form object.
// initialize the backing form object (domain object)
public void setCommand(Object command) {
if (commandHolder == null) {
// wrapping the command in a value holder allows clients to
subscribe to notifications when the value changes....this allows us to reuse
the same form model for different instances of the command object.
this.commandHolder = new ValueHolder(command);
} else {
this.commandHolder.set(command);
}
}
// OwnerGeneralPanel form subclass - illustrated below is code to create the
Form model for the backing domain object with an attached
ValidationListener. In this example, the listener implementation maintains
a message area pane to report errors messages, and acts as a guard for
controlling the enabled/disabled state of the dialog submit button.) Below
that is code to build the form controls against the form model, using a
FormBuilder:
protected JComponent createControl() {
FormLayout layout = new FormLayout("left:pref, 5dlu, pref:grow");
setFormModel(SwingFormModel.newForm(getCommandHolder(),
validationReporter));
BeanFormBuilder formBuilder = new
JGoodiesBeanFormBuilder(getFormModel(), layout);
formBuilder.add("firstName");
formBuilder.add("lastName");
return formBuilder.getForm();
}
The output is a basic form with two labels and two textfields, with
as-you-type validation enforcing the declarative rules associated with those
properties. The reporter automatically displays validation error messages
with zero code required (there is quite an sophisticated bit of logic going
on to generate error messages for you from the rule structures.) The
reporter also automatically enables the guarded control at the appropriate
times, again with zero coding required.
This design is a million times better than before, but we're not done yet!
As always, we very much value your feedback - from code / design review
critique to help flushing out new features that meet your requirements.
Keith
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...] On Behalf Of
Keith Donald
Sent: Wednesday, June 09, 2004 6:50 PM
To: spr...@li...
Subject: RE: [Springframework-rcp-dev] Change request for
InputApplicationDialog
Ben,
Great email, thanks. I think we're in agreement then! We want:
- As you type validation with real-time results reporting. Currently our
forms support rendering as-you-type results with configurable severity
levels on message panes (generally located in the title area of a dialog,
similar to eclipse-style dialogs). Obviously decorated JTextField
components would be a very nice enhancement.
- On validation, appropriate enforcement of "guards" that control the
enabled/disabled state of a form based on validation results. We support
this now through our Guarded interface, which the Guards interact with to
control state (see the Petclinic sample for an illustration.))
- A mediator for taking proposed property values and validating them against
a set of declarative (and potentially externalized) validation rules BEFORE
COMMITTING THEM TO THE UNDERLYING BEAN. These rules may need additional
context (for example, rules may vary based on use-case, some rules may
require validation against another property on the form.)
I completely agree we want a framework that makes it easy to write a domain
model that is rich in behavior and not one that consists of dumb-downed data
holders. It's nice to see that well articulated, thank you for that!
Keith
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...] On Behalf Of
Ben Alex
Sent: Wednesday, June 09, 2004 6:24 PM
To: spr...@li...
Subject: RE: [Springframework-rcp-dev] Change request for
InputApplicationDialog
> So with that said, the modes I think we need are:
>
> 1 - as you type validation with a real-time results reporting
> pane on the dialog, and binding occurring on submit only.
> The validation framework has to be able to handle proposed
> property changes and validate them against some context (at a
> minimum existing property of the bean, but we probably need
> to support other variables as well.)
>
> 2 - validation / binding occur together on submit only
>
> 3 - is as you type binding + validation (what we have now) an
> option we want? Or does the copy issue just rule it out completely?
>
> - anything else I missed?
On the as-you-type validation issue, why are we building rich GUIs? In my
case it's to provide end users with an extremely positive experience by
being as easy-to-use as possible, highly responsive and flexible enough to
support advanced features. As-you-type validation fits in very well with
this goal. When done right you can also decorate JTextFields etc with small
icons to indicate errors, warnings etc. If people would like to see an
excellent repository of validation styles for rich clients, visit
http://www.jgoodies.com/downloads/index.html and run the validation demo.
Whilst on the subject of bindings, JGoodies use a ValueModel approach. If
you speak German, check out http://www.jgoodies.com/articles/. If you would
an English overview, check out http://c2.com/ppr/vmodels.html for instance.
A few extra requirements we've found helpful in our Swing app:
- As-you-type validation should disable the OK and/or apply buttons until
the form is correct.
- OK and apply hook to a doApply() method. For our login use case we have a
SessionDetails JavaBean, which is fronted by a SessionDetailsModule. The
latter performs validation and provides ValueModels for the LoginDialog.
LoginDialog updates SessionDetailsModule. Upon clicking OK, the action
delegates to doApply(). If login is successful, the SessionDetailsModule has
its trigger channel fired. This writes the changes through to the
SessionDetails bean. If login failed, an appropriate error is displayed but
the trigger channel not fired. As such the user can chose to refine their
entry details, or click cancel. Note that an invalid object state never gets
to SessionDetails unless login is correct. This is especially desirable
because we have PropertyChangeListeners listening for updates to
SessionDetails properties so they can modify the displayed toolbar buttons,
pull down menus and views.
I think this whole acceptance of invalid object states stems from entity
bean days. Anemic domain objects (or any object that by design allows
invalid property states) breaks OO design principles. Use a ValueModel or
some mediator to prevent invalid objects from being created in the first
place. Thus you can take advantage of OO features, such as property
listeners.
Best regards
Ben
-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Springframework-rcp-dev mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-rcp-dev
-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Springframework-rcp-dev mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-rcp-dev
|
|
From: Rod J. <rod...@in...> - 2004-06-13 12:37:21
|
Tim I would like Spring to have Cayenne support, to go with our Hibernate, JDBC and JDO support. I haven't used it, but I have heard good things about it. We have a well-established template for supporting ORM solutions, demonstrated in our JDO and Hibernate support: - templates and interceptors that handle resource open/close - integration with Spring transaction management - support for JDBC operations in the same transaction if possible (it is with Hibernate and most JDO implementations) - translation from ORM-specific exceptions (like HibernateException) to our own DataAccessException hierarchy As no one in the core Spring team is a Cayenne expert (AFAIK) we hope that the Cayenne team could work within this consistent architectural approach to lead the necessary implementation, and donate the code (and support the integration). We would of course be very happy to help them with this. Rgds Rod ----- Original Message ----- From: "Tim Nolan" <kat...@ho...> To: <spr...@li...> Sent: Sunday, June 13, 2004 11:39 AM Subject: [Springframework-developer] Cayenne ORM Support > Anyone looking at adding support for this Cayenne ORM? Anyone used it on > a project? It seems to have a bit of a following. > > For product, see: > http://www.objectstyle.org/cayenne/ > > For brief comment on Spring support see: > http://objectstyle.org/cayenne/lists/cayenne-user/2004/06/0028.html > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |
|
From: Keith D. <kd...@cs...> - 2004-06-13 10:56:49
|
Juergen,
Basically what I need for rich-client is the ability to update the =
target
domain object for a form model instance (a form model being, in my case, =
a
buffered model mediating commits to the domain layer in response to user
interaction in the GUI.) When the replacement occurs, perhaps because =
the
GUI is reusing a commonly used form instance across multiple =
transactions,
the form needs to be notified of the change so it can notify the =
controls.
All this may be somewhat out of scope of the PropertyAccessor interface; =
in
fact, for now I just went ahead and defined a new interface that wraps a
BeanWrapper; see "AspectAccessStrategy", "MutableAspectAccessStrategy", =
and
"BeanPropertyAspectStrategy" in org.springframework.rules.values. =
However,
there is some overlap here. Maybe we should decide of that what of this =
is
worth integrating into the core.beans framework.
BTW - I've tested the pluggable "aspect" (where aspect=3Dproperty in =
this
case) access strategy need and it works quite nicely; currently the =
system
has implementations for standard bean property access (as I mentioned =
using
BeanWrapper under the covers) as well as my "FormModel" interface for
validating buffered (but not committed) form changes. What this allows =
me
to do is pass either strategy to the rules subsystem for validation, so
rules is agnostic to where the data to be validated comes from. It =
would be
quite simple to add a Map implementation, or some other access strategy.
Keith
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...] On Behalf =
Of
Rod Johnson
Sent: Sunday, June 13, 2004 3:42 AM
To: spr...@li...
Subject: Fw: [Springframework-developer] BeanWrapperImpl abstraction
Von: j=FCrgen h=F6ller [werk3AT]
Gesendet: Sa 12.06.2004 11:10
An: spr...@li...
Betreff: Re: [Springframework-developer] BeanWrapperImpl abstraction
Are you sure that you this is usefuly for any property access strategy? =
In
case of a Map-backed strategy, would simply set the Map as wrapped =
instance?
If this is what we want, I can of course move setWrappedInstance up to =
the
PropertyAccessor interface.
-----
BTW, I've committed quite important refinements of BeanWrapperImpl
yesterday - that took me about 6 hours to get right. The problem was: Is =
a
PropertyEditor meant to be applied to an array/Collection itself or to =
each
of its elements? A quite natural way to specify is the required type:
bw.registerCustomEditor(String[].class, "myArray", myEditor); // for =
the
array itself
bw.registerCustomEditor(String.class, "myArray", myEditor); // for =
each
element in the array
Unfortunately, that hasn't been checked before. No matter for what type, =
the
PropertyEditor was always applied in both cases: for the array itself =
and
for each element. That typically didn't show, as you usually either =
populate
individual array elements *or* the array as a whole. But if you used the
same BeanWrapper for both kinds of property population, you would get =
type
mismatches caused by the PropertyEditor!
So what I changed is that the required type specified on editor =
registration
is now kept and evaluated when findCustomEditor is invoked. Only if the =
type
matches, the editor will be applied. If there's no explicit type =
specified
(which is still possible), the editor will always apply - this is not
advisable for arrays or Collections, though.
All things considered, this is how it should have been in the first =
place:
The type as passed in on editor registration needs to be checked against =
the
actual required type, to avoid potential type mismatches in case of an
array/Collection.
The change should be completely backward-compatible. Only if you =
specified a
wrong type on registration (i.e. not the target type that the editor =
will
actually create), the stricter check will now show. As passing in such a
wrong type is a misuse of the API, this is even desirable, I guess.
Juergen
________________________________
Von: spr...@li... im Auftrag =
von
Keith Donald
Gesendet: Sa 12.06.2004 09:15
An: spr...@li...
Betreff: RE: [Springframework-developer] BeanWrapperImpl abstraction
Juergen,
Could you include setWrappedInstance(Object bean) in the =
PropertyAccessor
interface as well? I think it fits; it makes sense to me to be able to
change out the wrapped object for all property access strategies.
Keith
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...] On Behalf =
Of
j=FCrgen h=F6ller [werk3AT]
Sent: Wednesday, June 09, 2004 5:51 PM
To: spr...@li...
Subject: Re: [Springframework-developer] BeanWrapperImpl abstraction
I've just factored out all getPropertyValue and
setPropertyValue/setPropertyValues methods from BeanWrapper into a new
org.springframework.beans.PropertyAccessor base interface. If this is =
what
we agree on, I'm gonna commit it promptly. (A trivial change, actually: =
just
affects the BeanWrapper interface itself.)
Juergen
________________________________
Von: spr...@li... im Auftrag =
von
Rod Johnson
Gesendet: Mi 09.06.2004 20:29
An: spr...@li...
Betreff: Re: [Springframework-developer] BeanWrapperImpl abstraction
Something like:
public interface PropertyAccessor {
public Object getPropertyValue(String propertyName);
public void setPropertyValue(String propertyName, Object value);
// get/set multiple
}
>This would be useful for use within our bean binder framework to allow =
the
binders to be configured with different strategies for setting / =
receiving
properties.
+1
Rod
-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Tim N. <kat...@ho...> - 2004-06-13 10:39:38
|
Anyone looking at adding support for this Cayenne ORM? Anyone used it on a project? It seems to have a bit of a following. For product, see: http://www.objectstyle.org/cayenne/ For brief comment on Spring support see: http://objectstyle.org/cayenne/lists/cayenne-user/2004/06/0028.html |
|
From: Rod J. <rod...@in...> - 2004-06-13 07:48:39
|
Von: j=FCrgen h=F6ller [werk3AT] Gesendet: Sa 12.06.2004 23:50 An: spr...@li... Betreff: Re: [Springframework-developer] Real OpenSessionInView (only in view) The Hibernate session will always get discarded properly, even when exceptions get thrown during view rendering. If that doesn't happen in an= y case, it's a bug in either Spring's interceptor/filter implementations (o= r the servlet container's handling of filters, in case of OpenSessionInViewFilter). Juergen ________________________________ Von: spr...@li... im Auftrag von James Cook Gesendet: Sa 12.06.2004 22:42 An: spr...@li... Betreff: RE: [Springframework-developer] Real OpenSessionInView (only in view) Daniel, Is there a document somewhere that summarizes this behavior in Hibernate? I'm trying to understand what the drawbacks to open session in view are. = I don't understand the point you make about the session not being discarded [closed properly?]. > -----Original Message----- > Of Daniel Miller > > Hello, > > One of the current critiques of the OpenSessionInViewFilter/Interceptor > that > ships with Spring is that a Hibernate session is open for the entire > duration of the request (not just during the rendering of the view). Th= e > danger here is that a failed session (due to DataAccessException) will = not > be discarded. ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rod J. <rod...@in...> - 2004-06-13 07:47:47
|
Von: j=FCrgen h=F6ller [werk3AT]
Gesendet: Sa 12.06.2004 11:10
An: spr...@li...
Betreff: Re: [Springframework-developer] BeanWrapperImpl abstraction
Are you sure that you this is usefuly for any property access strategy? I=
n
case of a Map-backed strategy, would simply set the Map as wrapped instan=
ce?
If this is what we want, I can of course move setWrappedInstance up to th=
e
PropertyAccessor interface.
-----
BTW, I've committed quite important refinements of BeanWrapperImpl
yesterday - that took me about 6 hours to get right. The problem was: Is =
a
PropertyEditor meant to be applied to an array/Collection itself or to ea=
ch
of its elements? A quite natural way to specify is the required type:
bw.registerCustomEditor(String[].class, "myArray", myEditor); // for t=
he
array itself
bw.registerCustomEditor(String.class, "myArray", myEditor); // for eac=
h
element in the array
Unfortunately, that hasn't been checked before. No matter for what type, =
the
PropertyEditor was always applied in both cases: for the array itself and
for each element. That typically didn't show, as you usually either popul=
ate
individual array elements *or* the array as a whole. But if you used the
same BeanWrapper for both kinds of property population, you would get typ=
e
mismatches caused by the PropertyEditor!
So what I changed is that the required type specified on editor registrat=
ion
is now kept and evaluated when findCustomEditor is invoked. Only if the t=
ype
matches, the editor will be applied. If there's no explicit type specifie=
d
(which is still possible), the editor will always apply - this is not
advisable for arrays or Collections, though.
All things considered, this is how it should have been in the first place=
:
The type as passed in on editor registration needs to be checked against =
the
actual required type, to avoid potential type mismatches in case of an
array/Collection.
The change should be completely backward-compatible. Only if you specifie=
d a
wrong type on registration (i.e. not the target type that the editor will
actually create), the stricter check will now show. As passing in such a
wrong type is a misuse of the API, this is even desirable, I guess.
Juergen
________________________________
Von: spr...@li... im Auftrag von
Keith Donald
Gesendet: Sa 12.06.2004 09:15
An: spr...@li...
Betreff: RE: [Springframework-developer] BeanWrapperImpl abstraction
Juergen,
Could you include setWrappedInstance(Object bean) in the PropertyAccessor
interface as well? I think it fits; it makes sense to me to be able to
change out the wrapped object for all property access strategies.
Keith
-----Original Message-----
From: spr...@li...
[mailto:spr...@li...] On Behalf =
Of
j=FCrgen h=F6ller [werk3AT]
Sent: Wednesday, June 09, 2004 5:51 PM
To: spr...@li...
Subject: Re: [Springframework-developer] BeanWrapperImpl abstraction
I've just factored out all getPropertyValue and
setPropertyValue/setPropertyValues methods from BeanWrapper into a new
org.springframework.beans.PropertyAccessor base interface. If this is wha=
t
we agree on, I'm gonna commit it promptly. (A trivial change, actually: j=
ust
affects the BeanWrapper interface itself.)
Juergen
________________________________
Von: spr...@li... im Auftrag von
Rod Johnson
Gesendet: Mi 09.06.2004 20:29
An: spr...@li...
Betreff: Re: [Springframework-developer] BeanWrapperImpl abstraction
Something like:
public interface PropertyAccessor {
public Object getPropertyValue(String propertyName);
public void setPropertyValue(String propertyName, Object value);
// get/set multiple
}
>This would be useful for use within our bean binder framework to allow t=
he
binders to be configured with different strategies for setting / receivin=
g
properties.
+1
Rod
-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Daniel M. <mi...@pa...> - 2004-06-13 00:26:03
|
James, I don't know of any documents that summarize this behavior. There have been several discussions of this on the mailing lists though. I guess I should have elaborated on that part a bit more in my previous post. Keep in mind that a single session is opened at the beginning of the request, and that session is used by all data access methods throughout the request. Now if an DataAccessException occurs during the controller processing, normally the transaction would be rolled back and the session discarded immediately. Subsequent data access methods would not continue to use the session in which the exception occurred, they would create a new session. However, with the OpenSessionInView pattern the same session continues to be used for all data access methods including lazy loading during view rendering--the session is not closed until after the view is rendered. With the new implementation that I talked about, the controller logic can use and discard sessions as needed. A separate session is created for the view and any objects that need to use that session (e.g. for lazy loading) will be bound to it before the view is rendered. ~ Daniel -----Original Message----- From: spr...@li... [mailto:spr...@li...]On Behalf Of James Cook Sent: Saturday, June 12, 2004 4:43 PM To: spr...@li... Subject: RE: [Springframework-developer] Real OpenSessionInView (only in view) Daniel, Is there a document somewhere that summarizes this behavior in Hibernate? I'm trying to understand what the drawbacks to open session in view are. I don't understand the point you make about the session not being discarded [closed properly?]. > -----Original Message----- > Of Daniel Miller > > Hello, > > One of the current critiques of the OpenSessionInViewFilter/Interceptor > that > ships with Spring is that a Hibernate session is open for the entire > duration of the request (not just during the rendering of the view). The > danger here is that a failed session (due to DataAccessException) will not > be discarded. ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. >From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: James C. <jim...@do...> - 2004-06-12 20:44:07
|
Daniel, Is there a document somewhere that summarizes this behavior in Hibernate? I'm trying to understand what the drawbacks to open session in view are. I don't understand the point you make about the session not being discarded [closed properly?]. > -----Original Message----- > Of Daniel Miller > > Hello, > > One of the current critiques of the OpenSessionInViewFilter/Interceptor > that > ships with Spring is that a Hibernate session is open for the entire > duration of the request (not just during the rendering of the view). The > danger here is that a failed session (due to DataAccessException) will not > be discarded. |
|
From: Rod J. <rod...@in...> - 2004-06-12 17:30:17
|
From Juergen, who's still having problem sending: >We need to clarify the status of the cglib-2.0.1.jar as soon as possible. Maybe rename it to cglib-2.0.2-dev.jar for the time being, as suggested. It is a must that the CGLIB guys release an official cglib-2.0.2.jar by the end of June, in time for Spring 1.0.3! Juergen My own comment: I've already asked Rob Harrop to raise the issue of a 2.0.2 release urgently with Chris. Depending on the CGLIB team's response, let's see whether we need a rename in the meantime. Rod |