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: <jue...@we...> - 2004-02-14 18:21:46
|
Agreed, the RC1 API should be considered as final as possible. However, = the BeanFactoryLocator was a brand-new RC1 feature, added pretty much = last minute there, so I guess it's arguable to refine this for 1.0 final = - particularly if it just affects advanced users that diverge from the = default EJB support configuration. =20 From my point of view, I'm as happy as can be with the current state of = the framework. What I would like to see included in 1.0 final = nevertheless is (backward-compatible) support for more exception = categories in the SQLException translator, as suggested by Thomas, and = possibly a convenient option to set a transaction rollback-only no = matter if driven by declarative or programmatic demarcation, as = suggested by Colin and Alef. =20 BTW, I'll send a mail regarding the Spring roadmap shortly. =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: Sa 14.02.2004 18:42 An: spr...@li... Betreff: Re: [Springframework-developer] Revised BeanFactoryLocator and = EJB support classes I agree with these changes, but I think we should try to avoid API = changes in general from now to 1.0 final. With RC1 we are committing to a final = API. Also, I'd rather we don't have enough changes that we need an RC2. Regards, Rod ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Saturday, February 14, 2004 5:22 PM Subject: [Springframework-developer] Revised BeanFactoryLocator and EJB support classes Colin, Rod, everyone, I revised the BeanFactoryLocator and EJB support classes yesterday, = mainly to align the naming of the implementation classes with Spring's general naming patterns. For example, the ApplicationContext-specific classes = are now called "ContextJndiBeanFactoryLocator" and "ContextSingletonBeanFactoryLocator". I've also factored out the BeanFactoryReference implementations for newly created BeanFactories = into separate classes, making them invoke "ConfigurableBeanFactory.destroySingletons" respectively "ConfigurableApplicationContext.close" on release. I've adapted the EJB support classes accordingly and, on the occasion, = moved the logger instance variable from AbstractEnterpriseBean to AbstractStatelessSessionBean and AbstractMessageDriverBean. Someone complained on the mailing list a while ago that removing and setting the logger instance for SFSBs is a nuisance, and I agree - the subclass = should hold its own *static* logger instance there. Of course, this doesn't = apply to SLSBs and MDBs, thus the change. I've also noted that AbstractEnterpriseBean's "ejbRemove" implementation = did *not* invoke BeanFactoryLocator.release; is there any rationale for = this? For the time being, I've made it invoke release, as I consider it = important to destroy resource singletons like a local SessionFactory or PersistenceManager on BeanFactory respectively ApplicationContext = shutdown. I hope you don't mind the name changes. My goal is to keep class and = method naming as consistent as possible within the Spring codebase; something = many other open source projects to not respect at all. Juergen ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rod J. <rod...@in...> - 2004-02-14 17:45:40
|
I agree with these changes, but I think we should try to avoid API change= s in general from now to 1.0 final. With RC1 we are committing to a final A= PI. Also, I'd rather we don't have enough changes that we need an RC2. Regards, Rod ----- Original Message ----- From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...> To: <spr...@li...> Sent: Saturday, February 14, 2004 5:22 PM Subject: [Springframework-developer] Revised BeanFactoryLocator and EJB support classes Colin, Rod, everyone, I revised the BeanFactoryLocator and EJB support classes yesterday, mainl= y to align the naming of the implementation classes with Spring's general naming patterns. For example, the ApplicationContext-specific classes are now called "ContextJndiBeanFactoryLocator" and "ContextSingletonBeanFactoryLocator". I've also factored out the BeanFactoryReference implementations for newly created BeanFactories into separate classes, making them invoke "ConfigurableBeanFactory.destroySingletons" respectively "ConfigurableApplicationContext.close" on release. I've adapted the EJB support classes accordingly and, on the occasion, mo= ved the logger instance variable from AbstractEnterpriseBean to AbstractStatelessSessionBean and AbstractMessageDriverBean. Someone complained on the mailing list a while ago that removing and setting the logger instance for SFSBs is a nuisance, and I agree - the subclass shoul= d hold its own *static* logger instance there. Of course, this doesn't appl= y to SLSBs and MDBs, thus the change. I've also noted that AbstractEnterpriseBean's "ejbRemove" implementation = did *not* invoke BeanFactoryLocator.release; is there any rationale for this? For the time being, I've made it invoke release, as I consider it importa= nt to destroy resource singletons like a local SessionFactory or PersistenceManager on BeanFactory respectively ApplicationContext shutdow= n. I hope you don't mind the name changes. My goal is to keep class and meth= od naming as consistent as possible within the Spring codebase; something ma= ny other open source projects to not respect at all. Juergen ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <jue...@we...> - 2004-02-14 17:24:59
|
Colin, Rod, everyone, =20 I revised the BeanFactoryLocator and EJB support classes yesterday, = mainly to align the naming of the implementation classes with Spring's = general naming patterns. For example, the ApplicationContext-specific = classes are now called "ContextJndiBeanFactoryLocator" and = "ContextSingletonBeanFactoryLocator". I've also factored out the = BeanFactoryReference implementations for newly created BeanFactories = into separate classes, making them invoke = "ConfigurableBeanFactory.destroySingletons" respectively = "ConfigurableApplicationContext.close" on release. =20 I've adapted the EJB support classes accordingly and, on the occasion, = moved the logger instance variable from AbstractEnterpriseBean to = AbstractStatelessSessionBean and AbstractMessageDriverBean. Someone = complained on the mailing list a while ago that removing and setting the = logger instance for SFSBs is a nuisance, and I agree - the subclass = should hold its own *static* logger instance there. Of course, this = doesn't apply to SLSBs and MDBs, thus the change. =20 I've also noted that AbstractEnterpriseBean's "ejbRemove" implementation = did *not* invoke BeanFactoryLocator.release; is there any rationale for = this? For the time being, I've made it invoke release, as I consider it = important to destroy resource singletons like a local SessionFactory or = PersistenceManager on BeanFactory respectively ApplicationContext = shutdown. =20 I hope you don't mind the name changes. My goal is to keep class and = method naming as consistent as possible within the Spring codebase; = something many other open source projects to not respect at all. =20 Juergen =20 |
|
From: <jue...@we...> - 2004-02-14 16:35:20
|
Everyone, =20 I've recently exchanged private emails with Scott Ferguson from Caucho. = He is willing to provide a set of up-to-date Hessian/Burlap standalone = distributions (hopefully in time for Spring 1.0 final), and also to link = to Spring from the Hessian/Burlap pages on the Caucho website. =20 In turn, let's link to the Hessian (http://www.caucho.com/hessian) and = Burlap (http://www.caucho.com/burlap) websites from the Spring home = page. Unfortunately, there aren't any dedicated Hessian/Burlap logos = yet, so we'll need to use the standard Caucho logo but link specifically = to the Hessian and Burlap pages. =20 Thomas, can you add those links, please? It's not really urgent, so no = need to hurry :-) =20 Juergen =20 |
|
From: <jue...@we...> - 2004-02-14 16:28:06
|
Thomas, if we want to include this in 1.0 final, please add these =
exception categories promptly. It represents a minor enhancement; =
therefore I don't mind it as a last minute addition as long as there are =
no further framework changes necessary.
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag =
von tri...@tr...
Gesendet: Mi 11.02.2004 18:25
An: spr...@li...
Cc: spr...@li...
Betreff: [Springframework-developer] Re: [Springframework-user] Mapping =
Exceptions with sql-error-codes.xm l
This has come up a couple of times, but we have never really committed =
to adding
additional exception categories.
We are currently supporting translation to:
DataIntegrityViolationException
BadSqlGrammarException
=20
=20
Suggested categories to add (from my recollection):
DataRetrievalFailureException
OptimisticLockingFailureException
DataAccessResourceFailureException
Do we want to add some additional categories to the
SQLErrorCodeSQLExceptionTranslator?=20
If we do, we could keep it backwards compatible by making these =
additional
categories optional based on entries in sql-error-codes.xml.
If we decide to add this, when would be a good time considering RC1 =
being
released any minute?
Thomas
Quoting Meier Martin <mar...@el...>:
> Hi,
>=20
> I tried to map a stale connection error code to a
> DataAccessResourceFailureException, but this did not work:
>=20
> <bean id=3D"Oracle" =
class=3D"org.springframework.jdbc.support.SQLErrorCodes">
> <property
> =
name=3D"badSqlGrammarCodes"><value>900,903,904,917,936,942,17006</value><=
/prop
> erty>
> <property
> =
name=3D"dataIntegrityViolationCodes"><value>1,1400,1722,2291</value></pro=
perty
> >
> <property
> =
name=3D"dataIntegrityViolationCodes"><value>1,1400,1722,2291</value></pro=
perty
> >
> <property
> =
name=3D"dataAccessResourceFailureCodes"><value>17002</value></property>
> </bean>
>=20
> As I saw in the class SQLErrorCodes only the methods
> setBadSqlGrammerCodes(...) and setDataIntegrityViolationCodes(...) are
> supported. How is it possible to map an error code to a
> dataAccessResourceFailureException with the sql-error-codes.xml?
>=20
> Cheers
> -Martin
>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: <wi...@ly...> - 2004-02-14 01:39:45
|
I recently started using the web framework portion of Spring. One
concept in particular has bitten me a couple of times and I have been
unable to determine a best practice. The concept is how
SimpleFormHandler has a different workflow based on whether it is a get
request versus a post request. This concept seemed very intuitive and
works fine if the post goes off to a result page. However, below is a
scenario that I believe is quite common and SimpleFormHandler doesn't
seem to deal with it very elegantly. The problem arises when a page
displays both a form and the results of a form post on the same page.
Scenario:
There is item search page with a item search form on the top and a
tabular view of the item search results below the search page.
Example Controller:
public class ItemSearchController extends SimpleFormController {
private ItemManager manager;
public void setSearchManager(ItemManager manager) {
this.manager = manager;
}
protected Map referenceData(HttpServletRequest request) throws
Exception {
Map map = new HashMap();
map.put( "itemTypes", manager.getItemTypes() );
return map;
}
protected ModelAndView onSubmit(Object object) throws Exception {
Item command = (Item)object;
return new ModelAndView( getSuccessView(), "items",
manager.findItemsByExample( command ));
}
}
So, I request the page via /searchItem.htm which maps
ItemSearchController. The "get" workflow works as usual --
referenceData gets called and the page displays fine. The user submits
a search criteria which then goes through "post" workflow and onSubmit
gets called which returns a list of items via ModelAndView. The
successView now needs to return to the same page and this time the
results will be displayed below the form.
However,
1. If I forward back to /searchItem.htm, then I end up in an
infinite loop because the controller keeps processing it as a post.
2. If I forward on to the jsp that displayed the form originally, I
will not go through the same workflow as when the page was first loaded
and referenceData won't get called. Not too mention that I'll get an
binding errors missing exception -- I saw that RC1 tried to address
this, but only if you don't override onsubmit.
So, I decided to solve the problem with option 1 and cause the form to
realize that the post had already been handled and it must be a "get"
request being caused by a forward. The main reason for this is that the
get workflow gets used when entering the page each. To fix it, I
overrode isFormSubmission and set an attribute when a formSubmission was
recognized. If this attribute already exists, it assumes that it is a
get request instead.
Example:
protected boolean isFormSubmission(HttpServletRequest httpServletRequest) {
Object alreadySubmitted = httpServletRequest.getAttribute(
"formSubmission");
if (alreadySubmitted != null) {
return false;
}
boolean formSubmission = super.isFormSubmission(httpServletRequest);
if( formSubmission ) {
httpServletRequest.setAttribute( "formSubmission",
Boolean.TRUE );
}
return formSubmission;
}
I am a surprised that SimpleFormController doesn't deal with this
scenario since it is so common or maybe I am missing something and it
does. With the above code you can switch out the success view to go to
a seperate result page later by just changing the IOC configuration.
Basically, your controller doesn't really need to know that the results
page is the same view as the form view.
I am very curious on how others are dealing with this scenario and if
Spring deals with it and I have just overlooked it.
Keep up the good work,
Bill Lyvers
|
|
From: Arto P. <art...@of...> - 2004-02-13 13:20:32
|
Hi How you define list type property in beanfactory property file? I am making springframework xdoclet module, and it's quite hard to define list's with tags, which are easy to define in xml file. Like following: <property name="test"> <list> <list> <ref bean="test1"/> <ref bean="test2"/> <list> <value>test1</value> <value>test2</value> </list> </list> <value>test1</value> <value>test2</value> </list> </property> |
|
From: <sk...@fe...> - 2004-02-12 17:00:03
|
I don't see any reliance on AOP alliance interfaces in this framework. If I recall Bob was part of that group. I'm not a member of the AOP alliance list but I see that it's been a little stagnant release wise for awhile. What gives? Sean Kroah |---------+-----------------------------------------------------> | | Colin Sampaleanu <col...@ex...> | | | Sent by: | | | spr...@li...| | | ceforge.net | | | | | | | | | 02/11/2004 11:22 PM | | | Please respond to | | | springframework-developer | | | | |---------+-----------------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: spr...@li... | | cc: | | Subject: [Springframework-developer] Dynaop | >----------------------------------------------------------------------------------------------| Pretty decent new AOP framework from Bob Lee: http://crazybob.org/dynaop/1.0-beta/manual/index.html http://crazybob.org/dynaop/1.0-beta/javadoc/index.html https://dynaop.dev.java.net/ One interesting twist is that BeanShell is used to configure it... ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <jue...@we...> - 2004-02-12 15:30:52
|
You mean the current version from Commons Attributes CVS? We plan to =
update to the current Commons Attributes snapshot for RC2; an official =
CA release would be preferable, but I guess we won't get that in time.
=20
BTW, I tried to update to a current Commons Attributes snapshot already =
for RC1, but our test suite failed then. Might be some minor semantic =
change in the CA API or compiler; I haven't had the time to figure this =
out.
=20
Juergen
=20
-----Original Message-----
From: spr...@li... =
[mailto:spr...@li...]On Behalf =
Of Cameron Braid
Sent: Thursday, February 12, 2004 3:27 PM
To: spr...@li...
Subject: RE: [Springframework-developer] Attributes - any alternative =
for commons-attributes ?
Well.. I managed to get jakarta-commons-attributes to work by using the =
CVS version.
=20
Would it be possible to upgrade spring to use this by default ?
The version number of the jar that the cvs version builds is =
commons-attributes-compiler-2.0alpha.jar
=20
On a side note, I wish to use a =
org.springframework.transaction.interceptor.NameMatchTransactionAttribute=
Source as the default attribute source, allowing me to specify something =
like :
=20
<bean id=3D"matchMethodNamePattern" =
class=3D"org.springframework.transaction.interceptor.NameMatchTransaction=
AttributeSource">
<property name=3D"properties">
<props>
<!-- read only methods -->
<prop key=3D"list*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key=3D"find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key=3D"get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key=3D"load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key=3D"read*">PROPAGATION_REQUIRED,readOnly</prop>
<!-- the default is transactional (least specific, match =
everything) -->
<prop key=3D"*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
Then, I wish to use a commons attributes attribute source to override =
these defaults.
=20
How would I achieve this.
=20
I saw the jpetstore attribuites sample, using :
=20
<bean id=3D"transactionAttributeSource"
=
class=3D"org.springframework.transaction.interceptor.AttributesTransactio=
nAttributeSource"
autowire=3D"constructor">
</bean>
<bean id=3D"attributes" =
class=3D"org.springframework.metadata.commons.CommonsAttributes"/>
=20
but I can't work out how to 'nest' attribute sources as seems to be =
possible as described at=20
=20
http://www.springframework.org/docs/api/org/springframework/metadata/Attr=
ibutes.html
"...as it allows for hierarchical attribute sources..."
=20
Thanks,
=20
Cameron.
=20
_____ =20
From: spr...@li... =
[mailto:spr...@li...] On Behalf =
Of Cameron Braid
Sent: Thursday, 12 February 2004 10:52 PM
To: spr...@li...
Subject: [Springframework-developer] Attributes - any alternative for =
commons-attributes ?
I am trying to use commons-attributes to create transactional attributes =
for some beans.
=20
I can't seem to get the commons-attributes compiler to work .. it =
doesn't like my source code, see stack trace below.
=20
Before I dive into the source code for commons-attributes, I would like =
to ask if there are plans to support another metadata system.
=20
If there aren't plans, can you recommend another metadata system that I =
could investigate implementing myself.
=20
I have had a look at=20
* attrib4j - it modifies the classes, which makes using eclipse a =
pain.
* nanning attributes may work, though they don't offer instance based =
attributes ( only strings as far as I can see)
* I am currently trying qdox attributes, but the jar they provide =
doesn't have the right classes.. I am trying a source build.
=20
stacktrace :
compile.attributes:
[attribute-compiler] java.lang.StringIndexOutOfBoundsException: String =
index out of range: 0
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeC=
ompiler.java:455)
[attribute-compiler] at =
xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[attribute-compiler] at =
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[attribute-compiler] at =
org.apache.tools.ant.Task.perform(Task.java:319)
[attribute-compiler] at =
org.apache.tools.ant.Target.execute(Target.java:309)
[attribute-compiler] at =
org.apache.tools.ant.Target.performTasks(Target.java:336)
[attribute-compiler] at =
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[attribute-compiler] at =
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[attribute-compiler] at =
org.apache.tools.ant.Main.runBuild(Main.java:610)
[attribute-compiler] at =
org.apache.tools.ant.Main.start(Main.java:196)
[attribute-compiler] at org.apache.tools.ant.Main.main(Main.java:235)
[attribute-compiler] Caused by: =
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
[attribute-compiler] at java.lang.String.charAt(String.java:444)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.isAttribute(Attr=
ibuteCompiler.java:439)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.tagHasAttributes=
(AttributeCompiler.java:464)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.elementHasAttrib=
utes(AttributeCompiler.java:206)
=20
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.hasAttributes(At=
tributeCompiler.java:420)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.generateClass(At=
tributeCompiler.java:257)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeC=
ompiler.java:452)
[attribute-compiler] ... 10 more
[attribute-compiler] --- Nested Exception ---
[attribute-compiler] java.lang.StringIndexOutOfBoundsException: String =
index out of range: 0
[attribute-compiler] at java.lang.String.charAt(String.java:444)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.isAttribute(Attr=
ibuteCompiler.java:439)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.tagHasAttributes=
(AttributeCompiler.java:464)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.elementHasAttrib=
utes(AttributeCompiler.java:206)
=20
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.hasAttributes(At=
tributeCompiler.java:420)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.generateClass(At=
tributeCompiler.java:257)
[attribute-compiler] at =
org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeC=
ompiler.java:452)
[attribute-compiler] at =
xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[attribute-compiler] at =
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[attribute-compiler] at =
org.apache.tools.ant.Task.perform(Task.java:319)
[attribute-compiler] at =
org.apache.tools.ant.Target.execute(Target.java:309)
[attribute-compiler] at =
org.apache.tools.ant.Target.performTasks(Target.java:336)
[attribute-compiler] at =
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[attribute-compiler] at =
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[attribute-compiler] at =
org.apache.tools.ant.Main.runBuild(Main.java:610)
[attribute-compiler] at =
org.apache.tools.ant.Main.start(Main.java:196)
[attribute-compiler] at org.apache.tools.ant.Main.main(Main.java:235)
[attribute-compiler] WARNING: Some classes refer to other classes that =
were not found among the sources or on the classpath.
[attribute-compiler] (Perhaps the referred class doesn't exist? =
Hasn't been generated yet?)
[attribute-compiler] The referring classes do not import any =
fully qualified classes matching these classes.
[attribute-compiler] Since at least one package is imported, it =
is impossible for xjavadoc to figure out
[attribute-compiler] what package the referred classes belong =
to. The classes are:
=20
|
|
From: Alef A. <al...@jt...> - 2004-02-12 14:54:20
|
Thomas, I've temporarily put a zip file in the downloads folder on the Spring webserver. It's meant to be downloaded be someone responsible for uploading stuff to ibiblio. Just so you know. Alef == JTeam B.V. Donker Curtiusstraat 7-412 1051 JL Amsterdam T: +31 20 486 20 36 M: +31 6 24 11 1996 F: +31 84 837 00 00 E: al...@jt... W: http://www.jteam.nl |
|
From: William L. <wi...@ly...> - 2004-02-12 14:50:09
|
confirm 722607 |
|
From: Cameron B. <ca...@da...> - 2004-02-12 14:28:33
|
Well.. I managed to get jakarta-commons-attributes to work by using the CVS
version.
Would it be possible to upgrade spring to use this by default ?
The version number of the jar that the cvs version builds is
commons-attributes-compiler-2.0alpha.jar
On a side note, I wish to use a
org.springframework.transaction.interceptor.NameMatchTransactionAttributeSou
rce as the default attribute source, allowing me to specify something like :
<bean id="matchMethodNamePattern"
class="org.springframework.transaction.interceptor.NameMatchTransactionAttri
buteSource">
<property name="properties">
<props>
<!-- read only methods -->
<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="read*">PROPAGATION_REQUIRED,readOnly</prop>
<!-- the default is transactional (least specific, match
everything) -->
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
Then, I wish to use a commons attributes attribute source to override these
defaults.
How would I achieve this.
I saw the jpetstore attribuites sample, using :
<bean id="transactionAttributeSource"
class="org.springframework.transaction.interceptor.AttributesTransactionAttr
ibuteSource"
autowire="constructor">
</bean>
<bean id="attributes"
class="org.springframework.metadata.commons.CommonsAttributes"/>
but I can't work out how to 'nest' attribute sources as seems to be possible
as described at
http://www.springframework.org/docs/api/org/springframework/metadata/Attribu
tes.html
"...as it allows for hierarchical attribute sources..."
Thanks,
Cameron.
_____
From: spr...@li...
[mailto:spr...@li...] On Behalf Of
Cameron Braid
Sent: Thursday, 12 February 2004 10:52 PM
To: spr...@li...
Subject: [Springframework-developer] Attributes - any alternative for
commons-attributes ?
I am trying to use commons-attributes to create transactional attributes for
some beans.
I can't seem to get the commons-attributes compiler to work .. it doesn't
like my source code, see stack trace below.
Before I dive into the source code for commons-attributes, I would like to
ask if there are plans to support another metadata system.
If there aren't plans, can you recommend another metadata system that I
could investigate implementing myself.
I have had a look at
* attrib4j - it modifies the classes, which makes using eclipse a pain.
* nanning attributes may work, though they don't offer instance based
attributes ( only strings as far as I can see)
* I am currently trying qdox attributes, but the jar they provide doesn't
have the right classes.. I am trying a source build.
stacktrace :
compile.attributes:
[attribute-compiler] java.lang.StringIndexOutOfBoundsException: String index
out of range: 0
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeComp
iler.java:455)
[attribute-compiler] at
xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[attribute-compiler] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[attribute-compiler] at org.apache.tools.ant.Task.perform(Task.java:319)
[attribute-compiler] at
org.apache.tools.ant.Target.execute(Target.java:309)
[attribute-compiler] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[attribute-compiler] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[attribute-compiler] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[attribute-compiler] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[attribute-compiler] at org.apache.tools.ant.Main.start(Main.java:196)
[attribute-compiler] at org.apache.tools.ant.Main.main(Main.java:235)
[attribute-compiler] Caused by: java.lang.StringIndexOutOfBoundsException:
String index out of range: 0
[attribute-compiler] at java.lang.String.charAt(String.java:444)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.isAttribute(Attribu
teCompiler.java:439)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.tagHasAttributes(At
tributeCompiler.java:464)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.elementHasAttribute
s(AttributeCompiler.java:206)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.hasAttributes(Attri
buteCompiler.java:420)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.generateClass(Attri
buteCompiler.java:257)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeComp
iler.java:452)
[attribute-compiler] ... 10 more
[attribute-compiler] --- Nested Exception ---
[attribute-compiler] java.lang.StringIndexOutOfBoundsException: String index
out of range: 0
[attribute-compiler] at java.lang.String.charAt(String.java:444)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.isAttribute(Attribu
teCompiler.java:439)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.tagHasAttributes(At
tributeCompiler.java:464)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.elementHasAttribute
s(AttributeCompiler.java:206)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.hasAttributes(Attri
buteCompiler.java:420)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.generateClass(Attri
buteCompiler.java:257)
[attribute-compiler] at
org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeComp
iler.java:452)
[attribute-compiler] at
xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[attribute-compiler] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[attribute-compiler] at org.apache.tools.ant.Task.perform(Task.java:319)
[attribute-compiler] at
org.apache.tools.ant.Target.execute(Target.java:309)
[attribute-compiler] at
org.apache.tools.ant.Target.performTasks(Target.java:336)
[attribute-compiler] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[attribute-compiler] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[attribute-compiler] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[attribute-compiler] at org.apache.tools.ant.Main.start(Main.java:196)
[attribute-compiler] at org.apache.tools.ant.Main.main(Main.java:235)
[attribute-compiler] WARNING: Some classes refer to other classes that were
not found among the sources or on the classpath.
[attribute-compiler] (Perhaps the referred class doesn't exist?
Hasn't been generated yet?)
[attribute-compiler] The referring classes do not import any fully
qualified classes matching these classes.
[attribute-compiler] Since at least one package is imported, it is
impossible for xjavadoc to figure out
[attribute-compiler] what package the referred classes belong to.
The classes are:
|
|
From: Cameron B. <ca...@da...> - 2004-02-12 12:53:54
|
I am trying to use commons-attributes to create transactional attributes for some beans. I can't seem to get the commons-attributes compiler to work .. it doesn't like my source code, see stack trace below. Before I dive into the source code for commons-attributes, I would like to ask if there are plans to support another metadata system. If there aren't plans, can you recommend another metadata system that I could investigate implementing myself. I have had a look at * attrib4j - it modifies the classes, which makes using eclipse a pain. * nanning attributes may work, though they don't offer instance based attributes ( only strings as far as I can see) * I am currently trying qdox attributes, but the jar they provide doesn't have the right classes.. I am trying a source build. stacktrace : compile.attributes: [attribute-compiler] java.lang.StringIndexOutOfBoundsException: String index out of range: 0 [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeComp iler.java:455) [attribute-compiler] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96) [attribute-compiler] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166) [attribute-compiler] at org.apache.tools.ant.Task.perform(Task.java:319) [attribute-compiler] at org.apache.tools.ant.Target.execute(Target.java:309) [attribute-compiler] at org.apache.tools.ant.Target.performTasks(Target.java:336) [attribute-compiler] at org.apache.tools.ant.Project.executeTarget(Project.java:1306) [attribute-compiler] at org.apache.tools.ant.Project.executeTargets(Project.java:1250) [attribute-compiler] at org.apache.tools.ant.Main.runBuild(Main.java:610) [attribute-compiler] at org.apache.tools.ant.Main.start(Main.java:196) [attribute-compiler] at org.apache.tools.ant.Main.main(Main.java:235) [attribute-compiler] Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 [attribute-compiler] at java.lang.String.charAt(String.java:444) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.isAttribute(Attribu teCompiler.java:439) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.tagHasAttributes(At tributeCompiler.java:464) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.elementHasAttribute s(AttributeCompiler.java:206) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.hasAttributes(Attri buteCompiler.java:420) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.generateClass(Attri buteCompiler.java:257) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeComp iler.java:452) [attribute-compiler] ... 10 more [attribute-compiler] --- Nested Exception --- [attribute-compiler] java.lang.StringIndexOutOfBoundsException: String index out of range: 0 [attribute-compiler] at java.lang.String.charAt(String.java:444) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.isAttribute(Attribu teCompiler.java:439) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.tagHasAttributes(At tributeCompiler.java:464) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.elementHasAttribute s(AttributeCompiler.java:206) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.hasAttributes(Attri buteCompiler.java:420) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.generateClass(Attri buteCompiler.java:257) [attribute-compiler] at org.apache.commons.attributes.compiler.AttributeCompiler.start(AttributeComp iler.java:452) [attribute-compiler] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96) [attribute-compiler] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166) [attribute-compiler] at org.apache.tools.ant.Task.perform(Task.java:319) [attribute-compiler] at org.apache.tools.ant.Target.execute(Target.java:309) [attribute-compiler] at org.apache.tools.ant.Target.performTasks(Target.java:336) [attribute-compiler] at org.apache.tools.ant.Project.executeTarget(Project.java:1306) [attribute-compiler] at org.apache.tools.ant.Project.executeTargets(Project.java:1250) [attribute-compiler] at org.apache.tools.ant.Main.runBuild(Main.java:610) [attribute-compiler] at org.apache.tools.ant.Main.start(Main.java:196) [attribute-compiler] at org.apache.tools.ant.Main.main(Main.java:235) [attribute-compiler] WARNING: Some classes refer to other classes that were not found among the sources or on the classpath. [attribute-compiler] (Perhaps the referred class doesn't exist? Hasn't been generated yet?) [attribute-compiler] The referring classes do not import any fully qualified classes matching these classes. [attribute-compiler] Since at least one package is imported, it is impossible for xjavadoc to figure out [attribute-compiler] what package the referred classes belong to. The classes are: |
|
From: Colin S. <col...@ex...> - 2004-02-12 04:21:44
|
Pretty decent new AOP framework from Bob Lee: http://crazybob.org/dynaop/1.0-beta/manual/index.html http://crazybob.org/dynaop/1.0-beta/javadoc/index.html https://dynaop.dev.java.net/ One interesting twist is that BeanShell is used to configure it... |
|
From: Thomas R. <tri...@tr...> - 2004-02-12 02:43:33
|
+1 great work as usual, Juergen. I have updated the website with the announcement and new javadocs and MVC tutorial. Any changes in the documentation that needs to be updated? Thomas Alef Arendsen wrote: >>I'm pleased to announce that Spring Framework 1.0 Release Candidate 1 has >>just been released. This release finally covers all features targeted for >>1.0. >> >> > > >Excellent work Jürgen (hey, Outlook 2003 automatically inserted an umlaut >there)!!! > >Nothing more to say actually ;-) > >Alef > > > > >------------------------------------------------------- >SF.Net is sponsored by: Speed Start Your Linux Apps Now. >Build and deploy apps & Web services for Linux with >a free DVD software kit from IBM. Click Now! >http://ads.osdn.com/?ad_id56&alloc_id438&op=click >_______________________________________________ >Springframework-developer mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > |
|
From: Colin S. <col...@ex...> - 2004-02-12 00:15:39
|
Alef Arendsen wrote: >>I'm pleased to announce that Spring Framework 1.0 Release Candidate 1 h= as >>just been released. This release finally covers all features targeted f= or >>1.0. >> =20 >> > > >Excellent work J=FCrgen (hey, Outlook 2003 automatically inserted an uml= aut >there)!!! > >Nothing more to say actually ;-)=20 > =20 > Ditto on my part Juergen, your hard work on the releases is much=20 appreciated. Regards, Colin |
|
From: <jue...@we...> - 2004-02-12 00:08:18
|
OGNL support is already on our to-do list for Spring 1.1 in that issue = tracker that we use... What was its name again? Oh, never mind ;-) =20 Of course, our current focus is on getting 1.0 final out ASAP. 1.1 will = probably follow pretty quickly anyway. =20 BTW, good to hear from you again, buddy :-) =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Mike Cannon-Brookes Gesendet: Do 12.02.2004 00:53 An: Spring Betreff: Re: [Springframework-developer] Fw: Spring and OGNL Yes, this would be awesome and most appreciated! (see my previous post = to the list a few months ago) M On 12/2/04 10:27 AM, "Rod Johnson" (rod...@in...) penned = the words: > Drew, > > Thanks for your email. OGNL support is on our todo list and has come = up on > the developer list. The scope of Spring 1.0 is finalized now, but this = could > well be worthwhile for Spring 1.1. > > I hope you don't mind--I've forwarded your email to the developer = list. > > Regards, > Rod > > ----- Original Message ----- > From: "Drew Davidson" <dr...@og...> > To: <rod...@in...> > Sent: Wednesday, February 11, 2004 5:08 PM > Subject: Spring and OGNL > > >> Rod, >> >> I've been reading about Spring with a lot of interest. I like the = ideas >> of decoupling configuration, etc. from the beans themselves and I >> especially like the idea of configuring POJOs through accessors. I >> read TheServerSide article that you wrote last October with great >> interest; there is a lot of material to cover. >> >> I wanted to bring OGNL (http://www.ognl.org) to your attention = because >> it has been used in these types of "glue" environments to great = effect. >> Tapestry and WebWork, for example, use OGNL to bind objects in their >> component web solutions (OGNL's type conversion and dynamic nature = make >> it very suitable for these applications). >> >> The most relevant use of OGNL for Spring's purposes would be in the = bean >> configuration file. I have similar configuration files in my = projects, >> but I use OGNL to allow for expressions within <value>-type of >> statements. This allows you to access static variables, instantiate >> objects which would otherwise be difficult to specify generically. >> >> For example, most of the configuration depends on specifying a class >> name and properties. Assumptions of this are that there is a no-arg >> constructor and that the Java Bean is well-formed (i.e. JavaBeans >> properties with names, etc.). Configuring properties appears to be >> simple property names - correct me if I'm wrong. >> >> Two extensions to this bean spec occur to me immediately: >> >> * <property name=3D"username"> >> The name is a simple reflective property that you could use >> JavaBeans to look up and dispatch. I would use OGNL here to do the = work >> of dispatching, which would allow you to expand the scope of what = "name" >> is to an OGNL expression. This would allow you to configure a = property >> with an arbitrary path, if that object were a composite object. Here = is >> an example of a User class that has a profile attached that contains >> first and last name and an arbitrary number of street addresses. = This >> example navigates the "root" object (the configured object) to get to >> the "profile" object, then further to set properties "firstName" and >> "lastName"; it then navigates through the "addresses" list (OGNL can >> treat any list-like object with the same syntax) and puts the = "primary" >> address information in. >> <property name=3D"firstName" >> expression=3D"profile.firstName"><value>Drew</value></property> >> <property name=3D"lastName" >> expression=3D"profile.lastName"><value>Davidson</value></property> >> <property name=3D"primaryAddress1" >> expression=3D"profile.addresses[0].address1"><value>1234 Elm >> St.</value></property> >> <property name=3D"primaryCity" >> = expression=3D"profile.addresses[0].city"><value>Tucson</value></property>= >> <property name=3D"primaryState" >> = expression=3D"profile.addresses[0].state"><value>AZ</value></property> >> <property name=3D"primaryZip" >> = expression=3D"profile.addresses[0].zip"><value>85741</value></property> >> <property name=3D"username" >> expression=3D"username"><value>Drew</value></property> >> >> * I would further expand the <value> to include possible OGNL >> expressions to allow for more robust object specification. OGNL also >> reduces the type conversion burden by utomatically converting common >> types to other types in method calls and properties (the type = conversion >> is extensible also). The "State" example in the above might be = better >> served if there were a dynamic lookup of a "State" object based on a > lookup: >> >> <property >> > = name=3D"primaryState"><expression>@State@getState("AZ")</expression></pro= perty >> >> >> Of course <expression> would yield any valid Java object as a result; >> OGNL would handle the type conversion through the property expression >> you specify; if the value were a String and the setter for the = property >> actually took and Integer (or int), OGNL would automatically convert = to >> the right type. >> >> I'd love to hear your views on this. I believe that OGNL could >> significantly enhance Spring without adding any more complexity (i.e. = it >> would automatically support the existing XML formats, etc. without > change). >> >> If you want other opinions on OGNL in terms of how it can enhance a >> framework please email: >> >> Howard Lewis Ship (creator of Tapestry): hl...@co... >> Erik Hatcher (Ant commiter and speaker of note): >> er...@eh... >> Patrick Lightbody (WebWork2 committer): pli...@ya... >> >> - Drew >> >> -- >> +---------------------------------+ >> < Drew Davidson | OGNL Technology > >> < Professional Open Source > >> +---------------------------------+ >> | Email: dr...@og... / >> | Web: http://www.ognl.org / >> | Vox: (520) 531-1966 < >> | Fax: (520) 531-1965 \ >> | Mobile: (520) 405-2967 \ >> +---------------------------------+ >> >> >> > > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Colin S. <col...@ex...> - 2004-02-12 00:03:28
|
Hi Drew, As a Tapestry user, I'm actually a big OGNL fan, and have suggested in the past that we should add (optional) expression language support, with OGNL being the initial or only implementation (depending on whether the support is pluggable), in a fashion somewhat similar to what you describe below. There are some questions as to how you would do something similar to Spring's existing on-demand dependency loading (i.e. <ref bean='xxx'> when using an OGNL expression, as it would still be nice to have that feature, but I'm sure we can figure something out... I didn't have time to do it for the 1.0 version, but it's something I plan for 1.1... Regards, Colin Rod Johnson wrote: >Drew, > >Thanks for your email. OGNL support is on our todo list and has come up on >the developer list. The scope of Spring 1.0 is finalized now, but this could >well be worthwhile for Spring 1.1. > >I hope you don't mind--I've forwarded your email to the developer list. > >Regards, >Rod > >----- Original Message ----- >From: "Drew Davidson" <dr...@og...> >To: <rod...@in...> >Sent: Wednesday, February 11, 2004 5:08 PM >Subject: Spring and OGNL > > > > >>Rod, >> >>I've been reading about Spring with a lot of interest. I like the ideas >>of decoupling configuration, etc. from the beans themselves and I >>especially like the idea of configuring POJOs through accessors. I >>read TheServerSide article that you wrote last October with great >>interest; there is a lot of material to cover. >> >>I wanted to bring OGNL (http://www.ognl.org) to your attention because >>it has been used in these types of "glue" environments to great effect. >>Tapestry and WebWork, for example, use OGNL to bind objects in their >>component web solutions (OGNL's type conversion and dynamic nature make >>it very suitable for these applications). >> >>The most relevant use of OGNL for Spring's purposes would be in the bean >>configuration file. I have similar configuration files in my projects, >>but I use OGNL to allow for expressions within <value>-type of >>statements. This allows you to access static variables, instantiate >>objects which would otherwise be difficult to specify generically. >> >>For example, most of the configuration depends on specifying a class >>name and properties. Assumptions of this are that there is a no-arg >>constructor and that the Java Bean is well-formed (i.e. JavaBeans >>properties with names, etc.). Configuring properties appears to be >>simple property names - correct me if I'm wrong. >> >>Two extensions to this bean spec occur to me immediately: >> >> * <property name="username"> >> The name is a simple reflective property that you could use >>JavaBeans to look up and dispatch. I would use OGNL here to do the work >>of dispatching, which would allow you to expand the scope of what "name" >>is to an OGNL expression. This would allow you to configure a property >>with an arbitrary path, if that object were a composite object. Here is >>an example of a User class that has a profile attached that contains >>first and last name and an arbitrary number of street addresses. This >>example navigates the "root" object (the configured object) to get to >>the "profile" object, then further to set properties "firstName" and >>"lastName"; it then navigates through the "addresses" list (OGNL can >>treat any list-like object with the same syntax) and puts the "primary" >>address information in. >> <property name="firstName" >>expression="profile.firstName"><value>Drew</value></property> >> <property name="lastName" >>expression="profile.lastName"><value>Davidson</value></property> >> <property name="primaryAddress1" >>expression="profile.addresses[0].address1"><value>1234 Elm >>St.</value></property> >> <property name="primaryCity" >>expression="profile.addresses[0].city"><value>Tucson</value></property> >> <property name="primaryState" >>expression="profile.addresses[0].state"><value>AZ</value></property> >> <property name="primaryZip" >>expression="profile.addresses[0].zip"><value>85741</value></property> >> <property name="username" >>expression="username"><value>Drew</value></property> >> >> * I would further expand the <value> to include possible OGNL >>expressions to allow for more robust object specification. OGNL also >>reduces the type conversion burden by utomatically converting common >>types to other types in method calls and properties (the type conversion >>is extensible also). The "State" example in the above might be better >>served if there were a dynamic lookup of a "State" object based on a >> >> >lookup: > > >> <property >> >> >> >name="primaryState"><expression>@State@getState("AZ")</expression></property > > >>Of course <expression> would yield any valid Java object as a result; >>OGNL would handle the type conversion through the property expression >>you specify; if the value were a String and the setter for the property >>actually took and Integer (or int), OGNL would automatically convert to >>the right type. >> >>I'd love to hear your views on this. I believe that OGNL could >>significantly enhance Spring without adding any more complexity (i.e. it >>would automatically support the existing XML formats, etc. without >> >> >change). > > >>If you want other opinions on OGNL in terms of how it can enhance a >>framework please email: >> >> Howard Lewis Ship (creator of Tapestry): hl...@co... >> Erik Hatcher (Ant commiter and speaker of note): >>er...@eh... >> Patrick Lightbody (WebWork2 committer): pli...@ya... >> >>- Drew >> >>-- >>+---------------------------------+ >>< Drew Davidson | OGNL Technology > >>< Professional Open Source > >>+---------------------------------+ >>| Email: dr...@og... / >>| Web: http://www.ognl.org / >>| Vox: (520) 531-1966 < >>| Fax: (520) 531-1965 \ >>| Mobile: (520) 405-2967 \ >>+---------------------------------+ >> >> |
|
From: Alef A. <al...@jt...> - 2004-02-11 23:55:42
|
> I'm pleased to announce that Spring Framework 1.0 Release Candidate 1 = has > just been released. This release finally covers all features targeted = for > 1.0. Excellent work J=FCrgen (hey, Outlook 2003 automatically inserted an = umlaut there)!!! Nothing more to say actually ;-)=20 Alef |
|
From: Mike Cannon-B. <mi...@at...> - 2004-02-11 23:54:34
|
Yes, this would be awesome and most appreciated! (see my previous post to the list a few months ago) M On 12/2/04 10:27 AM, "Rod Johnson" (rod...@in...) penned the words: > Drew, > > Thanks for your email. OGNL support is on our todo list and has come up on > the developer list. The scope of Spring 1.0 is finalized now, but this could > well be worthwhile for Spring 1.1. > > I hope you don't mind--I've forwarded your email to the developer list. > > Regards, > Rod > > ----- Original Message ----- > From: "Drew Davidson" <dr...@og...> > To: <rod...@in...> > Sent: Wednesday, February 11, 2004 5:08 PM > Subject: Spring and OGNL > > >> Rod, >> >> I've been reading about Spring with a lot of interest. I like the ideas >> of decoupling configuration, etc. from the beans themselves and I >> especially like the idea of configuring POJOs through accessors. I >> read TheServerSide article that you wrote last October with great >> interest; there is a lot of material to cover. >> >> I wanted to bring OGNL (http://www.ognl.org) to your attention because >> it has been used in these types of "glue" environments to great effect. >> Tapestry and WebWork, for example, use OGNL to bind objects in their >> component web solutions (OGNL's type conversion and dynamic nature make >> it very suitable for these applications). >> >> The most relevant use of OGNL for Spring's purposes would be in the bean >> configuration file. I have similar configuration files in my projects, >> but I use OGNL to allow for expressions within <value>-type of >> statements. This allows you to access static variables, instantiate >> objects which would otherwise be difficult to specify generically. >> >> For example, most of the configuration depends on specifying a class >> name and properties. Assumptions of this are that there is a no-arg >> constructor and that the Java Bean is well-formed (i.e. JavaBeans >> properties with names, etc.). Configuring properties appears to be >> simple property names - correct me if I'm wrong. >> >> Two extensions to this bean spec occur to me immediately: >> >> * <property name="username"> >> The name is a simple reflective property that you could use >> JavaBeans to look up and dispatch. I would use OGNL here to do the work >> of dispatching, which would allow you to expand the scope of what "name" >> is to an OGNL expression. This would allow you to configure a property >> with an arbitrary path, if that object were a composite object. Here is >> an example of a User class that has a profile attached that contains >> first and last name and an arbitrary number of street addresses. This >> example navigates the "root" object (the configured object) to get to >> the "profile" object, then further to set properties "firstName" and >> "lastName"; it then navigates through the "addresses" list (OGNL can >> treat any list-like object with the same syntax) and puts the "primary" >> address information in. >> <property name="firstName" >> expression="profile.firstName"><value>Drew</value></property> >> <property name="lastName" >> expression="profile.lastName"><value>Davidson</value></property> >> <property name="primaryAddress1" >> expression="profile.addresses[0].address1"><value>1234 Elm >> St.</value></property> >> <property name="primaryCity" >> expression="profile.addresses[0].city"><value>Tucson</value></property> >> <property name="primaryState" >> expression="profile.addresses[0].state"><value>AZ</value></property> >> <property name="primaryZip" >> expression="profile.addresses[0].zip"><value>85741</value></property> >> <property name="username" >> expression="username"><value>Drew</value></property> >> >> * I would further expand the <value> to include possible OGNL >> expressions to allow for more robust object specification. OGNL also >> reduces the type conversion burden by utomatically converting common >> types to other types in method calls and properties (the type conversion >> is extensible also). The "State" example in the above might be better >> served if there were a dynamic lookup of a "State" object based on a > lookup: >> >> <property >> > name="primaryState"><expression>@State@getState("AZ")</expression></property >> >> >> Of course <expression> would yield any valid Java object as a result; >> OGNL would handle the type conversion through the property expression >> you specify; if the value were a String and the setter for the property >> actually took and Integer (or int), OGNL would automatically convert to >> the right type. >> >> I'd love to hear your views on this. I believe that OGNL could >> significantly enhance Spring without adding any more complexity (i.e. it >> would automatically support the existing XML formats, etc. without > change). >> >> If you want other opinions on OGNL in terms of how it can enhance a >> framework please email: >> >> Howard Lewis Ship (creator of Tapestry): hl...@co... >> Erik Hatcher (Ant commiter and speaker of note): >> er...@eh... >> Patrick Lightbody (WebWork2 committer): pli...@ya... >> >> - Drew >> >> -- >> +---------------------------------+ >> < Drew Davidson | OGNL Technology > >> < Professional Open Source > >> +---------------------------------+ >> | Email: dr...@og... / >> | Web: http://www.ognl.org / >> | Vox: (520) 531-1966 < >> | Fax: (520) 531-1965 \ >> | Mobile: (520) 405-2967 \ >> +---------------------------------+ >> >> >> > > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <jue...@we...> - 2004-02-11 23:48:07
|
Good point. We'll see whether we need an RC2 at all; I guess we do =
(ASAP), if just for collecting more feedback (e.g. on current Commons =
Attributes etc). In any case, such minor refinements are still OK IMO, =
as long as they don't delay a release.
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag =
von Rod Johnson
Gesendet: Do 12.02.2004 00:28
An: spr...@li...
Betreff: Re: [Springframework-developer] Re: [Springframework-user] =
Mapping Exceptions with sql-error-codes.xm l
We still need to shoot for 1.0 final for early March, mind...
----- Original Message -----
From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...>
To: <spr...@li...>
Sent: Wednesday, February 11, 2004 10:31 PM
Subject: Re: [Springframework-developer] Re: [Springframework-user] =
Mapping
Exceptions with sql-error-codes.xm l
(Currently uploading 1.0 RC1 to SourceForge...)
As this represents a minor enhancement, let's simply implement it for =
1.0
RC2. That release will mainly be about completed docs, but noone will =
mind
some refinements in code, I assume :-)
Juergen
________________________________
Von: spr...@li... im Auftrag =
von
tri...@tr...
Gesendet: Mi 11.02.2004 18:25
An: spr...@li...
Cc: spr...@li...
Betreff: [Springframework-developer] Re: [Springframework-user] Mapping
Exceptions with sql-error-codes.xm l
This has come up a couple of times, but we have never really committed =
to
adding
additional exception categories.
We are currently supporting translation to:
DataIntegrityViolationException
BadSqlGrammarException
Suggested categories to add (from my recollection):
DataRetrievalFailureException
OptimisticLockingFailureException
DataAccessResourceFailureException
Do we want to add some additional categories to the
SQLErrorCodeSQLExceptionTranslator?
If we do, we could keep it backwards compatible by making these =
additional
categories optional based on entries in sql-error-codes.xml.
If we decide to add this, when would be a good time considering RC1 =
being
released any minute?
Thomas
Quoting Meier Martin <mar...@el...>:
> Hi,
>
> I tried to map a stale connection error code to a
> DataAccessResourceFailureException, but this did not work:
>
> <bean id=3D"Oracle"
class=3D"org.springframework.jdbc.support.SQLErrorCodes">
> <property
>
name=3D"badSqlGrammarCodes"><value>900,903,904,917,936,942,17006</value><=
/prop
> erty>
> <property
>
name=3D"dataIntegrityViolationCodes"><value>1,1400,1722,2291</value></pro=
perty
> >
> <property
>
name=3D"dataIntegrityViolationCodes"><value>1,1400,1722,2291</value></pro=
perty
> >
> <property
> =
name=3D"dataAccessResourceFailureCodes"><value>17002</value></property>
> </bean>
>
> As I saw in the class SQLErrorCodes only the methods
> setBadSqlGrammerCodes(...) and setDataIntegrityViolationCodes(...) are
> supported. How is it possible to map an error code to a
> dataAccessResourceFailureException with the sql-error-codes.xml?
>
> Cheers
> -Martin
>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: <jue...@we...> - 2004-02-11 23:45:46
|
BTW, the Spring Framework project celebrates its first birthday at = SourceForge! Thanks to all contributors and early adopters, you really = made it happen! =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag von = j=FCrgen h=F6ller [werk3AT] Gesendet: Do 12.02.2004 00:27 An: spr...@li...; = spr...@li... Betreff: [Springframework-user] Spring Framework 1.0 RC1 released Dear Spring community, I'm pleased to announce that Spring Framework 1.0 Release Candidate 1 = has just been released. This release finally covers all features = targeted for 1.0. Changes since 1.0 M4 include: - restructured core, beans and util packages - reworked PropertyPlaceholderConfigurer, now also able to resolve = system properties - new ReloadableResourceBundleMessageSource, supporting hot reloading of = message definition files - support for transaction suspension, via new propagation behaviors = REQUIRES_NEW and NOT_SUPPORTED - javax.transaction.TransactionManager support in JtaTransactionManager, = for transaction suspension - support for local JOTM and XAPool instances - support for CLOB handling in DefaultLobCreator and OracleLobCreator - new "evict", "saveOrUpdateCopy" and overloaded "delete" and "update" = methods in HibernateTemplate - revised Hibernate-JTA synchronization, respecting a registered = Hibernate TransactionManagerLookup - support for Hessian and Burlap 3.x - removed deprecated "beanName" property from BaseCommandController - various refinements and minor renamings in the web support - revised distribution JAR files, now one full spring.jar and various = fine-grained module-specific JARs - refined framework build process to work standalone - new sample application "imagedb", illustrating BLOB/CLOB support, = multipart file upload, Velocity view As usual, see the changelog for details. Regards, Juergen ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick _______________________________________________ Springframework-user mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-user |
|
From: Rod J. <rod...@in...> - 2004-02-11 23:29:34
|
We still need to shoot for 1.0 final for early March, mind...
----- Original Message -----
From: "j=FCrgen h=F6ller [werk3AT]" <jue...@we...>
To: <spr...@li...>
Sent: Wednesday, February 11, 2004 10:31 PM
Subject: Re: [Springframework-developer] Re: [Springframework-user] Mappi=
ng
Exceptions with sql-error-codes.xm l
(Currently uploading 1.0 RC1 to SourceForge...)
As this represents a minor enhancement, let's simply implement it for 1.0
RC2. That release will mainly be about completed docs, but noone will min=
d
some refinements in code, I assume :-)
Juergen
________________________________
Von: spr...@li... im Auftrag von
tri...@tr...
Gesendet: Mi 11.02.2004 18:25
An: spr...@li...
Cc: spr...@li...
Betreff: [Springframework-developer] Re: [Springframework-user] Mapping
Exceptions with sql-error-codes.xm l
This has come up a couple of times, but we have never really committed to
adding
additional exception categories.
We are currently supporting translation to:
DataIntegrityViolationException
BadSqlGrammarException
Suggested categories to add (from my recollection):
DataRetrievalFailureException
OptimisticLockingFailureException
DataAccessResourceFailureException
Do we want to add some additional categories to the
SQLErrorCodeSQLExceptionTranslator?
If we do, we could keep it backwards compatible by making these additiona=
l
categories optional based on entries in sql-error-codes.xml.
If we decide to add this, when would be a good time considering RC1 being
released any minute?
Thomas
Quoting Meier Martin <mar...@el...>:
> Hi,
>
> I tried to map a stale connection error code to a
> DataAccessResourceFailureException, but this did not work:
>
> <bean id=3D"Oracle"
class=3D"org.springframework.jdbc.support.SQLErrorCodes">
> <property
>
name=3D"badSqlGrammarCodes"><value>900,903,904,917,936,942,17006</value><=
/prop
> erty>
> <property
>
name=3D"dataIntegrityViolationCodes"><value>1,1400,1722,2291</value></pro=
perty
> >
> <property
>
name=3D"dataIntegrityViolationCodes"><value>1,1400,1722,2291</value></pro=
perty
> >
> <property
> name=3D"dataAccessResourceFailureCodes"><value>17002</value></property>
> </bean>
>
> As I saw in the class SQLErrorCodes only the methods
> setBadSqlGrammerCodes(...) and setDataIntegrityViolationCodes(...) are
> supported. How is it possible to map an error code to a
> dataAccessResourceFailureException with the sql-error-codes.xml?
>
> Cheers
> -Martin
>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id438&op=3Dick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: <jue...@we...> - 2004-02-11 23:28:31
|
Dear Spring community, =20 I'm pleased to announce that Spring Framework 1.0 Release Candidate 1 = has just been released. This release finally covers all features = targeted for 1.0. =20 Changes since 1.0 M4 include: =20 - restructured core, beans and util packages - reworked PropertyPlaceholderConfigurer, now also able to resolve = system properties - new ReloadableResourceBundleMessageSource, supporting hot reloading of = message definition files =20 - support for transaction suspension, via new propagation behaviors = REQUIRES_NEW and NOT_SUPPORTED - javax.transaction.TransactionManager support in JtaTransactionManager, = for transaction suspension - support for local JOTM and XAPool instances =20 - support for CLOB handling in DefaultLobCreator and OracleLobCreator - new "evict", "saveOrUpdateCopy" and overloaded "delete" and "update" = methods in HibernateTemplate - revised Hibernate-JTA synchronization, respecting a registered = Hibernate TransactionManagerLookup =20 - support for Hessian and Burlap 3.x - removed deprecated "beanName" property from BaseCommandController - various refinements and minor renamings in the web support =20 - revised distribution JAR files, now one full spring.jar and various = fine-grained module-specific JARs - refined framework build process to work standalone - new sample application "imagedb", illustrating BLOB/CLOB support, = multipart file upload, Velocity view =20 As usual, see the changelog for details. =20 Regards, Juergen =20 |
|
From: Rod J. <rod...@in...> - 2004-02-11 23:28:05
|
Drew, Thanks for your email. OGNL support is on our todo list and has come up on the developer list. The scope of Spring 1.0 is finalized now, but this could well be worthwhile for Spring 1.1. I hope you don't mind--I've forwarded your email to the developer list. Regards, Rod ----- Original Message ----- From: "Drew Davidson" <dr...@og...> To: <rod...@in...> Sent: Wednesday, February 11, 2004 5:08 PM Subject: Spring and OGNL > Rod, > > I've been reading about Spring with a lot of interest. I like the ideas > of decoupling configuration, etc. from the beans themselves and I > especially like the idea of configuring POJOs through accessors. I > read TheServerSide article that you wrote last October with great > interest; there is a lot of material to cover. > > I wanted to bring OGNL (http://www.ognl.org) to your attention because > it has been used in these types of "glue" environments to great effect. > Tapestry and WebWork, for example, use OGNL to bind objects in their > component web solutions (OGNL's type conversion and dynamic nature make > it very suitable for these applications). > > The most relevant use of OGNL for Spring's purposes would be in the bean > configuration file. I have similar configuration files in my projects, > but I use OGNL to allow for expressions within <value>-type of > statements. This allows you to access static variables, instantiate > objects which would otherwise be difficult to specify generically. > > For example, most of the configuration depends on specifying a class > name and properties. Assumptions of this are that there is a no-arg > constructor and that the Java Bean is well-formed (i.e. JavaBeans > properties with names, etc.). Configuring properties appears to be > simple property names - correct me if I'm wrong. > > Two extensions to this bean spec occur to me immediately: > > * <property name="username"> > The name is a simple reflective property that you could use > JavaBeans to look up and dispatch. I would use OGNL here to do the work > of dispatching, which would allow you to expand the scope of what "name" > is to an OGNL expression. This would allow you to configure a property > with an arbitrary path, if that object were a composite object. Here is > an example of a User class that has a profile attached that contains > first and last name and an arbitrary number of street addresses. This > example navigates the "root" object (the configured object) to get to > the "profile" object, then further to set properties "firstName" and > "lastName"; it then navigates through the "addresses" list (OGNL can > treat any list-like object with the same syntax) and puts the "primary" > address information in. > <property name="firstName" > expression="profile.firstName"><value>Drew</value></property> > <property name="lastName" > expression="profile.lastName"><value>Davidson</value></property> > <property name="primaryAddress1" > expression="profile.addresses[0].address1"><value>1234 Elm > St.</value></property> > <property name="primaryCity" > expression="profile.addresses[0].city"><value>Tucson</value></property> > <property name="primaryState" > expression="profile.addresses[0].state"><value>AZ</value></property> > <property name="primaryZip" > expression="profile.addresses[0].zip"><value>85741</value></property> > <property name="username" > expression="username"><value>Drew</value></property> > > * I would further expand the <value> to include possible OGNL > expressions to allow for more robust object specification. OGNL also > reduces the type conversion burden by utomatically converting common > types to other types in method calls and properties (the type conversion > is extensible also). The "State" example in the above might be better > served if there were a dynamic lookup of a "State" object based on a lookup: > > <property > name="primaryState"><expression>@State@getState("AZ")</expression></property > > > Of course <expression> would yield any valid Java object as a result; > OGNL would handle the type conversion through the property expression > you specify; if the value were a String and the setter for the property > actually took and Integer (or int), OGNL would automatically convert to > the right type. > > I'd love to hear your views on this. I believe that OGNL could > significantly enhance Spring without adding any more complexity (i.e. it > would automatically support the existing XML formats, etc. without change). > > If you want other opinions on OGNL in terms of how it can enhance a > framework please email: > > Howard Lewis Ship (creator of Tapestry): hl...@co... > Erik Hatcher (Ant commiter and speaker of note): > er...@eh... > Patrick Lightbody (WebWork2 committer): pli...@ya... > > - Drew > > -- > +---------------------------------+ > < Drew Davidson | OGNL Technology > > < Professional Open Source > > +---------------------------------+ > | Email: dr...@og... / > | Web: http://www.ognl.org / > | Vox: (520) 531-1966 < > | Fax: (520) 531-1965 \ > | Mobile: (520) 405-2967 \ > +---------------------------------+ > > > |