Compare commits

..

1716 Commits

Author SHA1 Message Date
Arjen Poutsma e3b58bf678 Released Spring 3.0 RC2 2009-11-13 15:13:07 +00:00
David Syer fc2d8ba73f SPR-5917 Add docs on Lifecycle 2009-11-13 07:48:33 +00:00
Jeremy Grelle e8845c7ead SPR-6340 - Add coverage of JSON support to reference guide 2009-11-13 02:04:22 +00:00
Arjen Poutsma a5be9c5cf5 Changing umlaut to unicode sequence 2009-11-13 01:49:56 +00:00
Jeremy Grelle 58841f3c66 Updated javadoc to reflect minimum JSP version 2.0 2009-11-13 01:39:20 +00:00
Jeremy Grelle 130ef7948d Fixed javadoc 2009-11-13 01:37:40 +00:00
Arjen Poutsma 60d2fdfcea SPR-6188 - UriTemplate: Insufficient handling of characters that need to be escaped. 2009-11-13 01:27:54 +00:00
Juergen Hoeller 8be36fafef introduced dedicated Jsr330ScopeMetadataResolver 2009-11-13 00:36:39 +00:00
Juergen Hoeller 4fb68bef04 polishing 2009-11-13 00:10:37 +00:00
Juergen Hoeller 56778110cd added dedicated onClose notification to differentiate between manual stop and close-driven stop 2009-11-13 00:05:54 +00:00
Keith Donald 4e35c59a20 fixed incorrect example and JSF reference 2009-11-12 22:43:22 +00:00
Keith Donald 3361de3875 SPR-6278 2009-11-12 21:18:17 +00:00
Andy Clement 61a8fa0ebd change PlaceOfBirth toString() so round tripping from String > new PlaceOfBirth(String) > String works ok 2009-11-12 20:56:21 +00:00
Thomas Risberg 3faf28ebaf created a protected doSetValue method so sub-classes can override the implementation easier (SPR-3978) 2009-11-12 20:51:00 +00:00
Thomas Risberg e27330ec5d created a protected doSetValue method so sub-classes can override the implementation easier (SPR-3978) 2009-11-12 20:47:48 +00:00
Thomas Risberg b88db7a594 extracted creation of new ArgPreparedStatementSetter and ArgTypePreparedStatementSetter into protected methods to allow sub-classes to override (SPR-3977) 2009-11-12 19:39:39 +00:00
Thomas Risberg 5491a63f2e added info about the new web-struts module 2009-11-12 19:11:46 +00:00
Thomas Risberg 5ebdf110f5 moved first para to chapter level and removed intro section 2009-11-12 18:23:09 +00:00
Juergen Hoeller 150c0adc74 updated changelog for RC2 release 2009-11-12 17:55:41 +00:00
Juergen Hoeller 0e1b04d082 inner beans detected as ApplicationListeners as well (SPR-6049) 2009-11-12 17:47:34 +00:00
Luke Taylor 94aad0b537 SPR-6219: Corrected typo 2009-11-12 16:55:49 +00:00
Thomas Risberg 4fe21b71a2 updated version to RC2 2009-11-12 16:55:13 +00:00
Luke Taylor afe87ea881 SPR-6220: Corrected spelling of 'DataSource' 2009-11-12 16:53:06 +00:00
Juergen Hoeller a6bba67bca added setValidating to XmlBeanDefinitionReader itself as well (SPR-6336) 2009-11-12 16:35:29 +00:00
Luke Taylor 1ddbfe0759 SPR-6205: Added doc on annotation support for multiple transaction managers 2009-11-12 16:22:42 +00:00
Juergen Hoeller 5d772554ae report error in case of constructor-arg index ambiguity (SPR-6329) 2009-11-12 16:22:42 +00:00
Arjen Poutsma d66fd9843e Reverted changes in r2282: now using varags again. 2009-11-12 16:20:36 +00:00
Arjen Poutsma bee051ece6 SWS-572 2009-11-12 16:09:08 +00:00
Juergen Hoeller 86934e2403 added SQL String and related context to translated JDBCException messages (SPR-6304) 2009-11-12 15:25:32 +00:00
Juergen Hoeller 747300f34c added support for most recent EHCache 1.6 configuration properties to EHCacheFactoryBean (SPR-6234) 2009-11-12 15:15:36 +00:00
Juergen Hoeller 9d59db7944 reintroduced DEFAULT_COOKIE_MAX_AGE in deprecated form (for binary compatibility; SPR-6276) 2009-11-12 14:25:14 +00:00
Juergen Hoeller f595b67618 avoid early Log4J initialization (SPR-6288) 2009-11-12 14:10:35 +00:00
Juergen Hoeller 613b4d182b avoid potential NPE (SPR-6300) 2009-11-12 13:42:07 +00:00
Mark Fisher 6ee17d2826 SPR-5507 javadoc 2009-11-12 13:10:10 +00:00
David Syer 568e6a3b38 RESOLVED - issue SPR-6321: Regression: ResourceEditor in 3.0 does not ignore unresolvable placeholders, but it did in 2.5.6
Different initialization exception popped up in app context
2009-11-12 11:20:51 +00:00
David Syer 38f1383853 RESOLVED - issue SPR-6321: Regression: ResourceEditor in 3.0 does not ignore unresolvable placeholders, but it did in 2.5.6 2009-11-12 11:07:15 +00:00
Keith Donald 7685b516f1 spring 3 mvc namespace whats new 2009-11-12 07:55:02 +00:00
Keith Donald ac551f756d changelog updates 2009-11-12 07:50:46 +00:00
Keith Donald b53f180c14 link to validation section 2009-11-12 07:34:50 +00:00
Keith Donald 2eff486b36 link to validation section 2009-11-12 07:34:02 +00:00
Keith Donald a2d19f1a2d link to validation section 2009-11-12 07:33:29 +00:00
Chris Beams 9f07b15185 Added Javadoc where necessary; polishing. 2009-11-12 07:29:52 +00:00
Keith Donald 2e12907fe4 polish 2009-11-12 07:28:24 +00:00
Keith Donald fefaf123e6 updated refs 2009-11-12 07:15:24 +00:00
Keith Donald 7e90e7a4d5 updated test to reflect correct behavior 2009-11-12 07:13:00 +00:00
Keith Donald eee2a2115a doc polish 2009-11-12 07:11:08 +00:00
Keith Donald 70fe75384d fixed failing tests due to generic object to object converter fallback being over eager 2009-11-12 06:57:51 +00:00
Keith Donald c58378603a validation updateS 2009-11-12 06:22:35 +00:00
Keith Donald b163f123ce valueOf and Constructor-based conversion of source objects to targetTypes 2009-11-12 05:25:03 +00:00
Keith Donald b5cda8db7b Deferring object mapper until Spring 3.1 when it will be used by other projects 2009-11-12 03:54:19 +00:00
Keith Donald 3cdb942cbe Deferring object mapper until Spring 3.1 when it will be used by other projects 2009-11-12 03:53:59 +00:00
Juergen Hoeller 6ef9c2d710 fixed validating to be true by default and to set namespaceAware accordingly 2009-11-12 02:36:53 +00:00
Costin Leau e52e4c5717 + commit actual jboss adapter 2009-11-12 02:31:50 +00:00
Juergen Hoeller c495cbb1bf MergedBeanDefinitionPostProcessors apply after all other post-processors (for @PostConstruct to be invoked after other BPPs; SPR-6066) 2009-11-12 02:30:12 +00:00
Costin Leau 4e321b1a3c + add minor fix to the internal weblogic adapter 2009-11-12 02:29:08 +00:00
Costin Leau 1dc1d5ef9a SPR-5764
+ add dynamic classfiletransformer -> JBoss translator adaptor (since there isn't any in JBoss 5.0.x)
2009-11-12 02:28:42 +00:00
Juergen Hoeller 155f6b1aa1 polishing 2009-11-12 02:27:31 +00:00
Juergen Hoeller 1c839dbe9c added setValidating method to AbstractXmlApplicationContext, analogous to GenericXmlApplicationContext 2009-11-12 02:14:01 +00:00
Juergen Hoeller 0832334648 polishing 2009-11-12 02:11:12 +00:00
Juergen Hoeller a884a407aa child bean definition's scope attribute can be inherited from parent bean definition now (SPR-3542) 2009-11-12 02:10:59 +00:00
Juergen Hoeller fcaf692225 MergedBeanDefinitionPostProcessors apply after all other post-processors (for @PostConstruct to be invoked after other BPPs; SPR-6066) 2009-11-12 02:10:44 +00:00
Mark Fisher 535ec5cffd SPR-5507 Added support for shutdown order on SmartLifecycle. DefaultLifecycleProcessor now manages the shutdown in phases depending on that order (with a timeout value per group). 2009-11-12 02:09:44 +00:00
Juergen Hoeller d666f0a7d6 added GenericXmlApplicationContext with flexible configuration options for its XML support 2009-11-12 01:59:15 +00:00
Juergen Hoeller 7428014ca3 MergedBeanDefinitionPostProcessors apply after all other post-processors (for @PostConstruct to be invoked after other BPPs; SPR-6066) 2009-11-12 01:43:34 +00:00
Costin Leau 190aee17d8 + internal improvement of WebLogic LTW
+ minor improvements to the LTW files (mainly trailing blank lines)
2009-11-12 01:28:32 +00:00
Costin Leau 846c7f6000 SPR-5764
+ redone the JBossLTW (no dependency on the JBoss API)
- removed JBoss jars
- removed JBoss imports (Spring code doesn't rely on it)
2009-11-12 01:25:39 +00:00
Juergen Hoeller d0b6891275 child bean definition's scope attribute can be inherited from parent bean definition now (SPR-3542) 2009-11-12 00:09:05 +00:00
Juergen Hoeller 4a25e2dde0 log a warning in case of ambiguous setter methods (SPR-4931) 2009-11-11 23:27:34 +00:00
Keith Donald e97c2bd7e9 rc2 updates 2009-11-11 23:10:04 +00:00
Keith Donald 48cfb73f15 polish 2009-11-11 23:04:21 +00:00
Keith Donald 5f9ec55512 polish 2009-11-11 23:04:09 +00:00
Keith Donald 035a2beaf5 polish 2009-11-11 22:39:35 +00:00
Keith Donald a90bf29765 formatting docs 2009-11-11 22:37:59 +00:00
Keith Donald d45f9df3c4 doc review 2009-11-11 21:46:00 +00:00
Juergen Hoeller 7a10b7530e improved context shown for non-qualifying dependency (SPR-5912) 2009-11-11 21:44:36 +00:00
Juergen Hoeller d6bab3b674 turned FormattingPropertyEditorAdapter into ConvertingPropertyEditorAdapter 2009-11-11 21:19:20 +00:00
Sam Brannen f8dd5fb5dc Deleting unused imports. 2009-11-11 21:14:25 +00:00
Sam Brannen 14495315a2 Deleting unused imports. 2009-11-11 21:08:32 +00:00
Sam Brannen 2415ec77f8 Fixed typo. 2009-11-11 20:46:36 +00:00
Keith Donald 2aac0aace4 polish 2009-11-11 20:44:32 +00:00
Juergen Hoeller a805819360 introduced populateDefaults template method (SPR-6010) 2009-11-11 19:47:31 +00:00
Juergen Hoeller 022b8b4d1f allow multiple tool:exports entries 2009-11-11 19:42:12 +00:00
Juergen Hoeller 5aefb2ce77 refined javadoc (SPR-5789) 2009-11-11 19:41:13 +00:00
Juergen Hoeller a06adf7203 AnnotationMetadata returns Class values by default (again), allowing for explicit retrieval of String class names where preferred (SPR-5827) 2009-11-11 19:24:43 +00:00
Juergen Hoeller bbd7fb3969 AnnotationMetadata returns Class values by default (again), allowing for explicit retrieval of String class names where preferred (SPR-5827) 2009-11-11 19:11:41 +00:00
Keith Donald afdb96ab2c polish 2009-11-11 19:04:21 +00:00
Keith Donald 6f8eb57dfa polish 2009-11-11 19:02:57 +00:00
Keith Donald 35944af7e1 polish 2009-11-11 19:00:52 +00:00
Keith Donald 522bb6ee56 polish 2009-11-11 18:57:52 +00:00
Keith Donald 7e63df9ea8 annotation driven number formatting with default number formatting rules 2009-11-11 18:53:28 +00:00
Keith Donald b56a47da97 annotation driven number formatting with default number formatting rules 2009-11-11 18:53:02 +00:00
Juergen Hoeller bfffb51257 added JBoss jars 2009-11-11 18:19:47 +00:00
Juergen Hoeller d46c1f600a TransactionAwareDataSourceProxy processes isClosed explicitly in order to avoid potential leaks (SPR-5780) 2009-11-11 18:19:16 +00:00
Thomas Risberg 2b962e7730 added unwrapping of scoped proxy tp unwrapResourceIfNecessary() (SPR-5671) 2009-11-11 18:16:41 +00:00
Arjen Poutsma 68f57aa953 SPR-6308 - Spring Expression Language creates systemProperties bean calling System.getProperties() which in enterprise shared containers is locked down 2009-11-11 16:39:20 +00:00
Thomas Risberg 7844a633b5 added entry for unversioned xsd reference 2009-11-11 16:29:31 +00:00
Thomas Risberg f38b8975c5 added entry for unversioned xsd reference 2009-11-11 16:25:34 +00:00
Keith Donald fdabfefe32 docs 2009-11-11 15:51:43 +00:00
Keith Donald a725717261 tests for custom conversion service / validator 2009-11-11 15:43:57 +00:00
Christian Dupuis cb8b603bdf update icon for mvc namespace 2009-11-11 15:42:53 +00:00
Keith Donald e690bf0c62 not needed according to Christian 2009-11-11 15:28:29 +00:00
Keith Donald 6f3dfe13d0 mvc namespace conversion-service and validator attributes 2009-11-11 15:26:08 +00:00
Luke Taylor 89d997a5bc SPR-3695: Added note on servlet/JSP/JSTL versions with reference to external blog article 2009-11-11 14:03:09 +00:00
Chris Beams 2663ab9975 fixed typo in javadoc: s/poitncut/pointcut/ 2009-11-11 01:38:26 +00:00
Chris Beams ee553f7804 SPR-6328: Rename @ImportXml -> @ImportResource and allow for usage of non-XML BeanDefinitionReader types 2009-11-11 00:48:30 +00:00
Mark Fisher 81efd48352 SPR-5507 SchedulerFactoryBean now implements SmartLifecycle instead of ApplicationListener. 2009-11-10 23:25:29 +00:00
Thomas Risberg 7d2b3f2e7e relaxed Map<String, Object> to Map<String, ?> for method parameter 2009-11-10 23:14:54 +00:00
Keith Donald 36e00054b6 polish 2009-11-10 20:46:06 +00:00
Keith Donald 417939774c removed old dir 2009-11-10 20:43:49 +00:00
Keith Donald 04dee9ab76 removed old dir 2009-11-10 20:43:10 +00:00
Keith Donald 17bbdfc13f polish 2009-11-10 20:42:33 +00:00
Keith Donald 4b76cdd1a3 date time format code review 2009-11-10 20:34:59 +00:00
Luke Taylor ae3e0c0bda SPR-5276: Updated Acegi site link to point to Spring Security 2009-11-10 20:26:49 +00:00
Keith Donald 1bb007c321 results of code review of mvc namespace 2009-11-10 19:15:32 +00:00
Luke Taylor 4a5a2b18ac SPR-6169: Clarified that DispatcherServlet configuraion options are init-param values for the servlet declaration, not context params 2009-11-10 19:03:17 +00:00
Luke Taylor d293c2248c SPR-5430,SPR-6224: Converted deprecated view property names to use '.(class)' syntax. 2009-11-10 18:44:56 +00:00
Thomas Risberg f91d44691e added note to changelog about supporting load-time weaving in JBoss 5 (SPR-5764) 2009-11-10 16:19:03 +00:00
Luke Taylor edf331b5a6 SPR-6293: Updated required tiles version to 2.1.2 2009-11-10 14:29:30 +00:00
Mark Fisher d5fd22c8fe SPR-5507 GenericMessageEndpointManager now implements SmartLifecycle instead of ApplicationListener. 2009-11-10 12:59:50 +00:00
Mark Fisher a15a9600b7 SPR-5507 AbstractJmsListeningContainer now implements SmartLifecycle instead of ApplicationListener. 2009-11-10 04:52:56 +00:00
Mark Fisher a7c1f6b730 SPR-5507 Added SmartLifecycle interface with 'isAutoStartup' method and added an 'onRefresh' method to the LifecycleProcessor. 2009-11-10 04:49:13 +00:00
Keith Donald 91dd752e71 added test dep to ivy.xml causing build failure 2009-11-10 04:32:48 +00:00
Mark Fisher 5b088f5cb4 SPR-5507 Factored out Lifecycle management to a LifecycleProcessor strategy with the default implementation as DefaultLifecycleProcessor. The 'lifecycleProcessor' bean may be defined to override the default. 2009-11-10 04:00:42 +00:00
Keith Donald 566516b89a polishing 2009-11-09 21:59:59 +00:00
Keith Donald 835b958911 polish 2009-11-09 21:10:51 +00:00
Keith Donald 6f4112af80 updated favoring style pattern string instead of Style enum for DateTimeFormat 2009-11-09 21:07:41 +00:00
Keith Donald 7ed6c164b6 javadoc polishing 2009-11-09 20:25:03 +00:00
Juergen Hoeller 90f8e5dcf8 WebSphereUowTransactionManager suspends synchronizations even without existing transaction (SPR-6167) 2009-11-09 19:59:27 +00:00
Costin Leau c3bf658058 SPR-6102
+ add old method for backwards compatibility
2009-11-09 19:11:41 +00:00
Costin Leau af0a529bb5 SPR-6102
+ loosen FrameworkServlet#createWebApplicationContext signature
2009-11-09 18:27:10 +00:00
Costin Leau bcc6413ef7 SPR-5762
+ allow unknown URL protocols to be used with import directive
2009-11-09 15:59:08 +00:00
Arjen Poutsma 077055c8f2 SPR-6291 - UrlPathHelper is too aggressive decoding URLs 2009-11-09 12:15:17 +00:00
Costin Leau 24a9ecd4a3 + removed unused imports 2009-11-09 12:02:42 +00:00
Costin Leau 9a111e504f SPR-6194
+ add setter for servlet minor version to MockServletContext
2009-11-09 11:51:30 +00:00
Arjen Poutsma 7ec9f1506a SPR-6005 - org.springframework.beans.propertyeditors.URIEditor does double escaping for % signes for URIs that contain a schema 2009-11-09 09:15:49 +00:00
Sam Brannen 2cc6155dec JavaDoc 2009-11-08 14:27:47 +00:00
Thomas Risberg 076b912f05 removed filter for classes from the JPA providers package for EclipseLink (SPR-6040) 2009-11-07 19:46:46 +00:00
Chris Beams 46aabf0b65 Additional tests rounding out @ImportXml coverage 2009-11-07 03:53:58 +00:00
Keith Donald 7bd34a6cb1 added format import to web.servlet manifest 2009-11-07 03:53:38 +00:00
Juergen Hoeller 2922b1fcb9 updated for extended RC2 period 2009-11-07 01:32:31 +00:00
Juergen Hoeller 15777818c4 made Excel tests work 2009-11-07 01:32:18 +00:00
Juergen Hoeller 2a0b3cf3c9 polishing 2009-11-07 01:30:50 +00:00
Juergen Hoeller 205b5a477b JSR-303 Validator will only register validation failures if no binding failure happened 2009-11-07 01:29:50 +00:00
Juergen Hoeller 4e233047c8 TilesConfigurer only sets up EL support if JSP 2.1 is present (for JSP 2.0 compatibility; SPR-6309) 2009-11-07 01:16:40 +00:00
Juergen Hoeller b321376703 AbstractExcelView is compatible with Apache POI 3.0 as well as 3.5 now (SPR-6298) 2009-11-07 01:11:53 +00:00
Juergen Hoeller a62068461f AbstractApplicationContext can also start up in case of system properties access failure 2009-11-07 01:09:02 +00:00
Keith Donald fe4f41d33c default config for web binding initializer and formatting/conversion system w/ mvc namespace 2009-11-07 00:41:08 +00:00
Chris Beams 8ece98c694 Fixed build breakage due to use of WebDataBinder.setDisallowedFields(String); changed calls to use the updated String[] signature. 2009-11-07 00:40:50 +00:00
Chris Beams 0a4463fb71 SPR-6158: Initial implementation and tests for @ImportXml 2009-11-07 00:32:40 +00:00
Chris Beams 20ec13ded5 SPR-5529: removed package.html files 2009-11-06 23:15:35 +00:00
Chris Beams ca0b590bb9 SPR-5523: converted a few additional package.html artifacts to package-info.java 2009-11-06 23:13:15 +00:00
Juergen Hoeller 6494041849 changed Servlet API dependency to provided (SPR-6284) 2009-11-06 16:42:14 +00:00
Keith Donald ee15bbb494 mvc namespace installation of handler mapping and handler adapter 2009-11-06 15:38:08 +00:00
Mark Fisher d96bea9f6a SPR-4716 GenericMessageEndpointManager now "auto-starts" upon receiving a ContextRefreshedEvent rather than within afterPropertiesSet(). 2009-11-06 15:24:12 +00:00
Arjen Poutsma d415d36192 Renamed Md5HashUtils to DigestUtils 2009-11-06 11:52:53 +00:00
Mark Fisher 91297d9863 SPR-6307 Quartz SchedulerFactoryBean now "auto-starts" upon receiving a ContextRefreshedEvent rather than within afterPropertiesSet(). 2009-11-05 23:41:01 +00:00
Mark Fisher 40720ab0f1 SPR-4716 AbstractJmsListeningContainer now "auto-starts" upon receiving a ContextRefreshedEvent rather than within afterPropertiesSet(). 2009-11-05 22:05:52 +00:00
Keith Donald 389ad03e84 package info file 2009-11-05 21:49:46 +00:00
Keith Donald 733be4f400 spring mvc namespace initial commit; work in progress 2009-11-05 21:49:21 +00:00
Keith Donald fed96f85ae fixed failing test due to case issue 2009-11-05 19:17:53 +00:00
Keith Donald b6ec4e30d9 javadoc polish 2009-11-05 17:48:54 +00:00
Keith Donald d65454175d iso date time format tests 2009-11-05 17:18:54 +00:00
Arjen Poutsma 8de34c6fa7 SPR-6301 - Support @RequestHeader on HttpHeaders parameters 2009-11-05 15:42:24 +00:00
Keith Donald a62b413be4 Renamed org.springframework.ui.format package to simply org.springframework.format package; 'ui' is not adding any value - it makes the package name longer and also discourages use of formatters outside in other "non ui" environments where localized formatting of field values is needed. 2009-11-05 15:21:22 +00:00
Keith Donald f0de1c3069 revised matchable converter lookup algorithm; added conversion service bean container tests 2009-11-05 14:52:57 +00:00
Arjen Poutsma c812cd370b Fixing test 2009-11-05 13:44:52 +00:00
Arjen Poutsma db252cd0af SPR-6303 - Add more logging to RestTemplate 2009-11-05 13:32:14 +00:00
Arjen Poutsma f1075c7b04 javadoc. 2009-11-05 10:17:37 +00:00
Keith Donald bc4d52a7e3 added date midnight 2009-11-05 05:24:50 +00:00
Keith Donald 2405848c4c comment on ignored test 2009-11-05 05:21:19 +00:00
Keith Donald ba0f1da96f more joda time formatting tests 2009-11-05 05:19:27 +00:00
Keith Donald 8a15486de3 fixed bug related to annotation driven formatting 2009-11-04 23:12:24 +00:00
Keith Donald ff39bc376f formatting tests and polishing 2009-11-04 23:02:10 +00:00
Keith Donald 9ec337b736 joda time formatting tests 2009-11-04 22:53:26 +00:00
Keith Donald 791832789d polish 2009-11-04 17:38:17 +00:00
Keith Donald 0df1bac33c since 3.0 2009-11-04 17:33:09 +00:00
Keith Donald 9fdd11c89c polish 2009-11-04 17:25:37 +00:00
Keith Donald 6d020502b9 polish 2009-11-04 17:23:31 +00:00
Keith Donald 53f3d0b755 polish 2009-11-04 17:22:09 +00:00
Keith Donald 374ea05028 polish 2009-11-04 17:08:51 +00:00
Keith Donald ffbfa2992c polish 2009-11-04 17:07:25 +00:00
Keith Donald 0a78287a8f formatters now plugged into unified type conversion api with formatter specific registry spi 2009-11-04 00:08:47 +00:00
Keith Donald 2e4fa28ca6 removed embedded databases factory in favor of new useDefaultScripts builder method 2009-11-03 23:19:26 +00:00
Keith Donald f1d012bffa embeddedd databases convenience factory; builder polishing 2009-11-03 23:05:41 +00:00
Scott Andrews 6c80dbaa9e polish - removing unused import 2009-11-03 21:02:22 +00:00
Scott Andrews 67b5781dab SPR-6296 Spring:url tag should not use application/x-www-form-urlencoded encoding
Work around for application/x-www-form-urlencoded encoding.  Replaces '+' from java.net.URLDecoder with charset specific encoded space value ('%20' for most charsets).

The custom urlEncode method should be replaced with calls to a true URL encoder once available.
2009-11-03 21:01:23 +00:00
Ramnivas Laddad 868cf09b2d Modified staticmethod mocking to remove compile-time dependency on JUnit (see ROO-314 and related issues) 2009-11-03 00:51:22 +00:00
Sam Brannen 04a7656292 Updated ivy settings so that org.jboss.util is downloaded to the local repository; updated Eclipse classpath regarding latest version of org.jboss.util; added classpath entry for org.jboss.classloading.spi so that JBoss5ClassLoader compiles in Eclipse. 2009-11-01 17:02:08 +00:00
Keith Donald 470302ecc6 javadoc 2009-10-30 20:35:29 +00:00
Keith Donald c8fd4a45fc more eclipse compile errors 2009-10-30 19:59:31 +00:00
Keith Donald f1cab9acda fixed failing test; take 2 2009-10-30 19:52:19 +00:00
Keith Donald 4151c52af6 removed unused import 2009-10-30 19:34:55 +00:00
Keith Donald 7a4ca36413 Fixed failed tests 2009-10-30 19:34:21 +00:00
Keith Donald 0b46950818 fixed eclipse classpath compile errors 2009-10-30 19:26:39 +00:00
Keith Donald a2be2e15e9 polish; fixed failed tests 2009-10-30 19:19:27 +00:00
Keith Donald 3a3edb53f6 polish / code review of data source embedded and init 2009-10-30 19:01:48 +00:00
Keith Donald 913bc03a3b ui.format system refining from RC1 feedback: Support for one format annotation applying to multiple field types, Printer/Parser building blocks for more flexibility, full Joda time formatting support, FormattingService as a service entry-point for clients to use 2009-10-30 18:44:40 +00:00
Thomas Risberg 471fbf7ebf added classes from contributed patch for load-time weaving in JBoss 5 (SPR-5764) 2009-10-30 17:11:26 +00:00
David Syer 14e7b46163 RESOLVED - issue SPR-5917: fixed classpath pattern for ANT 2009-10-30 11:51:50 +00:00
David Syer e9a37e4400 RESOLVED - issue SPR-5917: DataSourceInitializer and namespace support for creating and populating databases
Moved classes but not resources (fixed)
2009-10-30 11:26:45 +00:00
David Syer 747f71f9d2 RESOLVED - issue SPR-5917: DataSourceInitializer and namespace support for creating and populating databases
Tweak initializer to allow placeholders for script locations
2009-10-30 11:09:49 +00:00
David Syer 0c8a320130 RESOLVED - issue SPR-5917: updated jdbc docs 2009-10-30 10:32:15 +00:00
David Syer 0db68e1b57 RESOLVED - issue SPR-5917: DataSourceInitializer and namespace support for creating and populating databases
Moved populator to init package and added namespace features
2009-10-30 10:31:37 +00:00
Ramnivas Laddad ab403468f9 Mark junit dependency as compile, since aspects depend on it at compile-time 2009-10-29 17:18:49 +00:00
Arjen Poutsma f839969b6c javadoc. 2009-10-29 12:32:17 +00:00
Arjen Poutsma 2288b2523e SPR-6021 - Allow for using MultiValueMap in GET request for mapping multiple request params 2009-10-29 11:18:43 +00:00
Mark Fisher 53eb612a68 SPR-6059 Avoiding NPE for OR operator. If the value is null instead of a valid boolean or Boolean, it will now trigger an EvaluationException. 2009-10-28 23:14:29 +00:00
Thomas Risberg 4a315ba6d1 fixed rertieval of generated keys for HSQLDB 1.9 and fixed some typos (SPR-6266) 2009-10-28 22:25:58 +00:00
Mark Fisher f4460dcbf7 SPR-6059 Avoiding NPE for unary-not and ternary operators. If the value is null instead of a valid boolean or Boolean, it will now trigger an EvaluationException. 2009-10-28 21:57:09 +00:00
Thomas Risberg a2cd909306 fixed rertieval of generated keys for HSQLDB 1.9 and fixed some typos (SPR-6266) 2009-10-28 19:40:32 +00:00
Thomas Risberg 84c1b56e35 fixed null handling for all Derby drivers to be the same as for the embedded driver (SPR-6000) 2009-10-28 17:14:47 +00:00
Mark Fisher 0baa29f1ac removed @Override from interface method 2009-10-28 14:45:31 +00:00
Mark Fisher 0400b68afb SPR-6240 Added namespace support for ErrorHandler strategy on JMS "listener-container" elements. 2009-10-28 14:36:01 +00:00
David Syer 0e85c66f2f SPR-6246: Java6 @Override removed 2009-10-28 13:56:11 +00:00
David Syer b580696550 Exclude Jetty version of servlet API 2009-10-28 13:43:55 +00:00
David Syer bce723d9e3 SPR-6246: split up Velocity test cases for neatness. Add fix for bug in exception creation in VelocityView. 2009-10-28 13:43:27 +00:00
Mark Fisher 3346752cfd INT-6051 SpEL selection and projection may now be applied to arrays. 2009-10-28 03:42:36 +00:00
Ramnivas Laddad 65f10cceb9 Removed unneeded empty directories 2009-10-28 01:28:28 +00:00
Ramnivas Laddad 92d6dfbe8d Renamed static_mock package to staticmock 2009-10-28 01:23:43 +00:00
Mark Fisher 776edbcae3 SPR-6051 avoiding NPE in TypedValue.toString() 2009-10-27 23:59:46 +00:00
Ramnivas Laddad d1f3772ca1 Fixed a build issue 2009-10-27 19:35:01 +00:00
David Syer 6aa97d5a3a RESOLVED - issue SPR-6038: HSQLDB+Quarz using data source causes "Unexpected token: FOR in statement " exception
Missing ivy dependency
2009-10-27 19:24:15 +00:00
Ramnivas Laddad 66261ecb8c Moved over JPA exception translator from Roo 2009-10-27 19:15:54 +00:00
David Syer 2c0cf49b94 RESOLVED - issue SPR-6038: HSQLDB+Quarz using data source causes "Unexpected token: FOR in statement " exception
Detect HSQL in LocalDataSourceJobStore and force locks to be taken locally (with a SimpleSemaphore)
2009-10-27 18:39:42 +00:00
David Syer 89424579ae OPEN - issue SPR-6038: HSQLDB+Quarz using data source causes "Unexpected token: FOR in statement " exception
Convert test case to JUnit 4
2009-10-27 18:25:18 +00:00
David Syer 092a25d0d8 SPR-4783: missing commit for bean def parser (duh) 2009-10-27 18:03:38 +00:00
Ramnivas Laddad dee410c0c4 Fixed test by moving Delegate to its own file 2009-10-27 17:38:50 +00:00
Ramnivas Laddad 064343d056 Make JUnit a compile-time dependency, since static mock functionality depends on its annotations. 2009-10-27 17:23:23 +00:00
Ramnivas Laddad 451bbce345 Moved over static mock testing from Roo; added tests 2009-10-27 17:16:02 +00:00
David Syer 57afe3baab RESOLVED - issue SPR-4783: OK, that wasn't it (reverted previous dumb change). Scratch, scratch... 2009-10-27 15:48:59 +00:00
David Syer 0cf31f012d RESOLVED - issue SPR-4783: Add name attribute to XML namespaces that want to support it (through parser base class)
Duh: bitten by the classpath*: again
2009-10-27 15:33:59 +00:00
David Syer f23921153d Add resource pattern so that tests run properly with resources in non-standard locations 2009-10-27 15:23:13 +00:00
David Syer dec2ca30c2 RESOLVED - issue SPR-4783: Add name attribute to all namespaces that use AbstractBeanDefinitionParser and declare name= attribute (includes <lang:groovy.../>). 2009-10-27 15:22:36 +00:00
David Syer 1a9599c815 RESOLVED - issue SPR-4661: Improve context-property-placeholder configurablity
Classpath ordering broke the build (duh: test-classes comes before classes in Maven but not Ant).
2009-10-27 14:49:10 +00:00
David Syer b250c65c45 RESOLVED - issue SPR-4661: Improve context-property-placeholder configurablity
Remove spaces from locations (seems like integration from SPR-6195 didn't reach the build yet)
2009-10-27 13:57:48 +00:00
David Syer 4be237dd84 RESOLVED - issue SPR-6195 2009-10-27 13:41:22 +00:00
David Syer a29253f2ca RESOLVED - issue SPR-4661: Improve context-property-placeholder configurability
Added new features to property override and placeholders (order, locations, system-properties-mode, ignore-*)
2009-10-27 13:38:29 +00:00
David Syer c63cdb2444 OPEN - issue SPR-6246: Velocity MethodInvocationExceptions not properly reported
Added test case for exception.  This probably fails on a non-Sun JVM?
2009-10-27 12:32:14 +00:00
David Syer 2978a4d0eb SPR-6160: resolved by referring to 'future release' instead of 2.5 2009-10-27 11:59:59 +00:00
David Syer 46818b038a SPR-6257: Resolved in beans.xml 2009-10-27 11:56:06 +00:00
Arjen Poutsma d0893c425e SPR-6247 - Multipart Content-Type charset is ignored in CommonsFileUploadSupport. 2009-10-27 11:42:36 +00:00
Arjen Poutsma d54a975af4 SPR-6248 - Accept header should not be mandatory for properly handling response body. 2009-10-27 10:50:45 +00:00
David Syer a86baca9cb Add atinject dependency for TCK test 2009-10-26 22:48:35 +00:00
David Syer 8b2a7c8be8 Fix wrong Maven dependency in pom.xml for validation and inject APIs 2009-10-26 22:38:08 +00:00
David Syer 560e07a966 Fix wrong Maven dependency in pom.xml for validation and inject APIs 2009-10-26 22:37:45 +00:00
David Syer 3c9eed1c22 SPR-6273: resolved with patch - use recursive call to reset low order bits and then re-seek match for pattern 2009-10-26 22:37:04 +00:00
Juergen Hoeller 7b54746a50 verified choice of primary bean in case of implicit name match in a scanning plus factory method scenario (SPR-6065) 2009-10-26 15:28:09 +00:00
Sam Brannen 1b92a2fae1 [SPR-6124] Verified that timed transactional tests fail with the TestNG integration in the TestContext framework. 2009-10-26 13:38:59 +00:00
Sam Brannen 02dfe94396 [SPR-6128] Verified that claims raised in this issue no longer apply. 2009-10-26 13:00:04 +00:00
Keith Donald 381d1d5a94 default date/time converters 2009-10-25 04:52:26 +00:00
Sam Brannen d868785b5f fixed DocBook structure and typo 2009-10-24 19:37:10 +00:00
Sam Brannen 83f3df14bd Updating Mail chapter regarding changes in Spring 2.0 and 3.0. 2009-10-24 19:32:05 +00:00
Sam Brannen e651c69a44 Polishing the Portlet sections of the reference manual. 2009-10-24 19:25:09 +00:00
Sam Brannen f14c2de5e9 Polishing the Portlet sections of the reference manual. 2009-10-24 18:58:39 +00:00
Sam Brannen dc897e7b34 Polishing 2009-10-24 17:33:23 +00:00
Sam Brannen d13d556260 Polishing the Portlet sections of the reference manual. 2009-10-24 17:04:52 +00:00
Sam Brannen 642549a1e7 Polishing the web integration sections of the reference manual. 2009-10-24 17:04:08 +00:00
Juergen Hoeller 8a09c8e7da reworked ConfigurationClass(Web)ApplicationContext into AnnotationConfig(Web)ApplicationContext; revised BeansException signatures 2009-10-23 17:46:16 +00:00
Juergen Hoeller 87b2f23692 updated version ranges for javax.el and javax.inject 2009-10-23 17:26:12 +00:00
Sam Brannen cc07b8d002 Polishing the web integration sections of the reference manual. 2009-10-22 13:17:39 +00:00
Sam Brannen 2a4fe95e24 Polishing the MVC sections of the reference manual. 2009-10-22 12:54:34 +00:00
Sam Brannen a995c6f65f Polishing the MVC sections of the reference manual. 2009-10-22 12:53:03 +00:00
Sam Brannen 50f96a268e Added the @Inject TCK to the Eclipse classpath. 2009-10-20 22:27:04 +00:00
Sam Brannen a789bf2f1e Polishing the MVC sections of the reference manual. 2009-10-20 21:56:22 +00:00
Juergen Hoeller ee8ed4e410 fixed getBean signature ambiguity in tests 2009-10-20 20:14:49 +00:00
Juergen Hoeller cf580f024a added first cut of getBean(Class) lookup method 2009-10-20 19:52:30 +00:00
Juergen Hoeller a83756f771 deprecated remoting support for JAX-RPC (in favor of JAX-WS) 2009-10-20 18:35:35 +00:00
Juergen Hoeller 54221500c1 fixed PersistenceInjectionTests 2009-10-20 18:30:55 +00:00
Juergen Hoeller 94533976d0 full compliance with the JSR-330 TCK 2009-10-20 18:18:25 +00:00
Juergen Hoeller a429e230b6 revised version checks and exception signatures 2009-10-20 16:53:24 +00:00
Sam Brannen ccb103417d Polishing the MVC sections of the reference manual. 2009-10-19 22:32:15 +00:00
Sam Brannen 32fb767c87 Polishing the reference manual. 2009-10-19 18:26:02 +00:00
Sam Brannen c399cb1b27 fixed typos 2009-10-19 18:23:51 +00:00
Juergen Hoeller a7f0d50643 fixed ParseException constructor calls (SPR-6239) 2009-10-19 12:59:17 +00:00
Keith Donald db2ff40e4b commented out test failing nightly snapshot 2009-10-19 02:42:29 +00:00
Keith Donald 1c0f188adc maven central joda-time artifact 2009-10-19 02:14:34 +00:00
Keith Donald e4f50f5b73 SPR-6245 bean wrapper copy constructor not copying all state 2009-10-19 01:06:44 +00:00
Keith Donald 2fe6003923 SPR-6199 2009-10-19 00:13:30 +00:00
Keith Donald 0e4064fecc added null handling, fixed bug relating to conversion of non-generic collections 2009-10-18 22:20:53 +00:00
Sam Brannen 206963bcba Polishing the reference manual. 2009-10-18 21:35:56 +00:00
Keith Donald 66e6560560 polish 2009-10-17 06:39:35 +00:00
Keith Donald 44a238616c polish 2009-10-17 06:10:59 +00:00
Keith Donald db9f25d6de polish 2009-10-17 06:10:29 +00:00
Keith Donald be94b45636 polish 2009-10-17 05:54:36 +00:00
Keith Donald bd0356a712 polish 2009-10-17 05:49:28 +00:00
Keith Donald 9584a81687 conditional mapping 2009-10-17 05:33:04 +00:00
Keith Donald 3c4596a424 conditional mapping and polish 2009-10-17 05:32:30 +00:00
Keith Donald f63c3d5313 polish 2009-10-17 04:03:56 +00:00
Keith Donald f55b54ec3b builder 2009-10-16 23:15:48 +00:00
Keith Donald c833269aa3 polish 2009-10-16 23:14:01 +00:00
Keith Donald 106847e739 polish 2009-10-16 23:11:24 +00:00
Keith Donald a221fb5718 MapperFactory and MapperBuilder config API 2009-10-16 22:44:54 +00:00
Sam Brannen 5616770a27 Corrected minor errors regarding JDO, grammar, etc. 2009-10-16 21:29:30 +00:00
Sam Brannen c686035773 Updated Eclipse classpath regarding javax.inject and javax.validation. 2009-10-16 10:16:25 +00:00
Sam Brannen c29cbc18ee Cleaning up and upgrading Eclipse classpaths. 2009-10-16 10:11:10 +00:00
Sam Brannen ad1bfbcbfd Added Eclipse project settings for the new web.struts module. 2009-10-15 23:24:38 +00:00
Keith Donald 3fb3549997 polish 2009-10-15 15:49:26 +00:00
Juergen Hoeller e99cda3739 updated to final versions of JSR-330 and JSR-303 APIs 2009-10-15 14:31:41 +00:00
Arjen Poutsma b42cf25599 SPR-6236: Reintroduce Struts support 2009-10-15 14:04:13 +00:00
Arjen Poutsma 7031c31904 Updated build settings 2009-10-15 13:57:28 +00:00
Arjen Poutsma 7461d70582 SPR-6236: Reintroduce Struts support 2009-10-15 10:50:58 +00:00
Juergen Hoeller 11d987009a revised destroy method lookup after deserialization (avoiding NPE in case of default-destroy-method; SPR-6211) 2009-10-15 10:33:05 +00:00
Arjen Poutsma 7fa9105096 SPR-6236: Reintroduce Struts support 2009-10-15 10:31:47 +00:00
Arjen Poutsma e24e768054 SPR-6164 - a Uri Value is incorrectly extracted if it contains '.'. 2009-10-15 09:18:14 +00:00
Keith Donald 64ded0484e polish 2009-10-15 00:38:18 +00:00
Keith Donald 402f0924da polish 2009-10-15 00:36:31 +00:00
Keith Donald 66d901b9fe naming improvements from mark fisher code review 2009-10-15 00:33:17 +00:00
Keith Donald 4563cb2804 initial joda time support courtesy of Oliver Gierke 2009-10-15 00:20:14 +00:00
Keith Donald d5a954833c method invoking formatter as a convenience 2009-10-14 22:47:14 +00:00
Mark Fisher bc207042d0 SPR-6170 updated CronSequenceGenerator according to patch applied to the 1.0.x branch of Spring Integration 2009-10-14 22:22:21 +00:00
Sam Brannen 62d7369607 JavaDoc polishing 2009-10-14 22:06:51 +00:00
Keith Donald 4d9bf3a45f removed valueOf convention b/c of unwanted side effects 2009-10-14 21:37:57 +00:00
Keith Donald dc076ee6fe fixed failing tests 2009-10-14 20:45:53 +00:00
Keith Donald 728a1415d9 added convention-based default valueOf formatter 2009-10-14 18:57:36 +00:00
Sam Brannen a696a4fec9 DataBinder now accepts var-args to set allowed, disallowed, and required fields 2009-10-14 14:49:24 +00:00
Sam Brannen 52f03fc759 Added "Changes in version 3.0.0.RC2" section. 2009-10-14 14:47:17 +00:00
Sam Brannen 704d4b785b [SPR-6227] Parameterizing with Class<?> and Class<T> where appropriate; suppressing unchecked warnings; and fixed JavaDoc typos. 2009-10-14 14:07:48 +00:00
Sam Brannen 986ccbe2c6 Suppressing unchecked and serial warnings. 2009-10-14 14:03:11 +00:00
Arjen Poutsma 17d5b31af3 SPR-6206 - When looking up methods with @RequestMapping annotation, unannotated bridge methods are included 2009-10-14 12:24:04 +00:00
Sam Brannen 52ad49b3ae fixed typo and JavaDoc polishing. 2009-10-14 10:48:00 +00:00
Arjen Poutsma 5310035700 SPR-6214 - Using @ResponseBody throws HttpMediaTypeNotAcceptableException when it supports writing an acceptable MediaType 2009-10-14 10:46:29 +00:00
Sam Brannen 0f06771249 fixed typo 2009-10-14 10:45:17 +00:00
Arjen Poutsma 523dba7285 SPR-6183 - integration-tests should not be included in the packaged distribution 2009-10-14 10:31:59 +00:00
Arjen Poutsma 8738fd7b7b SPR-6177 - HttpHeadersTests fails with non-english locale 2009-10-14 09:53:25 +00:00
Juergen Hoeller 74f4749372 fixed extraction of Controller suffix (SPR-6153) 2009-10-13 23:10:48 +00:00
Juergen Hoeller b2129577b9 polishing 2009-10-13 22:48:25 +00:00
Juergen Hoeller cfa7216fac deprecated scheduling support for JDK 1.3 Timer 2009-10-13 21:52:44 +00:00
Juergen Hoeller 3331f16ef7 revised RootBeanDefinition constructors 2009-10-13 21:39:27 +00:00
Juergen Hoeller e2af25b891 avoid hard-coded dependency on backport-concurrent (SPR-6161) 2009-10-13 21:37:05 +00:00
Juergen Hoeller b4ffdcdf18 polishing 2009-10-13 20:59:10 +00:00
Juergen Hoeller 84447cdf94 DataBinder activates autoGrowNestedPaths by default; fixed enum binding with WebRequestDataBinder 2009-10-13 20:55:57 +00:00
Juergen Hoeller a293f50851 Enum counts as simple value type 2009-10-13 20:51:59 +00:00
Juergen Hoeller 49b647ca93 check against MultipartRequest mixin interface 2009-10-13 20:51:01 +00:00
Juergen Hoeller 677baaceb8 polishing 2009-10-13 20:49:34 +00:00
Andy Clement c9057fd1da SPR-6230: SpEL improvements 2009-10-13 18:11:34 +00:00
Arjen Poutsma 06286b19ce Added URI variant methods to the RestTemplate. 2009-10-13 14:20:24 +00:00
Sam Brannen 6aee6a16ab polishing 2009-10-13 11:46:40 +00:00
Sam Brannen c8b8cf45b4 fixed typos and programlisting formatting. 2009-10-13 11:20:32 +00:00
Sam Brannen 9cb3fb7012 fixed typo 2009-10-13 11:19:35 +00:00
Keith Donald 9c3a0569c9 polish 2009-10-12 19:38:55 +00:00
Keith Donald b781a39b46 polish 2009-10-12 19:25:35 +00:00
Keith Donald 16d294c2c0 spring 3 object mapping ref docs 2009-10-12 19:14:45 +00:00
Sam Brannen b287d5a9f1 JUnit 4.6 --> 4.7 2009-10-11 18:31:19 +00:00
Sam Brannen 3dfb1d5c9c [SPR-6222] Updating PetClinic Ivy dependencies so that the web-app runs. 2009-10-11 18:24:36 +00:00
Sam Brannen 2e59673e73 [SPR-6222] Updating PetClinic tutorial. 2009-10-11 18:23:26 +00:00
Sam Brannen f57d702370 [SPR-6222] Updating PetClinic build documentation regarding migration to Spring Build and changes resulting from the upgrade to Spring 3.0. 2009-10-11 18:08:44 +00:00
Sam Brannen 0b069ebe46 Updating PetClinic build documentation regarding migration to Spring Build. 2009-10-11 15:53:51 +00:00
Sam Brannen 8fe497ef53 Updating PetClinic build documentation regarding migration to Spring Build. 2009-10-11 15:30:56 +00:00
Sam Brannen 7983ded6e0 Renamed PetClinicSuiteTests to PetClinicTestSuite so that it doesn't get picked up by Spring Build. 2009-10-11 15:06:29 +00:00
Sam Brannen a3c3b257e1 Pet Clinic tests now run against JUnit 4.7. 2009-10-11 15:03:18 +00:00
Sam Brannen a75a975219 Pet Clinic test suite now includes VisitsAtomViewTest. 2009-10-11 15:02:24 +00:00
Sam Brannen 2827f80d34 Removed @Override. 2009-10-08 13:32:49 +00:00
Sam Brannen 66550c3340 Added an empty implementation of the missing setExclude() method so that the class compiles. 2009-10-08 13:25:43 +00:00
Keith Donald 96cfa0c37d custom mappable type tests 2009-10-07 21:33:53 +00:00
Keith Donald 8fd3de9397 mappable type factory extension point / polish 2009-10-07 20:27:48 +00:00
Keith Donald e3983fe796 polish 2009-10-07 19:37:07 +00:00
Keith Donald 8fe055b0e0 mapping exclusions 2009-10-07 19:28:39 +00:00
Keith Donald a73324bc24 polish 2009-10-07 19:11:22 +00:00
Keith Donald a4476e5e0e nested bean mapper test 2009-10-07 19:03:33 +00:00
Keith Donald f692c765d2 addNestedMapper 2009-10-07 17:50:03 +00:00
Keith Donald 3450c5de0b polish 2009-10-07 17:36:30 +00:00
Keith Donald ec04357580 polish 2009-10-07 17:28:28 +00:00
Keith Donald 9cf508d80d javadoc 2009-10-07 17:18:10 +00:00
Keith Donald ba5335f66e polish 2009-10-07 17:03:02 +00:00
Keith Donald c333494085 javadoc 2009-10-07 17:02:22 +00:00
Keith Donald 6d31db1017 renamed to MappingContext since no spel dep 2009-10-07 16:56:13 +00:00
Keith Donald acf574c3e3 added conversion service performance optimizations; added mapping cyclical ref handling; removed ConverterInfo in favor of specifying S and T at registration time if necessary 2009-10-07 16:54:36 +00:00
Andy Clement c9f0e68c82 SPR-5307: Committing test but can't be uncommented until Spring depends on AspectJ 1.6.7 2009-10-07 02:54:44 +00:00
Keith Donald 0437305669 nested revision 2009-10-06 21:40:59 +00:00
Keith Donald 0f5074db2b spel mapping, polish 2009-10-06 21:31:49 +00:00
Sam Brannen 2c2d79a4bf polishing 2009-10-06 21:11:51 +00:00
Sam Brannen b7e36461ca Now mentioning JSR-330 annotations in test chapter. 2009-10-06 21:10:56 +00:00
Sam Brannen c200715076 Now verifying support for @Named as well. 2009-10-06 21:10:06 +00:00
Chris Beams d020d73118 SPR-6186: removed remaining duplicate check for @Configuration 2009-10-06 04:30:26 +00:00
Chris Beams cbadf350e1 Continued progress on SPR-5682: Provide dedicated ApplicationContext implementations for use with @Configuration classes
Resolved sub-task SPR-6186: Eliminate duplicate code between ConfigurationClassApplicationContext and ConfigurationClassWebApplicationContext
2009-10-06 01:38:16 +00:00
Sam Brannen ab10d37fae Corrections regarding BindingResult(s); added a tip regarding programmatic use of LocalValidatorFactoryBean. 2009-10-05 22:24:42 +00:00
Sam Brannen 710ae3a9d2 SpringJUnit4ClassRunnerAppCtxTests now verifies seamless support for using @Inject in addition to @Autowired, etc. 2009-10-05 22:08:01 +00:00
Keith Donald 0a843e60a6 recursive mapping support 2009-10-05 20:28:10 +00:00
Chris Beams fd8935ba0b SPR-5682:
* polishing for ConfigurationClassApplicationContext & tests
* added ConfigurationClassWebApplicationContext & tests
* next: refactoring out duplications between ConfigurationClassApplicationContext & ConfigurationClassWebApplicationContext
2009-10-05 05:27:30 +00:00
Chris Beams 772a74a636 SPR-5682: fixing test breakage on CI server due to strange non-determinism in the order of bean names being returned in the key set of the map of beans matching the required type. 2009-10-05 03:29:20 +00:00
Chris Beams 8c5f78c0d6 polishing 2009-10-05 00:51:19 +00:00
Chris Beams a48234cf5f SPR-5682: Initial support for ConfigurationClassApplicationContext 2009-10-05 00:35:17 +00:00
Keith Donald e7c8f1ef8b SPR-6179, additional mapper test cases 2009-10-04 04:13:27 +00:00
Sam Brannen 6ea83afe1e Corrected typos and cleaned up DocBook structure. 2009-10-03 23:45:23 +00:00
Sam Brannen 0860f3bb8c [SPR-6174] DataBinder now uses var-args to set allowed/disallowed/required fields. 2009-10-03 22:23:41 +00:00
Sam Brannen f08d15c86f Fixed minor grammatical errors. 2009-10-03 22:19:21 +00:00
Sam Brannen 06872dd465 Fixed minor typo. 2009-10-03 22:18:50 +00:00
Keith Donald 341835a142 mapper initial commit 2009-10-02 16:28:53 +00:00
Sam Brannen 5c055ed6dd [SPR-6174] DataBinder now uses var-args to set allowed/disallowed/required fields. 2009-10-01 23:28:27 +00:00
Sam Brannen 0eda92a51a Fixed minor grammatical errors. 2009-10-01 22:52:46 +00:00
Andy Clement 076fc89a50 SPR-5518: Documented ability to use text rather than symbols for SPEL operators (lt, le, gt, ge, eq, ne, div, mod, not). Can help in XML specification of expressions. 2009-10-01 19:39:20 +00:00
Andy Clement 10e26e6dc7 SPR-6123: doc update on writing good pointcuts (should include a within()) 2009-10-01 19:05:11 +00:00
Juergen Hoeller 71a045328c renamed getAnnotations to getMethodAnnotations; added getMethodAnnotation and getParameterAnnotation convenience methods 2009-10-01 15:20:31 +00:00
Juergen Hoeller b152ac34fd CustomEditorConfigurer supports PropertyEditor instances again (with deprecation warning); for XFire compatibility (SPR-6157) 2009-10-01 13:40:55 +00:00
Juergen Hoeller 0c47a01953 fixed ContentNegotiatingViewResolver to work with the combination of ignoreAcceptHeader=true plus defaultContentType as well (SPR-6163) 2009-10-01 12:06:58 +00:00
Juergen Hoeller 7a700edaa7 understand "on"/"off", "yes"/"no", "1"/"0" as boolean values (analogous to CustomBooleanEditor) 2009-10-01 11:18:48 +00:00
Juergen Hoeller b465f204bd renamed internal *GenericConverters to *Converters 2009-10-01 11:07:22 +00:00
Juergen Hoeller 0543a294ee expose arrays as comma-delimited element String 2009-10-01 11:05:45 +00:00
Juergen Hoeller 784068346d PathMatchingResourcePatternResolver leniently ignores non-existing root directories 2009-09-30 15:04:31 +00:00
Keith Donald 3fa533ddd8 SPR-6032 & SPR-6033: Auto grow nested path enhancements to BeanWrapper 2009-09-29 19:54:35 +00:00
Ramnivas Laddad 832db0abbc Updated Groovy version for Eclipse project to mathc ivy.xml 2009-09-28 20:56:13 +00:00
Ramnivas Laddad 191293f2ef Fixed a commented test 2009-09-28 20:55:12 +00:00
Sam Brannen f95dff6975 org.springframework.instrument.classloading --> org.springframework.instrument.tomcat 2009-09-26 21:02:58 +00:00
Sam Brannen bfddb0938b Abed Rabbo --> Abedrabbo 2009-09-26 20:58:50 +00:00
Juergen Hoeller 72d9640801 final touches for 3.0 RC1 2009-09-25 15:00:43 +00:00
Juergen Hoeller 270fc84923 added ".vm" as resource file extension 2009-09-25 14:48:21 +00:00
Juergen Hoeller 4d29f65a9c @Event/ResourceMapping uniquely mapped to through event/resource id, even across controllers (SPR-6062); type-level @RequestMapping header conditions validated in Portlet environments as well 2009-09-25 14:45:35 +00:00
Mark Fisher 76122c931d updated javadoc 2009-09-25 14:25:56 +00:00
Mark Fisher 22e1305cf0 updated reference documentation now that the <executor/> and <scheduler/> element's 'size' attribute has been renamed to 'pool-size' 2009-09-25 14:21:49 +00:00
Mark Fisher 80ac130dfe Renamed the 'size' attribute to 'pool-size' for the <executor/> and <scheduler/> elements in the task namespace. 2009-09-25 14:19:42 +00:00
Arjen Poutsma cafc106ccc Renamed org.springframework.instrument.classloading module to org.springframework.instrument.tomcat 2009-09-25 12:51:58 +00:00
Juergen Hoeller 72f4572930 preparing for RC1 release 2009-09-25 11:03:57 +00:00
Juergen Hoeller e408cbeecd moved converter initialization code to constructor 2009-09-25 10:57:40 +00:00
Juergen Hoeller ea40fb9bcd all @SessionAttributes get exposed to the model before handler method execution; MultipartRequest is available as a mixin interface on (Native)WebRequest as well 2009-09-25 10:46:38 +00:00
Juergen Hoeller 9cb1338b94 all @SessionAttributes get exposed to the model before handler method execution; MultipartRequest is available as a mixin interface on (Native)WebRequest as well 2009-09-25 10:42:49 +00:00
Arjen Poutsma e49869ea78 SPR-6148 - @ResponseBody with returned String results in unresolvable view ServletException 2009-09-25 10:34:54 +00:00
Arjen Poutsma 5b12503c47 SPR-6144 - @ResponseStatus annotation is ignored in an @Controller redirect (RedirectView)
SPR-5468 - Modify RedirectView to allow 301 Permanent Redirects
2009-09-25 10:23:06 +00:00
Juergen Hoeller 6fe0e36fe0 polishing 2009-09-25 09:59:17 +00:00
Juergen Hoeller ce4e3784d1 updated dependencies 2009-09-25 09:58:54 +00:00
Juergen Hoeller 39a97a61af resolve handler bean name early; validate header conditions as well 2009-09-25 09:53:30 +00:00
Juergen Hoeller aec2bc097e polishing 2009-09-25 09:45:10 +00:00
Juergen Hoeller 09e6a85edd fixed overview files 2009-09-25 08:47:18 +00:00
Arjen Poutsma 04fa5d4b99 SPR-6093 - MVC Annotation Inheritance 2009-09-25 08:45:58 +00:00
Mark Pollack d8245c800b Add minimal doc for JSR 330 support. 2009-09-25 08:17:12 +00:00
Mark Pollack 7ae8be05d1 SPR-5994 - The release archive contains an unecessary .zip file of the contents under the reference doc directories html and html-single 2009-09-25 07:20:45 +00:00
Mark Pollack c6cd1a528e SPR-6119 - Add slf4j dependency back to orm's pom.xml but in test scope as it is needed to run tests that use Hibernate
SPR-5956 - Remove commons-logging dependency definitions in pom.xml for all but spring-core so as to make exclusion rule easier for user who use slf4j
2009-09-25 05:16:55 +00:00
Juergen Hoeller cd1df84d7d removed slf4j dependency (not used in Spring itself; SPR-6119) 2009-09-24 23:16:35 +00:00
Juergen Hoeller 34d2a69a82 removed separate placeholder test class 2009-09-24 22:58:15 +00:00
Juergen Hoeller 60acaf5671 updated dependencies 2009-09-24 22:55:21 +00:00
Juergen Hoeller 5c1b0e6caf removed classes which are not used in 3.0 yet 2009-09-24 22:54:35 +00:00
Juergen Hoeller a59d205b36 removed 3.1 feature classes 2009-09-24 22:53:17 +00:00
Juergen Hoeller 2781b876d2 PropertyPlaceholderConfigurer supports "${myKey:myDefaultValue}" defaulting syntax 2009-09-24 22:51:38 +00:00
Juergen Hoeller 0f43d6c592 PropertyPlaceholderConfigurer supports "${myKey:myDefaultValue}" defaulting syntax 2009-09-24 22:34:02 +00:00
Juergen Hoeller 8eca898d44 removed outdated "cacheJspExpressions" feature from ExpressionEvaluationUtils 2009-09-24 15:56:00 +00:00
Juergen Hoeller c761082eea added simplest possible ExpressionEvaluator 2009-09-24 15:48:48 +00:00
Juergen Hoeller 89aa13e8e5 removed Apache JSTL references completely 2009-09-24 15:35:28 +00:00
Juergen Hoeller 0463c612b5 removed Apache JSTL references completely 2009-09-24 15:31:10 +00:00
Juergen Hoeller 811e9fc043 consistent dependencies 2009-09-24 15:09:57 +00:00
Juergen Hoeller e2093a8414 fixed regression: looking for annotation on original bean class as well, not just on exposed bean type (SPR-5981) 2009-09-24 14:59:26 +00:00
Juergen Hoeller ad492e906e PropertyOverrideConfigurer's "ignoreInvalidKeys" ignores invalid property names as well (SPR-5792) 2009-09-24 14:40:13 +00:00
Juergen Hoeller 557dd1f1c4 initialize transaction synchronization before doBegin call in order to avoid OutOfMemory failures after resource binding 2009-09-24 14:02:40 +00:00
Juergen Hoeller 49bf85baaa factored out common resolveTypeArgument(s) method to GenericTypeResolver 2009-09-24 12:51:52 +00:00
Juergen Hoeller b8c1130eec detect @Bean methods on registered plain bean classes as well (SPR-5795) 2009-09-24 10:45:56 +00:00
Juergen Hoeller 38110d35d2 polishing 2009-09-24 10:21:40 +00:00
Arjen Poutsma 501a1ea9af SPR-5910 - Slight Improvement for Main JavaDoc in RedirectView 2009-09-24 08:31:33 +00:00
Mark Pollack bd098ce1db pom maintenance - sync with ivy.xml
update junit version in ivy.xml for org.sf.aspects
2009-09-24 06:09:54 +00:00
Mark Fisher 616a48acc2 SPR-6142 AbstractMessageListenerContainer now accepts an implementation of the ErrorHandler strategy for handling any uncaught exceptions thrown while processing a Message. The default behavior is still to log at error-level only (no ErrorHandler). 2009-09-23 22:06:46 +00:00
Juergen Hoeller 33265eecbd polishing 2009-09-23 21:19:28 +00:00
Juergen Hoeller 9508f41a91 made InitDestroyAnnotationBeanPostProcessor's logger field transient (SPR-5962) 2009-09-23 21:17:30 +00:00
Juergen Hoeller d4c16e91df SPR-6094: PostConstruct now processed top-down (base class first); @PreDestroy processed bottom-up (subclass first) 2009-09-23 20:53:21 +00:00
Juergen Hoeller 64bf3b74b5 revised Hessian/Burlap exception clauses (SPR-5897) 2009-09-23 19:35:44 +00:00
Keith Donald 2bd30a49ad more tests 2009-09-23 18:36:11 +00:00
Keith Donald 7a6dafd5ad completed generic converter implementation 2009-09-23 18:25:04 +00:00
Juergen Hoeller ce800fb45a allow instrumentation to be specified as a regular VM agent even in OSGi (SPR-6147) 2009-09-23 18:14:20 +00:00
Juergen Hoeller dc05ef6548 revised JBoss VFS support 2009-09-23 17:05:39 +00:00
Juergen Hoeller e56aa91bd7 "data.sql" instead of "test-data.sql" (SPR-6020) 2009-09-23 16:16:40 +00:00
Juergen Hoeller c802253402 "data.sql" instead of "test-data.sql" (SPR-6020) 2009-09-23 15:58:38 +00:00
Rob Harrop 2eb6f497a9 updated testing chapter of ref guide 2009-09-23 14:59:21 +00:00
Juergen Hoeller 6fc190ec25 AbstractBeanDefinitionParser can deal with null return value as well (SPR-5872) 2009-09-23 13:51:14 +00:00
Keith Donald 438f128db6 todos 2009-09-23 04:50:03 +00:00
Keith Donald 187d025c19 map converters 2009-09-23 04:45:04 +00:00
Keith Donald 1ee4ac1b52 string to map converters 2009-09-23 04:20:23 +00:00
Mark Fisher dedecf7ae9 SPR-6142 Moved ErrorHandler strategy interface to the org.springframework.util package so that it can be used by MessageListener containers in addition to TaskSchedulers. 2009-09-23 00:44:58 +00:00
Mark Fisher e2c36fd592 Updated the context module's .classpath file for Groovy 1.6.3 (from 1.5.1) 2009-09-22 23:52:27 +00:00
Keith Donald e6c3227d2d more generic converters 2009-09-22 20:28:23 +00:00
Keith Donald ed611be838 conversion utils helper for common code 2009-09-22 15:37:26 +00:00
Juergen Hoeller 871fc14fbb restored parent property to accept ConversionService instead of GenericConversionService 2009-09-22 13:37:32 +00:00
Juergen Hoeller 0698947e6d skip processing when no PlatformTransactionManager found (SPR-3955) 2009-09-22 13:31:56 +00:00
Keith Donald c693f216f1 Beefed up test suite 2009-09-21 22:59:48 +00:00
Keith Donald e9416db472 javadoc and final 2009-09-21 22:35:39 +00:00
Keith Donald 01e900c33a documented hooks 2009-09-21 22:24:36 +00:00
Keith Donald a6e28f4eb5 polish 2009-09-21 21:32:01 +00:00
Keith Donald 6ce33dba75 getConverter calls now throw exception and query parent 2009-09-21 21:24:37 +00:00
Arjen Poutsma 5faa4d90ac SPR-6130 - Be able to specify a default content type when no extension is used in ContentNegotiatingViewResolver 2009-09-21 14:27:22 +00:00
Mark Pollack 4f94f45ec4 pom maintenance 2009-09-21 07:37:30 +00:00
Keith Donald fe525f5100 polish 2009-09-21 05:51:10 +00:00
Keith Donald 5bae005366 removed ignored test now that convert system has been revised 2009-09-21 05:40:55 +00:00
Keith Donald 17f7796d42 polish 2009-09-21 05:39:16 +00:00
Keith Donald cb54869726 collection to object 2009-09-21 05:30:54 +00:00
Keith Donald 67c02f6c35 generic converter revising 2009-09-21 05:14:14 +00:00
Jeremy Grelle 982ece595c SPR-5931 - Allow non-standard attributes in <form> tags 2009-09-21 02:48:00 +00:00
Juergen Hoeller 566eeba8ca specified excluded names matched against unprefixed FactoryBean names as well (SPR-5926) 2009-09-20 22:22:35 +00:00
Juergen Hoeller 9f75eb4f44 do not check for action exception in resource phase (SPR-6129) 2009-09-20 21:12:41 +00:00
Keith Donald fada151878 array to object 2009-09-18 23:15:33 +00:00
Keith Donald d37c5aba94 polish 2009-09-18 23:06:29 +00:00
Keith Donald 48bc060a77 collection and array merged into one 2009-09-18 23:02:52 +00:00
Keith Donald 2ca694350e array to collection conversion 2009-09-18 22:18:41 +00:00
Juergen Hoeller 6c4fb85753 marked JBoss VFS dependency as optional (SPR-6127) 2009-09-18 21:34:25 +00:00
Juergen Hoeller 66ce8248b5 JSR-330 etc 2009-09-18 21:30:30 +00:00
Keith Donald 25854bd764 polish 2009-09-18 21:07:53 +00:00
Keith Donald b4fd51abd5 polish 2009-09-18 20:41:15 +00:00
Keith Donald 45c542e51e updated for change in conversion service api; source type desc now required 2009-09-18 20:32:41 +00:00
Keith Donald b2e3837956 polish 2009-09-18 20:28:36 +00:00
Keith Donald f1f4bd9fb4 generic converter updates 2009-09-18 20:08:45 +00:00
Keith Donald d3b43ebccb refined generic converter concept 2009-09-18 19:57:59 +00:00
Juergen Hoeller 6420fd303b fixed checkbox macro (SPR-6120) 2009-09-18 14:42:36 +00:00
Keith Donald 8e800f0322 map to map generic converter 2009-09-18 14:30:23 +00:00
Juergen Hoeller ac6e26388f added default editors for "java.util.Currency" and "java.util.TimeZone" 2009-09-18 14:15:06 +00:00
Juergen Hoeller 99753f0d1c polishing 2009-09-18 14:07:19 +00:00
Juergen Hoeller 89216a4b9a marked Hibernate Validator as optional 2009-09-18 14:02:24 +00:00
Juergen Hoeller 7b42a12161 consistent loading of optional classes 2009-09-18 14:01:39 +00:00
Juergen Hoeller 8d66c90760 revised JTA 1.1 support and javadoc 2009-09-18 13:48:37 +00:00
Jeremy Grelle 1c134925ba SPR-6114 - Upgrade the Spring JSP tag libraries to JSP 2.0 2009-09-17 22:39:35 +00:00
Keith Donald d29a894d57 javadoc 2009-09-17 21:32:31 +00:00
Keith Donald 563ef683f9 polish 2009-09-17 21:27:57 +00:00
Keith Donald e9d53cb2e8 ignore failing test for now while revising converter system 2009-09-17 21:11:52 +00:00
Keith Donald 1d9607b465 javadoc 2009-09-17 21:03:19 +00:00
Keith Donald e26163505a added sf4j logging to run tests in eclipse 2009-09-17 20:25:34 +00:00
Keith Donald d848d21f09 polish 2009-09-17 20:16:26 +00:00
Keith Donald e153a1a968 tidying string to char conversion 2009-09-17 20:05:38 +00:00
Keith Donald 5c3e71d494 polish 2009-09-17 19:56:19 +00:00
Keith Donald 3ef485bbbe polish 2009-09-17 19:53:17 +00:00
Keith Donald 31441627de updated formatter conversion service adapter to work with type descriptor 2009-09-17 19:48:55 +00:00
Keith Donald 39c1ab923f tidying 2009-09-17 19:24:35 +00:00
Keith Donald 33c19b8b14 Converter system implementation cleanup and tidying; wip 2009-09-17 19:24:07 +00:00
Thomas Risberg 10c30f0315 modified createRelative according to David Ward's suggestion for JBSPRING-4 (SPR-5120) 2009-09-17 15:58:25 +00:00
Juergen Hoeller ad4f50a0d4 removed outdated reflection code 2009-09-17 15:24:24 +00:00
Juergen Hoeller 9ef1d2b1ad adapted to Converter signature change 2009-09-17 15:20:04 +00:00
Juergen Hoeller 6f2642f2d3 consistently use varargs signature 2009-09-17 10:24:56 +00:00
Juergen Hoeller 87e939a4e9 adapted to Converter signature change 2009-09-17 10:24:08 +00:00
Juergen Hoeller 160521074b avoid caching for expression results even when specified as TypedStringValue (SPR-6115) 2009-09-17 10:04:36 +00:00
Keith Donald 8bf1ee5e7c polish 2009-09-16 19:25:07 +00:00
Keith Donald 1c6965132f convert polishing: removed checked exception from Converter interface to support direct use, added Converter to each implementation for consistency 2009-09-16 19:24:56 +00:00
Keith Donald 881c3ed6fa Mapper and SpelMapper 2009-09-16 15:40:11 +00:00
Sam Brannen a7ab109ab7 TestNG 5.10 2009-09-16 11:15:37 +00:00
Rob Harrop 01fb1825f5 [SPR-6063] fixed issue with inconsistent views of PropertyDescriptors 2009-09-16 09:53:14 +00:00
Rob Harrop aa08c11976 [SPR-5859] @ManagedOperation can now be used on getters/setters 2009-09-16 09:25:48 +00:00
Juergen Hoeller 2a0d68cb5c restored getMostSpecificMethod's traversal of the inheritance hierarchy 2009-09-15 22:31:08 +00:00
Juergen Hoeller fd81aa205d protected @Autowired method can be overridden with non-annotated method to suppress injection; private @Autowired methods with same signature will be called individually across a hierarchy (SPR-6112) 2009-09-15 15:52:13 +00:00
Juergen Hoeller fa2bb722f0 initial JSR-330 injection support 2009-09-15 14:12:16 +00:00
Juergen Hoeller ad1269622b @Scope annotations not sufficient for scanning anymore 2009-09-15 12:36:45 +00:00
Juergen Hoeller e1a3e44485 initial JSR-330 injection support 2009-09-15 12:00:55 +00:00
Arjen Poutsma 429d78b902 javadoc. 2009-09-15 11:02:44 +00:00
Juergen Hoeller 34357d2b1f revised DefaultBindingErrorProcessor to use direct getPropertyName() and getValue() calls on PropertyAccessException itself (SPR-6111) 2009-09-15 10:51:50 +00:00
Arjen Poutsma 9f19e5e73b Polish 2009-09-15 09:17:10 +00:00
Keith Donald 5fa7347641 polish 2009-09-14 23:18:31 +00:00
Keith Donald 0d6b9f1241 polish 2009-09-14 23:17:03 +00:00
Juergen Hoeller ca928944db marked Derby dependency as optional (SPR-6109) 2009-09-14 23:08:32 +00:00
Keith Donald 0d7f4117ab polish 2009-09-14 22:51:22 +00:00
Keith Donald c0d2c6fed4 polish 2009-09-14 22:43:44 +00:00
Keith Donald af1c507f93 polish 2009-09-14 22:40:44 +00:00
Keith Donald 9e9f9df041 polish 2009-09-14 22:25:55 +00:00
Keith Donald df7a4dba3a polish 2009-09-14 22:00:54 +00:00
Keith Donald 5c525e546c polish 2009-09-14 21:59:12 +00:00
Keith Donald 90697e884d polish 2009-09-14 21:32:13 +00:00
Keith Donald d5ed42e860 spring 3 validation docs; jsr303 integration 2009-09-14 20:54:46 +00:00
Rob Harrop 90652bf8ae [SPR-5727] CronTriggerBean supports start delay 2009-09-14 15:53:05 +00:00
Rob Harrop 320f08ac79 [SPR-6017] a few more tweaks to how getLocalName is handled 2009-09-14 15:00:37 +00:00
Juergen Hoeller bb70c9a4c4 @RequestParam and co support placeholders and expressions in their defaultValue attributes (SPR-5922); @Value expressions supported as MVC handler method arguments as well (against request scope) 2009-09-14 10:48:15 +00:00
Rob Harrop 7835e66abb [SPR-6017] a few more tweaks to how getLocalName is handled 2009-09-14 10:43:04 +00:00
Arjen Poutsma ee0a59d464 Test -> Tests 2009-09-14 10:24:42 +00:00
Rob Harrop 7d37c92e4f [SPR-6017] a few more tweaks to the BeanDefinitionParserDelegate public contract 2009-09-14 10:02:15 +00:00
Juergen Hoeller 582c092f0e revised use of generic provider class for Eclipse compile compatibility 2009-09-13 21:27:03 +00:00
Sam Brannen f1bfcf0d25 [SPR-6104] @TestExecutionListeners now supports a 'listeners' alias for its existing 'value' attribute. 2009-09-13 13:55:34 +00:00
Rob Harrop fe16447112 more work on enabling non-namespace extensions of xml parsing 2009-09-11 20:00:04 +00:00
Keith Donald 1e9fc388ac added javax validation, hibernate, and vfs dependencies into eclipse 2009-09-11 19:04:03 +00:00
Rob Harrop 1480202aa3 [SPR-5644] Support for Enum<?> and Enum<T> values as FQN.FIELD_NAME in type conversion 2009-09-11 18:31:51 +00:00
Thomas Risberg f7562614bc changed from M4 to RC1 2009-09-11 15:34:32 +00:00
Thomas Risberg 8303d4945e updated the oxm exceptions figure (SPR-6095) 2009-09-11 15:11:52 +00:00
Juergen Hoeller 2d3c6fa55f removed outdated dependency on standard taglib (SPR-6099) 2009-09-11 14:22:26 +00:00
Thomas Risberg 64c46d48bb extended the range for org.jboss.virtual (SPR-5120) 2009-09-10 11:12:23 +00:00
Thomas Risberg 184f63f689 fixed component scanning for JBoss 5 VFS; applied revised vfs-fixes-3.patch; added ResourceHandlingUtils (SPR-5120) 2009-09-10 10:35:04 +00:00
Thomas Risberg 377359b924 polished 2009-09-09 17:28:34 +00:00
Thomas Risberg aeee120431 Beverly's edits reviewed; fixed coverage for SimpleJdbcCall and the use of default parameter values (SPR-5929) 2009-09-09 17:28:21 +00:00
Thomas Risberg c1f0301433 reduced size of level 4 subsection headings 2009-09-09 17:27:05 +00:00
Thomas Risberg ea674f2fa6 revised the detection of Sybase (SPR-6053) 2009-09-09 13:25:27 +00:00
Juergen Hoeller 4be3c5d88c ObjectFactory etc 2009-09-08 23:05:11 +00:00
Juergen Hoeller cfdb106910 polishing 2009-09-08 23:03:22 +00:00
Juergen Hoeller 634d4b4d4c BeanFactory prefers local primary bean to primary bean in parent factory (SPR-5871) 2009-09-08 23:01:26 +00:00
Juergen Hoeller ee1c68ead4 polishing 2009-09-08 22:35:55 +00:00
Juergen Hoeller 45dc856993 Jpa/JdoTransactionManager passes resolved timeout into Jpa/JdoDialect's beginTransaction; HibernateJpaDialect applies timeout onto native Hibernate Transaction before begin call (SPR-5195) 2009-09-08 22:35:32 +00:00
Rob Harrop 414d6633ea [SPR-6048] fixed Exception signature in CronTriggerBean.afterPropertiesSet() 2009-09-08 21:57:41 +00:00
Rob Harrop 2b96fe8b5d [SPR-5993] Fixed notice file 2009-09-08 21:50:26 +00:00
Rob Harrop 8f6a42bf64 [SPR-3635] [SPR-5039] [SPR-5813] JMX annotation inheritance fixed 2009-09-08 21:37:02 +00:00
Juergen Hoeller 7f7173f790 added copy of SerializationTestUtils to beans module 2009-09-08 21:00:48 +00:00
Juergen Hoeller 209f43bee7 BeanFactory supports ObjectFactory as a dependency type for @Autowired and @Value (SPR-6079) 2009-09-08 20:55:00 +00:00
Rob Harrop 7448214657 reworked PropertyPlaceholderConfigurer to use new PropertyPlaceholderHelper 2009-09-08 20:10:26 +00:00
Rob Harrop f20c074ff4 reworked PropertyPlaceholderHelper 2009-09-08 19:09:12 +00:00
Rob Harrop d16faafc4f [SPR-6025] support for recursive property placeholder replacement in system properties 2009-09-08 17:13:02 +00:00
Rob Harrop 3fe09d70cd [SPR-6025] added SystemPropertyUtilsTests 2009-09-08 16:29:43 +00:00
Rob Harrop 8357bcb050 [SPR-6025] PropertyPlaceholderUtils introduced 2009-09-08 16:24:38 +00:00
Rob Harrop df3881d1e8 Update groovy dependency to match ivy.xml 2009-09-08 16:23:09 +00:00
Thomas Risberg ceca0db645 added synchronization to compile method (SPR-6001) 2009-09-08 16:19:34 +00:00
Rob Harrop ae461db82a fix to resource handling in PluggableSchemaResolver 2009-09-08 08:37:10 +00:00
Juergen Hoeller 6651ff0c55 fixed formatter annotation lookup 2009-09-08 01:35:36 +00:00
Juergen Hoeller c63567c2ef JSR-303 etc 2009-09-08 00:50:52 +00:00
Juergen Hoeller 70038bcf3c fixed format tests 2009-09-08 00:15:09 +00:00
Juergen Hoeller 0d084bd7f8 updated test dependencies 2009-09-08 00:11:28 +00:00
Juergen Hoeller 6e95b2c311 polishing 2009-09-08 00:05:09 +00:00
Juergen Hoeller a86a698e5b initial JSR-303 Bean Validation support; revised ConversionService and FormatterRegistry 2009-09-07 23:58:42 +00:00
Sam Brannen f9f9b431a6 [SPR-4643] SpringJUnit4ClassRunner now optionally calls JUnit 4.7's BlockJUnit4ClassRunner.withRules() method using reflection in order to provide backward compatibility with JUnit 4.5 and 4.6. 2009-09-07 21:03:32 +00:00
Juergen Hoeller 7aff0755a3 expression parser uses context's ConversionService by default 2009-09-07 18:53:01 +00:00
Juergen Hoeller 7123e4f81e expression parser uses context's ConversionService by default 2009-09-07 18:37:59 +00:00
Juergen Hoeller efaf76b46f polishing 2009-09-07 18:37:01 +00:00
Juergen Hoeller 57f90ad4ef polishing 2009-09-07 18:07:17 +00:00
Juergen Hoeller 1045847cf7 updated to CGLIB 2.2 and EHCache 1.6.2 2009-09-07 18:04:27 +00:00
Juergen Hoeller e6436bbbbe fixed currently-in-creation check to apply with any log level (SPR-5996) 2009-09-07 12:50:49 +00:00
Juergen Hoeller c5e49fc6dc refined PathMatchingResourcePatternResolver's treatment of non-readable directories (SPR-6086) 2009-09-07 12:44:59 +00:00
Mark Fisher c10342a553 Added documentation for @Scheduled and @Async annotations. 2009-09-07 04:06:18 +00:00
Rob Harrop afd6fe9048 [SPR-5927] fixed FormTag attribute clearing 2009-09-06 19:09:29 +00:00
Mark Fisher b18a1dc5b3 added documentation for the task namespace 2009-09-06 18:24:16 +00:00
Rob Harrop bfa4231c9d removed dependency on ServletException 2009-09-04 18:56:26 +00:00
Rob Harrop aee3f14d3c removed unecessary dependency on ServletException 2009-09-04 18:46:55 +00:00
Rob Harrop c3546f4c78 fixed missing dependencies in iml file 2009-09-04 18:44:31 +00:00
Thomas Risberg b482d6db12 revised the detection of Sybase (SPR-6053) 2009-09-04 18:37:50 +00:00
Rob Harrop 019c3c253a [SPR-6017] updated DBDR and BDPD to allow for overriding of namespace-specific methods 2009-09-04 18:22:37 +00:00
Rob Harrop 5d17db64ec updated javax.el dependency to match the IDEA project file 2009-09-04 18:17:38 +00:00
Rob Harrop 05fe679384 [SPR-6004] Fixed NPE in BeanDefinitionParserDelegate when using empty namespace as the default 2009-09-04 16:59:07 +00:00
Andy Clement 855eac549e SpelExpressionParser made threadsafe 2009-09-03 20:09:11 +00:00
Keith Donald cd20be7a4f polish 2009-09-03 18:52:39 +00:00
Keith Donald 80570a28c0 polish 2009-09-03 16:54:24 +00:00
Keith Donald b4aa322c4c polish 2009-09-03 16:43:44 +00:00
Keith Donald 21d9b70fd8 polish 2009-09-03 16:32:09 +00:00
Keith Donald 9b2f161b7e polish 2009-09-03 16:30:46 +00:00
Rob Harrop a03ca86372 [SPR-6057] test case to show that bug is already fixed 2009-09-03 16:18:22 +00:00
Keith Donald ca159f6d9a polish 2009-09-03 15:01:54 +00:00
Keith Donald 223e1e4522 polish 2009-09-03 14:44:10 +00:00
Keith Donald 35c4a4b3b0 polish 2009-09-03 14:06:10 +00:00
Juergen Hoeller d0c8545d9b updated setCookieMaxAge to match getCookieMaxAge return type (SPR-6070) 2009-09-03 12:15:19 +00:00
Keith Donald 477c4d3865 updaten new in 3 2009-09-03 05:32:19 +00:00
Keith Donald 19450cd069 updaten new in 3 2009-09-03 05:30:56 +00:00
Keith Donald e7095748f3 polish 2009-09-03 04:44:21 +00:00
Keith Donald 421aab0fa5 polish 2009-09-03 04:41:37 +00:00
Keith Donald 354e6fafe9 polish 2009-09-03 04:17:18 +00:00
Keith Donald d18bc356f2 polish 2009-09-03 03:40:37 +00:00
Keith Donald 835ebfcd25 setting up FormatterRegistrY 2009-09-03 03:36:57 +00:00
Keith Donald 70083474e1 polish 2009-09-02 23:47:21 +00:00
Keith Donald 900660ae56 converter / formatter docs initial commit 2009-09-02 23:34:01 +00:00
Thomas Risberg d10be7443f Fixed JavaDoc for determineRootDir method (SPR-5340) 2009-09-02 20:03:12 +00:00
Keith Donald f323a5bb5d fixed broken classpaths for ehcache and junit 2009-09-02 16:29:43 +00:00
Sam Brannen 0a781f3084 Including HibernateSessionFlushingTests in the suite. 2009-09-01 17:33:29 +00:00
Sam Brannen 2dee54b78a [SPR-4702] now updating TestContext state before calling before/after test class life cycle callbacks. 2009-09-01 17:33:12 +00:00
Juergen Hoeller ba425c34f8 updated to EHCache 1.6.0 2009-08-31 11:40:48 +00:00
Juergen Hoeller 8675281972 updated to AspectJ 1.6.5 2009-08-31 11:30:30 +00:00
Juergen Hoeller 8754f0bc85 updated dependencies 2009-08-31 11:25:54 +00:00
Chris Beams 19bccaaa11 updates made during my review of beans.xml:
* eliminated all usage of "the section entitled", because <xref> links already render including "the section called ".  This was resulting in sentences like 'see also the section entitled the section called "@Autowired"'. This issue affected nearly all sections of the documentation, so went beyond just beans.xml

* fixed table overflow in the "Using filters to customize scanning" section (approx. p.90)

* fixed all code overflows in <programlisting/> elements

* corrected a couple minor syntax errors with SpEL examples (missing closing braces)

* added 'language="..."' element to <programlisting> elements where appropriate to enable syntax highlighting.

* normalized all code indention to four-space (some code listings were using one- and two-space)

* updated all code listings to use same-line opening braces.

* eliminated section regarding backward compatibility with Spring DTDs and singleton=true|false.  This seems like cruft to me, and we shouldn't keep historical notes around forever.

* Added <note> regarding the new thread scope (SimpleThreadScope) to Section 3.5 Bean Scopes.  Also updated the section on registering a custom Scope implementation to use the SimpleThreadScope as an example.

* updated the new-in-3.xml section to improve the @Configuration example
2009-08-31 05:36:34 +00:00
Thomas Risberg 7b6029d515 Beverly's edits reviewed; modified the introduction part to include the preface text 2009-08-29 03:17:02 +00:00
Sam Brannen a45d1dec65 [SPR-6011] SpringJUnit4ClassRunner once again supports collective timeouts for repeated tests 2009-08-28 17:29:37 +00:00
Sam Brannen 984504735e [SPR-6011] SpringJUnit4ClassRunner once again supports collective timeouts for repeated tests. 2009-08-28 17:28:25 +00:00
Mark Fisher e0c63d8cba minor typos and tweaks to 'expressions' chapter 2009-08-28 12:44:54 +00:00
Sam Brannen eda193fc98 Added assertPersonCount() functionality for increased robustness. 2009-08-28 09:23:02 +00:00
Arjen Poutsma 66a799552f SPR-2784: Support MultipartFile-array property 2009-08-28 09:15:19 +00:00
Costin Leau ae8c053568 + fixed NPE when closing up non-initialized contexts 2009-08-28 05:43:12 +00:00
Juergen Hoeller 773bdcded5 changed NamedParameter/SimpleJdbcOperations parameter signatures to accept any Map value type (SPR-6046) 2009-08-27 13:53:00 +00:00
Arjen Poutsma e1b73ade8a Removed duplicate OrderItem 2009-08-27 13:51:47 +00:00
Juergen Hoeller 904c2358cd adapted to changes in non-lenient mode 2009-08-27 10:45:46 +00:00
Arjen Poutsma 636c4901c0 More autoboxing madness. 2009-08-27 10:30:47 +00:00
Juergen Hoeller fb7fd4bb52 added superfluous cast to get around ambiguity problem with some compilers 2009-08-27 10:23:04 +00:00
Costin Leau 015284af7c + add implicit (String) type for typed string values w/o a specified type 2009-08-27 09:47:15 +00:00
Arjen Poutsma c870e01757 Added castor properties 2009-08-27 09:26:01 +00:00
Arjen Poutsma 157a87e910 SPR-6003 - Improve CastorMarshaller support for loading class descriptors 2009-08-27 09:05:36 +00:00
Juergen Hoeller 52b51888f9 first cut of changes for 3.0.0.RC1 2009-08-27 01:01:25 +00:00
Juergen Hoeller 83289cb8b0 updated JPA 2.0 compatibility to EclipseLink 2.0.0.M7 2009-08-27 00:51:47 +00:00
Mark Fisher d3a6c48cf0 modified intro to accommodate new order and added features 2009-08-27 00:17:08 +00:00
Mark Fisher b5661ebd12 Moved Quartz and Timer discussion after TaskExecutor and TaskScheduler 2009-08-26 23:48:47 +00:00
Sam Brannen a07da0d950 [SPR-6043] @NotTransactional is now deprecated 2009-08-26 23:23:07 +00:00
Mark Fisher eb5d47c64e Added documentation for the TaskScheduler abstraction. 2009-08-26 22:06:34 +00:00
Juergen Hoeller ce3c72f8c2 compatibility with Hibernate 3.5 beta 1 2009-08-26 15:20:53 +00:00
Sam Brannen 4a7c299761 [SPR-5995] SpringJUnit4ClassRunner is now compatible with JUnit 4.5 - 4.7 2009-08-26 14:46:28 +00:00
Juergen Hoeller e0bb838259 MBeanServerFactoryBean returns JDK 1.5 platform MBeanServer for agent id "" (SPR-5909) 2009-08-26 13:42:28 +00:00
Sam Brannen 8fb53c801e [SPR-5995] Updated documentation regarding compatibility with JUnit 4.5, 4.6, and 4.7. 2009-08-26 13:13:06 +00:00
Sam Brannen da3eb580f6 [SPR-5995] Renamed makeNotifier() to springMakeNotifier() in order to allow compatibility with JUnit 4.5, 4.6, and 4.7. 2009-08-26 12:37:59 +00:00
Juergen Hoeller 5a55b8384a refined logging in JMS SingleConnectionFactory and DefaultMessageListenerContainer 2009-08-26 12:01:51 +00:00
Arjen Poutsma 5c2d63745f SPR-6037 - Ability to configure a XStream subclass on XStreamMarshaller 2009-08-26 09:36:50 +00:00
Juergen Hoeller 04cd95ff50 fixed accidental test failures 2009-08-25 13:49:10 +00:00
Juergen Hoeller 9a48f3f3a8 try to create unknown collection implementation types via default constructor 2009-08-25 13:29:22 +00:00
Chris Beams b118aae971 s/(init|destroy)MethodName/(init|destroy)Method/ to reflect recent changes made when porting @Bean to Spring core. 2009-08-25 05:10:42 +00:00
Christian Dupuis a7acea2329 remove obsolete xsd 2009-08-24 23:09:25 +00:00
Costin Leau 0179c66d2a + add security manager checks to avoid the creation of inner privileged action classes 2009-08-24 15:53:48 +00:00
Juergen Hoeller 04b619ebfb fixed accidental test failures 2009-08-24 13:48:21 +00:00
Juergen Hoeller 427edfe93c fixed package-info 2009-08-24 13:36:32 +00:00
Juergen Hoeller fee838a65e support for default "conversionService" bean in an ApplicationContext; revised formatting package, now integrated with DataBinder and AnnotationMethodHandlerAdapter; revised AccessControlContext access from BeanFactory 2009-08-24 13:30:42 +00:00
Sam Brannen 9f9f2349cd polishing 2009-08-24 12:14:57 +00:00
Sam Brannen 77821845a7 [SPR-4702] Updated JavaDoc regarding before/after test class lifecycle callbacks. 2009-08-22 21:50:02 +00:00
Sam Brannen 9eb19ac816 Polishing test annotation declarations and JavaDoc. 2009-08-21 11:44:38 +00:00
Keith Donald a1b3b87540 polish 2009-08-20 03:53:49 +00:00
Keith Donald 641407cb4d missing field test case 2009-08-20 03:51:20 +00:00
Keith Donald 901e88c575 polish 2009-08-20 03:45:08 +00:00
Keith Donald 78304c0ccf core context.message, context.alert, model.binder modules; includes SpEL-based GenericBinder implementation 2009-08-20 03:40:23 +00:00
Keith Donald 2bd664f7ee removed framework specific annotation in favor of user-defined for now 2009-08-19 15:02:50 +00:00
Keith Donald 704cc79cee polish 2009-08-19 14:43:20 +00:00
Arjen Poutsma 8d7d3cff1b SPR-6009 - @ExceptionHandler methods are still expected to return a ModelAndView, even when consuming a ServletResponse/OutputStream/Writer 2009-08-19 11:03:28 +00:00
Arjen Poutsma 3b7691d525 SPR-6008 - @ResponseStatus on @ExceptionHandler method is ignored 2009-08-18 14:37:23 +00:00
Arjen Poutsma 5680cd4a19 SWS-548 - Expose suppressNamespace and suppressXSIType as properties to CastorMarshaller 2009-08-18 10:45:20 +00:00
Keith Donald 20f5f99e9a SPR-6013, SPR-6014, SPR-6015 tests 2009-08-17 23:13:29 +00:00
Keith Donald db40e15a3e polish 2009-08-17 18:43:47 +00:00
Keith Donald 2381452e9a SPR-6012, SPR-6013, SPR-6014 initial commit 2009-08-17 18:35:04 +00:00
Arjen Poutsma 839e94618d SWS-548 - Expose suppressNamespace and suppressXSIType as properties to CastorMarshaller 2009-08-17 08:50:41 +00:00
Sam Brannen 601120979b [SPR-5964] Upgraded to TestNG 5.10 2009-08-11 10:31:06 +00:00
Sam Brannen 42638585b5 [SPR-5963] Upgraded to JUnit 4.7 2009-08-11 10:12:20 +00:00
Sam Brannen 5d17515dc5 [SPR-5888] Upgraded to TestNG 5.9.0. 2009-08-11 09:26:40 +00:00
Mark Pollack 7b26ae479b pom maintenance - extraneous dependency on cglib-nodep 2009-08-10 23:31:56 +00:00
Arjen Poutsma 2df7ceac16 Removed ci.build=true 2009-08-10 09:00:11 +00:00
Costin Leau 8dbf86fb7a + update copyright dates on some files
+ migrated test from JUnit 3 to 4
2009-08-09 08:47:24 +00:00
Juergen Hoeller 2d7c2d6fff revised wrapper type handling 2009-08-09 06:36:16 +00:00
Juergen Hoeller d41344eb1f preparations for 3.0 M4 release 2009-08-09 01:00:23 +00:00
Juergen Hoeller dd67900109 revised core conversion package for BeanWrapper/BeanFactory integration 2009-08-09 00:52:41 +00:00
Juergen Hoeller 45a0cadf8e revised core conversion package for BeanWrapper/BeanFactory integration 2009-08-09 00:46:49 +00:00
Juergen Hoeller e9823b57b4 revised embedded database support 2009-08-08 20:37:47 +00:00
Juergen Hoeller 3ac3a72e91 added test with custom repository annotation 2009-08-08 13:57:05 +00:00
Juergen Hoeller 6e25ca8175 JMS SingleConnectionFactory uses minimized number of start calls (for Oracle AQ; SPR-5987) 2009-08-08 01:33:01 +00:00
Juergen Hoeller 23a1d07fbf JMS SingleConnectionFactory uses minimized number of start calls (for Oracle AQ; SPR-5987) 2009-08-08 01:25:02 +00:00
Juergen Hoeller 83bd56c6de JMS SingleConnectionFactory uses minimized number of start calls (for Oracle AQ; SPR-5987) 2009-08-08 01:01:39 +00:00
Juergen Hoeller 6b824d9af7 revised WebApplicationContext id determination; lazy logger initialization in ContextLoaderListener (SPR-5977) 2009-08-08 00:48:55 +00:00
Mark Pollack 33bb81b3ab SPR-5986 - Error in pointing links about versions for documentation and content 2009-08-07 13:41:40 +00:00
Juergen Hoeller 9a0108ac6a added support for @WebServiceProvider annotation to Spring's JaxWsServiceExporters (SPR-5988) 2009-08-07 10:00:27 +00:00
Mark Pollack 2cd71758ed Apply Beverly's edits to mvc chapter. 2009-08-07 03:41:34 +00:00
Mark Pollack 19dc0d32d6 Apply Beverly's edits to mvc chapter. 2009-08-07 03:23:47 +00:00
Costin Leau 14e983ff9a + removed unneeded method (one less item off the stack) 2009-08-06 22:50:13 +00:00
Costin Leau af6275a56e + small fix to reflection util to avoid accessibility calls 2009-08-06 22:44:04 +00:00
Costin Leau af8af8c633 + added fine grained privileged blocks to preserve the caller security stack when invoking the callee 2009-08-06 22:31:57 +00:00
Costin Leau 81eb11486d + fixed exception unwrapping
+ optimized path for getBean (and thus fixed another test)
2009-08-06 19:08:14 +00:00
Mark Fisher 65e00f7540 added support for ErrorHandler with DelegatingErrorHandlingRunnable in the TimerManagerTaskScheduler 2009-08-06 16:36:15 +00:00
Costin Leau d5d3104b7b + interaction with user code uses now dedicated privileged when running under a security manager 2009-08-06 16:34:39 +00:00
Thomas Risberg fe5b5022f0 Beverly's edits reviewed; spell checked 2009-08-06 16:27:20 +00:00
Thomas Risberg c6edc5869a removed RC1 references 2009-08-06 16:26:36 +00:00
Mark Pollack 3081396c15 pom maintenance - changes needed to run inside eclipse via m2eclipse 2009-08-06 06:04:56 +00:00
Juergen Hoeller a7a97316e7 turned requestedSessionId into a settable property 2009-08-05 22:01:46 +00:00
Mark Pollack ed61da9112 remove spring-parent to list of bundles 2009-08-05 21:17:40 +00:00
Mark Pollack eed7bdfb41 add spring-parent to list of bundles and see if it gets published to maven-central 2009-08-05 20:42:15 +00:00
Mark Pollack 3005ad3029 add spring-parent to list of bundles and see if it gets published to maven-central 2009-08-05 20:37:33 +00:00
Mark Pollack 3e02887dd2 SPR-5979 - Reference guide refers to non-existing type StandardScopes
SPR-5965 - Typo error in reference documentation - "What's new in Spring 3.0"
2009-08-05 19:02:55 +00:00
Mark Pollack 97e3b5ca8c SPR-5976 - Upgrade POMS to JUnit 4.6 2009-08-05 17:48:53 +00:00
Mark Pollack f9016fdbe4 SPR-5970 - Tidy up Maven central POM for spring-webmvc 2009-08-05 17:44:54 +00:00
Mark Pollack 1683179434 SPR-5968 - Maven central POM for spring-web has wrong versions of dependencies and a missing dependency 2009-08-05 17:44:08 +00:00
Mark Pollack 8d1fdd8c3c SPR-5969 - Tidy up Maven central POM for spring-context-support
SPR-5976 -  Upgrade POMS to JUnit 4.6
2009-08-05 17:41:54 +00:00
Keith Donald bdd43f5f9f pruned presentation model system from trunk to move to dev branch as its a 3.1 feature now 2009-08-05 15:51:59 +00:00
Keith Donald 3ae3196ca7 pruned presentation model system from trunk to move to dev branch as its a 3.1 feature now 2009-08-05 15:29:26 +00:00
Keith Donald 00f90cd816 pruned presentation model system from trunk to move to dev branch as its a 3.1 feature now 2009-08-05 15:25:54 +00:00
Arjen Poutsma 93e99556c0 SPR-4700 - Add single checkbox input macro for Velocity and Freemarker 2009-08-05 12:16:11 +00:00
Arjen Poutsma 7043dff97b 2009-08-05 11:54:07 +00:00
Arjen Poutsma 8db13bb445 Deprecated org.springframework.enums 2009-08-05 11:51:13 +00:00
Arjen Poutsma b95f3f6792 Getting rid of @Ignore 2009-08-05 11:31:11 +00:00
Mark Pollack 7d75082b22 SPR-5851 - Set Maven repositories as non-snapshot 2009-08-04 17:26:28 +00:00
Mark Fisher 4afcddcbc7 added PeriodicTrigger implementation 2009-08-04 15:58:54 +00:00
Arjen Poutsma 43519a57db Doc 2009-08-04 13:44:09 +00:00
Arjen Poutsma 1915192d9a 2009-08-04 12:41:36 +00:00
Sam Brannen 372173f968 Parameterized/generified static methods in BeanUtils. 2009-08-04 12:06:14 +00:00
Arjen Poutsma 4267f8488f SPR-5975 - BufferedImageHttpMessageConverter doesn't work on Google AppEngine 2009-08-04 08:07:24 +00:00
Thomas Risberg 54d403e6b8 revisions after spell check; tweaked text in section covering rollback rules 2009-08-04 03:42:12 +00:00
Thomas Risberg 7c06ea99bb final revisions and marked all comments 2009-08-03 20:19:19 +00:00
Thomas Risberg 791faf4e63 put the definite article back in some places for Spring Framework to be consistent with common usage 2009-08-03 15:38:48 +00:00
Arjen Poutsma 3d29023ef3 Updating POMs to contain Junit & EasyMock version numbers. Apparently, the maven ant tasks cannot resolve our parent pom. 2009-08-03 09:21:44 +00:00
Mark Fisher 50956e0d37 added tests for ThreadPoolTaskScheduler 2009-08-01 03:12:19 +00:00
Mark Fisher 970fcab5de Added ErrorHandler strategy for asynchronous tasks submitted to a scheduler. Replaced DelegatingExceptionProofRunnable with DelegatingErrorHandlingRunnable. Both ThreadPoolTaskScheduler and ConcurrentTaskScheduler now support the ErrorHandler strategy. 2009-08-01 02:57:15 +00:00
Mark Fisher 228e1d80fa CronSequenceGenerator is now package-protected (only used by CronTrigger) 2009-07-31 18:49:18 +00:00
Thomas Risberg c9cc30a379 updated chapter title 2009-07-31 13:25:06 +00:00
Keith Donald a6330ca61e Fixed failing test due to compiler differences 2009-07-31 04:31:59 +00:00
Keith Donald 77b294fe59 native web request parameter map tests 2009-07-31 04:15:23 +00:00
Keith Donald 9ed5353947 unified map view of request parameters, including multiparts 2009-07-31 04:10:55 +00:00
Keith Donald d456a9326e moved multipart and bind to web project since independent of servlet and required by new native web request parameter map 2009-07-31 04:10:22 +00:00
Keith Donald 9eb85af234 moved multipart and bind to web project since independent of servlet and required by new native web request parameter map 2009-07-31 03:44:59 +00:00
Keith Donald e986434a25 moved collection utilities to util 2009-07-31 02:38:10 +00:00
Thomas Risberg 4bf3a9c9bd changed J2EE to Java EE 2009-07-30 18:32:05 +00:00
Thomas Risberg 40c4941cbf changed structure - added Parts for intro chapters and appendices; changed J2EE to Java EE 2009-07-30 18:31:00 +00:00
Thomas Risberg dd96d6d249 Beverly's edits reviewed; changed J2EE to Java EE 2009-07-30 18:29:56 +00:00
Keith Donald fc7c49a284 updated manifest template to add model package import 2009-07-30 11:28:28 +00:00
Keith Donald e020b5752a initial BindingLifecycle @MVC integration 2009-07-30 11:18:39 +00:00
Arjen Poutsma 44cf4e207a SPR-5633 - Portlet-version of @ExceptionHandler 2009-07-30 10:10:36 +00:00
Keith Donald db487b6d42 fixe bug in element type for jeremyg 2009-07-29 21:30:48 +00:00
Juergen Hoeller 17dfc8b0fc fixed constructor resolution algorithm to trigger ambiguity exception as late as possible 2009-07-29 16:43:12 +00:00
Sam Brannen c7661d5341 [SPR-5781] Added a "note" for static import for assertions; additional polishing. 2009-07-29 15:51:18 +00:00
Juergen Hoeller 5d009a2a98 prevent non-public access to bean class as well, if demanded 2009-07-29 15:15:47 +00:00
Arjen Poutsma 12e43ff92d SPR-5953 - Allow SimpleMappingExceptionResolver to Resolve HTTP Status Codes 2009-07-29 12:57:56 +00:00
Arjen Poutsma 2d4ae59ff1 SPR-5961 2009-07-29 12:49:54 +00:00
Arjen Poutsma 9eb962d941 2009-07-29 09:37:34 +00:00
Arjen Poutsma dc59ca427c Using correct encoding (ISO-8859-1) instead of JVM default when no character encoding is given. 2009-07-29 08:37:59 +00:00
Andy Clement 7c6ea9b80d per Ramnivas' suggestion, removing this bit to try and fix snapshot builds 2009-07-28 22:03:09 +00:00
Juergen Hoeller 3cb073abce revised non-lenient resolution 2009-07-28 14:43:37 +00:00
Keith Donald 1d6a7e57c1 delegate to presentation model 2009-07-28 14:01:55 +00:00
Arjen Poutsma b11970ed8d SPR-5923 - HttpMessageConverter selection as a result of @ResponseBody should consider the requested content type 2009-07-28 13:12:12 +00:00
Keith Donald de234e6839 polish 2009-07-27 22:23:50 +00:00
Keith Donald d2d1de5457 mvc binding lifecycle; packaged with model map for now since it depends on it 2009-07-27 22:20:07 +00:00
Keith Donald f0ca94d5f3 new presentation model methods; ability to surpress commit of dirty value in PMB 2009-07-27 21:49:09 +00:00
Keith Donald 0f434883dd binding lifecycle per design review 2009-07-27 21:25:51 +00:00
Keith Donald cd9f0bc10c package info 2009-07-27 18:23:33 +00:00
Sam Brannen 522475a05b [SPR-5893] polishing 2009-07-27 15:57:16 +00:00
Mark Fisher fa1676460a Replaced BinderSupport with a refactored AbstractBinder that delegates to a FieldBinder whose creation is the responsibility of each subclass. 2009-07-27 14:39:20 +00:00
Juergen Hoeller 1eabe2b441 lenientConstructorResolution flag applies to factory methods as well 2009-07-27 14:09:42 +00:00
Keith Donald e85ad67fd0 javadoc 2009-07-27 12:39:23 +00:00
Keith Donald ca060cea42 binder support 2009-07-27 12:36:16 +00:00
Arjen Poutsma 880eb9e2b2 SPR-5622: Changed javadoc to reflect current HandlerExceptionResolvers. 2009-07-27 11:24:46 +00:00
Arjen Poutsma 307fb0aec8 SPR-5942: MarshallingHttpMessageConverter should not require both marshaller and unmarshaller 2009-07-27 11:15:43 +00:00
Mark Fisher ac56f1f9b1 Removed @Override on interface method. 2009-07-27 01:10:53 +00:00
Mark Fisher 88a68042ba Initial import of GenericBinder. 2009-07-27 01:05:46 +00:00
Keith Donald 110ada7626 polish 2009-07-26 21:28:53 +00:00
Keith Donald 0124224ebf polish 2009-07-26 21:27:58 +00:00
Keith Donald ce8f07994d polish 2009-07-26 21:25:39 +00:00
Keith Donald 505f3c245a polish 2009-07-26 21:24:00 +00:00
Keith Donald da7e596b2a default message factory 2009-07-26 21:22:13 +00:00
Keith Donald 4ed3924e6f javadoc polish; added errors() to BindingResults 2009-07-26 20:57:22 +00:00
Keith Donald e6b6743c44 bind template polish 2009-07-26 20:24:44 +00:00
Keith Donald a66aa8c320 added bind template / field binder 2009-07-26 20:23:51 +00:00
Sam Brannen ccb0a30169 fixed minor typo 2009-07-25 23:03:24 +00:00
Sam Brannen 755b514468 [SPR-5798] fixed typos 2009-07-25 22:41:16 +00:00
Keith Donald 16b06306e0 presentation model binder tests 2009-07-25 17:40:42 +00:00
Keith Donald dbf41e630b polish 2009-07-25 17:39:35 +00:00
Keith Donald edd7bb8d03 collapsed into support 2009-07-25 04:42:58 +00:00
Keith Donald 990d446c84 polish 2009-07-25 04:40:31 +00:00
Keith Donald 726d3464c1 obsolete 2009-07-25 04:23:01 +00:00
Keith Donald 4a1d51f082 updated test package structure 2009-07-25 04:21:44 +00:00
Keith Donald 63336ff4a4 polish 2009-07-25 04:14:43 +00:00
Keith Donald 934d4a5fe0 moved model binding and validation related code into model module-level package; separated out ui concerns into ui subpackage 2009-07-25 04:07:21 +00:00
Keith Donald de5528840d presentation model binder 2009-07-24 23:20:49 +00:00
Keith Donald 8709959a98 polish 2009-07-24 21:01:57 +00:00
Keith Donald 5f9a541386 polish 2009-07-24 21:01:33 +00:00
Keith Donald 55aae08e32 polish 2009-07-24 20:14:51 +00:00
Mark Fisher 1bfb26e4b2 updated aspectj weaver version in .classpath files to match ivy.xml configuration 2009-07-24 20:09:01 +00:00
Keith Donald f261b5c3c4 javadoc polish 2009-07-24 20:07:20 +00:00
Keith Donald a7465c1475 javadoc polish 2009-07-24 19:40:11 +00:00
Keith Donald bbe4c2b611 polish 2009-07-24 19:32:34 +00:00
Keith Donald a6cd69dc7c polish 2009-07-24 19:17:47 +00:00
Keith Donald 9bdbad55e5 javadoc improvements 2009-07-24 19:11:54 +00:00
Keith Donald 4255b7b1b2 updated package descriptions to reflect latest refactoring 2009-07-24 16:16:13 +00:00
Keith Donald 5cb5169237 Refactored class naming to capture ui.binding system as a general PresentationModel framework; PresentationModel and FieldModel are the key API elements now 2009-07-24 15:50:37 +00:00
Juergen Hoeller c7b019cd5c @Required does not get processed on beans returned by @Bean factory methods (SPR-5744) 2009-07-24 13:29:28 +00:00
Keith Donald 840ac88b29 more pruning 2009-07-23 14:03:20 +00:00
Keith Donald a74422ed65 polish 2009-07-23 13:55:39 +00:00
Keith Donald 14018541e2 polish 2009-07-23 13:43:23 +00:00
Keith Donald 55a7ba8357 binding executor 2009-07-23 13:39:33 +00:00
Keith Donald 29768cb068 binding factory locator 2009-07-23 13:31:06 +00:00
Keith Donald a3b57e2a84 polish 2009-07-22 20:02:35 +00:00
Keith Donald d5e6d91cc4 polish 2009-07-22 19:56:24 +00:00
Keith Donald ab7e985d72 polish 2009-07-22 19:55:35 +00:00
Keith Donald 6e05d3bd6e updated tests 2009-07-22 19:37:26 +00:00
Keith Donald 6c5fb23e79 data binding system polish; package improvements 2009-07-22 19:37:06 +00:00
Juergen Hoeller f519406c37 @Primary/@Lazy/@DependsOn supported as meta-annotations; @Bean supported as meta-annotation on factory methods as well 2009-07-22 15:23:22 +00:00
Christian Dupuis a4bbd9abda xsds now use schemaLocation attribute on xsd:import elements to specify the concrete schema version to import 2009-07-22 14:06:44 +00:00
Juergen Hoeller 4deef3796e @PostConstruct works for multiple private init methods of the same name in a hierarchy (SPR-5945) 2009-07-22 12:52:47 +00:00
Mark Pollack 9696c66517 Finished applying Beverly's edits 2009-07-22 04:53:58 +00:00
Keith Donald 5f99d02292 formatValue collection/array 2009-07-21 23:27:24 +00:00
Keith Donald 4e50c51139 list binding working 2009-07-21 22:54:52 +00:00
Keith Donald 14dd30c5a5 nested binding work; list binding still has kinks 2009-07-21 22:32:06 +00:00
Juergen Hoeller f739c3fde1 resort to using @Bean directly 2009-07-21 15:22:58 +00:00
Juergen Hoeller 3462b43bb1 getAnnotationAttributes generally supports meta-annotation lookup 2009-07-21 14:44:07 +00:00
Juergen Hoeller dbdd6eca60 AnnotationUtils.getAnnotation generally supports meta-annotation lookup 2009-07-21 14:35:42 +00:00
Juergen Hoeller ec1f0e6211 support scope meta-annotations on factory methods as well 2009-07-21 14:23:25 +00:00
Juergen Hoeller 54285ea57c polishing 2009-07-21 14:19:18 +00:00
Juergen Hoeller 3f6e4282d6 WebSphereUowTransactionManager falls back to UOWManagerFactory lookup by default 2009-07-21 14:18:53 +00:00
Juergen Hoeller ea8f628c9c polishing 2009-07-21 14:14:53 +00:00
Juergen Hoeller 364641e9bc revised static annotation check 2009-07-21 14:12:16 +00:00
Juergen Hoeller b2f9786ee8 completed Hessian 3.2 upgrade 2009-07-21 13:08:59 +00:00
Juergen Hoeller 8c7aec3c97 scoped proxies retain original qualifiers (SPR-5911) 2009-07-21 13:00:00 +00:00
Juergen Hoeller da7aa37aa6 refined generic getProxy signature 2009-07-21 12:44:23 +00:00
Juergen Hoeller d64bc93e36 updated Hessian support for Hessian 3.2 compatibility; general remoting refinements 2009-07-21 12:31:03 +00:00
Sam Brannen 05903d640b * @ContextConfiguration's loader attribute is now inherited if not declared locally
* TransactionalTestExecutionListener no longer flushes transactions before rolling back
2009-07-21 12:22:09 +00:00
Sam Brannen b3f3705286 [SPR-5944] Documented potential "false positives" in ORM test code. 2009-07-21 12:12:42 +00:00
Sam Brannen ee1938eb74 [SPR-5315][SPR-5699] Reverted changes to TransactionalTestExecutionListener: transactions are no longer automatically flushed before rolling back. 2009-07-21 11:03:59 +00:00
Keith Donald ec2833cd63 nested properties polish 2009-07-20 22:29:14 +00:00
Keith Donald dc5faec189 all tests back compiling, still a few failing marked ignored 2009-07-20 22:05:28 +00:00
Keith Donald 603ffe80c8 list element binding 2009-07-20 20:34:02 +00:00
Keith Donald 2da1bb8607 more passing tests 2009-07-20 19:07:32 +00:00
Keith Donald f39f91701d property not found / required 2009-07-20 16:10:06 +00:00
Keith Donald 3cd3cddbe0 type formatters 2009-07-20 14:26:29 +00:00
Sam Brannen b2c723a76e [SPR-5916] polishing. 2009-07-20 12:14:56 +00:00
Sam Brannen fc79d98b6a [SPR-5916] ContextLoader class is now inherited from class hierarchy if not specified explicitly via @ContextConfiguration's loader attribute on the current test class. 2009-07-20 09:35:33 +00:00
Christian Dupuis 7f3c4cec25 STS-260: added missing import-package headers so that editor works again 2009-07-20 08:46:19 +00:00
Keith Donald 8ceb64fe0c binding rule impl 2009-07-20 06:22:11 +00:00
Keith Donald 8147281c74 additional binding metadata 2009-07-20 03:48:57 +00:00
Keith Donald 9c78616e11 additional binding metadata 2009-07-20 03:48:32 +00:00
Keith Donald 263d502f51 polish 2009-07-19 06:42:33 +00:00
Keith Donald 0993e9cfb9 polish 2009-07-19 06:33:43 +00:00
Keith Donald 09c5d0eb97 binding status 2009-07-19 06:26:48 +00:00
Keith Donald 8d3fbc5df8 binding system refactoring - work in progress 2009-07-18 16:18:22 +00:00
Juergen Hoeller 8e2797153b revised lenient constructor resolution (follow-up to SPR-5816) 2009-07-16 17:22:03 +00:00
Juergen Hoeller 7eabd2da56 introduced "nonPublicAccessAllowed" flag (SPR-5882) 2009-07-16 15:52:27 +00:00
Sam Brannen ba27c29dc4 [SPR-5916] polishing. 2009-07-16 13:50:54 +00:00
Juergen Hoeller a9254b34d1 introduced "lenientConstructorResolution" flag (SPR-5816) 2009-07-16 13:27:47 +00:00
Juergen Hoeller f4a83c5c74 consistently allow array element 2009-07-16 11:35:25 +00:00
Juergen Hoeller cf29d1c367 constructor argument type matching supports arrays and simple class names now (SPR-5844) 2009-07-16 11:25:52 +00:00
Mark Pollack 35b2a7e612 Applied and reviewed Beverly's final edits up to section "beans-factory-scopes" 2009-07-16 06:41:52 +00:00
Mark Pollack 241280d24d Beverly's edits reviewed. 2009-07-16 03:17:53 +00:00
Chris Beams 9e0d87c518 SPR-5932 - Singleton @Bean methods behave like prototypes in a Spring DM environment
* s/registerCallbacks/registerStaticCallbacks/ - see issue comments for full details
2009-07-15 19:38:47 +00:00
Ramnivas Laddad 977cee4272 Override clover.do for spring-aspects to avoid build failure 2009-07-15 16:13:36 +00:00
Juergen Hoeller 68363f17a7 avoid potential NPE (SPR-5930) 2009-07-15 15:07:37 +00:00
Chris Beams 9163d8043b updated .jms dependency on junit 4.6.0 from test->runtime to test->compile. touched all org.eclipse.jdt.core.prefs (during the process of importing the projects). only the date comments within each have changed. 2009-07-15 07:26:31 +00:00
Ramnivas Laddad ef6395b949 Fixed a type in target name 2009-07-14 21:29:48 +00:00
Ramnivas Laddad 1a5b542309 Another attempt to fix clover-related build failure 2009-07-14 20:13:14 +00:00
Keith Donald 9be56a39b4 moved binding configuration to publis binder api 2009-07-14 13:58:39 +00:00
Arjen Poutsma a8e8382034 Added more headers. 2009-07-14 09:24:15 +00:00
Arjen Poutsma 8073efd69f SPR-5924 - REOPENED -PathVariable mappings are greedy over hard coded mappings 2009-07-14 07:08:02 +00:00
Ramnivas Laddad 252bd3942c Stub out the clover target to allow successful building of snapshots 2009-07-13 21:27:19 +00:00
Keith Donald 0576fe2654 removed experimental stuff 2009-07-13 21:22:59 +00:00
Keith Donald 2cf157e09a polish 2009-07-13 21:17:54 +00:00
Arjen Poutsma abfc479bdb SPR-5924 - REOPENED -PathVariable mappings are greedy over hard coded mappings 2009-07-13 15:35:24 +00:00
Arjen Poutsma c9f4de3ebf Added more headers. 2009-07-13 13:05:46 +00:00
Arjen Poutsma ff1dac8381 SPR-5870 - Add support for content negotiation based on a request parameter value 2009-07-13 09:44:07 +00:00
Ramnivas Laddad b1cb69fcb9 Override clover.instrument target to avoid build failure. Created SPR-5921 to fix this propertly. 2009-07-12 22:46:36 +00:00
Keith Donald 6206e5f11f ignore failing test for now 2009-07-12 18:32:26 +00:00
Keith Donald 9f8638e557 fixed element type bug 2009-07-12 18:29:19 +00:00
Keith Donald 5904814ec6 ignore cases from some tricky scenarios 2009-07-12 18:05:13 +00:00
Keith Donald eb4a767f6b removed last ignore 2009-07-12 18:00:18 +00:00
Keith Donald 737c66d729 polish 2009-07-12 17:57:18 +00:00
Keith Donald 89a8e4073b more el converters 2009-07-12 17:49:13 +00:00
Keith Donald 1344a6d4d0 more converters; since 3.0 2009-07-12 17:47:33 +00:00
Ramnivas Laddad 29139dfd1a Fixed SPR-5920 by implementing GenericInterfaceDrivenDependencyInjectionAspect 2009-07-12 05:58:55 +00:00
Ramnivas Laddad 7199fcc233 Fixed SPR-5918.
Had to override the test.do definition in build.xml. Need to consult the spring-build team to add the change to spring-build itself. 
Since classes in test sources from another project cannot be shared, had to duplicate those classes.
2009-07-12 04:47:59 +00:00
Sam Brannen 29327798c1 [SPR-5699] Investigating issues surrounding automatic flushing of the underlying ORM tool's session via TransactionalTestExecutionListener. 2009-07-11 16:45:48 +00:00
Keith Donald c519f2bd3a string to map 2009-07-10 23:42:39 +00:00
Keith Donald f53e627bb5 string array to map converter 2009-07-10 23:27:27 +00:00
Keith Donald e4c868b837 javadoc 2009-07-10 21:32:24 +00:00
Andy Clement 84bdd1ab8e better method name 2009-07-10 19:44:40 +00:00
Andy Clement 3788a84b8e for Keith and his binder: fault in support for maps (if attempt made to reference into null map) and for general objects, e.g. foo.bar if foo was null, attempt to dynamically build foo. 2009-07-10 19:43:50 +00:00
Andy Clement e3e34b04d4 for Keith and his binder: fault in support for maps (if attempt made to reference into null map) and for general objects, e.g. foo.bar if foo was null, attempt to dynamically build foo. 2009-07-10 19:43:37 +00:00
Andy Clement 85eda27cd4 for Keith and his binder: fault in support for maps (if attempt made to reference into null map) and for general objects, e.g. foo.bar if foo was null, attempt to dynamically build foo. 2009-07-10 19:43:32 +00:00
Keith Donald e85a6740d8 new tests for andy 2009-07-10 18:49:38 +00:00
Arjen Poutsma 6598fd736d BindingJacsonConverter/View -> MappingJacksonConverter/View 2009-07-10 14:25:39 +00:00
Sam Brannen cab7a9250d Updated change log 2009-07-10 12:25:34 +00:00
Sam Brannen 5054802eb9 [SPR-5914] Updated reference manual to point out that class-level usage of @IfProfileValue overrides method-level usage. 2009-07-10 12:15:58 +00:00
Sam Brannen 696d78c144 [SPR-5914] ProfileValueUtils now properly ensures that class-level usage of @IfProfileValue overrides method-level usage. 2009-07-10 11:45:31 +00:00
Mark Pollack 0d98baa5c1 SPR-5619 2009-07-10 04:02:08 +00:00
Mark Pollack 69422e771f SPR-5619 - (OpenSessionInViewTests, ClassUtilTests fixed)
Update org.sf.web/.classpath to refer to tiles 2.1.2
2009-07-10 03:30:12 +00:00
Mark Pollack 8c9346718b POM maintenance/development - initial jarjar support in maven build for ASM 2009-07-10 02:12:50 +00:00
Mark Pollack 0c16554e23 SPR-5803 and additional POM maintenance/development 2009-07-09 19:38:07 +00:00
Keith Donald c9a87de141 polish 2009-07-09 15:37:41 +00:00
Keith Donald 5cb03fa290 collapsed binding factory into binder for time being 2009-07-09 15:36:31 +00:00
Juergen Hoeller a8fa8f4942 JMS SingleConnectionFactory performs start call within connection monitor (for Oracle AQ) 2009-07-09 10:27:02 +00:00
Juergen Hoeller 542b88fb04 only call LocaleResolver when encountering an actual HttpServletRequest 2009-07-09 10:03:17 +00:00
Keith Donald 2db239031f polish 2009-07-09 05:51:49 +00:00
Keith Donald 80760ed7a4 polish 2009-07-09 05:22:51 +00:00
Keith Donald 0c1c5fffba collection property type formatters 2009-07-09 05:18:15 +00:00
Keith Donald 2be6ce0407 binding string to list 2009-07-09 04:37:28 +00:00
Keith Donald 2aef75b907 list binding tests 2009-07-09 03:30:19 +00:00
Keith Donald cbe6695273 formatted annotation to apply to formatted value object classes 2009-07-08 23:21:09 +00:00
Keith Donald 90bafe35cb forgot to commit type descriptor 2009-07-08 22:46:29 +00:00
Keith Donald 2bbf827d57 numerous binding enhancements; removed lazy binding for time being 2009-07-08 21:43:35 +00:00
Juergen Hoeller 5ff6191d72 preserve custom pre-bound RequestAttributes implementations (for Grails) 2009-07-08 15:11:15 +00:00
Juergen Hoeller 68e07239c7 extended checkResource(Locale) signature 2009-07-08 13:37:27 +00:00
Juergen Hoeller 2b13afd891 updated Tiles support for Tiles 2.1 compatibility (SPR-5411) 2009-07-08 13:29:39 +00:00
Arjen Poutsma 928855e47a Javadoc 2009-07-08 10:15:58 +00:00
Andy Clement d3c54d979e SPR-5906: test and fix for using expressions in property list keys and values 2009-07-07 20:13:21 +00:00
Andy Clement dcb52dbbc1 SPR-5906: test and fix for using expressions in property list keys and values 2009-07-07 20:13:18 +00:00
Andy Clement a2bce8c2a8 SPR-5905: support for inner type references in type references 'T(com.foo.A$B)' or in ctor calls 'new com.foo.A$B()' 2009-07-07 17:24:58 +00:00
Andy Clement dbdac9fa31 SPR-5847: require quotes for dotted map key names, eg. map['a.b.c'] 2009-07-07 16:32:56 +00:00
Andy Clement a4b7ce168c SPR-5804: problems with map access if it is the root object; SPR-5847: alternative map referencing strategies: a.b == a[b] == a['b'] 2009-07-07 16:08:10 +00:00
Sam Brannen 2b869d57f2 [SPR-5902] JavaDoc polishing. 2009-07-06 22:36:47 +00:00
Sam Brannen e31d947eb9 [SPR-5640] Updated reference manual regarding new support for marking the test application context as 'dirty' after each test method within a given test class. 2009-07-06 22:23:55 +00:00
Sam Brannen eef6fd3f09 [SPR-5640] polishing 2009-07-06 19:24:34 +00:00
Andy Clement eb69e7574b SPR-5899: Invoking methods or constructors passing null (including varargs support) 2009-07-06 19:21:26 +00:00
Sam Brannen c254f389c0 [SPR-5640] Added support for marking the test application context as 'dirty' after each test method within a given test class via the new DirtiesContext.classMode() attribute. 2009-07-06 19:17:16 +00:00
Andy Clement ea2580af68 SPR-5518: textual alternatives for operators (eq, lt, le, gt, ge, ne, div, mod, not) - removes messy escaping for expressions declared in XML. 2009-07-06 18:53:48 +00:00
Sam Brannen e77e070e7a [SPR-4702] Reference manual updates 2009-07-06 18:04:37 +00:00
Sam Brannen 1f087b412d [SPR-4702] Explicit tests for TestExecutionListener's new beforeTestClass() and afterTestClass()} lifecycle callback methods with TestNG support classes. 2009-07-06 15:08:06 +00:00
Sam Brannen 0483cb5a3d [SPR-4702] Explicit tests for TestExecutionListener's new beforeTestClass() and afterTestClass()} lifecycle callback methods. 2009-07-06 14:48:27 +00:00
Sam Brannen 51b8b99dfc [SPR-4702] JavaDoc updates 2009-07-06 13:41:01 +00:00
Sam Brannen 8dec6af038 [SPR-4702] Added support for @DirtiesContext at the test class level. 2009-07-06 12:58:56 +00:00
Sam Brannen 0222a4a56c Polishing: suppressing warnings. 2009-07-05 21:29:28 +00:00
Sam Brannen f26e2e3d7b [SPR-4702] Improving JavaDoc for TestExecutionListener. 2009-07-05 11:50:19 +00:00
Keith Donald dc935dcd6d added validation result 2009-07-03 15:14:23 +00:00
Keith Donald 2bc76bcd68 initial validation constraint spi commit 2009-07-03 15:13:47 +00:00
Sam Brannen 70ee067400 [SPR-5887] Updated documentation regarding upgrade to JUnit 4.6. 2009-07-03 11:27:13 +00:00
Sam Brannen ba746a8e51 [SPR-5887] Upgraded to JUnit 4.6. 2009-07-03 11:21:39 +00:00
Sam Brannen ceffa783d4 [SPR-5889] Customized Spring Build to include TestNG tests in the automated build process; added global build.versions properties file as well. 2009-07-03 10:49:17 +00:00
Sam Brannen 91c9f544b1 [SPR-5889] Renaming TestNG tests from *Tests_ back to *Tests, but keeping @org.junit.Ignore to exclude them from the JUnit test run. 2009-07-03 09:57:19 +00:00
Sam Brannen 620c9b1f96 [SPR-5895] Upgraded to EasyMock 2.5.1. 2009-07-03 09:32:15 +00:00
Sam Brannen 8bfb56c75b [SPR-5887] Upgraded to JUnit 4.6.0. 2009-07-02 18:07:55 +00:00
Sam Brannen 4da16bb1f9 Made fragile tests a little less fragile: increased max times. 2009-07-02 18:06:20 +00:00
Sam Brannen 0bbca8624f Made fragile tests a little less fragile: increased max times. 2009-07-02 18:02:58 +00:00
Sam Brannen 0c2fa5208d [SPR-5888] Upgrading to TestNG 5.9. 2009-07-02 16:03:31 +00:00
Sam Brannen 58db51324d Made fragile tests a little less fragile: increased max times. 2009-07-02 16:02:24 +00:00
Arjen Poutsma 0f22e22ff3 Javadoc 2009-07-02 11:31:44 +00:00
Mark Pollack 474ffaac63 Beverly's copy edits - to be reviewed. 2009-07-01 15:24:04 +00:00
Arjen Poutsma e1b9c18536 Added defaultViews property. 2009-07-01 10:01:19 +00:00
Arjen Poutsma ef67fc245f FixedJsonView 2009-07-01 09:40:11 +00:00
Andy Clement 7e05c928dd support for concatenation with String via operator '+' - for Ramnivas. 2009-06-30 19:19:07 +00:00
Sam Brannen a32448da02 Added link to the Mockito test spy "mock" testing library. 2009-06-30 18:40:33 +00:00
Arjen Poutsma ca97981d52 Fixing the build, stupid java.util.Date 2009-06-30 09:05:56 +00:00
Thomas Risberg f289b0ff15 updated note re. 3.0 tutorial 2009-06-29 16:59:22 +00:00
Sam Brannen 98320fb854 Fixed Eclipse .classpath by adding org.codehaus.jackson, org.codehaus.jackson.mapper, and org.mozilla.javascript. 2009-06-29 11:14:39 +00:00
Keith Donald 3c76303416 polish 2009-06-26 16:09:18 +00:00
Keith Donald e4d091489b polish 2009-06-26 15:35:28 +00:00
Keith Donald 7e3c1bf09a prepping for jsr 303 integration 2009-06-26 15:33:35 +00:00
Keith Donald 0edc3d94bd polish 2009-06-26 15:19:03 +00:00
Keith Donald b0129111c5 javadoc 2009-06-26 15:11:00 +00:00
Keith Donald 60c2b38c03 Alerts test 2009-06-26 15:09:56 +00:00
Keith Donald 3b68cde32b alerts static factory 2009-06-26 14:47:18 +00:00
Keith Donald 18412ae295 polish 2009-06-26 12:47:52 +00:00
Keith Donald 604e4b6db3 polish 2009-06-26 05:28:25 +00:00
Keith Donald 03c125ebd0 javadoc 2009-06-26 05:16:59 +00:00
Keith Donald 9c5a538ae7 bind and validate lifecycle rename 2009-06-26 05:02:00 +00:00
Keith Donald 023d05e37f set locale 2009-06-26 04:52:50 +00:00
Thomas Risberg 6bb5bdd0c6 moved some misplaced JPA sections 2009-06-26 03:45:48 +00:00
Thomas Risberg 9eacd10615 removed some instances of unnecessary <value></value> elements 2009-06-26 03:37:18 +00:00
Thomas Risberg a24eccb390 fixed JavaConfig example 2009-06-25 22:02:18 +00:00
Keith Donald a0a5fcb4d9 polish 2009-06-25 20:28:53 +00:00
Keith Donald 00702e4e1c polish 2009-06-25 20:27:39 +00:00
Keith Donald 5828010bae Added binder factory; simplified public binder api 2009-06-25 20:26:22 +00:00
Keith Donald 9b7e9942db polish 2009-06-25 19:18:02 +00:00
Keith Donald 6ce119483d copyright 2009-06-25 18:26:07 +00:00
Keith Donald 3f5c43aaf5 message builder 2009-06-25 18:23:07 +00:00
Thomas Risberg 05e3c00a98 added link to Dave's transaction article 2009-06-25 16:54:42 +00:00
Thomas Risberg abc47e56bd updated WebSphere and WebLogic transaction manager sections to reflect currently supported versions 2009-06-25 14:51:37 +00:00
Thomas Risberg efb63fb524 removed old @SuppressWarnings("unchecked") 2009-06-25 12:42:14 +00:00
Arjen Poutsma 49dd707b8a Test for SPR-5822 - Extend @CookieValue mapping to support user-defined types 2009-06-25 11:50:00 +00:00
Thomas Risberg c1a1becd29 polish 2009-06-25 10:59:33 +00:00
Keith Donald a0520501d3 removed user values in favor of simple map after code review 2009-06-25 03:17:04 +00:00
Keith Donald 8eb8602125 eclipse refactor changed code unexpectedly 2009-06-24 22:26:17 +00:00
Keith Donald 1117050815 naming improvements since design review 2009-06-24 22:24:15 +00:00
Keith Donald 511701ebf4 polish 2009-06-24 22:09:46 +00:00
Thomas Risberg 11bf19a3b3 Re-added the methods using a ParameterizedRowMapper with a @deprecated notice to provide backwards compatibility (SPR-5837) 2009-06-24 16:41:06 +00:00
Arjen Poutsma 5ae919af1c SPR-5853 - JSON formatting view for Spring MVC 2009-06-24 14:03:10 +00:00
Arjen Poutsma 398729cda1 SPR-5853 - JSON formatting view for Spring MVC 2009-06-24 13:55:36 +00:00
Arjen Poutsma 56b0606584 Fixing build 2009-06-24 13:26:01 +00:00
Arjen Poutsma 951c664cc4 Removed JsonFactory property, which is redundant with the ObjectMapper property. 2009-06-24 12:36:49 +00:00
Keith Donald f1b936515f @Model and @Bound annotations for configuring Binder instance from annotation model beans 2009-06-23 17:53:16 +00:00
Arjen Poutsma 13c3c577eb SPR-5835 - CookieGenerator default max age value leads to expiration date back in 1977 2009-06-23 09:57:44 +00:00
Ben Hale 42590de197 Removing typo in POM 2009-06-23 07:25:20 +00:00
Juergen Hoeller 4b335dd7e2 added missing space 2009-06-22 20:02:40 +00:00
Juergen Hoeller 87314b950e method invocation result gets set as JobExecutionContext result (SPR-5831) 2009-06-22 17:52:12 +00:00
Juergen Hoeller 6ee8fbe533 added explicit package imports for H2 and HSQLDB 2009-06-22 17:36:49 +00:00
Sam Brannen c996f7ea7b copyright and typo 2009-06-21 12:54:04 +00:00
Arjen Poutsma 3169d428ec SPR-5760 - XStreamMarshaller can not activate XStream automatic annotations detection feature 2009-06-19 13:57:03 +00:00
Arjen Poutsma c2e65baa70 SPR-5838 - XstreamMarshaller does not support field aliasing 2009-06-19 13:51:59 +00:00
Mark Pollack bb3c9c1898 clean up use of old <value></value> usage.
Refer to STS and p-namespace
2009-06-19 13:43:33 +00:00
Arjen Poutsma 54ffedce0d Documentation 2009-06-19 12:30:57 +00:00
Mark Pollack e3ce3306fe replace XML usage of JndiObjectFactoryBean with <jee:jndi-lookup/> 2009-06-19 12:22:18 +00:00
Mark Pollack bf08c3ffbf Document Elvis Operator (?: ) and Safe Navigation Operator (?.)
remove references to ANTLR
2009-06-19 11:58:00 +00:00
Arjen Poutsma ea2ece4516 SPR-5772 - Annotation handler method matching doesn't get method/param choice right 2009-06-19 10:26:14 +00:00
Arjen Poutsma ddcd9f4905 SPR-5836 - RestTemplate - postForObject() method 2009-06-19 07:50:06 +00:00
Keith Donald 4ea373b7dd factored out alert from message; made binding responsible for alert generation 2009-06-18 18:09:01 +00:00
Sam Brannen f749eacbc2 Disabled testExecuteLifecycleBindingErrors() until it passes consistently in the Ant build on Mac OS X. 2009-06-18 12:14:46 +00:00
Sam Brannen 10829f8b20 Repairing Eclipse classpaths and Ivy config:
- org.apache.openjpa -> 1.1.0
 - com.sun.syndication -> 1.0.0
 - javax.el -> 1.0.0
2009-06-18 11:36:04 +00:00
Mark Fisher b2d73b9824 The 'task' sub-element of the 'scheduled-tasks' element is now 'scheduled' to be consistent with the @Scheduled annotation (and to avoid task:task). 2009-06-17 19:39:51 +00:00
Keith Donald 9368e76ffc web bind and lifecycle tests; polish 2009-06-17 15:56:07 +00:00
Keith Donald 62eae6d06a message argument accessor - thanks andy 2009-06-17 03:12:44 +00:00
Arjen Poutsma a4419c98bf Removed REST chapter. 2009-06-16 15:06:46 +00:00
Arjen Poutsma 1f13148458 Moved REST Etag filter to MVC chapter 2009-06-16 14:37:57 +00:00
Arjen Poutsma e9ac4bc0ad Moved REST HTTP Method Conversion to View chapter. 2009-06-16 14:31:42 +00:00
Arjen Poutsma 06777c8123 Moved REST @ExceptionResolver to MVC chapter. 2009-06-16 14:16:38 +00:00
Arjen Poutsma b57085909c Moved REST views to View chapter. 2009-06-16 14:11:35 +00:00
Mark Pollack 7b1ff5859e minor cleanup 2009-06-16 02:37:19 +00:00
Arjen Poutsma 444378c426 SPR-5825 - ShallowEtagHeaderFilter doesn't work: response body is empty 2009-06-15 10:58:45 +00:00
Arjen Poutsma c254924b4c Added @Override 2009-06-15 09:30:46 +00:00
Keith Donald 3504ba3374 polish 2009-06-13 18:38:04 +00:00
Keith Donald 7ef1dace6e polish 2009-06-13 18:31:32 +00:00
Keith Donald 6d59dad4b2 since 3.0; lifecycle pkg 2009-06-13 18:26:48 +00:00
Keith Donald 42cdeb4302 since 3.0 2009-06-13 18:25:59 +00:00
Keith Donald 079b856a6c javadoc 2009-06-13 18:02:40 +00:00
Keith Donald aba0b6d7e0 ignore failing test for now - andy c to investigate next wk 2009-06-13 17:23:40 +00:00
Keith Donald dea3f3433b ignore failing test for now - andy c to look at next wk 2009-06-13 17:20:49 +00:00
Keith Donald d0079c6058 el-based message resolution; expected failure right now 2009-06-13 17:18:12 +00:00
Keith Donald 97e7dfb398 intermediate commit - wip bind and validate lifecycle 2009-06-13 12:45:25 +00:00
Mark Pollack f05df17037 Remove the emphasis on BeanFactory and replace with use of ApplicationContext
Remove example of ObjectFactoryCreatingFactoryBean
Some chapter restructuring
More explicit listings of non-XML based configuration options.
2009-06-12 21:01:05 +00:00
Sam Brannen 2eeeb1b919 Project now builds in Eclipse: added org.codehaus.jackson JARs and sorted classpath entries. 2009-06-12 15:51:20 +00:00
Sam Brannen d6d72b225c Fixed typo 2009-06-12 15:09:23 +00:00
Sam Brannen 7038e1fa3d [SPR-5824] Removed references to StandardScopes from the reference manual; updated examples accordingly; corrected typos; etc. 2009-06-12 14:29:29 +00:00
Sam Brannen 3caecbd1ef A "path patch": AntPatchStringMatcher -> AntPathStringMatcher ;) 2009-06-12 14:26:37 +00:00
Arjen Poutsma ed98bf0668 SPR-5812 - Custom regex matching for @PathVariable 2009-06-12 12:58:27 +00:00
Sam Brannen 0096930a72 Moving Validator and ValidateResults from src/test to src/main so that the build is no longer broken. 2009-06-12 12:18:34 +00:00
Arjen Poutsma 9a84ef4686 - Javadoc
- Renamed JacksonHttpMessageConverter to BindingJacksonHttpMessageConverter
2009-06-12 11:26:13 +00:00
Sam Brannen d26df490b5 JavaDoc typo 2009-06-12 09:56:39 +00:00
Sam Brannen 20195eb66b JavaDoc typo 2009-06-12 09:29:24 +00:00
Arjen Poutsma 3ca8c9be17 SPR-5823 - JSON HttpMessageConverter 2009-06-12 07:53:53 +00:00
Juergen Hoeller 1242400789 marked several dependencies as optional (SPR-5820) 2009-06-11 21:59:07 +00:00
Keith Donald 04fa16b699 successes/failures impl 2009-06-11 21:00:19 +00:00
Keith Donald 75c7a7aeeb polish 2009-06-11 20:56:47 +00:00
Thomas Risberg f70d14e2c2 added support to SimpleJdbcInsert for including synonyms when table metadata is retrieved; this only applies to Oracle (SPR-4782) 2009-06-11 20:54:09 +00:00
Keith Donald 1d6a3e5360 bind and validate lifecycle initial commit 2009-06-11 20:29:01 +00:00
Keith Donald 8998228fac formatter registry 2009-06-11 19:03:43 +00:00
Mark Pollack d89c8e5ea4 Internal formatting changes introduced only by XmlMind editor, mostly changing < to %lt; 2009-06-11 18:15:55 +00:00
Andy Clement 6875df28d9 change from string compare to code compare for Spel exceptions 2009-06-11 16:18:13 +00:00
Andy Clement 69e48828cc change from SpelMessages to SpelMessage. Changed exception getter to getMessageCode() from getMessageUnformatted 2009-06-11 16:17:44 +00:00
Keith Donald b9b893f868 annotation factory for currency format is overkill 2009-06-11 14:21:19 +00:00
Keith Donald dcb3448748 javadoc 2009-06-11 14:15:52 +00:00
Arjen Poutsma f7bf6138f8 SPR-5808 - Make HttpMessageConverterExtractor top level class 2009-06-11 09:51:45 +00:00
Arjen Poutsma 59e41a270d SPR-5808 - Make HttpMessageConverterExtractor top level class 2009-06-11 09:35:56 +00:00
Arjen Poutsma 58d3e704bf SPR-5745 - Support lazy initialization within Jaxb2 OXM classes 2009-06-11 09:20:29 +00:00
Arjen Poutsma 1dc346a32c SPR-5802 - NullPointerException when using @CookieValue annotation 2009-06-11 08:53:56 +00:00
Keith Donald 6403107c08 Removed model parameterized type after review with juergen 2009-06-10 20:44:35 +00:00
Keith Donald 72e89510da added user values holder after review with juergen 2009-06-10 20:36:43 +00:00
Keith Donald 7c433712d1 remove unused field 2009-06-10 14:42:42 +00:00
Keith Donald be75a43c62 added web binder 2009-06-10 14:38:59 +00:00
Keith Donald 37eb0feb2b polish 2009-06-10 13:43:22 +00:00
Keith Donald 991f618a7d createUserValues factory method to Binder 2009-06-10 13:38:24 +00:00
Arjen Poutsma 332d2287da - Merged server-side REST into MVC chapter
- Merged client-side REST into Remoting chapter
- Removed sections about Controller interface, in favor of @Controller
- Updated samples to be more 'RESTful'
2009-06-10 11:09:39 +00:00
Arjen Poutsma 0ab21795fb Javadoc 2009-06-10 10:36:06 +00:00
Thomas Risberg 268f04aac8 updated xxx-2.5.xsd references to 3.0 2009-06-09 23:39:37 +00:00
Thomas Risberg c9bcc771dc updated ORM coverage to provide <tx:advice> and @Transactional samples; removed ProxyFactoryBean example 2009-06-09 23:30:36 +00:00
Thomas Risberg 48e7c44c35 changed section ids so they don't clash with aop-spring.xml 2009-06-09 23:28:54 +00:00
Mark Pollack 278488d11e Documentation cleanup.
Move classic aop-api chapter to appendix
Move JMS 1.0.2 related documentation to appendix
Remove references to Commons Annotations and source level metadata abstraction
Fix program highlighting issue in beans.xml
2009-06-09 21:29:53 +00:00
Keith Donald 503f69b960 polish 2009-06-09 20:14:17 +00:00
Keith Donald 71cbd982e3 separated interface from impl 2009-06-09 19:27:13 +00:00
Keith Donald 58e60fb844 polish 2009-06-09 19:02:44 +00:00
Keith Donald 78b4254d39 polish 2009-06-09 18:59:44 +00:00
Keith Donald 04115a4ff4 todo 2009-06-09 15:30:40 +00:00
Keith Donald a437fdfc7d binding result tracking 2009-06-09 15:21:34 +00:00
Juergen Hoeller a1f1717d03 added JAX-WS workaround for WebLogic 10.3 (SPR-5771) 2009-06-09 14:16:18 +00:00
Keith Donald 9a5c4cab72 polish 2009-06-08 20:42:09 +00:00
Juergen Hoeller 7158742f2a removed unnecessary JTA dependency 2009-06-08 17:39:43 +00:00
Juergen Hoeller 2e0f663092 @Configurable injection failure logged with refined message and without a full stacktrace (SPR-5752) 2009-06-08 15:54:00 +00:00
Juergen Hoeller 95a7ec6587 @ManagedResource is marked as inherited now, for generic management-aware base classes (SPR-3500) 2009-06-08 15:38:55 +00:00
Keith Donald 0cb28f5b41 javdoc 2009-06-08 05:06:37 +00:00
Keith Donald 5bef156258 removed binding failures - not yet needed 2009-06-08 04:28:36 +00:00
Keith Donald 065102bca9 date subpackage 2009-06-08 04:22:10 +00:00
Keith Donald b8b84f4f39 javado polish 2009-06-08 04:09:31 +00:00
Keith Donald 68631eb80d Added surpress warning unchecked 2009-06-07 21:24:33 +00:00
Keith Donald 65c90c56c0 Added AnnotatioFormatterFactory allowing Formatters to be created from property @Annotation values; polish 2009-06-07 21:22:37 +00:00
Keith Donald 534871e6f6 UI message system initial commit; support for adding UI messages of different severities INFO, WARNING, ERROR, FATAL 2009-06-06 19:13:27 +00:00
Christian Dupuis 8c65ed9e0b some updates to error reporting to let errors show up in STS 2009-06-06 07:59:26 +00:00
Mark Fisher df6ba69bc5 The <task:annotation-driven/> element now registers the post-processor for @Scheduled in addition to the already existing @Async support. Both "scheduler" and "executor" attributes are available. 2009-06-06 02:11:39 +00:00
Mark Fisher c218b6c6c7 removed @Override annotations from interface methods 2009-06-06 02:02:18 +00:00
Mark Fisher 2c7463262c Initial commit of @Scheduled annotation and ScheduledAnnotationBeanPostProcessor. 2009-06-06 01:57:45 +00:00
Mark Fisher 6dd2ce940f fixed NPE on latch in test 2009-06-06 01:37:15 +00:00
Mark Fisher 044cc965c4 closing context at end of test methods 2009-06-06 01:25:10 +00:00
Mark Fisher ec6cea54bc Added tests for AsyncAnnotationBeanPostProcessor. 2009-06-06 01:15:05 +00:00
Mark Fisher 6c98e444fe Added tests for ExecutorBeanDefinitionParser. 2009-06-06 01:07:18 +00:00
Mark Fisher 59eaf97886 Added support for the 'executor' element within the 'task' namespace for creating a ThreadPoolTaskExecutor instance. 2009-06-05 01:18:53 +00:00
Thomas Risberg f4e75deb0a added some additional tests (SPR-3322, SPR-5162) 2009-06-03 20:06:04 +00:00
Thomas Risberg 0d5c9c1b75 improved integration; added delegation to NamedParameterJdbcTemplate for batchUpdate from SimpleJdbcTemplate; added call to proteced getParsedSql method; fixed bugs (SPR-3322, SPR-5162) 2009-06-03 19:26:24 +00:00
Juergen Hoeller 81a8b8fd19 strict matching of named arguments 2009-06-03 13:16:01 +00:00
Juergen Hoeller 3426ad3781 prepared 3.0 versions of the remaining namespaces 2009-06-03 10:29:17 +00:00
Juergen Hoeller 53333c3ed0 XML constructor-arg element allows for specifying a constructor argument by name now, with target argument names read from the class file via ASM or from Java 6's @ConstructorProperties annotation (SPR-3313) 2009-06-03 10:21:57 +00:00
Keith Donald 0a0b10b2ff polish 2009-06-02 23:00:26 +00:00
Keith Donald a696d78bd1 polish 2009-06-02 22:29:27 +00:00
Thomas Risberg 8079262705 Updated BeanPropertyRowMapper to remove spaces from column names to improve matching to properties (SPR-5758) 2009-06-02 20:58:44 +00:00
Mark Fisher 3192b926ea Added support for the 'annotation-driven' element within the 'task' namespace to enable detection of the @Async annotation on Spring-managed objects. 2009-06-02 16:58:43 +00:00
Andy Clement 12923f196a new feature for binder - automatically create lists and entries in lists upon referencing nulls 2009-06-02 16:42:43 +00:00
Arjen Poutsma e013ed0685 SPR-5523: JAXB2 is using package-info.java now as well. 2009-06-02 08:56:39 +00:00
Arjen Poutsma 374afccadc SPR-5523: JAXB2 is using package-info.java now as well. 2009-06-02 08:56:07 +00:00
Chris Beams ca65dbae39 Fixing build breakage by removing oxm.jaxb package-info.java and replacing it with the old package.html. The problem was that the new package-info.java was ending up overriding a generated package-info.java that contains important @XmlSource annotations. 2009-06-02 05:02:10 +00:00
Andy Clement 1fc8abade7 updates for Binding code - able to retrieve the type descriptor for a property and ask detailed questions (eg getAnnotations()) 2009-06-02 00:25:59 +00:00
Andy Clement 1e0207cf04 modified so that when the descriptor represents a method parameter, we retrieve the annotations from the method and not the method parameter (seems to make more sense - certainly in the binding case) 2009-06-02 00:25:20 +00:00
Andy Clement ac9e42fa29 BinderTests - two ignored tests reactivated. Binder - modified how annotation based formatters are registered/looked up 2009-06-02 00:24:43 +00:00
Keith Donald 28848f3132 fixed issue that did not compile with sun compiler 2009-06-01 23:23:13 +00:00
Keith Donald 6ea55e9bda more tests 2009-06-01 23:03:19 +00:00
Mark Fisher 3b42200cda initial commit of the AsyncAnnotationBeanPostProcessor 2009-06-01 22:23:40 +00:00
Mark Fisher e67aa6cbb2 Added tests for the 'scheduled-tasks' element parsing within the 'task' namespace. 2009-06-01 21:40:45 +00:00
Mark Fisher b9a3065c0c Added tests for the 'scheduler' element parsing within the 'task' namespace. 2009-06-01 21:16:11 +00:00
Thomas Risberg 01ae825334 polished 2009-06-01 20:52:09 +00:00
Thomas Risberg fbd0be2d65 added convenience execute method that takes vararg of objects in the order of the parameters plus the corresponding executeFunction/executeObject methods (SPR-4739) 2009-06-01 20:43:39 +00:00
Thomas Risberg 7c053127dd added convenience method that takes vararg of objects in the order of the declared parameters (SPR-5696) 2009-06-01 20:40:08 +00:00
Keith Donald b9682d7823 forgot to commit 2009-06-01 18:49:00 +00:00
Mark Fisher b0d11e8c15 Added package declarations and comments to package-info.java files where they had been missing. 2009-06-01 18:47:52 +00:00
Keith Donald 16ad6a3617 initial data binder commit; dateformatter 2009-06-01 18:34:22 +00:00
Ben Hale 8f3ea6d9e6 Back out export of META-INF 2009-06-01 08:07:14 +00:00
Chris Beams a9696c7282 RESOLVED - SPR-5523: Replace all 'package.html' artifacts with 'package-info.java'
* Applied patch submitted by Carlos Zuniga
2009-06-01 04:14:22 +00:00
Thomas Risberg f3e6242568 added override for supportsGetGeneratedKeys for Derby; driver reports this is unsupported, but it seems to work OK 2009-05-29 14:06:01 +00:00
Thomas Risberg 60af7aba16 fixed duplicate section ids 2009-05-29 11:34:54 +00:00
Thomas Risberg b1c6ae99c4 fixed problem retrieving out parameter for function call with MS SQL Server (SPR-5435) 2009-05-28 23:25:25 +00:00
Thomas Risberg 1a790688f4 added 4060 as DataAccessResourceFailure code for MS-SQL (SPR-5788) 2009-05-28 17:11:48 +00:00
Juergen Hoeller a5c324f934 Hibernate AnnotationSessionFactoryBean detects Hibernate's special @Entity annotation too (SPR-5787) 2009-05-28 11:25:39 +00:00
Juergen Hoeller a26a2275c3 revised Java 6 checks to test for the presence of specific Java 6 interfaces/classes only 2009-05-28 11:16:42 +00:00
Arjen Poutsma 15e51c5fb3 Minor changes 2009-05-28 11:13:38 +00:00
Ben Hale 3e4b552b6d Changes to allow snapshot build to proceed. 2009-05-28 08:14:12 +00:00
Thomas Risberg 4105957596 added batchUpdate methods to NamedParameterJdbcTemplate (SPR-3322) 2009-05-28 03:15:47 +00:00
Andy Clement 88e32a3cfe test coverage. now > 95% 2009-05-27 19:59:32 +00:00
Andy Clement 233c84e0b9 test coverage 2009-05-27 19:37:17 +00:00
Andy Clement 1746cc76d1 findbugs issue addressed 2009-05-27 19:22:53 +00:00
Andy Clement e5fea54aea fix for ternary or elvis using a full expression for their result components. parser polishing 2009-05-27 19:16:45 +00:00
Christian Dupuis 1a7ec7daf2 use the annotation meta data in problem reporting 2009-05-27 15:53:35 +00:00
Christian Dupuis 1c5e1e04e0 use the annotation meta data in problem reporting 2009-05-27 15:20:25 +00:00
Ben Hale 4311c6cab6 Spring Build update 2009-05-27 13:41:19 +00:00
Juergen Hoeller aaa9fc73ae polishing 2009-05-27 12:54:19 +00:00
Andy Clement 0a2f936b80 remove antlr dependency 2009-05-27 04:38:36 +00:00
Andy Clement 5ea898bdb4 remove antlr dependency 2009-05-27 04:37:45 +00:00
Andy Clement d372a9ac5d use new SpEL parser 2009-05-27 04:33:21 +00:00
Andy Clement 886739f1d8 Hand written SpEL parser. Removed antlr dependency. tests upgraded to JUnit4 - 93% coverage. 2009-05-27 04:20:18 +00:00
Thomas Risberg e5b553c16a Fixed SimpleJdbcInsert to use SQL type info for all insert operations 2009-05-26 21:25:35 +00:00
Christian Dupuis b23071280f added missing license header 2009-05-26 20:01:36 +00:00
Christian Dupuis cc5747ad14 added restriction tool annotation to oxm namespace 2009-05-26 20:01:17 +00:00
Christian Dupuis ca9526de6c added correct aop image 2009-05-26 20:00:51 +00:00
Keith Donald 2fa2e54c72 polish 2009-05-26 16:22:09 +00:00
Keith Donald 07f19f7441 format system initial commit 2009-05-26 16:18:42 +00:00
Arjen Poutsma 9f4480a1b8 SPR-5774 - UriTemplate not matching querystrings 2009-05-26 12:25:22 +00:00
Christian Dupuis 6cc33fc609 added spring.tooling descriptor and images for all namespaces 2009-05-26 11:58:09 +00:00
Sam Brannen e5f37c8230 The text which was previously "instilled with boldness" (i.e., emboldened) is now just bold. ;) 2009-05-25 15:41:09 +00:00
Arjen Poutsma ce47e86b1c SPR-5782 - BufferedImageHttpMessageConverter 2009-05-25 12:45:51 +00:00
Arjen Poutsma 0d66d2680b Fixing tests 2009-05-25 12:00:53 +00:00
Arjen Poutsma 3a1c88f059 SPR-5782 - BufferedImageHttpMessageConverter 2009-05-25 11:52:43 +00:00
Arjen Poutsma 51f0fc07fa SPR-5782 - BufferedImageHttpMessageConverter 2009-05-25 11:48:46 +00:00
Arjen Poutsma 6cb7f2cfc8 SPR-5766 - @ResponseBody 2009-05-25 10:28:36 +00:00
Sam Brannen af56f6497c Updated regarding generics; fixed typos. 2009-05-25 09:04:05 +00:00
Sam Brannen 5f473b9f26 polishing 2009-05-25 08:59:01 +00:00
Sam Brannen 18039162b9 polishing 2009-05-25 08:58:27 +00:00
Sam Brannen be7bbcd228 Corrected typos and polishing. 2009-05-24 16:30:13 +00:00
Keith Donald f4bc0ab061 polish 2009-05-23 21:27:44 +00:00
Keith Donald b093094c50 renamed back to TypeDescriptor after ConversionContext proved not good enough name for any change 2009-05-23 21:23:10 +00:00
Keith Donald b9aa82a0c4 removed @since 3.0--no point if its not consistent and whole package is 3.0 anyway 2009-05-23 19:54:36 +00:00
Ben Hale 54c768de5d [SPR-5734] Created a javadoc.links preset to link in external javadocs 2009-05-23 05:19:59 +00:00
Thomas Risberg 660cd3d00a further re-working of the ORM chapter 2009-05-22 19:01:32 +00:00
Thomas Risberg 62406474e0 first cut at re-organizing the ORM chapter; moved outdated sections to new Classic Spring Usage appendix 2009-05-22 16:16:12 +00:00
Sam Brannen 4cedea6531 Added "derby.log" to the subversion ignore list. 2009-05-22 14:48:52 +00:00
Sam Brannen a07b890934 Fixed typos; Class --> Class<?>; and both constructors are now private. 2009-05-22 14:41:27 +00:00
Sam Brannen 1b79fffaee Polishing 2009-05-22 14:40:27 +00:00
Mark Pollack 44b7ef43d3 reformatting due to loading inside XmlMind 4.1 2009-05-22 13:40:27 +00:00
Arjen Poutsma 9944b57de3 SPR-5768 - Rearrange logic in ServletHandlerMethodInvoker.getModelAndView() 2009-05-22 10:52:10 +00:00
Arjen Poutsma d7d1ae89f3 SPR-5767 - Misleading error message in HandlerMethodInvoker.resolveRequestBody() 2009-05-22 10:45:52 +00:00
Mark Fisher 0007643af9 SPR-4359 renamed 'concurrent' namespace to 'task' 2009-05-22 03:12:43 +00:00
Mark Pollack 7b815b5e05 SPR-5740 2009-05-21 20:41:57 +00:00
Mark Pollack 8364b611f6 SPR-5735 2009-05-21 20:25:18 +00:00
Mark Fisher 1b302b70d0 SPR-4359 the 'scheduling' namespace is now 'concurrent' 2009-05-21 18:41:13 +00:00
Juergen Hoeller e70d2ce14c polishing 2009-05-20 00:31:00 +00:00
Juergen Hoeller a3af9e7330 revised use of id and display name (id may be null; SPR-5761) 2009-05-20 00:12:19 +00:00
Juergen Hoeller da4f1d0eb7 revised use of id and display name (id may be null; SPR-5761) 2009-05-19 23:48:44 +00:00
Thomas Risberg 762f1c632b updated code examples with generics; took out Java 1.4 references; polished 2009-05-19 23:45:19 +00:00
Juergen Hoeller 63589ef05f polishing 2009-05-19 22:46:22 +00:00
Juergen Hoeller 6964633909 reflective loading of driver classes 2009-05-19 22:42:03 +00:00
Juergen Hoeller 7dc9ec53a1 return generics-capable Class references 2009-05-19 22:39:58 +00:00
Juergen Hoeller e7eb684304 added additional cast for javac 2009-05-19 22:39:20 +00:00
Juergen Hoeller e137b10978 polishing 2009-05-19 22:33:30 +00:00
Juergen Hoeller fc1df58e2b fixed build; revised generic declarations 2009-05-19 22:31:31 +00:00
Mark Pollack 41c8352e16 Documentation fixes: SPR-5748, SPR-5723, SPR-5750, SPR-5753, SPR-5747 2009-05-19 22:09:06 +00:00
Jennifer Hickey 822ed03826 SPR-5256 2009-05-19 21:02:43 +00:00
Sam Brannen 8f359ece3f Minor fixes for grammar and spelling 2009-05-19 19:02:22 +00:00
Sam Brannen b47c81ea2c Suppressing serialization warnings 2009-05-19 15:33:45 +00:00
Keith Donald 50bcecac95 removed unused import 2009-05-18 13:14:55 +00:00
Keith Donald 8cbab5acb6 costin code review comments 2009-05-18 13:13:34 +00:00
Keith Donald 0cc3542aed applied joris's no derby log patch 2009-05-17 15:39:17 +00:00
Sam Brannen 72c330fffb Updated copyright. 2009-05-17 10:22:40 +00:00
Sam Brannen 76aa8b2119 Spring TestContext Framework autowiring tests now include an explicit test for the @Autowired-@Qualifier combination. 2009-05-17 10:22:03 +00:00
Keith Donald d13567bc8f added support for null conversion point type 2009-05-17 03:09:59 +00:00
Keith Donald 18be2ffadc fixed autoboxing bug 2009-05-17 02:22:02 +00:00
Keith Donald c5cc75693d Added to docs 2009-05-16 22:58:18 +00:00
Keith Donald e54519d02e made package private 2009-05-16 22:14:22 +00:00
Keith Donald c6c0dd555b removed unused imports 2009-05-16 22:13:21 +00:00
Keith Donald f3ae7bd961 applied Joris's patch to shutdown Embedded Derby DB; adjusted manifest template to restrict derby version range from 10.5.1. to 10.6 2009-05-16 22:11:18 +00:00
Keith Donald 0c85f3df55 doc polishing 2009-05-16 18:46:56 +00:00
Keith Donald 3c0cbac2fc added derby to manifest 2009-05-16 15:49:49 +00:00
Keith Donald a12ffa5c4c removed @Override 2009-05-16 15:34:47 +00:00
Keith Donald eee52f8804 derby embedded db support initial commit; shutdown use case needs work 2009-05-16 15:05:28 +00:00
Andy Clement 662dbaaed8 SPR-5692: export META-INF so that aop.xml is visible to aspectj load time weaving in an OSGi environment 2009-05-16 01:48:23 +00:00
Thomas Risberg 94d6fa8cb1 removed TopLink coverage 2009-05-15 21:52:23 +00:00
Keith Donald 4394dad372 commented out failing el test for now - todo 2009-05-15 21:34:11 +00:00
Keith Donald b33be88c9d tests passing again 2009-05-15 21:31:57 +00:00
Keith Donald 46c9a003eb BindingPoint to ConversionPoint, javadoc 2009-05-15 20:32:23 +00:00
Thomas Risberg 2ede4d2731 cleaned up transaction chapter 2009-05-15 20:15:18 +00:00
Keith Donald cf2453e8eb renamed TypeDescriptor to BindingPoint 2009-05-15 17:30:03 +00:00
Keith Donald 6f74369cb3 polish 2009-05-15 17:28:55 +00:00
Ben Hale acf17381b9 Upgrade to spring-build 2009-05-15 17:01:37 +00:00
Thomas Risberg b2526f337a removed getting-started; added section on new tutorial 2009-05-15 15:25:43 +00:00
Juergen Hoeller 814a807446 generified JtaTransactionManager code 2009-05-15 15:04:11 +00:00
Christian Dupuis 33de330b0e minor change to use registerBeanComponent instead of directly registering the BeanDefinition 2009-05-15 13:42:24 +00:00
Christian Dupuis d80005a955 fixed tooling related problem where empty value of an attribute that should take a bean reference would call the RuntimeBeanReference constructor in the namespace parser and throw a IllegalArgumentException although the problem has already been reported using the ProblemReporter API 2009-05-15 13:24:59 +00:00
Christian Dupuis 48c97342fe some minor tweaks to the scheduling namespace parser to make it more tooling friendly; applied new tools:annotation to method attribute in scheduling xsd 2009-05-15 13:24:28 +00:00
Christian Dupuis fba5e5f0db fixed tooling related problem where empty value of an attribute that should take a bean reference would call the RuntimeBeanReference constructor in the namespace parser and throw a IllegalArgumentException although the problem has already been reported using the ProblemReporter API 2009-05-15 13:22:30 +00:00
Juergen Hoeller dffec3cdcd quick attempt to fix core.convert breakage 2009-05-15 11:35:41 +00:00
Christian Dupuis eb3ece4208 added spring-tool-3.0.xsd; new expected-method element to describe possible methods for an attribute 2009-05-15 11:03:37 +00:00
Keith Donald 9a261470ad converter system refactoring from community input 2009-05-14 21:36:49 +00:00
Juergen Hoeller a1793457b2 OSGI manifests etc 2009-05-13 20:52:40 +00:00
Juergen Hoeller 30851e36a3 added Commons Lang for Velocity tests 2009-05-13 20:52:06 +00:00
Juergen Hoeller 14732c5dc2 @Import detects and accepts existing configuration class in any order of processing 2009-05-13 20:49:45 +00:00
Thomas Risberg 1ded650a6c finnished updating code examples with generics/varargs for jdbc chapter 2009-05-13 18:45:24 +00:00
Thomas Risberg 585627319d updated version to 3.0.RC1 2009-05-13 18:44:39 +00:00
Juergen Hoeller 433d52b728 @Import detects and accepts existing configuration class of the desired type 2009-05-13 16:19:56 +00:00
Juergen Hoeller 0a8a80ede3 Velocity/FreeMarker/TilesViewResolver only return a view if the target resource exists now 2009-05-13 14:26:56 +00:00
Juergen Hoeller 47992ea07c Velocity/FreeMarker/TilesViewResolver only return a view if the target resource exists now 2009-05-13 14:22:03 +00:00
Juergen Hoeller b0ed6d5685 polishing 2009-05-12 23:53:45 +00:00
Juergen Hoeller 0471d5d3ea removed outdated imports 2009-05-12 23:50:35 +00:00
Juergen Hoeller ad5d090c86 removed outdated imports 2009-05-12 23:40:45 +00:00
Juergen Hoeller f1c852b14c polishing 2009-05-12 23:39:56 +00:00
Juergen Hoeller 59101c096f replaced Commons Collections dependency with Spring-provided LinkedCaseInsensitiveMap; revised CollectionFactory and Spring Map implementations for consistency 2009-05-12 23:37:43 +00:00
Juergen Hoeller da71f266ae ConfigurationClassBeanDefinition implements AnnotatedBeanDefinition 2009-05-12 23:12:51 +00:00
Juergen Hoeller cce6e2f4cd added SourceExtractor support 2009-05-12 22:27:37 +00:00
Thomas Risberg df8219d56e fixed typo and JavaDocs 2009-05-12 20:21:05 +00:00
Thomas Risberg 95213d488c updating code examples with generics/varargs; polishing 2009-05-12 18:18:29 +00:00
Thomas Risberg c55569b51e relaxed parameter type from ParameterizedRowMapper<T> to RowMapper<T> 2009-05-12 18:18:05 +00:00
Juergen Hoeller b1e464fc60 marked "javax.xml.bind" as optional instead of "javax.xml.stream" 2009-05-12 16:56:34 +00:00
Juergen Hoeller bbd69da37f updated all Spring Framework OSGI manifests to list unversioned imports explicitly; relaxed several OSGi bundle dependencies to optional and extended version ranges 2009-05-12 16:43:15 +00:00
Juergen Hoeller 20f12e6158 removed outdated Attributes references 2009-05-12 16:14:09 +00:00
Juergen Hoeller 12d6aa232a added setMetadataReaderFactory method 2009-05-12 16:13:36 +00:00
Arjen Poutsma 51f539b0ad SPR-5725: Typos in Spring REST documentation 2009-05-12 08:47:36 +00:00
Arjen Poutsma d8071acd55 SPR-5724: Documentation for RESTful webservice examples slightly incorrect for 3.0.0.M3 2009-05-12 08:46:14 +00:00
Arjen Poutsma 9cbc1d502d SPR-5746 - Allow XStreamMarshaller subclasses to customise XStream object 2009-05-12 08:41:09 +00:00
Arjen Poutsma eca1cad7e1 Fixing build. 2009-05-12 08:26:33 +00:00
Juergen Hoeller e78c6fc317 explicitly declared SmartApplicationListener as ApplicationListener<ApplicationEvent> 2009-05-11 22:49:07 +00:00
Juergen Hoeller 68deb43d8e removed WebLogic 7.0 support code 2009-05-11 22:47:50 +00:00
Juergen Hoeller 0297116542 generified TypeConverter interface 2009-05-11 22:44:33 +00:00
Juergen Hoeller b72af54f53 eagerly load NestedExceptionUtils to avoid potential getMessage deadlock on OSGi (SPR-5607) 2009-05-11 22:22:11 +00:00
Keith Donald 796a457d9f added two way converter 2009-05-11 21:40:55 +00:00
Keith Donald 50985d5aa9 renamed executeConversion to simply convert for readibility 2009-05-11 21:25:33 +00:00
Keith Donald c3f54b4cb4 renamed to ConverterNotFoundException 2009-05-11 21:24:07 +00:00
Keith Donald d7c90cff14 made ConversionExecutor internal; removed other unused operations from public SPI 2009-05-11 21:23:18 +00:00
Arjen Poutsma bf7a947559 SPR-5732 - When no type conversion strategy is found on a @Controller handler method bind target, a 500 error code should be returned not a 400. 2009-05-11 14:52:14 +00:00
Thomas Risberg 800af734d9 added -1218 to the transientDataAccessResourceCodes for DB2 (SPR-5296) 2009-05-11 14:37:42 +00:00
Arjen Poutsma 0a6cac5a84 SPR-4927 - Return 405 instead of 404 when HTTP method is not supported 2009-05-11 13:32:28 +00:00
Arjen Poutsma 752832a8da SPR-5731 - @Controller method order effects @RequestMapping behavior in ways not expected 2009-05-11 10:34:56 +00:00
Keith Donald fbd921f25a embedded db support 2009-05-09 23:52:13 +00:00
Keith Donald be725ca4c6 polish 2009-05-09 22:30:34 +00:00
Keith Donald aca047d5df polish 2009-05-09 22:28:59 +00:00
Keith Donald 96629c7dc5 h2 embedded db support; updated formatting conventions not to auto-format javadoc; added hsqldb and h2 to jdbc maven pom as optional deps 2009-05-09 22:27:05 +00:00
Thomas Risberg 93cf346fb1 updating code examples with generics/varargs; polishing 2009-05-09 02:40:54 +00:00
Juergen Hoeller d34953e933 polishing 2009-05-08 23:16:53 +00:00
Juergen Hoeller d34c4a2cf0 @Transactional supports qualifier value for choosing between multiple transaction managers 2009-05-08 23:13:43 +00:00
Thomas Risberg dc83107d66 replaced *DaoSuport coverage with annotations used for DAOs 2009-05-08 20:33:32 +00:00
Mark Fisher ff36a31874 SPR-4359 Added support for a 'task-scheduler' element. 2009-05-08 20:32:11 +00:00
Keith Donald c6b23a8277 changelog update for spring-jdbc config add 2009-05-08 19:09:20 +00:00
Keith Donald 6cec37ac7f spring-jdbc xsd initial commit; includes embedded-database tag 2009-05-08 19:06:58 +00:00
Mark Fisher 3e9b9a8a2a SPR-4359 Initial commit of scheduling namespace support. 2009-05-08 18:32:07 +00:00
Arjen Poutsma 4025df1ef8 SPR-5726: Unexpected @RequestMapping semantics when class-level and method-level mappings used together 2009-05-08 10:02:17 +00:00
Juergen Hoeller 266a65982d Servlet/Portlet ApplicationContexts use a specific id based on servlet/portlet name; DefaultListableBeanFactory references are serializable now when initialized with an id; scoped proxies are serializable now, for web scopes as well as for singleton beans; injected request/session references are serializable proxies for the current request now 2009-05-07 22:29:55 +00:00
Juergen Hoeller 4ccb352aac ReloadableResourceBundleMessageSource correctly calculates filenames for locales with variant but without country now (SPR-5716) 2009-05-07 09:24:34 +00:00
Sam Brannen 7d4da0085c [SPR-5713] JavaDoc polishing for @ContextConfiguration. 2009-05-06 22:52:27 +00:00
Sam Brannen 7a0f82029a Corrected typos 2009-05-06 22:43:41 +00:00
Juergen Hoeller bc85b54a87 final preparations for M3 release 2009-05-06 10:16:17 +00:00
Keith Donald 843ef7e33d convert addition 2009-05-06 09:57:29 +00:00
Keith Donald 08a4004a51 embedded db support 2009-05-06 09:28:10 +00:00
Keith Donald 4bfcd16130 polish 2009-05-06 09:14:25 +00:00
Juergen Hoeller 0320445316 moved ScheduledTaskRegistrar to new config package (where the scheduling namespace will live as well) 2009-05-06 08:47:18 +00:00
Keith Donald 6771a22988 polish 2009-05-06 08:38:47 +00:00
Keith Donald c25760f5db polish 2009-05-06 08:19:21 +00:00
Keith Donald f64dcd379e polish 2009-05-06 08:17:29 +00:00
Keith Donald 567dd1eefb package 2009-05-06 08:04:29 +00:00
Keith Donald 442e7343d6 polish 2009-05-06 07:56:52 +00:00
Sam Brannen d159195b79 [SPR-5145] Updated package.html files regarding upgrade to JUnit 4.5. 2009-05-06 07:37:25 +00:00
Keith Donald bc9ad5685d eliminated dependency on jdbc core 2009-05-06 07:36:24 +00:00
Sam Brannen c0c9501005 [SPR-5145] Updated reference manual regarding upgrade to JUnit 4.5; additional improvements in the testing chapter as well. 2009-05-06 06:25:03 +00:00
Sam Brannen 94ceacf843 Reinserted blank line for consistent formatting of the change log. 2009-05-06 05:03:20 +00:00
Sam Brannen 1ec455bab3 Added TestContext framework changes to the change log. 2009-05-06 05:01:05 +00:00
Juergen Hoeller b2319fa38b reactivated ThrowsAdviceInterceptorTests 2009-05-05 21:49:23 +00:00
Juergen Hoeller c356d99621 prepared for 3.0 M3 release 2009-05-05 21:42:33 +00:00
Juergen Hoeller 1b5a433f22 added ScheduledTaskRegistrar etc 2009-05-05 18:40:43 +00:00
Juergen Hoeller 47fc8be59f added test for custom controller stereotype 2009-05-05 18:37:43 +00:00
Juergen Hoeller c7f8d1be62 reactivated ignored tests in revised form 2009-05-05 18:34:35 +00:00
Juergen Hoeller 636d1db36d avoid NPE for definitions without bean class specified 2009-05-05 18:33:20 +00:00
Juergen Hoeller b88edd1dfc polishing 2009-05-05 18:28:21 +00:00
Juergen Hoeller e57543a8f3 turned CountingBeforeAdvice into top-level class 2009-05-05 18:27:22 +00:00
Juergen Hoeller 250ef281a4 reverted non-public proxy interface change 2009-05-05 14:53:01 +00:00
Arjen Poutsma 9fe2b5d211 Moved DefaultHandlerExceptionResolver to fix a tangle. 2009-05-05 13:41:03 +00:00
Juergen Hoeller cef7a2b965 exclude non-public interfaces when autodetecting proxy interfaces 2009-05-05 12:37:18 +00:00
Juergen Hoeller 9d8c99fa1b minimized local MockServletContext dependencies 2009-05-05 12:35:33 +00:00
Juergen Hoeller d446afad33 added local Servlet API mocks 2009-05-05 12:26:11 +00:00
Juergen Hoeller b15e77d5d0 renamed "contextProperties" attribute to "contextParameters" (matching web.xml naming); "contextParameters" contains Servlet/PortletConfig parameters as well; added default "servletContext" and "servletConfig" environment beans; added default "portletContext" and "portletConfig" environment beans; added default web scope "application", wrapping a ServletContext/PortletContext; MockPortletSession supports destruction of session attributes on invalidation 2009-05-05 12:12:01 +00:00
Arjen Poutsma 0a0938fdd6 SPR-5426 - Allow for custom processing or result objects returned from handler/controller methods 2009-05-05 11:40:36 +00:00
Juergen Hoeller a6124793fc polishing 2009-05-05 09:36:53 +00:00
Juergen Hoeller 6930859e82 removed StandardScopes pseudo-enum (superseded by meta-annotated scopes) 2009-05-05 09:32:55 +00:00
Juergen Hoeller 9b4f9106c5 polishing 2009-05-05 09:26:04 +00:00
Sam Brannen 9daae23e17 [SPR-5145] Updated reference manual regarding deprecation of the legacy JUnit 3.8 code base.
[SPR-5713] Updated reference manual with an example demonstrating the new 'value' alias for @ContextConfiguration's 'locations' attribute.
2009-05-05 08:02:22 +00:00
Sam Brannen 781da89d92 [SPR-5713] Added 'value' alias for @ContextConfiguration's 'locations' attribute. 2009-05-05 07:37:14 +00:00
Sam Brannen a6a8b29d19 Fixed typo in JavaDoc 2009-05-04 06:02:59 +00:00
Sam Brannen a637912762 [SPR-5710] Subclasses of SpringJUnit4ClassRunner can now override the default ContextLoader class via the new getDefaultContextLoaderClassName(Class) method. 2009-05-02 23:24:48 +00:00
Thomas Risberg 0383f705ae clean-up of the @Bean content 2009-05-01 20:14:23 +00:00
Thomas Risberg 05f1d08028 re-arranged the @Bean content 2009-05-01 19:48:08 +00:00
Thomas Risberg b1577c28e2 removed some JavaConfig references 2009-04-30 04:35:30 +00:00
Thomas Risberg 9aaea34262 fixed DOCTYPE to refer to the root_element used 2009-04-30 04:16:07 +00:00
Sam Brannen 62c991f9d6 [SPR-5145] Updated reference manual regarding upgrade to JUnit 4.5; additional improvements in the testing chapter as well. 2009-04-30 01:04:39 +00:00
Sam Brannen 17858915ab Corrected grammar and spelling mistakes in reference manual. 2009-04-30 01:03:44 +00:00
Sam Brannen db486e147b Added Eclipse project settings to the reference documentation so that the documentation can be more easily edited and built within Eclipse. 2009-04-30 00:59:09 +00:00
Sam Brannen d3af831334 Now parameterizing with <?> where appropriate. 2009-04-30 00:58:08 +00:00
Sam Brannen 6327b3484b [SPR-5145] Improved test suite for SpringJUnit4ClassRunner: added specific unit tests for test timeouts, repeated tests, and expected exceptions. 2009-04-29 21:29:53 +00:00
Thomas Risberg 41423a9ab9 added some JavaConfig content 2009-04-29 21:14:01 +00:00
Thomas Risberg 15b33684a7 fixed JavaDoc 2009-04-29 21:12:45 +00:00
Sam Brannen 0fbafc0274 Removed unused package. 2009-04-29 19:01:39 +00:00
Sam Brannen 751e0f0eb7 [SPR-5145] Completed migration to JUnit 4.5: SpringJUnit4ClassRunner now extends BlockJUnit4ClassRunner and uses custom Statements; removed obsolete SpringMethodRoadie and SpringTestMethod classes. 2009-04-29 08:21:23 +00:00
Sam Brannen b36f95bcee Corrected typos and sorted Eclipse classpath. 2009-04-28 21:45:14 +00:00
Sam Brannen e5d2570c8d [SPR-5145] Adding custom JUnit 4.5 Statements. 2009-04-28 07:29:24 +00:00
Juergen Hoeller 8583026151 revised target class check for non-Spring CGLIB proxy variants (SPR-5694) 2009-04-27 22:54:39 +00:00
Juergen Hoeller a2fdb68a0b fixed potential race condition through additional synchronization (SPR-5658) 2009-04-27 22:53:40 +00:00
Sam Brannen 2796e72de1 Updated JavaDoc for @TestExecutionListeners. 2009-04-27 22:49:34 +00:00
Mark Pollack 30967d3b20 Update docs to use of @Bean inside a @Component 2009-04-27 05:40:11 +00:00
Mark Pollack c2f4f97fa5 Update docs to use of @Bean inside a @Component 2009-04-27 05:37:45 +00:00
Juergen Hoeller cea8f7f69e custom stereotype annotations can be meta-annotated with @Service, @Controller etc as well; @Scope and @Transactional are now supported as meta-annotations on custom annotations 2009-04-26 11:41:06 +00:00
Juergen Hoeller ac16101f98 polishing 2009-04-26 11:39:00 +00:00
Juergen Hoeller 423809543a polishing 2009-04-24 11:25:27 +00:00
Juergen Hoeller 77112ba80e updated AnnotationMetadata tests for change in Class exposure 2009-04-24 11:24:47 +00:00
Juergen Hoeller b5d21108da @Configuration parsing fully relies on Spring's MetadataReader abstraction now 2009-04-24 11:16:46 +00:00
Keith Donald 37e1333a41 polish 2009-04-23 19:01:41 +00:00
Keith Donald 3a457dcec9 embedded database factory bean 2009-04-23 18:56:26 +00:00
Scott Andrews f6e869163f updating Eclipse .classpath settings for Freemarker 2.3.15 upgrade 2009-04-23 14:13:03 +00:00
Keith Donald eb4d1bf20e deleted old test data source factory 2009-04-22 21:29:47 +00:00
Keith Donald d896a53ca8 polish 2009-04-22 21:16:22 +00:00
Keith Donald adcbe27852 added pre destroy 2009-04-22 21:14:06 +00:00
Keith Donald e783211f88 polish 2009-04-22 19:41:27 +00:00
Keith Donald ec463a32ba added DataSourceFactory strategy; promoted EmbeddedDatabaseConfigurer strategy to public API; added ability to add any number of SQL scripts for db population 2009-04-22 19:31:46 +00:00
Andy Clement d34a2c5d02 SPR-5663: test and fix: inconsistency between canRead() and read() on ReflectivePropertyResolver 2009-04-22 17:57:24 +00:00
Keith Donald b1000cd5c6 embedded 2009-04-22 17:47:44 +00:00
Keith Donald 2e45a19be3 embedded database support initial commit; moved from spring-test; ResourceDatabasePopulator duplicate code with test.jdbc package that needs review 2009-04-22 17:07:20 +00:00
Arjen Poutsma 6fbd198420 SPR-4518 - @RequestMapping methods returning null have an implicit ModelAndView created 2009-04-22 12:57:30 +00:00
Arjen Poutsma c1667687d5 SPR-5634 - OXM does not permit targetClass and mapping file for CastorMarshaller 2009-04-22 12:08:57 +00:00
Arjen Poutsma de18d64b5c Upgraded to Rome 1.0 2009-04-22 11:44:59 +00:00
Juergen Hoeller ea9d8925a2 next cut of JavaConfig metadata reading revision: using cached MetadataReaders 2009-04-22 10:46:24 +00:00
Andy Clement 4c42597cbc SPR-5673: fix for problems with expressions that use the same symbols as are used in the template prefix/suffix 2009-04-22 00:10:47 +00:00
Arjen Poutsma dfa4b3e397 Javadoc 2009-04-21 22:16:32 +00:00
Arjen Poutsma afa461892f SPR-5690 - Request header filtering in @RequestMapping 2009-04-21 22:03:51 +00:00
Keith Donald b8b74db01a test datasource factory initial commit; needs review from Juergen on how to best make DataSource available as a Spring bean when desired 2009-04-21 21:31:16 +00:00
Chris Beams 4d509cebdb Temporarily ignoring GroovyScriptFactoryTests#testResourceScriptFromTag in order to allow more important fixes to roll out. 2009-04-21 18:14:08 +00:00
Chris Beams 7ba4c563a6 Fixing build breakage with GroovyScriptFactoryTests.
The problem was that the Messenger object was not being proxed (assertTrue(AopUtils.isAopProxy(messenger)) was returning false).  The cause for this seemed to be that the
pointcut was malformed / out of date, reading execution(* org.springframework.scripting.Messenger.*(..)), when the groovy Messenger class is actually declared in the org.springframework.scripting.groovy package.
I tried updating the fully-qualified package name in the pointcut expression, and this caused AspectJ matching errors saying that there was not such type that matches that FQ name.
So as a final resort, I removed the full-qualification entirely and went with execution(* *..Messenger.*(..)).  All tests pass now, but it raises the question, why was AJ having matching errors?  Is it because
the pointcut matching is being done before the groovy class is loaded?  There could be a potential bug here.
2009-04-21 17:20:39 +00:00
Chris Beams 7d10d05b27 (temporarily) increasing visibility of the ConfigurationClassAnnotation interface in an attempt to resolve the issue encountered at http://is.gd/tCud 2009-04-21 16:24:54 +00:00
Arjen Poutsma dc90319279 MediaType.parseMediaTypes now accepts null and "" 2009-04-21 13:41:15 +00:00
Ben Hale 6be62f30f1 Updated spring-build 2009-04-20 12:16:50 +00:00
Juergen Hoeller 10d8abea3b EntityResolvers and DefaultNamespaceHandlerResolver support concurrent access now (SPR-5679) 2009-04-20 12:07:00 +00:00
Juergen Hoeller e54a44b577 refined sequence of registration calls 2009-04-20 11:20:01 +00:00
Juergen Hoeller 9306d6dbaa serialize full Pattern objects 2009-04-20 11:14:28 +00:00
Juergen Hoeller 14bd475519 revised support for annotated factory methods (merged @FactoryMethod functionality into JavaConfig facility) 2009-04-19 23:45:31 +00:00
Juergen Hoeller 736169aa2a revised WebApplicationContext lookup 2009-04-19 22:28:31 +00:00
Juergen Hoeller 4cf573ba98 updated to FreeMarker 2.3.15 (SPR-4962) 2009-04-19 22:22:56 +00:00
Juergen Hoeller 58a458986f polishing 2009-04-19 20:36:33 +00:00
Juergen Hoeller 64321755b6 moved Scope annotation to local test package 2009-04-19 20:35:32 +00:00
Juergen Hoeller c230c188be exposed public getModel accessor (SPR-5686) 2009-04-19 19:51:25 +00:00
Juergen Hoeller bc9b256179 fixed "org.hibernate.ejb" version range 2009-04-19 19:36:26 +00:00
Juergen Hoeller 1b9b513820 AspectJ matchesMethodExecution call needs to be synchronized (SPR-5687) 2009-04-19 19:33:23 +00:00
Arjen Poutsma 6495bdd8c8 Added AspectJ dependency 2009-04-18 09:06:04 +00:00
Chris Beams c78f9d14fa Fixed whitespace and added private modifiers to @Value-annotated fields in the @Configuration example 2009-04-18 00:22:03 +00:00
Thomas Risberg 8aface8e5d fixed JavaDoc 2009-04-17 19:43:11 +00:00
Juergen Hoeller 3e63951a57 relaxed @AspectJ detection check (for CGLIB subclasses to still be recognized as an aspect) 2009-04-17 17:32:29 +00:00
Juergen Hoeller 56a48272e6 avoiding synchronization as far as possible (SPR-5668) 2009-04-17 17:28:31 +00:00
Juergen Hoeller 7048689269 polishing 2009-04-17 17:23:50 +00:00
Juergen Hoeller 8ee0363776 mergePropertiesIntoMap copies non-String values as well (SPR-5669) 2009-04-17 12:21:57 +00:00
Arjen Poutsma c225b44f34 SPR-5636 - @RequestMapping matching should be insensitive to trailing slashes 2009-04-17 09:41:04 +00:00
Arjen Poutsma acc84925d3 SPR-5631 - Implicit /** mapping on type-level @RequestMapping 2009-04-17 09:28:08 +00:00
Arjen Poutsma 02e96e01af Changed variable names from path to pattern 2009-04-17 08:26:18 +00:00
Andy Clement b98c7e48ef filled in some basic details on the type conversion support. No TODOs left in this section now. Also properly added the selection/projection sections. 2009-04-17 05:14:07 +00:00
Andy Clement 9d6ae6c532 minor fix 2009-04-17 05:02:05 +00:00
Andy Clement d119411098 removed unnecessary class. improvements to map projection/selection 2009-04-16 19:21:50 +00:00
Arjen Poutsma 1c26d027a7 Increased debug level of mapping info 2009-04-16 13:25:46 +00:00
Arjen Poutsma 6121da988b Working on SPR-5631 - Implicit /** mapping on type-level @RequestMapping 2009-04-16 13:23:24 +00:00
Scott Andrews 4fb901c657 adding 'target' to svn:ignore 2009-04-16 13:23:17 +00:00
Arjen Poutsma ead837938a Added Copyright plugin info 2009-04-16 13:20:33 +00:00
Arjen Poutsma 19e5b7d668 Updated combine method on AntPatchMatcher to reflect usage in unit tests. 2009-04-16 12:53:36 +00:00
Andy Clement 2f27bd5da7 changed to [] from {} for projection and selection (including first and last selection). addresses the problem of clashes with template prefix/suffix 2009-04-15 23:54:52 +00:00
Juergen Hoeller d27cbee69c fixed JasperReports exporter parameter initialization for multi-format views 2009-04-15 23:18:57 +00:00
Juergen Hoeller 310a3a2d71 officially deprecated ClassUtils.forName variant without ClassLoader 2009-04-15 22:33:56 +00:00
Juergen Hoeller 2798a8500c always use application ClassLoader 2009-04-15 22:30:24 +00:00
Juergen Hoeller 1b5812da20 storing type information as specified (SPR-5556, SPR-5562); explicit XML array element in spring-beans-3.0.xsd (SPR-5543) 2009-04-15 22:27:32 +00:00
Arjen Poutsma 5a561bcd07 Minor changes to OXM chapter 2009-04-15 10:11:52 +00:00
Thomas Risberg 1facd45c5e switched to use XInclude 2009-04-14 21:37:40 +00:00
Andy Clement 338a7ee2de SPR-5673: more intelligence in TemplateAwareExpressionParser. Supports prefix/suffix escaping and nesting of prefixes/suffixes 2009-04-14 21:26:56 +00:00
Thomas Risberg 298a5c4a8b rearranged content in "New in Spring 3.0" 2009-04-14 17:24:56 +00:00
Thomas Risberg ab52fdf07b added/modified some links 2009-04-14 14:12:28 +00:00
Ben Hale 6fc16d1e33 [SPR-5675] Added spring-expressions to the library file 2009-04-14 13:18:35 +00:00
Ben Hale af2e117244 [DMSSUP-8] Removed import-scope:=application for aspectj 2009-04-14 08:23:48 +00:00
Mark Pollack 823cc6e691 polishing 2009-04-14 07:07:01 +00:00
Mark Pollack aa36118e1c Finish REST docs, add docs for @FactoryMethod, add links in 'new-in-3' 2009-04-14 06:59:22 +00:00
Thomas Risberg 0c5ab54dce added more content to new in Spring 3 2009-04-14 04:43:15 +00:00
Thomas Risberg a4b1adbc60 fixed typo of language 2009-04-14 04:35:40 +00:00
Thomas Risberg 0e77054854 added content to new in Spring 3 2009-04-14 04:02:10 +00:00
Mark Pollack 7f06639be2 Add REST feed view docs, included edits from Thomas R. 2009-04-13 22:11:15 +00:00
Andy Clement 2f5ba83416 more tests - about 82% coverage now. focused on testing reflection helper since it is rather complex. some asserts also added. 2009-04-13 20:51:52 +00:00
Thomas Risberg 19ec3654df added the rest chapter to the build 2009-04-13 17:46:21 +00:00
Thomas Risberg 38e5deefda added language element to programlisting for syntax highlighting 2009-04-13 15:04:07 +00:00
Thomas Risberg 077d7f4bce added language element to programlisting for syntax highlighting 2009-04-13 14:27:47 +00:00
Thomas Risberg f4b4f28fc2 added language element to programlisting for syntax highlighting 2009-04-13 13:12:38 +00:00
Colin Sampaleanu b7ab939d55 forgot to update eclipse project when updating hibernate versions 2009-04-13 05:25:57 +00:00
Colin Sampaleanu dc592837be allow petclinic unit tests to work. slf4j impl was needed 2009-04-13 05:23:44 +00:00
Colin Sampaleanu 31f61628ff updte hibernate dependencies in integration-test project to same as
those in orm project
2009-04-13 05:03:55 +00:00
Juergen Hoeller ee5e76c48c officially deprecated AbstractJpaTests 2009-04-12 21:16:12 +00:00
Juergen Hoeller 9baf9cdc2f reintroduced "removeApplicationListener" method as well 2009-04-12 20:59:52 +00:00
Andy Clement af6457a67d More tests. First pass on messages review. 2009-04-12 16:45:00 +00:00
Costin Leau f6ecffdba7 + osgi manifest updates 2009-04-11 20:57:09 +00:00
Mark Pollack d16d8984a8 REST documentation 2009-04-11 05:59:12 +00:00
Mark Pollack 4fc77944ad More REST documentation 2009-04-11 04:49:11 +00:00
Keith Donald 5a87334168 made conversion service pluggable 2009-04-10 20:52:16 +00:00
Keith Donald 1d22b9fb88 activated DefaultConversionService in EL, linking convert and EL 2009-04-10 20:47:04 +00:00
Keith Donald 8b52b7eeef autobox tests 2009-04-10 19:19:53 +00:00
Keith Donald ebb203a251 removed custom converter for m3 to add back in rc1; also ensure type descriptor get type always returns wrapper types if primitive 2009-04-10 15:57:18 +00:00
Keith Donald b988f1a539 javadoc 2009-04-10 15:21:16 +00:00
Keith Donald 76f63f8b64 map-to-map tests 2009-04-10 15:07:23 +00:00
Juergen Hoeller 5649f2f31d fixed generic registerCustomEditor signature 2009-04-10 13:44:23 +00:00
Juergen Hoeller 20fc42add0 avoid PortletSession.getAttributeMap() since it is immutable (SPR-5649) 2009-04-10 10:51:45 +00:00
Andy Clement 38c7f566e5 Fixed StandardTypeLocator to only know about java.lang.* out of the box. Doc fixes related to that. 2009-04-10 03:20:09 +00:00
Andy Clement f36b9eb088 finally some comparator logic that makes sense :) 2009-04-10 02:21:25 +00:00
Andy Clement 46c5340f57 More tests, corrections in standard comparator, more helper methods in StandardEvaluationContext. 2009-04-10 00:03:53 +00:00
Andy Clement ba613f2e35 allow for null 2009-04-09 22:04:08 +00:00
Andy Clement 00cecd0dd0 more tests, minor fixes. some findbugs issues addressed. 2009-04-09 22:03:38 +00:00
Juergen Hoeller a9f4eeeabf fixed javadoc 2009-04-09 18:24:07 +00:00
Juergen Hoeller 73dd6c28a3 reintroduced "removeAllListeners()" method since Spring DM uses it 2009-04-09 18:18:54 +00:00
Andy Clement 707d2ed72a Changed signature of convertValue() to keep the Sun compiler happy 2009-04-09 16:00:53 +00:00
Mark Pollack 362629d03b Change version from 3.0.0.M3 to 3.0.0.BUILD-SNAPSHOT (again) 2009-04-09 14:38:35 +00:00
Keith Donald 3e4810f670 polish 2009-04-09 14:09:10 +00:00
Keith Donald a0cab10ccc polish 2009-04-09 14:01:40 +00:00
Arjen Poutsma 7e3e79ca22 SPR-5653: RestTemplate handles redirects incorrectly 2009-04-09 11:03:35 +00:00
Juergen Hoeller 859497b171 @Resource names may use ${...} placeholders (SPR-5656) 2009-04-09 09:14:06 +00:00
Andy Clement 3cac9267e9 Commented out the sections on list projection and #this. 2009-04-09 05:44:35 +00:00
Andy Clement f20dcf275f Corrected some typos, code samples and changed a bit of wording. All code samples are now SpEL testcases. 2009-04-09 01:56:34 +00:00
Andy Clement 9a8bb5f709 More tests and some fixes. Also created tests based on the documentation examples. 2009-04-09 01:43:07 +00:00
Keith Donald 9ce71f67ff conversion service helper tests - part 1 2009-04-08 22:10:26 +00:00
Keith Donald d966965a4c default converter tests 2009-04-08 19:58:19 +00:00
Mark Pollack 5e46fab34d Start of REST documentation 2009-04-08 19:29:02 +00:00
Mark Pollack b132e964be add paragraph on SpEL, reorganize section layout. 2009-04-08 14:06:01 +00:00
Thomas Risberg a3cbb05ed5 added language element to programlisting for syntax highlighting 2009-04-08 13:38:36 +00:00
Andy Clement cfc65b0cc7 Removed unnecessary code. Increased test coverage from 70>75% - still some way to go 2009-04-08 04:50:43 +00:00
Andy Clement 30bed7b54a Corrected exception message inserts 2009-04-08 04:49:47 +00:00
Andy Clement 4a7f7bb24a more tests 2009-04-08 04:48:35 +00:00
Andy Clement 76fcc81bc6 New method to return string representation of typeDescriptor 2009-04-08 04:47:54 +00:00
Mark Pollack f917ba89d6 Spring Expression Language docs 2009-04-08 03:37:28 +00:00
Thomas Risberg fc899e5881 added spring leaf for notes 2009-04-07 22:12:31 +00:00
Thomas Risberg 51526d6541 added JMS to overview 2009-04-07 17:30:44 +00:00
Thomas Risberg fb8ec6ed97 added some styling and color coded syntax highlighting to beans chapter 2009-04-07 16:54:36 +00:00
Mark Pollack 5f5bee1022 Spring Expression Language docs 2009-04-07 04:45:05 +00:00
Mark Pollack 1f00e639e0 Spring Expression Language docs 2009-04-07 04:42:51 +00:00
Chris Beams d08d73f274 Renamed ConfigurationPostProcessorTests -> ConfigurationClassPostProcessorTests 2009-04-06 21:29:30 +00:00
Chris Beams 254bf7e403 Fixed SPR-5655 - dm Server issues with ConfigurationClassPostProcessor attempting to read .class files with ASM with incorrect class loader 2009-04-06 21:23:37 +00:00
Thomas Risberg b14d760c9b an outline of the Getting Started chapter 2009-04-06 20:10:04 +00:00
Chris Beams e500348ca7 Fixed mystyped dependency on org.antlr 3.0.1 in context's Eclipse .classpath 2009-04-06 19:43:41 +00:00
Thomas Risberg eb90bbeadc added the OXM chapter from Spring WS 2009-04-06 19:43:18 +00:00
Andy Clement a9f30fe377 Improving test coverage, more language consistency 2009-04-06 19:04:04 +00:00
Thomas Risberg 55bdd07580 revised overview graphics to match new modules 2009-04-06 16:12:50 +00:00
Mark Pollack f64bedb9e1 Polishing. Add description of literal expressions. 2009-04-05 16:25:26 +00:00
Mark Pollack 51f741ccec Initial pass of docs for he Spring expression language. 2009-04-05 09:38:19 +00:00
Andy Clement c695d00dbe More test coverage for the expression AST 2009-04-04 01:04:31 +00:00
Andy Clement c4de2ba006 include missing package component 2009-04-04 00:06:01 +00:00
Andy Clement 4c5854d017 objects flowing around in expression evaluation are now TypedValue's - these carry generics info, used for conversions. 2009-04-03 23:39:14 +00:00
Andy Clement f6c1144e8d tests for TypeDescriptor - just basic so far 2009-04-03 23:38:31 +00:00
Andy Clement bdecf6720e extra factory method and type descriptor for NULL defined 2009-04-03 23:38:18 +00:00
Andy Clement 5a0522e203 fixed support for -1 parameterIndex to access the method return type 2009-04-03 23:37:59 +00:00
Thomas Risberg aced98bf23 added reference docs to the build 2009-04-03 15:59:02 +00:00
Mark Pollack 8fba89c634 Change antlr version to be 3.0.1 so that is consistent across the project 2009-04-03 14:31:25 +00:00
Mark Pollack 8f76197485 Change version from 3.0.0.M3 to 3.0.0.BUILD-SNAPSHOT 2009-04-03 14:03:48 +00:00
Arjen Poutsma 07e6d9d966 More refinements for combine() 2009-04-03 11:35:18 +00:00
Arjen Poutsma 5dbae2c979 More tests for combine() 2009-04-03 11:14:37 +00:00
Arjen Poutsma 56ddc76712 Added combine method to PathMatcher, for combining two patterns. 2009-04-03 10:44:57 +00:00
Thomas Risberg 6e7e107621 mostly changes to Preface and Introduction chapters 2009-04-03 04:08:08 +00:00
Andy Clement 959cc95c3f design change - no longer surfacing typeDescriptor through property accessor. conversion done internally in property write() code 2009-04-01 23:27:49 +00:00
Andy Clement 00018e511d implement new interface method 2009-04-01 21:58:24 +00:00
Andy Clement 1289f1069c new packages added 2009-04-01 21:47:35 +00:00
Andy Clement 54865c0c1f initial typeDescriptor awareness in the EL. some basic testing of using GenericConversionService 2009-04-01 21:38:51 +00:00
Arjen Poutsma 65afc80821 Working on SPR-5631 2009-04-01 21:07:46 +00:00
Andy Clement accf974727 use type descriptor to determine collection element type 2009-04-01 16:52:12 +00:00
Arjen Poutsma cd164a5d9b Polishing 2009-04-01 13:31:51 +00:00
Arjen Poutsma ed5647a270 Fixing the build... 2009-04-01 08:58:23 +00:00
Thomas Risberg 8a6e51922a started "new in Spring 3" chapter; added some overview to introduction chapter 2009-04-01 03:35:39 +00:00
Juergen Hoeller 4ebd08515c polishing 2009-03-31 20:43:28 +00:00
Juergen Hoeller 0f35fe9d3c first cut of changelog for M3 2009-03-31 20:39:39 +00:00
Juergen Hoeller 9dd70ca9fe polishing 2009-03-31 20:34:57 +00:00
Juergen Hoeller 72cc060eaf request handler methods with @ModelAttribute annotation always return a model attribute (SPR-4867) 2009-03-31 20:34:42 +00:00
Juergen Hoeller 50f49ffca4 requires Portlet API 2.0 now 2009-03-31 20:32:50 +00:00
Juergen Hoeller b5ca53eedf request handler methods with @ModelAttribute annotation always return a model attribute (for Portlet MVC as well) 2009-03-31 20:31:45 +00:00
Juergen Hoeller b85d45725d @Value values may use ${...} placeholders (driven by PropertyPlaceholderConfigurer); @Autowired uses field/parameter name as fallback qualifier value (SPR-5152) 2009-03-31 20:27:42 +00:00
Juergen Hoeller 2524ca33d5 FacesRequestAttributes (as used by RequestContextHolder) can access global Portlet session (SPR-5637) 2009-03-31 20:16:35 +00:00
Mark Pollack e93bf49268 Add Michael Isvy's documentation on @CookieValue and @RequestHeader annotations. 2009-03-31 17:57:52 +00:00
Keith Donald 1b1eb82adc added todos left 2009-03-31 17:56:08 +00:00
Keith Donald 10a1d5042a polish 2009-03-31 17:52:58 +00:00
Keith Donald b9caa6c60f polish 2009-03-31 17:52:16 +00:00
Keith Donald ce8718ebf2 polish 2009-03-31 17:50:26 +00:00
Keith Donald 199c9bb9c5 removed typed value 2009-03-31 16:51:09 +00:00
Keith Donald d38c0d301c polish 2009-03-31 15:55:42 +00:00
Keith Donald 7f6fc4e82e polish 2009-03-31 15:44:25 +00:00
Keith Donald ea9df82d2a ignore failing tests 2009-03-31 15:12:33 +00:00
Keith Donald 518f98d4c3 polish 2009-03-31 15:06:22 +00:00
Juergen Hoeller eabad33aa2 Hessian service exporter sets content type "application/x-hessian" (SPR-5621) 2009-03-31 14:36:46 +00:00
Juergen Hoeller aa8bd6313b added "unregisterManagedResource" method to MBeanExporter/MBeanExportOperations (SPR-5517) 2009-03-31 14:28:14 +00:00
Mark Pollack 5885c703f2 Add ability to publish to S3 maven milestone repository for maven central style artifacts by adding slightly modified spring-build targets to publish-maven.xml 2009-03-31 03:05:28 +00:00
Mark Pollack 7ad5dd1bd6 Use maven ant task to install parent pom instead of using maven from the command line as a workaround for http://jira.codehaus.org/browse/MANTTASKS-87 2009-03-31 01:51:01 +00:00
Mark Pollack 6f64ce8147 Adding additional project information to POM. 2009-03-31 00:50:52 +00:00
Arjen Poutsma 3df99a17f5 Ignoring broken tests 2009-03-30 23:25:15 +00:00
Arjen Poutsma 3ebb5ccdaf Fixing build. @Override on interface implementation methods is not allowed in Java 5, Keith! 2009-03-30 22:56:16 +00:00
Keith Donald ae4f80cf60 type descriptor initial commit 2009-03-30 22:39:16 +00:00
Andy Clement c057638bd0 Indexed objects (arrays/maps/lists) now settable 2009-03-30 19:40:20 +00:00
Andy Clement 401b7f66c4 Indexed objects (arrays/maps/lists) now settable 2009-03-30 19:40:09 +00:00
Mark Pollack fa68b4b9a7 maven deployment script development 2009-03-30 17:45:13 +00:00
Mark Pollack a80cb4f6e9 maven deployment script development 2009-03-30 17:41:26 +00:00
Arjen Poutsma f09f4e8dd2 SPR-4677: Allow annotated methods on a Controller to be marked as exception handlers 2009-03-30 17:20:55 +00:00
Chris Beams 1b13d8fadf Added test using custom properties file with util:properties and dereferenced with @Value("#{...}") 2009-03-30 17:17:44 +00:00
Arjen Poutsma ea37cdc006 Javadoc 2009-03-30 16:46:01 +00:00
Chris Beams cebc85067a polishing @Configuration tests 2009-03-30 16:02:04 +00:00
Chris Beams cc713ad524 RESOLVED - issue SPR-5600: Make naming of @Configuration class processing-related artifacts consistent 2009-03-30 15:26:21 +00:00
Mark Pollack 24e8dccd44 updated spring-library to include web.portlet in .libd and ivy files 2009-03-30 14:45:31 +00:00
Mark Pollack 4c7c30985f Change antlr version to be 3.0.1 so that is consistent across the project 2009-03-30 14:42:34 +00:00
Mark Pollack 351fba1a04 POM maintenance
Place parent pom in publicly accessible directory (org.sf.spring-parent).  
Create a component list pom in org.sf.spring-library.
2009-03-29 09:56:38 +00:00
Chris Beams 68051ec72b Updated BeanMethodTests to reflect change from IllegalArgumentException -> IllegalStateException 2009-03-28 22:29:28 +00:00
Chris Beams 69a762e86a resolved:
+ Provide @Primary annotation (SPR-5590)
+ Provide @Lazy annotation (SPR-5591)
+ Test @Bean initMethod/destroyMethod functionality (SPR-5592)
+ Test @Bean dependsOn functionality (SPR-5593)
2009-03-28 22:21:50 +00:00
Arjen Poutsma 5bcdf81656 Javadoc 2009-03-28 21:20:18 +00:00
Arjen Poutsma 04b3edca33 SPR-5625 - Allow for exceptions to be annotated with a @ResponseStatus annotation 2009-03-28 11:19:45 +00:00
Arjen Poutsma 3ade31bb51 Added tests for returned ModelAndView 2009-03-28 11:07:18 +00:00
Mark Pollack a9c8ba407c POM maintenance 2009-03-28 01:41:11 +00:00
Mark Pollack 5f21cbd9da POM maintenance 2009-03-27 21:28:51 +00:00
Arjen Poutsma 161c926054 SPR-5624 - A default HandlerExceptionResolver that resolves standard Spring exceptions 2009-03-27 19:53:42 +00:00
Arjen Poutsma f92b7f1011 Added readInternal template method 2009-03-27 17:57:41 +00:00
Juergen Hoeller bcf6f23225 declarative destroy-method="..." specifications get validated at bean creation time (SPR-5602) 2009-03-27 17:45:53 +00:00
Arjen Poutsma d14cc0d7a2 - Renamed writeToInternal to writeInternal
- Added separate exceptions for reading and writing HttpMessages
2009-03-27 17:43:29 +00:00
Juergen Hoeller 82fd947712 polishing 2009-03-27 17:41:03 +00:00
Juergen Hoeller fbfbb88032 introduced "matchesName" method on BeanDefinitionHolder 2009-03-27 17:40:25 +00:00
Juergen Hoeller 565c1c1320 added Groovy file settings 2009-03-27 17:33:50 +00:00
Juergen Hoeller 2e378a8049 added further generic property resolution test 2009-03-27 17:31:15 +00:00
Juergen Hoeller 225eb6bcd9 refined version ranges in OSGi manifests 2009-03-27 17:29:48 +00:00
Juergen Hoeller 7e4a230793 removed Axis 1.x support 2009-03-27 17:28:25 +00:00
Arjen Poutsma ee0a294fe8 Made looping over handlerExceptionResolvers more explicit. 2009-03-27 16:44:19 +00:00
Arjen Poutsma 61b76b2adc Javadoc 2009-03-27 16:26:31 +00:00
Mark Pollack 74326a93d2 Fix SPEL tests when using maven. With the maven test runner expression.spel.SetValueTests is run before expression.spel.EvaluationTests. The order is reversed in eclipse/spring-build. Static variables are modifed in SetValueTests that cause EvaluationTests to fail if it is run first. Make a simple fix so SetValueTests uses a local evaluation context variable instead of a static variable. 2009-03-27 16:05:38 +00:00
Arjen Poutsma f9541d1e28 DispatcherServlet.processHandlerException checks whether the ModelAndView is empty before rendering it. 2009-03-27 15:41:03 +00:00
Mark Pollack 2a35aee2c9 change javax.el revision to be 1.0 to be consistent across the project. 2009-03-27 15:07:33 +00:00
Scott Andrews c488f3768c updating eclipse classpath settings 2009-03-27 14:21:04 +00:00
Arjen Poutsma 337323a114 SPR-5617 - Optional Ivy dependencies are mandatory in the OXM bundle's manifest 2009-03-27 10:29:18 +00:00
Chris Beams aee7f1ce53 RESOLVED - issue SPR-5596: Test @Autowired @Configuration class constructors 2009-03-27 05:36:29 +00:00
Chris Beams 1697932c57 consolidated context.annotation.support -> context.annotation 2009-03-27 04:57:13 +00:00
Chris Beams 2c0c523d70 don't assert that CGLIB must be present unless there is at least one @Configuration class found 2009-03-27 03:10:41 +00:00
Chris Beams af058e599d fixing tests in .test package that were failing due to missing CGLIB dependency 2009-03-27 02:10:41 +00:00
Juergen Hoeller 160e04c15a AspectJ update 2009-03-27 00:10:31 +00:00
Juergen Hoeller 89d1c99277 AspectJ update 2009-03-27 00:08:38 +00:00
Juergen Hoeller 62785abc72 polishing 2009-03-27 00:07:25 +00:00
Juergen Hoeller 341ec4ed41 updated to JRuby 1.2 and Hessian 3.2.1 2009-03-27 00:02:20 +00:00
Juergen Hoeller ef41a12fea updated to JRuby 1.2 (remaining compatible with JRuby 1.1 and above) 2009-03-27 00:01:41 +00:00
Juergen Hoeller 07fba932ac updated to Hessian 3.2.1 (remaining compatible with Hessian 3.1.3 and above) 2009-03-27 00:00:31 +00:00
Juergen Hoeller 81e683b3ee CachedIntrospectionResults always caches bean classes except in case of custom BeanInfo (SPR-4876) 2009-03-26 23:15:23 +00:00
Chris Beams 6698ed8420 IN PROGRESS - issue SPR-5599: Hook @Configuration class processing into <context:component-scan/> and <context:annotation-config/> through AnnotationConfigUtils#registerAnnotationConfigProcessors 2009-03-26 19:52:50 +00:00
Chris Beams 826c733c9e SPR-5616: updated spring-library to include asm and oxm bundles in .libd and ivy files 2009-03-26 14:07:53 +00:00
Ben Hale ce24868209 [SPR-5618] Added an Ignored-Existing-Headers directive 2009-03-26 13:57:50 +00:00
Chris Beams 77b2c4e199 SPR-5615 - Improved error message: s/is no interface/is not an interface 2009-03-26 13:56:14 +00:00
Juergen Hoeller 88e336cf56 FreeMarkerView and ResourceBundle/XmlViewResolver can be initialized with ServletContext only (e.g. for testing) 2009-03-26 13:52:28 +00:00
Juergen Hoeller 40b06b5f19 fixed broken "setManagedInterfaces" interface assertion (SPR-5615) 2009-03-26 13:49:21 +00:00
Ben Hale fe99003b45 Made WebApplicationContextUtils:registerWebApplicationScopes public. Changed core's org.springframework.asm OSGi import to proper version numbers 2009-03-26 09:53:14 +00:00
Scott Andrews 99fa91d56e SPR-5605 spring:url tag should use htmlEscape instead of escapeXml for entity encoding 2009-03-26 04:37:26 +00:00
Scott Andrews 0dfba993e8 updating eclipse classpath for test dependencies 2009-03-26 04:30:37 +00:00
Arjen Poutsma 035eea01e8 SPR-5409 - Support for PUTting and POSTing non-form data 2009-03-25 16:33:27 +00:00
Thomas Risberg 93c56f19df added a config property to control defaulting of primitive property when receiving null value from result (SPR-5588) 2009-03-25 15:26:39 +00:00
Arjen Poutsma 476a0ed76e polishing 2009-03-25 12:15:11 +00:00
Thomas Risberg 4dc4ce3275 changed MapSqlParameterSource to SqlParameterSource in executeFunction and executeObject methods for SimpleJdbcCall (SPR-5570) 2009-03-25 12:14:55 +00:00
Thomas Risberg 360434d0d1 defaulting primitive property when receiving null value from result in BeanPropertyRowMapper (SPR-5588) 2009-03-25 12:12:42 +00:00
Arjen Poutsma 665b284443 Added some leftover tests 2009-03-25 11:26:39 +00:00
Arjen Poutsma d75291714a SPR-5604: OXM bundle's BSN is incorrect 2009-03-25 09:57:59 +00:00
Mark Pollack 0152d8d21d SPR-5385, SPR-5301 - initial pass completed of POMs for maven central repository upload. N.B. Can not build spring with these POMs.
Cleanup remains to meet maven central metadata requirements
2009-03-25 08:06:34 +00:00
Chris Beams e5f4b4937c Re-adding ConfigurationPostProcessorTests after its brief removal in r814. @Ignore-ing the testCglibClassesAreLoadedJustInTimeForEnhancement() method as it turns out this was one of the culprits in the recent build breakage. The classloader hacking causes subtle downstream effects, breaking unrelated tests. The test method is still useful, but should only be run on a manual basis to ensure CGLIB is not prematurely classloaded, and should not be run as part of the automated build. 2009-03-25 06:01:17 +00:00
Chris Beams 2db0f122c1 fixed two build-breaking issues:
+ reverted ClassMetadataReadingVisitor to revision 794
+ eliminated ConfigurationPostProcessorTests until further investigation determines why it causes downstream tests to fail (such as the seemingly unrelated ClassPathXmlApplicationContextTests)
2009-03-25 03:14:35 +00:00
Keith Donald 8d63a34652 set value tests 2009-03-24 19:55:39 +00:00
Arjen Poutsma c178888efd SPR-5537: ReSTful URLs with content type extension do not work properly 2009-03-24 17:36:18 +00:00
Mark Pollack 0b463c0838 SPR-5385, SPR-5301 - partial work committed. 2009-03-24 05:56:56 +00:00
Juergen Hoeller 6ca253e3e6 RmiServiceExporter and RmiRegistryFactoryBean synchronize registry lookup/creation 2009-03-24 00:05:21 +00:00
Keith Donald be61846331 pruned bean references support as it was not used 2009-03-23 21:33:15 +00:00
Keith Donald c546ca68d8 upgrade to latest spring build 2009-03-23 19:27:00 +00:00
Keith Donald cbcb88399c made asm an eclipse project 2009-03-23 19:26:01 +00:00
Arjen Poutsma dc0a82bb93 Added test for multiple template variables in one path segment. 2009-03-23 16:37:58 +00:00
Juergen Hoeller 423c4113ee ConstructorArgumentValues exposed indexed arguments in the order of definition (SPR-5554) 2009-03-23 16:06:24 +00:00
Arjen Poutsma a004ed1c51 SPR-5571: typo in RestTemplate javadoc 2009-03-23 14:54:48 +00:00
Juergen Hoeller dab23a71f9 polishing 2009-03-23 14:39:25 +00:00
Juergen Hoeller df99929e21 added TaskScheduler interface and Trigger abstraction; added ConcurrentTaskScheduler and ThreadPoolTaskScheduler; added CommonJ TimerManagerTaskScheduler; added CronTrigger implementation for cron expression support 2009-03-23 14:38:55 +00:00
Juergen Hoeller 26f0671250 TimerTaskExecutor creates non-daemon Timer and uses bean name as default Timer name 2009-03-23 14:35:16 +00:00
Juergen Hoeller d42e24a752 polishing 2009-03-23 14:15:47 +00:00
Juergen Hoeller 4344832a47 qualifier annotations and @Value can be used at method level as well (applying to all parameters);
fixed EL evaluation of prepared constructor arguments for repeated prototype creation
2009-03-23 14:13:41 +00:00
Juergen Hoeller 4708446d4a fixed CachingMapDecorator to support garbage-collected weak references (again) 2009-03-23 11:34:51 +00:00
Juergen Hoeller 84cc32525f type variable cache uses weak values 2009-03-23 11:32:03 +00:00
Juergen Hoeller 38182f302a added superfluous cast as a workaround for the Sun Javac compiler 2009-03-23 11:30:00 +00:00
Juergen Hoeller 7fb59f3226 implement ASM ClassVisitor interface directly 2009-03-23 11:29:29 +00:00
Juergen Hoeller f19fdde61b polishing 2009-03-23 11:28:49 +00:00
Juergen Hoeller 6d7bf17394 polishing 2009-03-23 11:20:18 +00:00
Juergen Hoeller c82a66b59c SessionAwareMessageListener supports generic declaration of concrete JMS Message type 2009-03-23 11:19:25 +00:00
Chris Beams 147709fa9e Tweaks to package-info.java files 2009-03-23 07:36:44 +00:00
Chris Beams 22b25e0d7b Consolidated Util and MutableAnnotationUtils classes into existing AsmUtils 2009-03-23 07:01:01 +00:00
Chris Beams 7f96f57375 polishing 2009-03-23 06:23:01 +00:00
Chris Beams 1284bd585f + JavaDoc updates
+ added objectweb.asm back to .classpath to satisfy transitive need from groovy tests
+ package.html -> package-info.java
2009-03-23 05:28:58 +00:00
Chris Beams bafe6b3ff9 + Removed org.springframework.config.java module 2009-03-23 04:52:47 +00:00
Chris Beams cd50e45645 + Moving .config.java module -> .context 2009-03-23 04:48:04 +00:00
Chris Beams 63b5c48461 + Pruned empty directories 2009-03-23 04:25:20 +00:00
Chris Beams e3b93c3b79 + Pruned empty directories 2009-03-23 04:24:35 +00:00
Chris Beams ef02c61e58 + Repackaged src and test from .config.java.* -> .context.annotation.* 2009-03-23 04:23:25 +00:00
Chris Beams 3f196517f9 + Repackaging test codebase from .config.java.* -> .context.annotation.* 2009-03-23 04:14:20 +00:00
Chris Beams b8f712621d + Added isCglibClassName() to AopUtils for checking bean class names before classloading
+ Added tests for @Aspect support in @Configuration classes
+ Added tests for @Inherited @Configuration behavior
2009-03-23 03:59:07 +00:00
Chris Beams c9ab18e7e7 Made ConfigurationModel semantics explicit by having it extend LinkedHashSet<ConfigurationClass> 2009-03-22 22:59:10 +00:00
Chris Beams 8a5c2a6a56 + Added tests for custom @Bean naming and aliasing
+ Eliminated BeanDefinitionRegistrar and BeanRegistrar types
+ Simplified ConfigurationEnhancer logic
+ Updated JavaDoc for ConfigurationModel and related classes
+ Updated JavaDoc for all ASM visitors
2009-03-22 22:39:04 +00:00
Chris Beams 2bbc4e48ad + Added unit test for BeanMethod 2009-03-22 02:38:44 +00:00
Chris Beams 72fae2ea19 + Source attribution is now consistent across all registered Problems
+ Various pruning of dead code and polish
2009-03-22 01:43:31 +00:00
Chris Beams 8b4ad4575c Circular @Imports are now handled by registering a Problem (CircularImportProblem) as an error with the current ProblemReporter. This eliminates the need for CircularImportException and is a more tooling-friendly approach. 2009-03-21 21:43:44 +00:00
Chris Beams 3ae3de19a9 + Updated all projects to use the re-introduced org.springframework.asm instead of org.objectweb.asm (.java, template.mf, ivy.xml, and .classpath files have been updated)
+ Finished support for @Import, including detection of circular imports
2009-03-21 19:00:57 +00:00
Ben Hale 9182cab52f [SPR-5459] Added jarjar'd asm packaging 2009-03-20 12:15:06 +00:00
Thomas Risberg abbdc1144a Added the Spring Framework reference documentation 2009-03-18 20:00:49 +00:00
Colin Sampaleanu d4ba002b00 update hibernate and openjpa dependencies to match the orm module
variants. Note that tests are still broken
2009-03-15 03:07:05 +00:00
Mark Pollack 13dfa11def Add support for @ScopedProxy for factory beans using the @FactoryBean annotation within a @Component
Add missing unit tests
2009-03-13 18:14:40 +00:00
Colin Sampaleanu bf31766ff8 fix ecliipse jar imports to match recent changes (hibernate, openjpa) to
ivy dependenies
2009-03-13 05:39:32 +00:00
Chris Beams 5b4fc2de36 removing unnecessary eclipse 'Project Facets' metadata 2009-03-13 04:16:58 +00:00
Thomas Risberg 9b1edea8a0 added tests for custom SQLException translation, polished (SPR-4899) 2009-03-12 21:32:40 +00:00
Thomas Risberg a3942c5c1b changed exception class thrown for problems configuring GenericSqlQuery class (SPR-3986) 2009-03-12 21:30:42 +00:00
Thomas Risberg 49549d66ae added the option of providing a database specific custom SQLExceptionTranslator to provide customized translation for any SQLException before the error codes translation happens (SPR-4899) 2009-03-12 17:22:02 +00:00
Thomas Risberg 943e359c4a switched tests to use JUnit4 2009-03-12 06:29:33 +00:00
Thomas Risberg 7ccb0b6e66 added a concrete GenericSqlQuery class to make it possible to configure in application context (SPR-3986) 2009-03-12 04:38:56 +00:00
Thomas Risberg 4145c299ef fixed missing tabs in application context file (SPR-3987) 2009-03-12 04:35:45 +00:00
Thomas Risberg 2855e5c086 moved the application context file to correct directory (SPR-3987) 2009-03-12 02:17:49 +00:00
Thomas Risberg 8fdc57ecbd added a concrete GenericStoredProcedure class to make it possible to configure using application context (SPR-3987) 2009-03-11 23:01:22 +00:00
Thomas Risberg a0139abf1e added a DuplicatKeyException catagory for SQLException translation (SPR-5125) 2009-03-09 23:26:54 +00:00
Keith Donald d9f5a7a6c8 custom converters 2009-03-09 02:28:22 +00:00
Keith Donald 0ef0ff60f0 super converter implementation 2009-03-08 08:47:10 +00:00
Chris Beams b04009357a ignoring clover prefs 2009-03-07 21:51:41 +00:00
Chris Beams 4f8b812e29 ignoring clover prefs 2009-03-07 21:50:53 +00:00
Chris Beams 0494320266 Eliminated all compilation warnings 2009-03-07 21:47:48 +00:00
Chris Beams dc191bec2d Whitespace and license polish 2009-03-07 21:41:45 +00:00
Mark Pollack a2c87ae67a Initial cut of feature to create factory beans using the @FactoryBean annotation within a @Component 2009-03-07 07:48:53 +00:00
Mark Pollack fc9c3009fe Initial cut of feature to create factory beans using the @FactoryBean annotation within a @Component 2009-03-07 07:42:25 +00:00
Chris Beams 6281948cf9 Dependency updates 2009-03-07 06:37:19 +00:00
Chris Beams f953fd5b22 + Further documentation and pruning.
+ Added testing-related TODOs where appropriate
2009-03-07 06:36:18 +00:00
Chris Beams 3130351233 Removed empty .internal package 2009-03-07 06:17:12 +00:00
Chris Beams 5de6e2c395 + Eliminated support for @Extension methods for now
+ Consolidated all remaining supporting classes into .support package, eliminating .internal.*
+ 7 public types remain
2009-03-07 06:14:46 +00:00
Chris Beams faffd98621 Javadoc polish & pruning dead code 2009-03-07 05:49:12 +00:00
Chris Beams 3231f458c8 + Added 'proxyMode' attribute to @Scope annotation
+ Eliminated @ScopedProxy in favor of @Scope(proxyMode=NO|INTERFACES|TARGET_CLASS)
2009-03-07 04:54:31 +00:00
Chris Beams 9735c8024c @Scope is now allowed on methods (for use in conjunction with @Bean) 2009-03-07 03:37:10 +00:00
Chris Beams 100ba6599f + Eliminated UsageError/Validatable/MalformedConfigurationException in favor of existing Problem/ProblemReporter types
+ Pruned a number of attributes from the @Bean and @Configuration annotations
2009-03-07 03:22:22 +00:00
Rossen Stoyanchev c41c64389f Add (missing) dependencies on oxm project and xmlunit library 2009-03-07 00:08:49 +00:00
Keith Donald 3a7b4bf1b0 basic conversion service impl; still need super converters, custom converters, and conversion of generic collection elements 2009-03-06 23:48:17 +00:00
Keith Donald c1f3ec0c5b turned on debug logging 2009-03-06 20:33:43 +00:00
Keith Donald b04134cffb removed aopalliance errant dependency; removed unused import 2009-03-06 20:25:34 +00:00
Keith Donald 622357291c assert of length 1 2009-03-06 20:22:05 +00:00
Chris Beams 11657b54e0 Removing accidentally committed clover-related eclipse metadata 2009-03-06 20:20:40 +00:00
Keith Donald 3d318ea387 javadoc polishing 2009-03-06 20:20:34 +00:00
Chris Beams 9216b3e8e1 Removed Validator interface and inlined its implementations 2009-03-06 20:17:17 +00:00
Keith Donald c278e1e943 convert system spi and api 2009-03-06 20:08:33 +00:00
Chris Beams f83019afed Re-enabled support for @ScopedProxy 2009-03-06 19:33:53 +00:00
Chris Beams 048b7f638f + Moved @Bean into base package, next to @Configuration
+ Removed .ext package
+ Further reduced visibility of types wherever possible
+ Eliminated package cycles
2009-03-06 07:18:42 +00:00
Chris Beams 00ecbde244 Simplifying packaging 2009-03-06 07:11:01 +00:00
Chris Beams dfab514568 polish 2009-03-06 07:05:38 +00:00
Chris Beams 2e7e982487 + Renamed Scopes -> StandardScopes
+ Renamed ConfigurationPostProcessor -> ConfigurationClassPostProcessor
+ JavaDoc and polish for AbstractConfigurationClassProcessor
2009-03-06 06:55:53 +00:00
Chris Beams 8610c0bce8 + Added .clover to svn:ignore
+ Updated ivy Spring dependencies from 2.5.6 -> latest.integration
+ Added src/test/resources directory to appease Spring Build
2009-03-06 03:27:12 +00:00
Chris Beams b985011b24 + Fleshed out, documented, tested and polished the ConfigurationPostProcessor implementation
+ Removed @FactoryMethod indirection and extension point in favor of direct processing of @Bean annotations
2009-03-06 03:12:53 +00:00
Chris Beams 43b2a40343 Initial work to ensure CGLIB classes are not eagerly loaded (CGLIB should only be required if Spring users wish to process @Configuration classes) 2009-03-06 00:38:30 +00:00
Chris Beams 93b558b1ce eliminated dead code 2009-03-05 20:22:06 +00:00
Chris Beams 04314a62e6 Updated ivy and template.mf dependency metadata; added src/main/resources to quiet a spurious build error. 2009-03-05 20:18:08 +00:00
Chris Beams eaf3a7cec4 + Adding POC tooling integration points, namely AbstractConfigurationPostProcessor and allowing for tooling-specified ClassLoader for use with ASM parsing
+ Eliminated ModelMethod in favor of BeanMethod throughout
2009-03-05 20:08:15 +00:00
Arjen Poutsma 61a1c4d0c6 Added SourceHttpMessageConverter as a default. 2009-03-03 11:38:38 +00:00
Arjen Poutsma ca01cb4df6 SPR-5539: Add XML HttpMessageConverters 2009-03-03 11:34:41 +00:00
Arjen Poutsma 2a790ad25b Javadoc 2009-03-03 10:42:43 +00:00
Arjen Poutsma cbd5ddbb0d SPR-5536: RestTemplate does not do HTTP GET if it should 2009-03-03 09:32:48 +00:00
Arjen Poutsma b08ad44230 SPR-5536: RestTemplate does not do HTTP GET if it should 2009-03-03 09:32:05 +00:00
Chris Beams 6631092870 Removed JSTL-related errors from petclinic search and show JSPs 2009-03-03 02:31:45 +00:00
Chris Beams e834711bc0 + Removed old testsuite.iml (favor integration-testsuite.iml)
+ Updated integration-tests/.classpath to point to javax.jdo 2.1.0 instead of 2.0.0
2009-03-03 00:02:18 +00:00
Chris Beams 6b6b8e50a3 Removed dm Server as targeted runtime for petclinic 2009-03-03 00:01:15 +00:00
Arjen Poutsma b96b72fbaf Typos 2009-03-02 20:22:55 +00:00
Arjen Poutsma 03f3bf09d6 SPR-5449: XStreamMarshaller.setImplicitCollection(Map) is insufficient 2009-03-02 11:19:26 +00:00
Chris Beams ff83255ace Adding eclipse metadata 2009-03-01 21:04:30 +00:00
Chris Beams e3153f705f + Renamed @Factory -> @FactoryMethod
+ callbackType -> interceptor
+ registrarType -> registrar
+ validatorTypes -> validators
2009-02-28 06:57:52 +00:00
Chris Beams f9918f9b2e Formatting pass, primarily to align with Spring's convention of hard tab indentation. 2009-02-28 06:18:46 +00:00
Chris Beams f8270428df + Removed requirement for enhanced subclasses to implement InitializingBean. This was in support of injecting @ExternalValue fields, but is no longer necessary in light of @Value
+ Added formatting rules
2009-02-28 06:10:17 +00:00
Chris Beams 3dac5d82b1 Pruned empty .model package 2009-02-28 04:56:26 +00:00
Chris Beams c0c8117d51 + Eliminated .util package
+ Renamed DefaultScopes -> Scopes
+ Renamed MalformedJavaConfigurationException -> MalformedConfigurationException
2009-02-28 04:55:04 +00:00
Chris Beams f43e1110e9 Pruned empty .factory package 2009-02-28 03:44:48 +00:00
Chris Beams c593f06397 Consolidating types and reducing visibility wherever possible. Non-internal public API is now at 18 types (21 including internal packages). 2009-02-28 03:43:35 +00:00
Chris Beams 6deb1acab4 Refactoring and repackaging 2009-02-28 03:08:06 +00:00
Chris Beams d4fdad2202 + Further repackaging and consolidation
+ Tested compatibility with @Value (works, but noticed and filed an unrelated-to-javaconfig improvement. See SPR-5530)
2009-02-28 01:35:04 +00:00
Chris Beams 2689751c2b Repackaging to remove remaining cycles and increase cohesion 2009-02-27 22:54:35 +00:00
Chris Beams 191b829a6c added 'target' directory to svn:ignore 2009-02-27 03:35:09 +00:00
Chris Beams e48fe0d892 Initial cut at migrating JavaConfig essentials into Core. test.basic.BasicTests successfully excercises the simplest possible @Configuration class (contains a single @Bean method). 39 classes were pulled in from from JavaConfig to support this use case. 2009-02-27 01:35:44 +00:00
Arjen Poutsma e8b353e703 Fixing Spring Build 2009-02-25 19:12:12 +00:00
2276 changed files with 178672 additions and 30258 deletions
+42 -1
View File
@@ -3,7 +3,8 @@
<path id="bundles">
<pathelement location="../org.springframework.instrument"/>
<pathelement location="../org.springframework.instrument.classloading"/>
<pathelement location="../org.springframework.instrument.tomcat"/>
<pathelement location="../org.springframework.asm"/>
<pathelement location="../org.springframework.core"/>
<pathelement location="../org.springframework.expression"/>
<pathelement location="../org.springframework.beans"/>
@@ -20,6 +21,7 @@
<pathelement location="../org.springframework.web.servlet"/>
<pathelement location="../org.springframework.web.portlet"/>
<pathelement location="../org.springframework.test"/>
<pathelement location="../org.springframework.web.struts"/>
<pathelement location="../org.springframework.spring-library"/>
<pathelement location="../org.springframework.integration-tests"/>
</path>
@@ -32,4 +34,43 @@
<target name="precommit" depends="clean,clean-integration,test"/>
<presetdef name="javadoc.links">
<javadoc>
<link href="http://java.sun.com/javase/6/docs/api"/>
<link href="http://java.sun.com/j2ee/1.4/docs/api"/>
<link href="http://aopalliance.sourceforge.net/doc"/>
<!-- Caucho Burlap/Hessian -->
<link href="http://cglib.sourceforge.net/apidocs"/>
<!-- EasyMock -->
<link href="http://ehcache.sourceforge.net/apidocs"/>
<link href="http://freemarker.sourceforge.net/docs/api/"/>
<link href="http://www.hibernate.org/hib_docs/v3/api"/>
<!-- iBATIS -->
<!-- iText -->
<!-- Commons Attributes -->
<link href="http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/"/>
<link href="http://jakarta.apache.org/commons/dbcp/apidocs/"/>
<link href="http://jakarta.apache.org/commons/fileupload/apidocs/"/>
<link href="http://jakarta.apache.org/commons/httpclient/apidocs/"/>
<link href="http://jakarta.apache.org/commons/logging/apidocs/"/>
<link href="http://jakarta.apache.org/commons/pool/apidocs/"/>
<!-- JasperReports -->
<!-- JDO -->
<!-- JMX -->
<!-- JOTM -->
<!-- JPA -->
<!-- JSF -->
<link href="http://junit.sourceforge.net/javadoc_40/"/>
<link href="http://logging.apache.org/log4j/docs/api/"/>
<link href="http://jakarta.apache.org/regexp/apidocs/"/>
<link href="http://jakarta.apache.org/poi/apidocs/"/>
<link href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/"/>
<link href="http://www.opensymphony.com/quartz/api/"/>
<link href="http://struts.apache.org/struts-doc-1.2.9/api/"/>
<link href="http://java.sun.com/javase/6/docs/jre/api/net/httpserver/spec/"/>
<link href="http://tiles.apache.org/framework/apidocs/"/>
<link href="http://velocity.apache.org/engine/devel/apidocs/"/>
</javadoc>
</presetdef>
</project>
+131
View File
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="generate-poms" xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="${basedir}/../build.properties"/>
<import file="${basedir}/../spring-build/multi-bundle/default.xml"/>
<path id="modules-to-process">
<pathelement location="../org.springframework.instrument"/>
<pathelement location="../org.springframework.instrument.tomcat"/>
<pathelement location="../org.springframework.asm"/>
<pathelement location="../org.springframework.core"/>
<pathelement location="../org.springframework.expression"/>
<pathelement location="../org.springframework.beans"/>
<pathelement location="../org.springframework.aop"/>
<pathelement location="../org.springframework.context"/>
<pathelement location="../org.springframework.transaction"/>
<pathelement location="../org.springframework.oxm"/>
<pathelement location="../org.springframework.jms"/>
<pathelement location="../org.springframework.aspects"/>
<pathelement location="../org.springframework.jdbc"/>
<pathelement location="../org.springframework.web"/>
<pathelement location="../org.springframework.orm"/>
<pathelement location="../org.springframework.context.support"/>
<pathelement location="../org.springframework.web.servlet"/>
<pathelement location="../org.springframework.web.portlet"/>
<pathelement location="../org.springframework.test"/>
<pathelement location="../org.springframework.web.struts"/>
</path>
<condition property="maven.extension" value=".bat" else="">
<os family="windows"/>
</condition>
<property name="mvn.exe" value="mvn${maven.extension}"/>
<target name="test">
<echo message="pom version = ${project.version}"/>
</target>
<target name="generate-pom" depends="ivy.init">
<all-bundles target="do-generate-pom" buildpathRef="modules-to-process"/>
</target>
<target name="generate-pom-test">
<all-bundles target="do-generate-pom-test" buildpathRef="modules-to-process"/>
</target>
<target name="do-generate-pom" depends="ivy.init">
<delete file="pom.xml" quiet="true"/>
<delete file="central-pom.xml" quiet="true"/>
<ivy:makepom ivyfile="ivy.xml" pomfile="pom.xml">
<mapping conf="compile" scope="compile"/>
<mapping conf="test" scope="test"/>
<mapping conf="provided" scope="provided"/>
<mapping conf="runtime" scope="runtime"/>
</ivy:makepom>
<xmlproperty file="../org.springframework.spring-library/pom.xml"/>
<replaceregexp file="pom.xml"
match="&lt;version>.*?&lt;/version>"
replace="&lt;version>@project-version@&lt;/version>" />
<exec executable="${mvn.exe}" failonerror="true">
<arg line="org.springframework.build.repository:org.springframework.build.repository.maven:create-central"/>
</exec>
<move file="pom.xml" tofile="pom-bundle.xml"/>
<move file="central-pom.xml" tofile="pom.xml"/>
<replace file="pom.xml">
<replacetoken><![CDATA[ <version>@project-version@</version>]]></replacetoken>
<replacevalue><![CDATA[ <version>@project-version@</version>
<parent>
<groupId>org.springframework</groupId>
<artifactId>spring-parent</artifactId>
<relativePath>../org.springframework.spring-parent</relativePath>
<version>@project-version@</version>
</parent>
]]></replacevalue>
</replace>
<replace file="pom.xml" token="@project-version@" value="${project.version}"/>
<replace file="pom.xml" token="latest.integration" value="${project.version}"/>
<fixcrlf srcDir="."
eol="lf"
eof="remove"
includes="pom.xml"/>
</target>
<target name="remove-unresolved-references">
<!-- TODO in spring-context these are only found in S2 bundle repo, not maven central -->
<replace file="pom.xml">
<replacetoken><![CDATA[<dependency>
<groupId>com.oracle.oc4j</groupId>
<artifactId>oracle.classloader</artifactId>
<version>10.1.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.enterprise</groupId>
<artifactId>com.sun.enterprise.loader</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
]]></replacetoken>
<replacevalue><![CDATA[]]></replacevalue>
</replace>
</target>
<target name="do-generate-pom-test">
<exec executable="${mvn.exe}" failonerror="true">
<env key="MAVEN_TERMINATE_CMD" value="on" />
<arg line="-P stage,fast install"/>
</exec>
</target>
</project>
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="package-bundle">
<import file="publish-maven.xml"/>
<target name="package" depends="ivy.init">
<dist-jar/>
<src-jar/>
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="package-library">
<import file="publish-maven.xml"/>
<target name="package" depends="ivy.init">
<dist-jar/>
</target>
+15 -13
View File
@@ -15,21 +15,22 @@
<property name="target.dir" value="${package.docs.dir}"/>
</ant>
<!--ant dir="../spring-framework-reference" target="doc" inheritAll="false">
<property name="package.output.dir" value="${package.output.dir}"/>
<propertyset>
<propertyref builtin="commandline"/>
</propertyset>
<property name="timestamp" value="${timestamp}"/>
</ant>
<!-- Reference Document START-->
<path id="doc.projects">
<path location="${basedir}/../spring-framework-reference"/>
</path>
<subant target="package" verbose="true" buildpath="../spring-framework-reference">
<all-bundles target="doc" buildpathRef="doc.projects"/>
<delete>
<fileset dir="${basedir}/../spring-framework-reference" includes="**/*.zip"/>
</delete>
<all-bundles target="package" buildpathRef="doc.projects">
<property name="package.output.dir" value="${package.output.dir}"/>
<propertyset>
<propertyref builtin="commandline"/>
</propertyset>
<property name="timestamp" value="${timestamp}"/>
</subant-->
</all-bundles>
<!-- Reference Document END-->
<copy todir="${package.output.dir}">
<fileset dir="${basedir}/resources"/>
@@ -40,6 +41,7 @@
<exclude name="*/target/**"/>
<exclude name="integration-repo/**"/>
<exclude name="ivy-cache/**"/>
<exclude name="org.springframework.samples.petclinic/**"/>
<!--exclude name="ivy-cache/repository/org.apache.velocity/org.apache.velocity.docbookframework.dist/**"/-->
<exclude name="spring-build/lib/docbook/**" />
<exclude name="**/*OLD*/**"/>
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
This POM cannot be used to build Spring; it is a work in progress and should only be used as
part of a Maven repository upload bundle using artifacts created by the spring build system.
-->
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<packaging>pom</packaging>
<version>3.0.0.RC2</version>
<name>Spring Framework</name>
<description>Spring is a layered Java/J2EE application platform, based on code published in Expert
One-on-One J2EE Design and Development by Rod Johnson (Wrox, 2002). </description>
<url>http://www.springframework.org</url>
<issueManagement>
<system>JIRA</system>
<url>http://jira.springframework.org/browse/SPR</url>
</issueManagement>
<ciManagement>
<system>Bamboo</system>
<url>https://build.springframework.org/browse/SPR</url>
</ciManagement>
<inceptionYear>2003</inceptionYear>
<organization>
<name>SpringSource</name>
<url>http://www.springsource.com</url>
</organization>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://fisheye.springframework.org/browse/spring-framework</url>
<connection>scm:svn:https://src.springframework.org/svn/spring-framework/trunk</connection>
<developerConnection>scm:svn:https://src.springframework.org/svn/spring-framework/trunk</developerConnection>
</scm>
<mailingLists>
<mailingList>
<name> Spring Forum
</name>
<post>http://forum.springframework.org</post>
<archive>http://forum.springframework.org</archive>
</mailingList>
</mailingLists>
<modules>
<module>../org.springframework.spring-parent</module>
<module>../org.springframework.instrument</module>
<module>../org.springframework.instrument.tomcat</module>
<module>../org.springframework.asm</module>
<module>../org.springframework.core</module>
<module>../org.springframework.expression</module>
<module>../org.springframework.beans</module>
<module>../org.springframework.aop</module>
<module>../org.springframework.context</module>
<module>../org.springframework.transaction</module>
<module>../org.springframework.oxm</module>
<module>../org.springframework.jms</module>
<module>../org.springframework.aspects</module>
<module>../org.springframework.jdbc</module>
<module>../org.springframework.web</module>
<module>../org.springframework.orm</module>
<module>../org.springframework.context.support</module>
<module>../org.springframework.web.servlet</module>
<module>../org.springframework.web.portlet</module>
<module>../org.springframework.test</module>
<module>../org.springframework.web.struts</module>
</modules>
<profiles>
<profile>
<id>staging</id>
<distributionManagement>
<site>
<id>staging</id>
<url>file:///${user.dir}/target/staging</url>
</site>
<repository>
<id>staging</id>
<url>file:///${user.dir}/target/staging</url>
</repository>
<snapshotRepository>
<id>staging</id>
<url>file:///${user.dir}/target/staging</url>
</snapshotRepository>
</distributionManagement>
</profile>
</profiles>
</project>
+95
View File
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="publish-maven-central-only-pom" xmlns:maven="antlib:org.apache.maven.artifact.ant">
<description>
This build file publishes to a maven repository and two ways.
1. Publish jar, source-jar, and pom artifacts.
2. Publish only the pom artifact.
The additional complexity in the implementation is due to a bug in the maven ant tasks version 2.0.8 that
prevents deploying to a local file repository on windows.
</description>
<condition property="is.windows" value="windows">
<os family="windows"/>
</condition>
<!-- top level targets -->
<target name="publish-maven-central-only-pom-artifacts" depends="publish-central-only-pom-windows,publish-central-only-pom-unix">
</target>
<target name="publish-maven-central-code-artifacts" depends="publish-central-windows,publish-code-unix">
</target>
<target name="publish-maven-milestone-only-pom-artifacts" depends="maven.init">
<maven:deploy>
<remoteRepository url="s3://${publish.bucket}/maven/bundles/${adjusted.release.type}">
<authentication username="${accessKey}" passphrase="${secretKey}"/>
</remoteRepository>
<pom file="${local.pom.output.file}"/>
</maven:deploy>
</target>
<target name="publish-maven-milestone-code-artifacts" depends="maven.init">
<maven:deploy file="${jar.output.file}">
<remoteRepository url="s3://${publish.bucket}/maven/bundles/${adjusted.release.type}">
<authentication username="${accessKey}" passphrase="${secretKey}"/>
</remoteRepository>
<pom file="${pom.output.file}"/>
<attach file="${source-jar.output.file}" classifier="sources"/>
</maven:deploy>
</target>
<target name="install-pom" depends="maven.init">
<maven:install>
<pom file="${local.pom.output.file}"/>
</maven:install>
</target>
<!-- Supporting targets -->
<!-- POM only deployment -->
<target name="publish-central-only-pom-windows" depends="maven.init" if="is.windows">
<maven:deploy>
<!-- Due to http://jira.codehaus.org/browse/MANTTASKS-103 in 2.0.8 on windows, fixed in 2.0.9 -->
<!-- Assuming using local file, value of variable should be of the form L:\temp\maven-repo-test -->
<remoteRepository id="localDisk" url="file:${maven.central.repository}"/>
<pom file="${local.pom.output.file}"/>
</maven:deploy>
</target>
<target name="publish-central-only-pom-unix" depends="maven.init" unless="is.windows">
<maven:deploy>
<remoteRepository url="${maven.central.repository}"/>
<pom file="${local.pom.output.file}"/>
</maven:deploy>
</target>
<!-- jar, source-jar and POM deployment -->
<target name="publish-central-windows" depends="maven.init">
<maven:deploy file="${jar.output.file}">
<!-- Due to http://jira.codehaus.org/browse/MANTTASKS-103 in 2.0.8 on windows, fixed in 2.0.9 -->
<!-- Assuming using local file, value of variable should be of the form L:\temp\maven-repo-test -->
<remoteRepository id="localDisk" url="file:${maven.central.repository}"/>
<pom file="${local.pom.output.file}"/>
<attach file="${source-jar.output.file}" classifier="sources"/>
</maven:deploy>
</target>
<target name="publish-code-unix" depends="maven.init" unless="is.windows">
<maven:deploy file="${jar.output.file}">
<remoteRepository url="${maven.central.repository}"/>
<pom file="${local.pom.output.file}"/>
<attach file="${source-jar.output.file}" classifier="sources"/>
</maven:deploy>
</target>
</project>
+58
View File
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="publish-spring-framework" xmlns:maven="antlib:org.apache.maven.artifact.ant">
<property file="${basedir}/../build.properties"/>
<import file="${basedir}/../spring-build/multi-bundle/default.xml"/>
<path id="modules-with-code-artifacts">
<pathelement location="../org.springframework.instrument"/>
<pathelement location="../org.springframework.instrument.tomcat"/>
<pathelement location="../org.springframework.asm"/>
<pathelement location="../org.springframework.core"/>
<pathelement location="../org.springframework.expression"/>
<pathelement location="../org.springframework.beans"/>
<pathelement location="../org.springframework.aop"/>
<pathelement location="../org.springframework.context"/>
<pathelement location="../org.springframework.transaction"/>
<pathelement location="../org.springframework.oxm"/>
<pathelement location="../org.springframework.jms"/>
<pathelement location="../org.springframework.aspects"/>
<pathelement location="../org.springframework.jdbc"/>
<pathelement location="../org.springframework.web"/>
<pathelement location="../org.springframework.orm"/>
<pathelement location="../org.springframework.context.support"/>
<pathelement location="../org.springframework.web.servlet"/>
<pathelement location="../org.springframework.web.portlet"/>
<pathelement location="../org.springframework.test"/>
<pathelement location="../org.springframework.web.struts"/>
</path>
<path id="modules-with-only-pom-artifacts">
<pathelement location="../org.springframework.spring-library"/>
<pathelement location="../org.springframework.spring-parent"/>
</path>
<!-- for milestones -->
<target name="publish-maven-milestone" depends="publish-maven-milestone-only-pom">
<all-bundles target="publish-maven-milestone-code-artifacts" buildpathRef="modules-with-code-artifacts"/>
</target>
<target name="publish-maven-milestone-only-pom">
<all-bundles target="publish-maven-milestone-only-pom-artifacts" buildpathRef="modules-with-only-pom-artifacts"/>
</target>
<!-- for releases -->
<target name="publish-maven-central-release" depends="publish-maven-central-only-pom-release">
<all-bundles target="publish-maven-central-code-artifacts" buildpathRef="modules-with-code-artifacts"/>
</target>
<target name="publish-maven-central-only-pom-release">
<all-bundles target="publish-maven-central-only-pom-artifacts" buildpathRef="modules-with-only-pom-artifacts"/>
</target>
</project>
@@ -3,6 +3,197 @@ SPRING FRAMEWORK CHANGELOG
http://www.springsource.org
Changes in version 3.0.0.RC2 (2009-11-13)
-----------------------------------------
* updated to final versions of JSR-330 "javax.inject" and JSR-303 "javax.validation" APIs
* full compliance with the JSR-330 TCK (i.e. full compliance with the final specification)
* support for Hibernate Validator 4.0 GA (as the JSR-303 reference implementation)
* added support for load-time weaving in JBoss 5.x
* added support for recent EHCache 1.6 configuration properties to EHCacheFactoryBean
* added AnnotatedBeanDefinitionReader helper for programmatic registration of annotated classes
* added AnnotationConfig(Web)ApplicationContext for convenient registration/scanning of classes
* added GenericXmlApplicationContext with flexible configuration options for its XML support
* AbstractApplicationContext can also start up in case of system properties access failure
* internal MergedBeanDefinitionPostProcessors apply after all other post-processors
* inner beans detected as ApplicationListeners as well (only supported for inner singletons)
* child bean definition's scope attribute can be inherited from parent bean definition now
* introduced SmartLifecycle interface with auto-startup and shutdown order support
* introduced LifecycleProcessor delegate, customizable through "lifecycleProcessor" bean
* MessageListenerContainers and Quartz SchedulerFactoryBean start up on refresh instead of init
* added initialize-database tag to jdbc namespace for populating external data sources with data
* PathMatchingResourcePatternResolver leniently ignores non-existing root directories
* DefaultConversionService understands "on"/"off", "yes"/"no", "1"/"0" as boolean values
* CustomEditorConfigurer supports PropertyEditor instances again (with deprecation warning)
* revised MethodParameter's annotation accessor methods
* ClassUtils is now parameterized with Class<?> and Class<T> where appropriate
* DataBinder now accepts var-args to set allowed, disallowed, and required fields
* DataBinder auto-grows nested paths on traversal (avoiding NullValueInNestedPathException)
* fixed enum binding regression with WebRequestDataBinder (as used by @MVC data binding now)
* fixed FieldError to expose rejected input value as String value instead of as array
* JSR-303 Validator will only register validation failures if no binding failure happened
* ContentNegotiatingViewResolver works with ignoreAcceptHeader and defaultContentType as well
* added Spring MVC namespace, with convenient mvc:annotation-driven configuration element
* default number and datetime formatters configured when using the Spring MVC namespace
* full support for datetime formatting using the Joda Time library (automatically enabled)
* added convenient @NumberFormat and @DateTimeFormat annotations for declarative formatting
* implicit T.valueOf(S) and constructor T(S) lookup if no explicit S->T converter matches
* AbstractExcelView is compatible with Apache POI 3.0 as well as 3.5 now
* TilesConfigurer only sets up EL support if JSP 2.1 is present (for JSP 2.0 compatibility)
* re-introduced Struts 1.x support ("org.springframework.web.struts") in deprecated form
* deprecated scheduling support for JDK 1.3 Timer ("org.springframework.scheduling.timer")
* deprecated remoting support for JAX-RPC (in favor of JAX-WS)
Changes in version 3.0.0.RC1 (2009-09-25)
-----------------------------------------
* upgraded to CGLIB 2.2, AspectJ 1.6.5, Groovy 1.6.3, EHCache 1.6.2, JUnit 4.7, TestNG 5.10
* introduced early support for JSR-330 "javax.inject" annotations (for autowiring)
* introduced early support for JSR-303 Bean Validation (setup and MVC integration)
* added default editors for "java.util.Currency" and "java.util.TimeZone"
* refined PathMatchingResourcePatternResolver's treatment of non-readable directories
* PathMatchingResourcePatternResolver understands VFS resources (i.e. works on JBoss 5.x)
* revised AccessControlContext access from BeanFactory
* AbstractBeanDefinitionParser can deal with null return value as well
* PropertyOverrideConfigurer's "ignoreInvalidKeys" ignores invalid property names as well
* PropertyPlaceholderConfigurer supports "${myKey:myDefaultValue}" defaulting syntax
* BeanFactory's default type conversion falls back to String constructor on target type
* BeanFactory tries to create unknown collection implementation types via default constructor
* BeanFactory supports ObjectFactory as a dependency type for @Autowired and @Value
* BeanFactory supports JSR-330 Provider interface as a dependency type for @Inject
* BeanFactory prefers local primary bean to primary bean in parent factory
* protected @Autowired method can be overridden with non-annotated method to suppress injection
* private @Autowired methods with same signature will be called individually across a hierarchy
* @PostConstruct processed top-down (base class first); @PreDestroy bottom-up (subclass first)
* ConfigurationClassPostProcessor detect @Bean methods on registered plain bean classes as well
* support for default "conversionService" bean in an ApplicationContext
* MBeanServerFactoryBean returns JDK 1.5 platform MBeanServer for agent id "" (empty String)
* changed NamedParameter/SimpleJdbcOperations parameter signatures to accept any Map value type
* refined logging in JMS SingleConnectionFactory and DefaultMessageListenerContainer
* introduced "ui.format" package as an alternative to PropertyEditors for data binding
* @RequestMapping annotation now supported for annotated interfaces (and JDK proxies) as well
* @RequestParam and co support placeholders and expressions in their defaultValue attributes
* @Value expressions supported as MVC handler method arguments as well (against request scope)
* JSR-303 support for validation of @MVC handler method arguments driven by @Valid annotations
* refined response handling for @ExceptionHandler methods
* @ResponseStatus usage in handler methods detected by RedirectView
* all @SessionAttributes get exposed to the model before handler method execution
* @Event/ResourceMapping uniquely mapped to through event/resource id, even across controllers
* MultipartRequest is available as a mixin interface on (Native)WebRequest as well
* removed outdated "cacheJspExpressions" feature from ExpressionEvaluationUtils
* introduced common ErrorHandler strategy, supported by message listener container
* Jpa/JdoTransactionManager passes resolved timeout into Jpa/JdoDialect's beginTransaction
* HibernateJpaDialect applies timeout onto native Hibernate Transaction before begin call
* Spring's Hibernate support is now compatible with Hibernate 3.5 beta 1 as well
* Spring's JPA support is now fully compatible with JPA 2.0 as in EclipseLink 2.0.0.M7
* SpringJUnit4ClassRunner is now compatible with JUnit 4.5, 4.6, and 4.7
* SpringJUnit4ClassRunner once again supports collective timeouts for repeated tests
* deprecated @NotTransactional annotation for test classes in favor of @BeforeTransaction
Changes in version 3.0.0.M4 (2009-08-10)
----------------------------------------
* upgraded to JUnit 4.6, TestNG 5.9, and EasyMock 2.5.1
* updated all Spring Framework OSGI manifests to list unversioned imports explicitly
* relaxed several OSGi bundle dependencies (optional, extended version ranges)
* revised Java 6 checks to test for the presence of specific Java 6 interfaces/classes only
* replaced Commons Collections dependency with Spring-provided LinkedCaseInsensitiveMap
* case-insensitive Maps and key Sets preserve original casing for introspection/logging
* constructor argument type matching supports arrays and simple class names now
* XML constructor-arg element allows for specifying a constructor argument by name now
* XML import elements with relative resource patterns are supported as well now
* introduced non-lenient constructor resolution mode for BeanDefinitions (for RFC-124)
* revised DefaultListableBeanFactory's access control when running within a SecurityManager
* BeanWrapper and DefaultListableBeanFactory accept a custom ConversionService now
* DefaultListableBeanFactory references are serializable now when initialized with an id
* scoped proxies are serializable now, for web scopes as well as for singleton beans
* injected request/session references are serializable proxies for the current request now
* Servlet/Portlet ApplicationContexts use a specific id based on servlet/portlet name
* ReloadableResourceBundleMessageSource correctly calculates filenames for all locales now
* @PostConstruct works for multiple private init methods of the same name in a hierarchy
* @Primary/@Lazy/@DependsOn supported as meta-annotations as well
* @Bean/@Scope etc supported as meta-annotations on factory methods as well now
* @Required does not get processed on beans returned by @Bean factory methods
* @Import detects and accepts existing configuration class of the desired type
* @Transactional supports qualifier value for choosing between multiple transaction managers
* WebSphereUowTransactionManager falls back to UOWManagerFactory lookup by default
* JMS SingleConnectionFactory performs start call within connection monitor (for Oracle AQ)
* @ManagedResource is marked as inherited now, for generic management-aware base classes
* introduced dedicated @ManagedMetric annotation for metric attributes in a JMX environment
* added task namespace with scheduler/executor configuration and scheduled task definitions
* added jdbc namespace with embedded-database tag (supporting HSQL, H2, and Derby)
* Hibernate AnnotationSessionFactoryBean detects Hibernate's special @Entity annotation too
* added SimpleJaxWsServiceExporter workaround for WebLogic 10.3's address format requirements
* added support for @WebServiceProvider annotation to Spring's JaxWsServiceExporters
* updated Hessian support for Hessian 3.2 compatibility (requiring Hessian 3.2 or above now)
* updated Tiles support for Tiles 2.1 compatibility (requiring Tiles 2.1.2 or above now)
* Velocity/FreeMarker/TilesViewResolver only returns a view if the target resource exists now
* @DirtiesContext is now supported at the test class level with configurable class modes
* added beforeTestClass() and afterTestClass() to the TestExecutionListener API
* ProfileValueUtils now enforces class-level overrides for @IfProfileValue
* @ContextConfiguration's loader attribute is now inherited if not declared locally
* TransactionalTestExecutionListener no longer flushes transactions before rolling back
Changes in version 3.0.0.M3 (2009-05-06)
----------------------------------------
* Spring 3.0 includes reference documentation now
* Spring 3.0 is shipping with proper Maven POMs now
* updated to JRuby 1.2 (remaining compatible with JRuby 1.1 and above)
* updated to Hessian 3.2.1 (remaining compatible with Hessian 3.1.3 and above)
* updated to FreeMarker 2.3.15 (for exposure of FreeMarkerServlet-style HTTP scopes)
* removed Axis 1.x support package, keeping basic JAX-RPC support only (next to JAX-WS)
* introduced explicit XML array element in spring-beans-3.0.xsd
* introduced new type conversion SPI and converter API in spring-core convert package
* introduced annotated @Bean factory methods and JavaConfig-style @Configuration classes
* introduced @Primary, @Lazy and @DependsOn annotations for scanned components
* custom stereotype annotations can be meta-annotated with @Service, @Controller etc as well
* @Scope and @Transactional are now supported as meta-annotations on custom annotations
* @Autowired uses field/parameter name as fallback qualifier value
* qualifier annotations can be used at method level as well (applying to all parameters)
* @Value annotation can be used at method level as well (e.g. on bean property setters)
* @Value values may use ${...} placeholders (driven by PropertyPlaceholderConfigurer)
* @Resource names may use ${...} placeholders (driven by PropertyPlaceholderConfigurer)
* fixed EL evaluation of prepared constructor arguments for repeated prototype creation
* ConstructorArgumentValues exposed indexed arguments in the order of definition
* AutowiredAnnotationBeanPostProcessor calculates cached arguments in a synchronized block
* declarative destroy-method="..." specifications get validated at bean creation time
* component-scan's "base-package" attribute supports spaces as separators as well
* CachedIntrospectionResults always caches bean classes except in case of custom BeanInfo
* GenericTypeResolver's type variable cache uses weak values (for OSGi compatibility)
* fixed CachingMapDecorator to support garbage-collected weak references (again)
* AOP ProxyFactory excludes non-public interfaces when autodetecting proxy interfaces
* added DuplicateKeyException to DAO exception hierachy
* added EmbeddedDatabase support in spring-jdbc embedded package, with initial HSQL support
* SessionAwareMessageListener supports generic declaration of concrete JMS Message type
* RmiServiceExporter and RmiRegistryFactoryBean synchronize registry lookup/creation
* added "unregisterManagedResource" method to MBeanExporter/MBeanExportOperations
* TimerTaskExecutor creates non-daemon Timer and uses bean name as default Timer name
* added TaskScheduler interface and Trigger abstraction
* added ConcurrentTaskScheduler and ThreadPoolTaskScheduler
* added CommonJ TimerManagerTaskScheduler
* added CronTrigger implementation for cron expression support
* renamed "contextProperties" attribute to "contextParameters" (matching web.xml naming)
* "contextParameters" contains Servlet/PortletConfig parameters as well
* added default "servletContext" and "servletConfig" environment beans
* added default "portletContext" and "portletConfig" environment beans
* added default web scope "application", wrapping a ServletContext/PortletContext
* JSF FacesContext and ExternalContext are resolvable dependencies by default, if available
* FacesRequestAttributes (as used by RequestContextHolder) can access global Portlet session
* revised @RequestMapping semantics for REST support purposes
* request handler methods with @ModelAttribute annotation always return a model attribute
* introduced @ExceptionHandler annotation for used in annotated web controllers
* introduced ModelAndViewResolver SPI for custom handler method return types
* FreeMarkerView can be initialized with ServletContext only (e.g. for testing)
* MockPortletSession supports destruction of session attributes on invalidation
* completed upgrade of the TestContext Framework to JUnit 4.5
* SpringJUnit4ClassRunner subclasses can now override the default ContextLoader class
* added "value" alias for @ContextConfiguration's "locations" attribute
Changes in version 3.0.0.M2 (2009-02-25)
----------------------------------------
+2 -2
View File
@@ -1,6 +1,6 @@
======================================================================
== NOTICE file corresponding to section 4 d of the Apache License, ==
== Version 2.0, for the Spring Web Flow distribution. ==
== Version 2.0, for the Spring Framework distribution. ==
======================================================================
This product includes software developed by
@@ -18,5 +18,5 @@
The names "Spring", "Spring Framework", and "Spring Web Flow" must
not be used to endorse or promote products derived from this
software without prior written permission. For written permission,
please contact rod.johnson@interface21.com or juergen.hoeller@interface21.com.
please contact enquiries@springsource.com.
+11 -15
View File
@@ -1,29 +1,25 @@
SPRING FRAMEWORK 3.0 M2 (February 2009)
---------------------------------------
SPRING FRAMEWORK 3.0 RC2 (November 2009)
-------------------------------------
http://www.springframework.org
1. INTRODUCTION
---------------
This is the second milestone of Spring 3.0 which is scheduled for final release in Q2 2009.
This release features a codebase that has been fully updated for Java 5+, introduces
Portlet 2.0 and early JPA 2.0 support, and provides even more comprehensive REST support.
This is the second release candidate of Spring 3.0, which is scheduled for final release in Q4 2009.
It release is feature complete, but may still have some issues.
2. RELEASE NOTES
----------------
This release comes without reference documentation. For the time being, please consult
the provided javadoc for details on the new features.
This release comes with complete reference documentation already. Consult the provided
javadoc for technical details of specific packages and classes.
3. DISTRIBUTION JAR FILES
-------------------------
The Spring Framework module jar files can be found in the 'dist' directory. Note that
this release does not contain a 'spring.jar' file anymore. Furthermore, the jar file
names follow bundle repository conventions now.
this release does not contain a 'spring.jar' file anymore, in contrast to previous Spring
generations. Furthermore, the jar file names follow bundle repository conventions now.
4. GETTING STARTED
------------------
Check out the provided PetClinic sample application. It has been fully updated for
Spring 3.0 already.
A Getting Started guide is to be provided in time for Spring 3.0 GA. For the time being,
please consult the blog examples at http://blog.springsource.com as well as the sections
of interest in the reference documentation.
+4 -4
View File
@@ -1,5 +1,5 @@
version=3.0.0
build.stamp=M2
build.stamp=RC2
release.type=milestone
natural.name=spring-framework
project.name=Spring Framework
@@ -8,7 +8,8 @@ ivy.cache.dir=${basedir}/../ivy-cache
integration.repo.dir=${basedir}/../integration-repo
javadoc.exclude.package.names=org/springframework/samples/**
javadoc.max.memory=256M
test.vm.args=-XX:MaxPermSize=128M
test.vm.args=-Xmx1024M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError
compiler.args=-enableJavadoc -warn:none
# For when releasing
#release.type=release
@@ -20,5 +21,4 @@ test.vm.args=-XX:MaxPermSize=128M
# For development in trunk
#release.type=integration
#build.stamp=BUILD-SNAPSHOT
+2
View File
@@ -0,0 +1,2 @@
org.testng.version=5.10.0
org.junit.version=4.7.0
+267
View File
@@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<profiles version="11">
<profile kind="CodeFormatterProfile" name="Spring" version="11">
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
</profile>
</profiles>
+6 -7
View File
@@ -7,16 +7,15 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="IVY_CACHE/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.jar" sourcepath="/IVY_CACHE/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-sources-1.0.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar" sourcepath="/IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-sources-1.1.1.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-2.3.0.jar" sourcepath="/IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-sources-2.3.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.easymock/com.springsource.org.easymock/2.5.1/com.springsource.org.easymock-2.5.1.jar" sourcepath="/IVY_CACHE/org.easymock/com.springsource.org.easymock/2.5.1/com.springsource.org.easymock-sources-2.5.1.jar"/>
<classpathentry kind="var" path="IVY_CACHE/com.jamonapi/com.springsource.com.jamonapi/2.4.0/com.springsource.com.jamonapi-2.4.0.jar" sourcepath="/IVY_CACHE/com.jamonapi/com.springsource.com.jamonapi/2.4.0/com.springsource.com.jamonapi-sources-2.4.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/net.sourceforge.cglib/com.springsource.net.sf.cglib/2.1.3/com.springsource.net.sf.cglib-2.1.3.jar" sourcepath="/IVY_CACHE/net.sourceforge.cglib/com.springsource.net.sf.cglib/2.1.3/com.springsource.net.sf.cglib-sources-2.1.3.jar"/>
<classpathentry kind="var" path="IVY_CACHE/net.sourceforge.cglib/com.springsource.net.sf.cglib/2.2.0/com.springsource.net.sf.cglib-2.2.0.jar" sourcepath="/IVY_CACHE/net.sourceforge.cglib/com.springsource.net.sf.cglib/2.1.3/com.springsource.net.sf.cglib-sources-2.1.3.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.apache.log4j/com.springsource.org.apache.log4j/1.2.15/com.springsource.org.apache.log4j-1.2.15.jar" sourcepath="/IVY_CACHE/org.apache.log4j/com.springsource.org.apache.log4j/1.2.15/com.springsource.org.apache.log4j-sources-1.2.15.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.junit/com.springsource.org.junit/4.5.0/com.springsource.org.junit-4.5.0.jar" sourcepath="/IVY_CACHE/org.junit/com.springsource.org.junit/4.5.0/com.springsource.org.junit-sources-4.5.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.objectweb.asm/com.springsource.org.objectweb.asm/2.2.3/com.springsource.org.objectweb.asm-2.2.3.jar" sourcepath="/IVY_CACHE/org.objectweb.asm/com.springsource.org.objectweb.asm/2.2.3/com.springsource.org.objectweb.asm-sources-2.2.3.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.objectweb.asm/com.springsource.org.objectweb.asm.commons/2.2.3/com.springsource.org.objectweb.asm.commons-2.2.3.jar" sourcepath="/IVY_CACHE/org.objectweb.asm/com.springsource.org.objectweb.asm.commons/2.2.3/com.springsource.org.objectweb.asm.commons-sources-2.2.3.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-4.7.0.jar" sourcepath="/IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-sources-4.7.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.pool/1.3.0/com.springsource.org.apache.commons.pool-1.3.0.jar" sourcepath="/IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.pool/1.3.0/com.springsource.org.apache.commons.pool-sources-1.3.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-1.6.5.RELEASE.jar" sourcepath="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.5.RELEASE.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.beans"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.core"/>
<classpathentry kind="var" path="IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.pool/1.3.0/com.springsource.org.apache.commons.pool-1.3.0.jar" sourcepath="/IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.pool/1.3.0/com.springsource.org.apache.commons.pool-sources-1.3.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-1.6.2.RELEASE.jar" sourcepath="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.2.RELEASE.jar"/>
<classpathentry kind="lib" path="/org.springframework.asm/target/artifacts/org.springframework.asm.jar" sourcepath="/org.springframework.asm/target/artifacts/org.springframework.asm-sources.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
@@ -1,4 +1,4 @@
#Fri Dec 12 11:37:26 PST 2008
#Wed Jul 15 00:01:31 PDT 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+9 -99
View File
@@ -13,105 +13,15 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="module" module-name="beans" />
<orderEntry type="module" module-name="core" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-1.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.aopalliance/com.springsource.org.aopalliance/1.0.0/com.springsource.org.aopalliance-sources-1.0.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-sources-1.1.1.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.apache.commons/com.springsource.org.apache.commons.pool/1.4.0/com.springsource.org.apache.commons.pool-1.4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.apache.commons/com.springsource.org.apache.commons.pool/1.4.0/com.springsource.org.apache.commons.pool-sources-1.4.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-1.6.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.2.RELEASE.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/com.jamonapi/com.springsource.com.jamonapi/2.4.0/com.springsource.com.jamonapi-2.4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/com.jamonapi/com.springsource.com.jamonapi/2.4.0/com.springsource.com.jamonapi-sources-2.4.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/net.sourceforge.cglib/com.springsource.net.sf.cglib/2.1.3/com.springsource.net.sf.cglib-2.1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/net.sourceforge.cglib/com.springsource.net.sf.cglib/2.1.3/com.springsource.net.sf.cglib-sources-2.1.3.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.apache.log4j/com.springsource.org.apache.log4j/1.2.15/com.springsource.org.apache.log4j-1.2.15.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.apache.log4j/com.springsource.org.apache.log4j/1.2.15/com.springsource.org.apache.log4j-sources-1.2.15.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.junit/com.springsource.org.junit/4.5.0/com.springsource.org.junit-4.5.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.junit/com.springsource.org.junit/4.5.0/com.springsource.org.junit-sources-4.5.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$IVY_CACHE$/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-2.3.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$IVY_CACHE$/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-sources-2.3.0.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="library" name="AOP Alliance" level="project" />
<orderEntry type="library" name="AspectJ" level="project" />
<orderEntry type="library" name="CGLIB" level="project" />
<orderEntry type="library" name="Commons Logging" level="project" />
<orderEntry type="library" name="Commons Pool" level="project" />
<orderEntry type="library" name="EasyMock" level="project" />
<orderEntry type="library" name="Jamon" level="project" />
<orderEntry type="library" name="JUnit" level="project" />
<orderEntry type="library" name="Log4j" level="project" />
</component>
<component name="copyright">
<Base>
+5 -6
View File
@@ -24,19 +24,18 @@
<dependencies>
<dependency org="com.jamonapi" name="com.springsource.com.jamonapi" rev="2.4.0" conf="optional, jamon->compile"/>
<dependency org="net.sourceforge.cglib" name="com.springsource.net.sf.cglib" rev="2.1.3" conf="optional, bytecode-proxy->compile"/>
<dependency org="net.sourceforge.cglib" name="com.springsource.net.sf.cglib" rev="2.2.0" conf="optional, bytecode-proxy->compile"/>
<dependency org="org.aopalliance" name="com.springsource.org.aopalliance" rev="1.0.0" conf="compile->compile"/>
<dependency org="org.apache.commons" name="com.springsource.org.apache.commons.logging" rev="1.1.1" conf="compile->compile"/>
<dependency org="org.apache.commons" name="com.springsource.org.apache.commons.pool" rev="1.4.0" conf="optional, pooling->compile"/>
<dependency org="org.aspectj" name="com.springsource.org.aspectj.weaver" rev="1.6.2.RELEASE" conf="optional, aspectj->compile"/>
<dependency org="org.aspectj" name="com.springsource.org.aspectj.weaver" rev="1.6.5.RELEASE" conf="optional, aspectj->compile"/>
<dependency org="org.springframework" name="org.springframework.beans" rev="latest.integration" conf="compile->compile"/>
<dependency org="org.springframework" name="org.springframework.core" rev="latest.integration" conf="compile->compile"/>
<!-- test dependencies -->
<dependency org="org.apache.log4j" name="com.springsource.org.apache.log4j" rev="1.2.15" conf="test->runtime"/>
<dependency org="org.easymock" name="com.springsource.org.easymock" rev="2.3.0" conf="test->compile"/>
<dependency org="org.junit" name="com.springsource.org.junit" rev="4.5.0" conf="test->runtime"/>
<dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm" rev="2.2.3" conf="test->runtime"/>
<dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm.commons" rev="2.2.3" conf="test->runtime"/>
<dependency org="org.easymock" name="com.springsource.org.easymock" rev="2.5.1" conf="test->compile"/>
<dependency org="org.junit" name="com.springsource.org.junit" rev="4.7.0" conf="test->runtime"/>
<dependency org="org.springframework" name="org.springframework.asm" rev="latest.integration" conf="test->runtime"/>
</dependencies>
</ivy-module>
+80 -46
View File
@@ -1,46 +1,80 @@
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.aop</artifactId>
<packaging>jar</packaging>
<name>Spring Core Abstractions and Utilities</name>
<version>3.0.0.M1</version>
<repositories>
<repository>
<id>com.springsource.repository.bundles.external</id>
<name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
<url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.aopalliance</groupId>
<artifactId>com.springsource.org.aopalliance</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.pool</artifactId>
<version>1.4.0</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<packaging>jar</packaging>
<version>3.0.0.RC2</version>
<parent>
<groupId>org.springframework</groupId>
<artifactId>spring-parent</artifactId>
<relativePath>../org.springframework.spring-parent</relativePath>
<version>3.0.0.RC2</version>
</parent>
<dependencies>
<dependency>
<groupId>com.jamonapi</groupId>
<artifactId>jamon</artifactId>
<version>2.4</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<!-- common logging dependency is in spring-core -->
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.4</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,10 +17,10 @@
package org.springframework.aop.aspectj;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log;
@@ -28,6 +28,7 @@ import org.apache.commons.logging.LogFactory;
import org.aspectj.weaver.BCException;
import org.aspectj.weaver.patterns.NamePattern;
import org.aspectj.weaver.reflect.ReflectionWorld;
import org.aspectj.weaver.reflect.ShadowMatchImpl;
import org.aspectj.weaver.tools.ContextBasedMatcher;
import org.aspectj.weaver.tools.FuzzyBoolean;
import org.aspectj.weaver.tools.JoinPointMatch;
@@ -92,7 +93,7 @@ public class AspectJExpressionPointcut extends AbstractExpressionPointcut
private static final Log logger = LogFactory.getLog(AspectJExpressionPointcut.class);
private final Map<Method, ShadowMatch> shadowMatchCache = new HashMap<Method, ShadowMatch>();
private final Map<Method, ShadowMatch> shadowMatchCache = new ConcurrentHashMap<Method, ShadowMatch>(32);
private PointcutParser pointcutParser;
@@ -214,10 +215,10 @@ public class AspectJExpressionPointcut extends AbstractExpressionPointcut
* <p>This method converts back to <code>&&</code> for the AspectJ pointcut parser.
*/
private String replaceBooleanOperators(String pcExpr) {
pcExpr = StringUtils.replace(pcExpr," and "," && ");
pcExpr = StringUtils.replace(pcExpr, " or ", " || ");
pcExpr = StringUtils.replace(pcExpr, " not ", " ! ");
return pcExpr;
String result = StringUtils.replace(pcExpr, " and ", " && ");
result = StringUtils.replace(result, " or ", " || ");
result = StringUtils.replace(result, " not ", " ! ");
return result;
}
/**
@@ -243,15 +244,7 @@ public class AspectJExpressionPointcut extends AbstractExpressionPointcut
public boolean matches(Method method, Class targetClass, boolean beanHasIntroductions) {
checkReadyToMatch();
Method targetMethod = AopUtils.getMostSpecificMethod(method, targetClass);
ShadowMatch shadowMatch = null;
try {
shadowMatch = getShadowMatch(targetMethod, method);
}
catch (ReflectionWorld.ReflectionWorldException ex) {
// Could neither introspect the target class nor the proxy class ->
// let's simply consider this method as non-matching.
return false;
}
ShadowMatch shadowMatch = getShadowMatch(targetMethod, method);
// Special handling for this, target, @this, @target, @annotation
// in Spring - we can optimize since we know we have exactly this class,
@@ -279,17 +272,8 @@ public class AspectJExpressionPointcut extends AbstractExpressionPointcut
public boolean matches(Method method, Class targetClass, Object[] args) {
checkReadyToMatch();
ShadowMatch shadowMatch = null;
ShadowMatch originalShadowMatch = null;
try {
shadowMatch = getShadowMatch(AopUtils.getMostSpecificMethod(method, targetClass), method);
originalShadowMatch = getShadowMatch(method, method);
}
catch (ReflectionWorld.ReflectionWorldException ex) {
// Could neither introspect the target class nor the proxy class ->
// let's simply consider this method as non-matching.
return false;
}
ShadowMatch shadowMatch = getShadowMatch(AopUtils.getMostSpecificMethod(method, targetClass), method);
ShadowMatch originalShadowMatch = getShadowMatch(method, method);
// Bind Spring AOP proxy to AspectJ "this" and Spring AOP target to AspectJ target,
// consistent with return of MethodInvocationProceedingJoinPoint
@@ -364,24 +348,38 @@ public class AspectJExpressionPointcut extends AbstractExpressionPointcut
}
private ShadowMatch getShadowMatch(Method targetMethod, Method originalMethod) {
synchronized (this.shadowMatchCache) {
ShadowMatch shadowMatch = this.shadowMatchCache.get(targetMethod);
if (shadowMatch == null) {
try {
shadowMatch = this.pointcutExpression.matchesMethodExecution(targetMethod);
}
catch (ReflectionWorld.ReflectionWorldException ex) {
// Failed to introspect target method, probably because it has been loaded
// in a special ClassLoader. Let's try the original method instead...
if (targetMethod == originalMethod) {
throw ex;
// Avoid lock contention for known Methods through concurrent access...
ShadowMatch shadowMatch = this.shadowMatchCache.get(targetMethod);
if (shadowMatch == null) {
synchronized (this.shadowMatchCache) {
// Not found - now check again with full lock...
shadowMatch = this.shadowMatchCache.get(targetMethod);
if (shadowMatch == null) {
try {
shadowMatch = this.pointcutExpression.matchesMethodExecution(targetMethod);
}
shadowMatch = this.pointcutExpression.matchesMethodExecution(originalMethod);
catch (ReflectionWorld.ReflectionWorldException ex) {
// Failed to introspect target method, probably because it has been loaded
// in a special ClassLoader. Let's try the original method instead...
if (targetMethod == originalMethod) {
shadowMatch = new ShadowMatchImpl(org.aspectj.util.FuzzyBoolean.NO, null, null, null);
}
else {
try {
shadowMatch = this.pointcutExpression.matchesMethodExecution(originalMethod);
}
catch (ReflectionWorld.ReflectionWorldException ex2) {
// Could neither introspect the target class nor the proxy class ->
// let's simply consider this method as non-matching.
shadowMatch = new ShadowMatchImpl(org.aspectj.util.FuzzyBoolean.NO, null, null, null);
}
}
}
this.shadowMatchCache.put(targetMethod, shadowMatch);
}
this.shadowMatchCache.put(targetMethod, shadowMatch);
}
return shadowMatch;
}
return shadowMatch;
}
@@ -464,7 +462,7 @@ public class AspectJExpressionPointcut extends AbstractExpressionPointcut
* <p>Dynamic match tests for this matcher always return true,
* since the matching decision is made at the proxy creation time.
* For static match tests, this matcher abstains to allow the overall
* pointcut to match even when negation is used with the bean() poitncut.
* pointcut to match even when negation is used with the bean() pointcut.
*/
private class BeanNameContextMatcher implements ContextBasedMatcher {
@@ -132,6 +132,11 @@ public class MethodInvocationProceedingJoinPoint implements ProceedingJoinPoint,
return ProceedingJoinPoint.METHOD_EXECUTION;
}
public int getId() {
// TODO: It's just an adapter but returning 0 might still have side effects...
return 0;
}
public JoinPoint.StaticPart getStaticPart() {
return this;
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -84,7 +84,7 @@ public class SimpleAspectInstanceFactory implements AspectInstanceFactory {
* <p>The default implementation simply returns <code>Ordered.LOWEST_PRECEDENCE</code>.
* @param aspectClass the aspect class
*/
protected int getOrderForAspectClass(Class aspectClass) {
protected int getOrderForAspectClass(Class<?> aspectClass) {
return Ordered.LOWEST_PRECEDENCE;
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -74,7 +74,7 @@ public class SingletonAspectInstanceFactory implements AspectInstanceFactory {
* <p>The default implementation simply returns <code>Ordered.LOWEST_PRECEDENCE</code>.
* @param aspectClass the aspect class
*/
protected int getOrderForAspectClass(Class aspectClass) {
protected int getOrderForAspectClass(Class<?> aspectClass) {
return Ordered.LOWEST_PRECEDENCE;
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -69,17 +69,12 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
* Find and return the first AspectJ annotation on the given method
* (there <i>should</i> only be one anyway...)
*/
protected static AspectJAnnotation findAspectJAnnotationOnMethod(Method aMethod) {
Class<? extends Annotation>[] classesToLookFor = (Class<? extends Annotation>[]) new Class[] {
Before.class,
Around.class,
After.class,
AfterReturning.class,
AfterThrowing.class,
Pointcut.class
};
@SuppressWarnings("unchecked")
protected static AspectJAnnotation findAspectJAnnotationOnMethod(Method method) {
Class<? extends Annotation>[] classesToLookFor = new Class[] {
Before.class, Around.class, After.class, AfterReturning.class, AfterThrowing.class, Pointcut.class};
for (Class<? extends Annotation> c : classesToLookFor) {
AspectJAnnotation foundAnnotation = findAnnotation(aMethod, c);
AspectJAnnotation foundAnnotation = findAnnotation(method, c);
if (foundAnnotation != null) {
return foundAnnotation;
}
@@ -117,12 +112,11 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
* when compiled by ajc with the -1.5 flag, yet they cannot be consumed by Spring AOP.
*/
public boolean isAspect(Class<?> clazz) {
return (AjTypeSystem.getAjType(clazz).isAspect() &&
hasAspectAnnotation(clazz) && !compiledByAjc(clazz));
return (hasAspectAnnotation(clazz) && !compiledByAjc(clazz));
}
private boolean hasAspectAnnotation(Class<?> clazz) {
return clazz.isAnnotationPresent(Aspect.class);
return (AnnotationUtils.findAnnotation(clazz, Aspect.class) != null);
}
/**
@@ -199,7 +193,7 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
// come first in the advice declaration.
int typeOffset = paramTypes.length - argNames.length;
for (int i = 0; i < ret.length; i++) {
ret[i] = paramTypes[i+typeOffset];
ret[i] = paramTypes[i + typeOffset];
}
return ret;
}
@@ -212,7 +206,7 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
AtAfterReturning,
AtAfterThrowing,
AtAround
};
}
/**
@@ -265,8 +259,7 @@ public abstract class AbstractAspectJAdvisorFactory implements AspectJAdvisorFac
private String resolveExpression() throws Exception {
String expression = null;
for (int i = 0; i < EXPRESSION_PROPERTIES.length; i++) {
String methodName = EXPRESSION_PROPERTIES[i];
for (String methodName : EXPRESSION_PROPERTIES) {
Method method;
try {
method = this.annotation.getClass().getDeclaredMethod(methodName);
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import org.springframework.aop.Advisor;
import org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
@@ -78,9 +79,9 @@ public class AnnotationAwareAspectJAutoProxyCreator extends AspectJAwareAdvisorA
@Override
protected List findCandidateAdvisors() {
protected List<Advisor> findCandidateAdvisors() {
// Add all the Spring advisors found according to superclass rules.
List advisors = super.findCandidateAdvisors();
List<Advisor> advisors = super.findCandidateAdvisors();
// Build Advisors for all AspectJ aspects in the bean factory.
advisors.addAll(this.aspectJAdvisorsBuilder.buildAspectJAdvisors());
return advisors;
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2006 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -67,13 +67,23 @@ public class AspectMetadata {
* @param aspectClass the aspect class
* @param aspectName the name of the aspect
*/
public AspectMetadata(Class aspectClass, String aspectName) {
public AspectMetadata(Class<?> aspectClass, String aspectName) {
this.aspectName = aspectName;
this.ajType = AjTypeSystem.getAjType(aspectClass);
if (!this.ajType.isAspect()) {
Class<?> currClass = aspectClass;
AjType ajType = null;
while (!currClass.equals(Object.class)) {
AjType ajTypeToCheck = AjTypeSystem.getAjType(currClass);
if (ajTypeToCheck.isAspect()) {
ajType = ajTypeToCheck;
break;
}
currClass = currClass.getSuperclass();
}
if (ajType == null) {
throw new IllegalArgumentException("Class '" + aspectClass.getName() + "' is not an @AspectJ aspect");
}
this.ajType = ajType;
if (this.ajType.getDeclarePrecedence().length > 0) {
throw new IllegalArgumentException("DeclarePrecendence not presently supported in Spring AOP");
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,11 +16,10 @@
package org.springframework.aop.aspectj.annotation;
import org.springframework.core.Ordered;
import org.springframework.util.Assert;
/**
* Decorator to cause a MetadataAwareAspectInstanceFactory to instantiate only once.
* Decorator to cause a {@link MetadataAwareAspectInstanceFactory} to instantiate only once.
*
* @author Rod Johnson
* @author Juergen Hoeller
@@ -30,7 +29,7 @@ public class LazySingletonAspectInstanceFactoryDecorator implements MetadataAwar
private final MetadataAwareAspectInstanceFactory maaif;
private Object materialized;
private volatile Object materialized;
/**
@@ -42,30 +41,32 @@ public class LazySingletonAspectInstanceFactoryDecorator implements MetadataAwar
this.maaif = maaif;
}
public synchronized Object getAspectInstance() {
if (this.materialized == null) {
this.materialized = this.maaif.getAspectInstance();
synchronized (this) {
if (this.materialized == null) {
this.materialized = this.maaif.getAspectInstance();
}
}
}
return this.materialized;
}
public ClassLoader getAspectClassLoader() {
return this.maaif.getAspectClassLoader();
}
public boolean isMaterialized() {
return (this.materialized != null);
}
public ClassLoader getAspectClassLoader() {
return this.maaif.getAspectClassLoader();
}
public AspectMetadata getAspectMetadata() {
return this.maaif.getAspectMetadata();
}
public int getOrder() {
if (this.maaif instanceof Ordered) {
return ((Ordered) this.maaif).getOrder();
}
return Ordered.LOWEST_PRECEDENCE;
return this.maaif.getOrder();
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -57,8 +57,8 @@ public class SimpleMetadataAwareAspectInstanceFactory extends SimpleAspectInstan
* @param aspectClass the aspect class
*/
@Override
protected int getOrderForAspectClass(Class aspectClass) {
Order order = (Order) aspectClass.getAnnotation(Order.class);
protected int getOrderForAspectClass(Class<?> aspectClass) {
Order order = aspectClass.getAnnotation(Order.class);
if (order != null) {
return order.value();
}
@@ -66,4 +66,3 @@ public class SimpleMetadataAwareAspectInstanceFactory extends SimpleAspectInstan
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -58,8 +58,8 @@ public class SingletonMetadataAwareAspectInstanceFactory extends SingletonAspect
* @see org.springframework.core.annotation.Order
*/
@Override
protected int getOrderForAspectClass(Class aspectClass) {
Order order = (Order) aspectClass.getAnnotation(Order.class);
protected int getOrderForAspectClass(Class<?> aspectClass) {
Order order = aspectClass.getAnnotation(Order.class);
if (order != null) {
return order.value();
}
@@ -0,0 +1,10 @@
/**
*
* Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.
*
* <p>Normally to be used through an AspectJAutoProxyCreator rather than directly.
*
*/
package org.springframework.aop.aspectj.annotation;
@@ -1,9 +0,0 @@
<html>
<body>
Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.
<p>Normally to be used through an AspectJAutoProxyCreator rather than directly.
</body>
</html>
@@ -0,0 +1,9 @@
/**
*
* Base classes enabling auto-proxying based on AspectJ.
* Support for AspectJ annotation aspects resides in the "aspectj.annotation" package.
*
*/
package org.springframework.aop.aspectj.autoproxy;
@@ -1,8 +0,0 @@
<html>
<body>
Base classes enabling auto-proxying based on AspectJ.
Support for AspectJ annotation aspects resides in the "aspectj.annotation" package.
</body>
</html>
@@ -0,0 +1,15 @@
/**
*
* AspectJ integration package. Includes Spring AOP advice implementations for AspectJ 5
* annotation-style methods, and an AspectJExpressionPointcut: a Spring AOP Pointcut
* implementation that allows use of the AspectJ pointcut expression language with the Spring AOP
* runtime framework.
*
* <p>Note that use of this package does <i>not</i> require the use of the <code>ajc</code> compiler
* or AspectJ load-time weaver. It is intended to enable the use of a valuable subset of AspectJ
* functionality, with consistent semantics, with the proxy-based Spring AOP framework.
*
*/
package org.springframework.aop.aspectj;
@@ -1,14 +0,0 @@
<html>
<body>
AspectJ integration package. Includes Spring AOP advice implementations for AspectJ 5
annotation-style methods, and an AspectJExpressionPointcut: a Spring AOP Pointcut
implementation that allows use of the AspectJ pointcut expression language with the Spring AOP
runtime framework.
<p>Note that use of this package does <i>not</i> require the use of the <code>ajc</code> compiler
or AspectJ load-time weaver. It is intended to enable the use of a valuable subset of AspectJ
functionality, with consistent semantics, with the proxy-based Spring AOP framework.
</body>
</html>
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -52,7 +52,7 @@ class AspectJAutoProxyBeanDefinitionParser implements BeanDefinitionParser {
}
private void addIncludePatterns(Element element, ParserContext parserContext, BeanDefinition beanDef) {
ManagedList includePatterns = new ManagedList();
ManagedList<TypedStringValue> includePatterns = new ManagedList<TypedStringValue>();
NodeList childNodes = element.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
Node node = childNodes.item(i);
@@ -106,7 +106,7 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser {
for (int i = 0; i < childNodes.getLength(); i++) {
Node node = childNodes.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
String localName = node.getLocalName();
String localName = parserContext.getDelegate().getLocalName(node);
if (POINTCUT.equals(localName)) {
parsePointcut((Element) node, parserContext);
}
@@ -216,7 +216,7 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser {
boolean adviceFoundAlready = false;
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (isAdviceNode(node)) {
if (isAdviceNode(node, parserContext)) {
if (!adviceFoundAlready) {
adviceFoundAlready = true;
if (!StringUtils.hasText(aspectName)) {
@@ -264,12 +264,12 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser {
* '<code>before</code>', '<code>after</code>', '<code>after-returning</code>',
* '<code>after-throwing</code>' or '<code>around</code>'.
*/
private boolean isAdviceNode(Node aNode) {
private boolean isAdviceNode(Node aNode, ParserContext parserContext) {
if (!(aNode instanceof Element)) {
return false;
}
else {
String name = aNode.getLocalName();
String name = parserContext.getDelegate().getLocalName(aNode);
return (BEFORE.equals(name) || AFTER.equals(name) || AFTER_RETURNING_ELEMENT.equals(name) ||
AFTER_THROWING_ELEMENT.equals(name) || AROUND.equals(name));
}
@@ -317,7 +317,7 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser {
List<BeanDefinition> beanDefinitions, List<BeanReference> beanReferences) {
try {
this.parseState.push(new AdviceEntry(adviceElement.getLocalName()));
this.parseState.push(new AdviceEntry(parserContext.getDelegate().getLocalName(adviceElement)));
// create the method factory bean
RootBeanDefinition methodDefinition = new RootBeanDefinition(MethodLocatingFactoryBean.class);
@@ -366,7 +366,7 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser {
RootBeanDefinition methodDef, RootBeanDefinition aspectFactoryDef,
List<BeanDefinition> beanDefinitions, List<BeanReference> beanReferences) {
RootBeanDefinition adviceDefinition = new RootBeanDefinition(getAdviceClass(adviceElement));
RootBeanDefinition adviceDefinition = new RootBeanDefinition(getAdviceClass(adviceElement, parserContext));
adviceDefinition.setSource(parserContext.extractSource(adviceElement));
adviceDefinition.getPropertyValues().addPropertyValue(ASPECT_NAME_PROPERTY, aspectName);
@@ -407,8 +407,8 @@ class ConfigBeanDefinitionParser implements BeanDefinitionParser {
/**
* Gets the advice implementation class corresponding to the supplied {@link Element}.
*/
private Class getAdviceClass(Element adviceElement) {
String elementName = adviceElement.getLocalName();
private Class getAdviceClass(Element adviceElement, ParserContext parserContext) {
String elementName = parserContext.getDelegate().getLocalName(adviceElement);
if (BEFORE.equals(elementName)) {
return AspectJMethodBeforeAdvice.class;
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -44,15 +44,18 @@ class ScopedProxyBeanDefinitionDecorator implements BeanDefinitionDecorator {
if (node instanceof Element) {
Element ele = (Element) node;
if (ele.hasAttribute(PROXY_TARGET_CLASS)) {
proxyTargetClass = Boolean.valueOf(ele.getAttribute(PROXY_TARGET_CLASS)).booleanValue();
proxyTargetClass = Boolean.valueOf(ele.getAttribute(PROXY_TARGET_CLASS));
}
}
// Register the original bean definition as it will be referenced by the scoped proxy and is relevant for tooling (validation, navigation).
// Register the original bean definition as it will be referenced by the scoped proxy
// and is relevant for tooling (validation, navigation).
BeanDefinitionHolder holder =
ScopedProxyUtils.createScopedProxy(definition, parserContext.getRegistry(), proxyTargetClass);
String targetBeanName = ScopedProxyUtils.getTargetBeanName(definition.getBeanName());
parserContext.getReaderContext().fireComponentRegistered(new BeanComponentDefinition(definition.getBeanDefinition(), targetBeanName));
return ScopedProxyUtils.createScopedProxy(definition, parserContext.getRegistry(), proxyTargetClass);
parserContext.getReaderContext().fireComponentRegistered(
new BeanComponentDefinition(definition.getBeanDefinition(), targetBeanName));
return holder;
}
}
@@ -0,0 +1,9 @@
/**
*
* Support package for declarative AOP configuration,
* with XML schema being the primary configuration format.
*
*/
package org.springframework.aop.config;
@@ -1,8 +0,0 @@
<html>
<body>
Support package for declarative AOP configuration,
with XML schema being the primary configuration format.
</body>
</html>
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -58,6 +58,7 @@ import org.springframework.util.CollectionUtils;
* @author Juergen Hoeller
* @see org.springframework.aop.framework.AopProxy
*/
@SuppressWarnings("unchecked")
public class AdvisedSupport extends ProxyConfig implements Advised {
/** use serialVersionUID from Spring 2.0 for interoperability */
@@ -489,9 +490,7 @@ public class AdvisedSupport extends ProxyConfig implements Advised {
* Invoked when advice has changed.
*/
protected void adviceChanged() {
synchronized (this.methodCache) {
this.methodCache.clear();
}
this.methodCache.clear();
}
/**
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -94,8 +94,8 @@ public class ProxyFactory extends ProxyCreatorSupport {
* @return the proxy object
*/
@SuppressWarnings("unchecked")
public <T> T getProxy() {
return (T) createAopProxy().getProxy();
public Object getProxy() {
return createAopProxy().getProxy();
}
/**
@@ -108,8 +108,8 @@ public class ProxyFactory extends ProxyCreatorSupport {
* @return the proxy object
*/
@SuppressWarnings("unchecked")
public <T> T getProxy(ClassLoader classLoader) {
return (T) createAopProxy().getProxy(classLoader);
public Object getProxy(ClassLoader classLoader) {
return createAopProxy().getProxy(classLoader);
}
@@ -123,8 +123,9 @@ public class ProxyFactory extends ProxyCreatorSupport {
* @return the proxy object
* @see #ProxyFactory(Class, org.aopalliance.intercept.Interceptor)
*/
public static Object getProxy(Class proxyInterface, Interceptor interceptor) {
return new ProxyFactory(proxyInterface, interceptor).getProxy();
@SuppressWarnings("unchecked")
public static <T> T getProxy(Class<T> proxyInterface, Interceptor interceptor) {
return (T) new ProxyFactory(proxyInterface, interceptor).getProxy();
}
/**
@@ -135,8 +136,9 @@ public class ProxyFactory extends ProxyCreatorSupport {
* @return the proxy object
* @see #ProxyFactory(Class, org.springframework.aop.TargetSource)
*/
public static Object getProxy(Class proxyInterface, TargetSource targetSource) {
return new ProxyFactory(proxyInterface, targetSource).getProxy();
@SuppressWarnings("unchecked")
public static <T> T getProxy(Class<T> proxyInterface, TargetSource targetSource) {
return (T) new ProxyFactory(proxyInterface, targetSource).getProxy();
}
/**
@@ -0,0 +1,18 @@
/**
*
* SPI package allowing Spring AOP framework to handle arbitrary advice types.
* <br>
* Users who want merely to <i>use</i> the Spring AOP framework, rather than extend
* its capabilities, don't need to concern themselves with this package.
* <br>
* You may wish to use these adapters to wrap Spring-specific advices, such as MethodBeforeAdvice,
* in MethodInterceptor, to allow their use in another AOP framework supporting the AOP Alliance interfaces.
* </br>
* <br>
* These adapters do not depend on any other Spring framework classes to allow such usage.
* </br>
*
*/
package org.springframework.aop.framework.adapter;
@@ -1,17 +0,0 @@
<html>
<body>
SPI package allowing Spring AOP framework to handle arbitrary advice types.
<br>
Users who want merely to <i>use</i> the Spring AOP framework, rather than extend
its capabilities, don't need to concern themselves with this package.
<br>
You may wish to use these adapters to wrap Spring-specific advices, such as MethodBeforeAdvice,
in MethodInterceptor, to allow their use in another AOP framework supporting the AOP Alliance interfaces.
</br>
<br>
These adapters do not depend on any other Spring framework classes to allow such usage.
</br>
</body>
</html>
@@ -0,0 +1,16 @@
/**
*
* Bean post-processors for use in ApplicationContexts to simplify AOP usage
* by automatically creating AOP proxies without the need to use a ProxyFactoryBean.
*
* <p>The various post-processors in this package need only be added to an ApplicationContext
* (typically in an XML bean definition document) to automatically proxy selected beans.
*
* <p><b>NB</b>: Automatic auto-proxying is not supported for BeanFactory implementations,
* as post-processors beans are only automatically detected in application contexts.
* Post-processors can be explicitly registered on a ConfigurableBeanFactory instead.
*
*/
package org.springframework.aop.framework.autoproxy;
@@ -1,15 +0,0 @@
<html>
<body>
Bean post-processors for use in ApplicationContexts to simplify AOP usage
by automatically creating AOP proxies without the need to use a ProxyFactoryBean.
<p>The various post-processors in this package need only be added to an ApplicationContext
(typically in an XML bean definition document) to automatically proxy selected beans.
<p><b>NB</b>: Automatic auto-proxying is not supported for BeanFactory implementations,
as post-processors beans are only automatically detected in application contexts.
Post-processors can be explicitly registered on a ConfigurableBeanFactory instead.
</body>
</html>
@@ -0,0 +1,19 @@
/**
*
* Package containing Spring's basic AOP infrastructure, compliant with the
* <a href="http://aopalliance.sourceforge.net">AOP Alliance</a> interfaces.
*
* <p>Spring AOP supports proxying interfaces or classes, introductions, and offers
* static and dynamic pointcuts.
*
* <p>Any Spring AOP proxy can be cast to the ProxyConfig AOP configuration interface
* in this package to add or remove interceptors.
*
* <p>The ProxyFactoryBean is a convenient way to create AOP proxies in a BeanFactory
* or ApplicationContext. However, proxies can be created programmatically using the
* ProxyFactory class.
*
*/
package org.springframework.aop.framework;
@@ -1,18 +0,0 @@
<html>
<body>
Package containing Spring's basic AOP infrastructure, compliant with the
<a href="http://aopalliance.sourceforge.net">AOP Alliance</a> interfaces.
<p>Spring AOP supports proxying interfaces or classes, introductions, and offers
static and dynamic pointcuts.
<p>Any Spring AOP proxy can be cast to the ProxyConfig AOP configuration interface
in this package to add or remove interceptors.
<p>The ProxyFactoryBean is a convenient way to create AOP proxies in a BeanFactory
or ApplicationContext. However, proxies can be created programmatically using the
ProxyFactory class.
</body>
</html>
@@ -0,0 +1,10 @@
/**
*
* Provides miscellaneous interceptor implementations.
* More specific interceptors can be found in corresponding
* functionality packages, like "transaction" and "orm".
*
*/
package org.springframework.aop.interceptor;
@@ -1,9 +0,0 @@
<html>
<body>
Provides miscellaneous interceptor implementations.
More specific interceptors can be found in corresponding
functionality packages, like "transaction" and "orm".
</body>
</html>
@@ -0,0 +1,25 @@
/**
*
* Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.
*
* <br>Any AOP Alliance MethodInterceptor is usable in Spring.
*
* <br>Spring AOP also offers:
* <ul>
* <li>Introduction support
* <li>A Pointcut abstraction, supporting "static" pointcuts
* (class and method-based) and "dynamic" pointcuts (also considering method arguments).
* There are currently no AOP Alliance interfaces for pointcuts.
* <li>A full range of advice types, including around, before, after returning and throws advice.
* <li>Extensibility allowing arbitrary custom advice types to
* be plugged in without modifying the core framework.
* </ul>
*
* <br>
* Spring AOP can be used programmatically or (preferably)
* integrated with the Spring IoC container.
*
*/
package org.springframework.aop;
@@ -1,24 +0,0 @@
<html>
<body>
Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.
<br>Any AOP Alliance MethodInterceptor is usable in Spring.
<br>Spring AOP also offers:
<ul>
<li>Introduction support
<li>A Pointcut abstraction, supporting "static" pointcuts
(class and method-based) and "dynamic" pointcuts (also considering method arguments).
There are currently no AOP Alliance interfaces for pointcuts.
<li>A full range of advice types, including around, before, after returning and throws advice.
<li>Extensibility allowing arbitrary custom advice types to
be plugged in without modifying the core framework.
</ul>
<br>
Spring AOP can be used programmatically or (preferably)
integrated with the Spring IoC container.
</body>
</html>
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2006 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
package org.springframework.aop.scope;
import java.io.Serializable;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.util.Assert;
@@ -32,7 +34,7 @@ import org.springframework.util.Assert;
* @see org.springframework.beans.factory.BeanFactory#getBean
* @see org.springframework.beans.factory.config.ConfigurableBeanFactory#destroyScopedBean
*/
public class DefaultScopedObject implements ScopedObject {
public class DefaultScopedObject implements ScopedObject, Serializable {
private final ConfigurableBeanFactory beanFactory;
@@ -43,8 +45,6 @@ public class DefaultScopedObject implements ScopedObject {
* Creates a new instance of the {@link DefaultScopedObject} class.
* @param beanFactory the {@link ConfigurableBeanFactory} that holds the scoped target object
* @param targetBeanName the name of the target bean
* @throws IllegalArgumentException if either of the parameters is <code>null</code>; or
* if the <code>targetBeanName</code> consists wholly of whitespace
*/
public DefaultScopedObject(ConfigurableBeanFactory beanFactory, String targetBeanName) {
Assert.notNull(beanFactory, "BeanFactory must not be null");
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@ package org.springframework.aop.scope;
import org.springframework.aop.framework.autoproxy.AutoProxyUtils;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanDefinitionHolder;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.RootBeanDefinition;
@@ -56,7 +57,7 @@ public abstract class ScopedProxyUtils {
scopedProxyDefinition.setOriginatingBeanDefinition(definition.getBeanDefinition());
scopedProxyDefinition.setSource(definition.getSource());
scopedProxyDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
String targetBeanName = getTargetBeanName(originalBeanName);
scopedProxyDefinition.getPropertyValues().addPropertyValue("targetBeanName", targetBeanName);
@@ -68,9 +69,15 @@ public abstract class ScopedProxyUtils {
scopedProxyDefinition.getPropertyValues().addPropertyValue("proxyTargetClass", Boolean.FALSE);
}
// Copy autowire settings from original bean definition.
if (targetDefinition instanceof AbstractBeanDefinition) {
scopedProxyDefinition.copyQualifiersFrom((AbstractBeanDefinition) targetDefinition);
}
scopedProxyDefinition.setAutowireCandidate(targetDefinition.isAutowireCandidate());
scopedProxyDefinition.setPrimary(targetDefinition.isPrimary());
// The target bean should be ignored in favor of the scoped proxy.
targetDefinition.setAutowireCandidate(false);
targetDefinition.setPrimary(false);
// Register the target bean as separate bean in the factory.
registry.registerBeanDefinition(targetBeanName, targetDefinition);
@@ -0,0 +1,8 @@
/**
*
* Support for AOP-based scoping of target objects, with configurable backend.
*
*/
package org.springframework.aop.scope;
@@ -1,7 +0,0 @@
<html>
<body>
Support for AOP-based scoping of target objects, with configurable backend.
</body>
</html>
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -55,7 +55,7 @@ public abstract class AbstractRegexpMethodPointcut extends StaticMethodMatcherPo
/** Regular expressions to match */
private String[] patterns = new String[0];
/** Regaular expressions <strong>not</strong> to match */
/** Regular expressions <strong>not</strong> to match */
private String[] excludedPatterns = new String[0];
@@ -155,14 +155,22 @@ public abstract class AbstractRegexpMethodPointcut extends StaticMethodMatcherPo
/**
* Subclasses must implement this to initialize regexp pointcuts.
* Can be invoked multiple times.
* <p>This method will be invoked from the setPatterns method,
* <p>This method will be invoked from the {@link #setPatterns} method,
* and also on deserialization.
* @param patterns the patterns to initialize
* @throws IllegalArgumentException in case of an invalid pattern
*/
protected abstract void initPatternRepresentation(String[] patterns) throws IllegalArgumentException;
protected abstract void initExcludedPatternRepresentation(String[] excludedPatterns) throws IllegalArgumentException;
/**
* Subclasses must implement this to initialize regexp pointcuts.
* Can be invoked multiple times.
* <p>This method will be invoked from the {@link #setExcludedPatterns} method,
* and also on deserialization.
* @param patterns the patterns to initialize
* @throws IllegalArgumentException in case of an invalid pattern
*/
protected abstract void initExcludedPatternRepresentation(String[] patterns) throws IllegalArgumentException;
/**
* Does the pattern at the given index match this string?
@@ -197,12 +205,10 @@ public abstract class AbstractRegexpMethodPointcut extends StaticMethodMatcherPo
@Override
public int hashCode() {
int result = 27;
for (int i = 0; i < this.patterns.length; i++) {
String pattern = this.patterns[i];
for (String pattern : this.patterns) {
result = 13 * result + pattern.hashCode();
}
for (int i = 0; i < this.excludedPatterns.length; i++) {
String excludedPattern = this.excludedPatterns[i];
for (String excludedPattern : this.excludedPatterns) {
result = 13 * result + excludedPattern.hashCode();
}
return result;
@@ -214,18 +220,4 @@ public abstract class AbstractRegexpMethodPointcut extends StaticMethodMatcherPo
", excluded patterns " + ObjectUtils.nullSafeToString(this.excludedPatterns);
}
//---------------------------------------------------------------------
// Serialization support
//---------------------------------------------------------------------
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
// Rely on default serialization; just initialize state after deserialization.
ois.defaultReadObject();
// Ask subclass to reinitialize.
initPatternRepresentation(this.patterns);
initExcludedPatternRepresentation(this.excludedPatterns);
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -86,7 +86,15 @@ public abstract class AopUtils {
* @param clazz the class to check
*/
public static boolean isCglibProxyClass(Class clazz) {
return (clazz != null && clazz.getName().contains(ClassUtils.CGLIB_CLASS_SEPARATOR));
return (clazz != null && isCglibProxyClassName(clazz.getName()));
}
/**
* Check whether the specified class name is a CGLIB-generated class.
* @param className the class name to check
*/
public static boolean isCglibProxyClassName(String className) {
return (className != null && className.contains(ClassUtils.CGLIB_CLASS_SEPARATOR));
}
/**
@@ -102,7 +110,7 @@ public abstract class AopUtils {
if (candidate instanceof TargetClassAware) {
return ((TargetClassAware) candidate).getTargetClass();
}
if (isCglibProxyClass(candidate.getClass())) {
if (isCglibProxy(candidate)) {
return candidate.getClass().getSuperclass();
}
return candidate.getClass();
@@ -38,6 +38,7 @@ import org.springframework.util.ClassUtils;
* @author Juergen Hoeller
* @since 11.11.2003
*/
@SuppressWarnings({ "unchecked", "serial" })
public class DefaultIntroductionAdvisor implements IntroductionAdvisor, ClassFilter, Ordered, Serializable {
private final Advice advice;
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,13 +21,11 @@ import java.io.ObjectInputStream;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.aop.IntroductionInfo;
import org.springframework.util.ClassUtils;
@@ -44,11 +42,9 @@ import org.springframework.util.ClassUtils;
*/
public class IntroductionInfoSupport implements IntroductionInfo, Serializable {
protected transient Log logger = LogFactory.getLog(getClass());
protected final Set<Class> publishedInterfaces = new HashSet<Class>();
protected Set<Class> publishedInterfaces = new HashSet<Class>();
private transient Map<Method, Boolean> rememberedMethods = new IdentityHashMap<Method, Boolean>(32);
private transient Map<Method, Boolean> rememberedMethods = new ConcurrentHashMap<Method, Boolean>(32);
/**
@@ -119,10 +115,8 @@ public class IntroductionInfoSupport implements IntroductionInfo, Serializable {
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
// Rely on default serialization; just initialize state after deserialization.
ois.defaultReadObject();
// Initialize transient fields.
this.logger = LogFactory.getLog(getClass());
this.rememberedMethods = new IdentityHashMap<Method, Boolean>(32);
this.rememberedMethods = new ConcurrentHashMap<Method, Boolean>(32);
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -42,12 +42,12 @@ public class JdkRegexpMethodPointcut extends AbstractRegexpMethodPointcut {
/**
* Compiled form of the patterns.
*/
private transient Pattern[] compiledPatterns = new Pattern[0];
private Pattern[] compiledPatterns = new Pattern[0];
/**
* Compiled form of the exclusion patterns.
*/
private transient Pattern[] compiledExclusionPatterns = new Pattern[0];
private Pattern[] compiledExclusionPatterns = new Pattern[0];
/**
@@ -58,6 +58,14 @@ public class JdkRegexpMethodPointcut extends AbstractRegexpMethodPointcut {
this.compiledPatterns = compilePatterns(patterns);
}
/**
* Initialize exclusion {@link Pattern Patterns} from the supplied <code>String[]</code>.
*/
@Override
protected void initExcludedPatternRepresentation(String[] excludedPatterns) throws PatternSyntaxException {
this.compiledExclusionPatterns = compilePatterns(excludedPatterns);
}
/**
* Returns <code>true</code> if the {@link Pattern} at index <code>patternIndex</code>
* matches the supplied candidate <code>String</code>.
@@ -68,14 +76,6 @@ public class JdkRegexpMethodPointcut extends AbstractRegexpMethodPointcut {
return matcher.matches();
}
/**
* Initialize exclusion {@link Pattern Patterns} from the supplied <code>String[]</code>.
*/
@Override
protected void initExcludedPatternRepresentation(String[] excludedPatterns) throws IllegalArgumentException {
this.compiledExclusionPatterns = compilePatterns(excludedPatterns);
}
/**
* Returns <code>true</code> if the exclusion {@link Pattern} at index <code>patternIndex</code>
* matches the supplied candidate <code>String</code>.
@@ -86,11 +86,12 @@ public class JdkRegexpMethodPointcut extends AbstractRegexpMethodPointcut {
return matcher.matches();
}
/**
* Compiles the supplied <code>String[]</code> into an array of
* {@link Pattern} objects and returns that array.
*/
private Pattern[] compilePatterns(String[] source) {
private Pattern[] compilePatterns(String[] source) throws PatternSyntaxException {
Pattern[] destination = new Pattern[source.length];
for (int i = 0; i < source.length; i++) {
destination[i] = Pattern.compile(source[i]);
@@ -0,0 +1,8 @@
/**
*
* Annotation support for AOP pointcuts.
*
*/
package org.springframework.aop.support.annotation;
@@ -1,7 +0,0 @@
<html>
<body>
Annotation support for AOP pointcuts.
</html>
</body>
@@ -0,0 +1,8 @@
/**
*
* Convenience classes for using Spring's AOP API.
*
*/
package org.springframework.aop.support;
@@ -1,7 +0,0 @@
<html>
<body>
Convenience classes for using Spring's AOP API.
</body>
</html>
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -157,29 +157,6 @@ public abstract class AbstractBeanFactoryBasedTargetSource
this.beanFactory = other.beanFactory;
}
/**
* Replaces this object with a SingletonTargetSource on serialization.
* Protected as otherwise it won't be invoked for subclasses.
* (The <code>writeReplace()</code> method must be visible to the class
* being serialized.)
* <p>With this implementation of this method, there is no need to mark
* non-serializable fields in this class or subclasses as transient.
*/
protected Object writeReplace() throws ObjectStreamException {
if (logger.isDebugEnabled()) {
logger.debug("Disconnecting TargetSource [" + this + "]");
}
try {
// Create disconnected SingletonTargetSource.
return new SingletonTargetSource(getTarget());
}
catch (Exception ex) {
logger.error("Cannot get target for disconnecting TargetSource [" + this + "]", ex);
throw new NotSerializableException(
"Cannot get target for disconnecting TargetSource [" + this + "]: " + ex);
}
}
@Override
public boolean equals(Object other) {
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,6 +16,9 @@
package org.springframework.aop.target;
import java.io.NotSerializableException;
import java.io.ObjectStreamException;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanDefinitionStoreException;
import org.springframework.beans.factory.BeanFactory;
@@ -23,11 +26,11 @@ import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
/**
* Base class for dynamic TargetSources that can create new prototype bean
* instances to support a pooling or new-instance-per-invocation strategy.
* Base class for dynamic {@link TargetSource} implementations that create new prototype
* bean instances to support a pooling or new-instance-per-invocation strategy.
*
* <p>Such TargetSources must run in a BeanFactory, as it needs to call the
* <code>getBean</code> method to create a new prototype instance.
* <p>Such TargetSources must run in a {@link BeanFactory}, as it needs to
* call the <code>getBean</code> method to create a new prototype instance.
* Therefore, this base class extends {@link AbstractBeanFactoryBasedTargetSource}.
*
* @author Rod Johnson
@@ -56,8 +59,8 @@ public abstract class AbstractPrototypeBasedTargetSource extends AbstractBeanFac
* @throws BeansException if bean creation failed
*/
protected Object newPrototypeInstance() throws BeansException {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Creating new instance of bean '" + getTargetBeanName() + "'");
if (logger.isDebugEnabled()) {
logger.debug("Creating new instance of bean '" + getTargetBeanName() + "'");
}
return getBeanFactory().getBean(getTargetBeanName());
}
@@ -78,9 +81,37 @@ public abstract class AbstractPrototypeBasedTargetSource extends AbstractBeanFac
((DisposableBean) target).destroy();
}
catch (Throwable ex) {
this.logger.error("Couldn't invoke destroy method of bean with name '" + getTargetBeanName() + "'", ex);
logger.error("Couldn't invoke destroy method of bean with name '" + getTargetBeanName() + "'", ex);
}
}
}
//---------------------------------------------------------------------
// Serialization support
//---------------------------------------------------------------------
/**
* Replaces this object with a SingletonTargetSource on serialization.
* Protected as otherwise it won't be invoked for subclasses.
* (The <code>writeReplace()</code> method must be visible to the class
* being serialized.)
* <p>With this implementation of this method, there is no need to mark
* non-serializable fields in this class or subclasses as transient.
*/
protected Object writeReplace() throws ObjectStreamException {
if (logger.isDebugEnabled()) {
logger.debug("Disconnecting TargetSource [" + this + "]");
}
try {
// Create disconnected SingletonTargetSource.
return new SingletonTargetSource(getTarget());
}
catch (Exception ex) {
logger.error("Cannot get target for disconnecting TargetSource [" + this + "]", ex);
throw new NotSerializableException(
"Cannot get target for disconnecting TargetSource [" + this + "]: " + ex);
}
}
}
@@ -1,7 +1,7 @@
<html>
<body>
<p>
The Spring Data Binding framework, an internal library used by Spring Web Flow.
Spring's proxy-based AOP framework.
</p>
</body>
</html>
@@ -1,3 +1,4 @@
http\://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd
http\://www.springframework.org/schema/aop/spring-aop-2.5.xsd=org/springframework/aop/config/spring-aop-2.5.xsd
http\://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.5.xsd
http\://www.springframework.org/schema/aop/spring-aop-3.0.xsd=org/springframework/aop/config/spring-aop-3.0.xsd
http\://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-3.0.xsd
@@ -0,0 +1,4 @@
# Tooling related information for the aop namespace
http\://www.springframework.org/schema/aop@name=aop Namespace
http\://www.springframework.org/schema/aop@prefix=aop
http\://www.springframework.org/schema/aop@icon=org/springframework/aop/config/spring-aop.gif
@@ -8,9 +8,9 @@
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/beans"/>
<xsd:import namespace="http://www.springframework.org/schema/tool"/>
<xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"/>
<xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-2.0.xsd"/>
<xsd:annotation>
<xsd:documentation><![CDATA[
Defines the configuration elements for the Spring Framework's AOP support.
@@ -91,11 +91,11 @@
<xsd:complexType>
<xsd:annotation>
<xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
Marks a bean definition as being a scoped proxy.
Marks a bean definition as being a scoped proxy.
A bean marked as such will be exposed via a proxy, with the 'real'
bean instance being retrieved from some other source (such as a
HttpSession) as and when required.
A bean marked as such will be exposed via a proxy, with the 'real'
bean instance being retrieved from some other source (such as a
HttpSession) as and when required.
]]></xsd:documentation>
</xsd:annotation>
<xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
@@ -8,8 +8,8 @@
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/beans"/>
<xsd:import namespace="http://www.springframework.org/schema/tool"/>
<xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"/>
<xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-2.5.xsd"/>
<xsd:annotation>
<xsd:documentation><![CDATA[
@@ -91,11 +91,11 @@
<xsd:complexType>
<xsd:annotation>
<xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
Marks a bean definition as being a scoped proxy.
Marks a bean definition as being a scoped proxy.
A bean marked as such will be exposed via a proxy, with the 'real'
bean instance being retrieved from some other source (such as a
HttpSession) as and when required.
A bean marked as such will be exposed via a proxy, with the 'real'
bean instance being retrieved from some other source (such as a
HttpSession) as and when required.
]]></xsd:documentation>
</xsd:annotation>
<xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
@@ -0,0 +1,390 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://www.springframework.org/schema/aop"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tool="http://www.springframework.org/schema/tool"
targetNamespace="http://www.springframework.org/schema/aop"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"/>
<xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.0.xsd"/>
<xsd:annotation>
<xsd:documentation><![CDATA[
Defines the configuration elements for the Spring Framework's AOP support.
]]></xsd:documentation>
</xsd:annotation>
<xsd:element name="config">
<xsd:annotation>
<xsd:documentation><![CDATA[
A section (compartmentalization) of AOP-specific configuration (including
aspects, pointcuts, etc).
]]></xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="pointcut" type="pointcutType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation><![CDATA[
A named pointcut definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="advisor" type="advisorType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation source="java:org.springframework.aop.Advisor"><![CDATA[
A named advisor definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="aspect" type="aspectType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation><![CDATA[
A named aspect definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
<xsd:annotation>
<xsd:documentation><![CDATA[
Are class-based (CGLIB) proxies to be created? By default, standard
Java interface-based proxies are created.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="aspectj-autoproxy">
<xsd:annotation>
<xsd:documentation source="java:org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"><![CDATA[
Enables the use of the @AspectJ style of Spring AOP.
]]></xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="include" type="includeType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation><![CDATA[
Indicates that only @AspectJ beans with names matched by the (regex)
pattern will be considered as defining aspects to use for Spring autoproxying.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
<xsd:annotation>
<xsd:documentation><![CDATA[
Are class-based (CGLIB) proxies to be created? By default, standard
Java interface-based proxies are created.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="scoped-proxy">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
Marks a bean definition as being a scoped proxy.
A bean marked as such will be exposed via a proxy, with the 'real'
bean instance being retrieved from some other source (such as a
HttpSession) as and when required.
]]></xsd:documentation>
</xsd:annotation>
<xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
<xsd:annotation>
<xsd:documentation><![CDATA[
Are class-based (CGLIB) proxies to be created? This is the default; in order to
switch to standard Java interface-based proxies, turn this flag to "false".
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="aspectType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="pointcut" type="pointcutType">
<xsd:annotation>
<xsd:documentation><![CDATA[
A named pointcut definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="declare-parents" type="declareParentsType">
<xsd:annotation>
<xsd:documentation><![CDATA[
Allows this aspect to introduce additional interfaces that the advised
object will transparently implement.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="before" type="basicAdviceType">
<xsd:annotation>
<xsd:documentation><![CDATA[
A before advice definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="after" type="basicAdviceType">
<xsd:annotation>
<xsd:documentation><![CDATA[
An after advice definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="after-returning" type="afterReturningAdviceType">
<xsd:annotation>
<xsd:documentation><![CDATA[
An after-returning advice definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="after-throwing" type="afterThrowingAdviceType">
<xsd:annotation>
<xsd:documentation><![CDATA[
An after-throwing advice definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="around" type="basicAdviceType">
<xsd:annotation>
<xsd:documentation><![CDATA[
An around advice definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:attribute name="id" type="xsd:ID">
<xsd:annotation>
<xsd:documentation><![CDATA[
The unique identifier for an aspect.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="ref" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The name of the (backing) bean that encapsulates the aspect.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="order" type="xsd:int">
<xsd:annotation>
<xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
Controls the ordering of the execution of this aspect when multiple
advice executes at a specific joinpoint.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="includeType">
<xsd:attribute name="name" type="xsd:string">
<xsd:annotation>
<xsd:documentation source="java:java.util.regex.Pattern"><![CDATA[
The regular expression defining which beans are to be included in the
list of @AspectJ beans; beans with names matched by the pattern will
be included.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="pointcutType">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation>
<tool:exports type="org.springframework.aop.Pointcut"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<xsd:attribute name="id" type="xsd:ID" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
The unique identifier for a pointcut.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="expression" use="required" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The pointcut expression.
For example : 'execution(* com.xyz.myapp.service.*.*(..))'
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="declareParentsType">
<xsd:attribute name="types-matching" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation source="java:org.springframework.aop.aspectj.TypePatternClassFilter"><![CDATA[
The AspectJ type expression that defines what types (classes) the
introduction is restricted to.
An example would be 'org.springframework.beans.ITestBean+'.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="implement-interface" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation source="java:java.lang.Class"><![CDATA[
The fully qualified name of the interface that will be introduced.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="default-impl" type="xsd:string">
<xsd:annotation>
<xsd:documentation source="java:java.lang.Class"><![CDATA[
The fully qualified name of the class that will be instantiated to serve
as the default implementation of the introduced interface.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="delegate-ref" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
A reference to the bean that will serve
as the default implementation of the introduced interface.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="basicAdviceType">
<xsd:attribute name="pointcut" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The associated pointcut expression.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="pointcut-ref" type="pointcutRefType">
<xsd:annotation>
<xsd:documentation><![CDATA[
The name of an associated pointcut definition.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.aop.Pointcut"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="method" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
The name of the method that defines the logic of the advice.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="arg-names" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The comma-delimited list of advice method argument (parameter) names
that will be matched from pointcut parameters.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="afterReturningAdviceType">
<xsd:complexContent>
<xsd:extension base="basicAdviceType">
<xsd:attribute name="returning" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The name of the method parameter to which the return value must
be passed.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="afterThrowingAdviceType">
<xsd:complexContent>
<xsd:extension base="basicAdviceType">
<xsd:attribute name="throwing" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The name of the method parameter to which the thrown exception must
be passed.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="advisorType">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation>
<tool:exports type="org.springframework.aop.Advisor"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<!-- Rick : ID type written explicitly as opposed to being imported (c.f. [SPR-2290] -->
<xsd:attribute name="id" type="xsd:ID"/>
<xsd:attribute name="advice-ref" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
A reference to an advice bean.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.aopalliance.aop.Advice"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="pointcut" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
A pointcut expression.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="pointcut-ref" type="pointcutRefType">
<xsd:annotation>
<xsd:documentation><![CDATA[
A reference to a pointcut definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="order" type="xsd:int">
<xsd:annotation>
<xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
Controls the ordering of the execution of this advice when multiple
advice executes at a specific joinpoint.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:simpleType name="pointcutRefType">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.aop.Pointcut"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<xsd:union memberTypes="xsd:string"/>
</xsd:simpleType>
</xsd:schema>
Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

@@ -18,6 +18,8 @@ package org.springframework.aop.aspectj.annotation;
import static org.junit.Assert.*;
import java.io.FileNotFoundException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
import java.lang.reflect.UndeclaredThrowableException;
import java.rmi.RemoteException;
@@ -406,7 +408,22 @@ public abstract class AbstractAspectJAdvisorFactoryTests {
CannotBeUnlocked.class);
assertFalse("Type pattern must have excluded mixin", proxy instanceof Lockable);
}
/* prereq AspectJ 1.6.7
@Test
public void testIntroductionBasedOnAnnotationMatch_Spr5307() {
AnnotatedTarget target = new AnnotatedTargetImpl();
List<Advisor> advisors = getFixture().getAdvisors(
new SingletonMetadataAwareAspectInstanceFactory(new MakeAnnotatedTypeModifiable(),"someBean"));
Object proxy = createProxy(target,
advisors,
AnnotatedTarget.class);
System.out.println(advisors.get(1));
assertTrue(proxy instanceof Lockable);
Lockable lockable = (Lockable)proxy;
lockable.locked();
}
*/
// TODO: Why does this test fail? It hasn't been run before, so it maybe never actually passed...
public void XtestIntroductionWithArgumentBinding() {
TestBean target = new TestBean();
@@ -966,6 +983,21 @@ class MakeITestBeanModifiable extends AbstractMakeModifiable {
}
/**
* Adds a declare parents pointcut - spr5307
* @author Andy Clement
* @since 3.0
*/
@Aspect
class MakeAnnotatedTypeModifiable extends AbstractMakeModifiable {
@DeclareParents(value = "(@org.springframework.aop.aspectj.annotation.Measured *)",
// @DeclareParents(value = "(@Measured *)", // this would be a nice alternative...
defaultImpl=DefaultLockable.class)
public static Lockable mixin;
}
/**
* Demonstrates introductions, AspectJ annotation style.
@@ -1024,8 +1056,20 @@ interface Modifiable {
}
/**
* Used as a target.
* @author Andy Clement
*/
interface AnnotatedTarget {
}
@Measured
class AnnotatedTargetImpl implements AnnotatedTarget {
}
@Retention(RetentionPolicy.RUNTIME)
@interface Measured {}
class NotLockable {
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,30 +16,29 @@
package org.springframework.aop.framework;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.*;
import java.lang.reflect.Method;
import javax.accessibility.Accessible;
import javax.swing.*;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.aop.Advisor;
import org.springframework.aop.MethodBeforeAdvice;
import org.springframework.aop.interceptor.DebugInterceptor;
import org.springframework.aop.support.AopUtils;
import org.springframework.aop.support.DefaultIntroductionAdvisor;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.DelegatingIntroductionInterceptor;
import test.aop.MethodCounter;
import test.aop.CountingBeforeAdvice;
import test.aop.NopInterceptor;
import test.beans.IOther;
import test.beans.ITestBean;
import test.beans.TestBean;
import test.util.TimeStamped;
import org.springframework.aop.Advisor;
import org.springframework.aop.interceptor.DebugInterceptor;
import org.springframework.aop.support.AopUtils;
import org.springframework.aop.support.DefaultIntroductionAdvisor;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.DelegatingIntroductionInterceptor;
/**
* Also tests AdvisedSupport and ProxyCreatorSupport superclasses.
*
@@ -310,50 +309,37 @@ public final class ProxyFactoryTests {
assertTrue(proxy instanceof TestBean);
}
@Test
@Ignore("Not implemented yet, see http://jira.springframework.org/browse/SPR-5708")
public void testExclusionOfNonPublicInterfaces() {
JFrame frame = new JFrame();
ProxyFactory proxyFactory = new ProxyFactory(frame);
Object proxy = proxyFactory.getProxy();
assertTrue(proxy instanceof RootPaneContainer);
assertTrue(proxy instanceof Accessible);
}
public static class Concrete {
public void foo() {
@SuppressWarnings("serial")
private static class TimestampIntroductionInterceptor extends DelegatingIntroductionInterceptor
implements TimeStamped {
private long ts;
public TimestampIntroductionInterceptor() {
}
public TimestampIntroductionInterceptor(long ts) {
this.ts = ts;
}
public void setTime(long ts) {
this.ts = ts;
}
public long getTimeStamp() {
return ts;
}
}
}
/**
* Simple before advice example that we can use for counting checks.
*
* @author Rod Johnson
*/
@SuppressWarnings("serial")
class CountingBeforeAdvice extends MethodCounter implements MethodBeforeAdvice {
public void before(Method m, Object[] args, Object target) throws Throwable {
count(m);
}
}
@SuppressWarnings("serial")
class TimestampIntroductionInterceptor extends DelegatingIntroductionInterceptor
implements TimeStamped {
private long ts;
public TimestampIntroductionInterceptor() {
}
public TimestampIntroductionInterceptor(long ts) {
this.ts = ts;
}
public void setTime(long ts) {
this.ts = ts;
}
public long getTimeStamp() {
return ts;
}
}
@@ -1,12 +1,12 @@
/*
* Copyright 2002-2005 the original author or authors.
*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,30 +16,21 @@
package org.springframework.aop.framework.adapter;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Method;
import java.rmi.RemoteException;
import javax.transaction.TransactionRolledbackException;
import org.aopalliance.intercept.MethodInvocation;
import org.junit.Ignore;
import static org.easymock.EasyMock.*;
import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.aop.ThrowsAdvice;
import test.aop.MethodCounter;
import org.springframework.aop.ThrowsAdvice;
/**
* Unit tests for {@link ThrowsAdviceInterceptor}
*
* @author Rod Johnson
* @author Chris Beams
*/
@@ -52,7 +43,6 @@ public final class ThrowsAdviceInterceptorTests {
}
@Test
@Ignore
public void testNotInvoked() throws Throwable {
MyThrowsHandler th = new MyThrowsHandler();
ThrowsAdviceInterceptor ti = new ThrowsAdviceInterceptor(th);
@@ -15,7 +15,7 @@
<property name="targetField"><value>INSTANCE</value></property>
</bean>
<bean id="countingBeforeAdvice" class="org.springframework.aop.framework.CountingBeforeAdvice"/>
<bean id="countingBeforeAdvice" class="test.aop.CountingBeforeAdvice"/>
<bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
@@ -0,0 +1,41 @@
/*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.aop.support;
import junit.framework.TestCase;
import org.springframework.aop.framework.ProxyFactory;
import test.beans.TestBean;
import org.springframework.util.ClassUtils;
/**
* @author Colin Sampaleanu
* @author Juergen Hoeller
* @author Rob Harrop
* @author Rick Evans
*/
public class ClassUtilsTests extends TestCase {
public void testGetShortNameForCglibClass() {
TestBean tb = new TestBean();
ProxyFactory pf = new ProxyFactory();
pf.setTarget(tb);
pf.setProxyTargetClass(true);
TestBean proxy = (TestBean) pf.getProxy();
String className = ClassUtils.getShortName(proxy.getClass());
assertEquals("Class name did not match", "TestBean", className);
}
}
@@ -0,0 +1,35 @@
/*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package test.aop;
import java.lang.reflect.Method;
import org.springframework.aop.MethodBeforeAdvice;
/**
* Simple before advice example that we can use for counting checks.
*
* @author Rod Johnson
*/
@SuppressWarnings("serial")
public class CountingBeforeAdvice extends MethodCounter implements MethodBeforeAdvice {
public void before(Method m, Object[] args, Object target) throws Throwable {
count(m);
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,9 +16,7 @@
package test.util;
import static org.junit.Assert.*;
import java.awt.Point;
import java.awt.*;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -28,8 +26,8 @@ import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable;
import static org.junit.Assert.*;
import org.junit.Test;
import test.beans.TestBean;
/**
@@ -41,13 +39,13 @@ import test.beans.TestBean;
* @author Chris Beams
*/
public final class SerializationTestUtils {
public static void testSerialization(Object o) throws IOException {
OutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(o);
}
public static boolean isSerializable(Object o) throws IOException {
try {
testSerialization(o);
@@ -57,7 +55,7 @@ public final class SerializationTestUtils {
return false;
}
}
public static Object serializeAndDeserialize(Object o) throws IOException, ClassNotFoundException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
@@ -69,30 +67,30 @@ public final class SerializationTestUtils {
ByteArrayInputStream is = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(is);
Object o2 = ois.readObject();
return o2;
}
@Test(expected=NotSerializableException.class)
public void testWithNonSerializableObject() throws IOException {
TestBean o = new TestBean();
assertFalse(o instanceof Serializable);
assertFalse(isSerializable(o));
testSerialization(o);
}
@Test
public void testWithSerializableObject() throws Exception {
int x = 5;
int y = 10;
Point p = new Point(x, y);
assertTrue(p instanceof Serializable);
testSerialization(p);
assertTrue(isSerializable(p));
Point p2 = (Point) serializeAndDeserialize(p);
assertNotSame(p, p2);
assertEquals(x, (int) p2.getX());
+8 -4
View File
@@ -9,8 +9,12 @@ Import-Template:
org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
org.apache.commons.pool.*;version="[1.3.0, 2.0.0)";resolution:=optional,
org.aspectj.*;version="[1.5.4, 2.0.0)";resolution:=optional,
org.springframework.beans.*;version="[3.0.0, 3.0.1)",
org.springframework.beans.*;version="[3.0.0, 3.0.1)";resolution:=optional,
org.springframework.core.*;version="[3.0.0, 3.0.1)",
org.springframework.util.*;version="[3.0.0, 3.0.1)"
Unversioned-Imports:
*
org.springframework.util.*;version="[3.0.0, 3.0.1)",
org.w3c.dom.*;version="0";resolution:=optional
Ignored-Existing-Headers:
Bnd-LastModified,
Import-Package,
Export-Package,
Tool
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.springframework.instrument.classloading</name>
<name>org.springframework.asm</name>
<comment></comment>
<projects>
</projects>
@@ -1,4 +1,4 @@
#Thu Dec 18 06:35:16 PST 2008
#Wed Jul 15 00:01:30 PDT 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
@@ -0,0 +1,4 @@
#Thu Dec 18 06:34:35 PST 2008
eclipse.preferences.version=1
formatter_profile=org.eclipse.jdt.ui.default.eclipse_profile
formatter_settings_version=11
+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.springframework.asm" xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="${basedir}/../build.properties"/>
<import file="${basedir}/../build-spring-framework/package-bundle.xml"/>
<import file="${basedir}/../spring-build/standard/default.xml"/>
<target name="jar" depends="ivy.init, jar.init, jarjar.init"
description="Creates a JAR file containing the output of a compilation of the source tree.">
<delete quiet="true" file="${ivy.output.file}"/>
<mkdir dir="${ivy.output.dir}"/>
<delete quiet="true" file="${jar.output.file}"/>
<mkdir dir="${jar.output.dir}"/>
<delete quiet="true" file="${source-jar.output.file}"/>
<mkdir dir="${source-jar.output.dir}"/>
<delete quiet="true" dir="${target.dir}/jarjar-staging"/>
<mkdir dir="${target.dir}/jarjar-staging"/>
<ivy:retrieve resolveId="asm.path" pattern="${target.dir}/jarjar-staging/[artifact].[ext]" conf="jarjar" type="jar"
log="download-only"/>
<jarjar destfile="${jar.output.file}" index="true" filesetmanifest="merge">
<manifest>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
<attribute name="Implementation-Title" value="${implementation.title}"/>
<attribute name="Implementation-Version" value="${implementation.version}"/>
</manifest>
<zipfileset src="${target.dir}/jarjar-staging/com.springsource.org.objectweb.asm.jar"/>
<zipfileset src="${target.dir}/jarjar-staging/com.springsource.org.objectweb.asm.commons.jar"/>
<rule pattern="org.objectweb.asm.**" result="org.springframework.asm.@1"/>
</jarjar>
<antcall target="bundlor"/>
<jar destfile="${source-jar.output.file}" basedir="${main.java.dir}" index="true"/>
<ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}">
<artifacts pattern="${jar.output.dir}/[artifact].[ext]"/>
<artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/>
<artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
</ivy:publish>
</target>
<target name="jarjar.init" depends="ivy.init">
<ivy:cachepath resolveId="jarjar.classpath" pathid="jarjar.classpath" organisation="com.google.jarjar"
module="com.springsource.com.tonicsystems.jarjar" revision="1.0.0" conf="compile" inline="true"
type="jar" log="download-only"/>
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpathref="jarjar.classpath"/>
</target>
</project>
+27
View File
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://ivyrep.jayasoft.org/ivy-doc.xsl"?>
<ivy-module
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd"
version="1.3">
<info organisation="org.springframework" module="${ant.project.name}">
<license name="Apache 2.0" url="http://www.apache.org/licenses/LICENSE-2.0"/>
</info>
<configurations>
<include file="${spring.build.dir}/common/default-ivy-configurations.xml"/>
<conf name="jarjar" visibility="private" description="JARs to be jarjar'd into current JAR"/>
</configurations>
<publications>
<artifact name="${ant.project.name}"/>
<artifact name="${ant.project.name}-sources" type="src" ext="jar"/>
</publications>
<dependencies>
<dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm" rev="2.2.3" conf="jarjar->runtime"/>
<dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm.commons" rev="2.2.3" conf="jarjar->runtime"/>
</dependencies>
</ivy-module>
+56
View File
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<packaging>jar</packaging>
<version>3.0.0.RC2</version>
<parent>
<groupId>org.springframework</groupId>
<artifactId>spring-parent</artifactId>
<relativePath>../org.springframework.spring-parent</relativePath>
<version>3.0.0.RC2</version>
</parent>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>jarjar</id>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpathref="maven.plugin.classpath" />
<jarjar jarfile="${project.build.directory}${file.separator}${project.build.finalName}-jarjar.jar">
<zipfileset src="${project.build.directory}/jarjar-staging/com.springsource.org.objectweb.asm.jar"/>
<zipfileset src="${project.build.directory}/jarjar-staging/com.springsource.org.objectweb.asm.commons.jar"/>
<rule pattern="org.objectweb.asm.**" result="org.springframework.asm.@1"/>
</jarjar>
<unjar src="${project.build.directory}${file.separator}${project.build.finalName}-jarjar.jar"
dest="${project.build.outputDirectory}">
<patternset>
<include name="**/*.class"/>
<exclude name="*"/>
</patternset>
</unjar>
</tasks>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.google.code</groupId>
<artifactId>jarjar</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
+6
View File
@@ -0,0 +1,6 @@
Bundle-SymbolicName: org.springframework.asm
Bundle-Name: Spring ASM
Bundle-Vendor: SpringSource
Bundle-ManifestVersion: 2
Ignored-Existing-Headers:
Import-Package
+10 -4
View File
@@ -5,11 +5,17 @@
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.beans"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.transaction"/>
<classpathentry kind="var" path="IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar" sourcepath="/IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-sources-1.1.1.jar"/>
<classpathentry kind="con" path="org.eclipse.ajdt.core.ASPECTJRT_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.beans"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.context"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.context.support"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.core"/>
<classpathentry kind="var" path="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-1.6.2.RELEASE.jar" sourcepath="/IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.2.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.2.RELEASE.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.transaction"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.test"/>
<classpathentry kind="var" path="IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar" sourcepath="/IVY_CACHE/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-sources-1.1.1.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-1.6.5.RELEASE.jar" sourcepath="/IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.5.RELEASE.jar"/>
<classpathentry kind="var" path="IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-4.7.0.jar" sourcepath="/IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-sources-4.7.0.jar"/>
<classpathentry kind="var" path="IVY_CACHE/javax.persistence/com.springsource.javax.persistence/1.0.0/com.springsource.javax.persistence-1.0.0.jar" sourcepath="/IVY_CACHE/javax.persistence/com.springsource.javax.persistence/1.0.0/com.springsource.javax.persistence-sources-1.0.0.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.orm"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
@@ -1,4 +1,4 @@
#Tue Oct 28 09:03:52 EDT 2008
#Wed Jul 15 00:01:30 PDT 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+49
View File
@@ -3,4 +3,53 @@
<property file="${basedir}/../build.properties"/>
<import file="${basedir}/../build-spring-framework/package-bundle.xml"/>
<import file="${basedir}/../spring-build/aspect/default.xml"/>
<target name="test.do" depends="ivy.init, resolve.test, resolve.aspects, compile.init, test.init" if="test.exists">
<path id="test.compile.classpath">
<pathelement location="${jar.output.file}"/>
<path refid="compile.classpath"/>
<path refid="test.classpath"/>
</path>
<!--
<test-compile classpath.id="test.compile.classpath" input.dir="${test.java.dir}" output.dir="${test.output.dir}"
resources.dir="${test.resources.dir}"/>
-->
<iajc sourceroots="${test.java.dir}" aspectPath="${jar.output.file}" classpathRef="test.compile.classpath"
destDir="${test.output.dir}" source="${source.version}" checkRuntimeVersion="false"/>
<copy todir="${test.output.dir}">
<fileset dir="${test.java.dir}">
<exclude name="**/*.aj"/>
<exclude name="**/*.java"/>
<exclude name="*.aj"/>
<exclude name="*.java"/>
</fileset>
</copy>
<path id="test.run.classpath">
<pathelement location="${jar.output.file}"/>
<pathelement location="${test.output.dir}"/>
<path refid="compile.classpath"/>
<path refid="test.classpath"/>
<path refid="runtime.classpath"/>
</path>
<test-run classpath.id="test.run.classpath"/>
</target>
<target name="clover.instrument">
<!--
Override to avoid build failure. Created SPR-5921 to fix this propertly
-->
</target>
<target name="clover">
<!--
Override to avoid build failure. Created SPR-5921 to fix this propertly
-->
</target>
<target name="clover.do">
<!--
Override to avoid build failure. Created SPR-5921 to fix this propertly
-->
</target>
</project>
+10 -2
View File
@@ -13,6 +13,7 @@
<include file="${spring.build.dir}/common/default-ivy-configurations.xml"/>
<conf name="aspectj" extends="runtime" description="JARs needed to run with AspectJ"/>
<conf name="tx" extends="runtime" description="JARs needed to run transactional aspects"/>
<conf name="orm" extends="runtime" description="JARs needed to compile JPA aspects"/>
</configurations>
<publications>
@@ -22,9 +23,16 @@
<dependencies>
<dependency org="org.apache.commons" name="com.springsource.org.apache.commons.logging" rev="1.1.1" conf="compile->compile"/>
<dependency org="org.aspectj" name="com.springsource.org.aspectj.weaver" rev="1.6.2.RELEASE" conf="optional, aspectj->compile"/>
<dependency org="org.springframework" name="org.springframework.beans" rev="latest.integration" conf="compile->compile"/>
<dependency org="org.aspectj" name="com.springsource.org.aspectj.weaver" rev="1.6.5.RELEASE" conf="optional, aspectj->compile"/>
<dependency org="org.springframework" name="org.springframework.beans" rev="latest.integration" conf="test->compile"/>
<dependency org="org.springframework" name="org.springframework.transaction" rev="latest.integration" conf="optional, tx->compile"/>
<dependency org="org.springframework" name="org.springframework.orm" rev="latest.integration" conf="optional,orm->compile"/>
<dependency org="org.springframework" name="org.springframework.test" rev="latest.integration" conf="test->runtime"/>
<dependency org="org.springframework" name="org.springframework.context" rev="latest.integration" conf="test->runtime"/>
<dependency org="org.springframework" name="org.springframework.context.support" rev="latest.integration" conf="test->runtime"/>
<dependency org="org.junit" name="com.springsource.org.junit" rev="4.7.0" conf="compile->compile"/>
<dependency org="javax.persistence" name="com.springsource.javax.persistence" rev="1.0.0" conf="provided, compile->compile"/>
<dependency org="javax.mail" name="com.springsource.javax.mail" rev="1.4.0" conf="test->compile"/>
</dependencies>
</ivy-module>
+76 -58
View File
@@ -1,59 +1,77 @@
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<packaging>jar</packaging>
<version>3.0.0.RC2</version>
<parent>
<groupId>org.springframework</groupId>
<artifactId>spring-parent</artifactId>
<relativePath>../org.springframework.spring-parent</relativePath>
<version>3.0.0.RC2</version>
</parent>
<dependencies>
<!-- common logging dependency is in spring-core -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.core</artifactId>
<packaging>jar</packaging>
<name>Spring Core Abstractions and Utilities</name>
<version>3.0.0.M1</version>
<repositories>
<repository>
<id>com.springsource.repository.bundles.external</id>
<name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
<url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.log4j</groupId>
<artifactId>com.springsource.org.apache.log4j</artifactId>
<version>1.2.15</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.collections</artifactId>
<version>3.2.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>com.springsource.org.aspectj.weaver</artifactId>
<version>1.6.2.RELEASE</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.objectweb.asm</groupId>
<artifactId>com.springsource.org.objectweb.asm.commons</artifactId>
<version>2.2.3</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>
<artifactId>spring-context</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<junitArtifactName>junit:junit</junitArtifactName>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
@@ -0,0 +1,54 @@
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.beans.factory.aspectj;
/**
* Generic-based dependency injection aspect.
* <p>
* This aspect allows users to implement efficient, type-safe dependency injection without
* the use of the &#64;Configurable annotation.
*
* The subaspect of this aspect doesn't need to include any AOP constructs.
* For example, here is a subaspect that configures the <code>PricingStrategyClient</code> objects.
* <pre>
* aspect PricingStrategyDependencyInjectionAspect
* extends GenericInterfaceDrivenDependencyInjectionAspect<PricingStrategyClient> {
* private PricingStrategy pricingStrategy;
*
* public void configure(PricingStrategyClient bean) {
* bean.setPricingStrategy(pricingStrategy);
* }
*
* public void setPricingStrategy(PricingStrategy pricingStrategy) {
* this.pricingStrategy = pricingStrategy;
* }
* }
* </pre>
* @author Ramnivas Laddad
* @since 3.0.0
*/
public abstract aspect GenericInterfaceDrivenDependencyInjectionAspect<I> extends AbstractInterfaceDrivenDependencyInjectionAspect {
declare parents: I implements ConfigurableObject;
public pointcut inConfigurableBean() : within(I+);
public final void configureBean(Object bean) {
configure((I)bean);
}
// Unfortunately, erasure used with generics won't allow to use the same named method
protected abstract void configure(I bean);
}
@@ -0,0 +1,182 @@
package org.springframework.mock.staticmock;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* Abstract aspect to enable mocking of methods picked out by a pointcut.
* Sub-aspects must define the mockStaticsTestMethod() pointcut to
* indicate call stacks when mocking should be triggered, and the
* methodToMock() pointcut to pick out a method invocations to mock.
*
* @author Rod Johnson
* @author Ramnivas Laddad
*
*/
public abstract aspect AbstractMethodMockingControl percflow(mockStaticsTestMethod()) {
protected abstract pointcut mockStaticsTestMethod();
protected abstract pointcut methodToMock();
private boolean recording = true;
static enum CallResponse { nothing, return_, throw_ };
// Represents a list of expected calls to static entity methods
// Public to allow inserted code to access: is this normal??
public class Expectations {
// Represents an expected call to a static entity method
private class Call {
private final String signature;
private final Object[] args;
private Object responseObject; // return value or throwable
private CallResponse responseType = CallResponse.nothing;
public Call(String name, Object[] args) {
this.signature = name;
this.args = args;
}
public boolean hasResponseSpecified() {
return responseType != CallResponse.nothing;
}
public void setReturnVal(Object retVal) {
this.responseObject = retVal;
responseType = CallResponse.return_;
}
public void setThrow(Throwable throwable) {
this.responseObject = throwable;
responseType = CallResponse.throw_;
}
public Object returnValue(String lastSig, Object[] args) {
checkSignature(lastSig, args);
return responseObject;
}
public Object throwException(String lastSig, Object[] args) {
checkSignature(lastSig, args);
throw (RuntimeException)responseObject;
}
private void checkSignature(String lastSig, Object[] args) {
if (!signature.equals(lastSig)) {
throw new IllegalArgumentException("Signature doesn't match");
}
if (!Arrays.equals(this.args, args)) {
throw new IllegalArgumentException("Arguments don't match");
}
}
}
private List<Call> calls = new LinkedList<Call>();
// Calls already verified
private int verified;
public void verify() {
if (verified != calls.size()) {
throw new IllegalStateException("Expected " + calls.size()
+ " calls, received " + verified);
}
}
/**
* Validate the call and provide the expected return value
* @param lastSig
* @param args
* @return
*/
public Object respond(String lastSig, Object[] args) {
Call call = nextCall();
CallResponse responseType = call.responseType;
if (responseType == CallResponse.return_) {
return call.returnValue(lastSig, args);
} else if(responseType == CallResponse.throw_) {
return (RuntimeException)call.throwException(lastSig, args);
} else if(responseType == CallResponse.nothing) {
// do nothing
}
throw new IllegalStateException("Behavior of " + call + " not specified");
}
private Call nextCall() {
if (verified > calls.size() - 1) {
throw new IllegalStateException("Expected " + calls.size()
+ " calls, received " + verified);
}
return calls.get(verified++);
}
public void expectCall(String lastSig, Object lastArgs[]) {
Call call = new Call(lastSig, lastArgs);
calls.add(call);
}
public boolean hasCalls() {
return !calls.isEmpty();
}
public void expectReturn(Object retVal) {
Call call = calls.get(calls.size() - 1);
if (call.hasResponseSpecified()) {
throw new IllegalStateException("No static method invoked before setting return value");
}
call.setReturnVal(retVal);
}
public void expectThrow(Throwable throwable) {
Call call = calls.get(calls.size() - 1);
if (call.hasResponseSpecified()) {
throw new IllegalStateException("No static method invoked before setting throwable");
}
call.setThrow(throwable);
}
}
private Expectations expectations = new Expectations();
after() returning : mockStaticsTestMethod() {
if (recording && (expectations.hasCalls())) {
throw new IllegalStateException(
"Calls recorded, yet playback state never reached: Create expectations then call "
+ this.getClass().getSimpleName() + ".playback()");
}
expectations.verify();
}
Object around() : methodToMock() {
if (recording) {
expectations.expectCall(thisJoinPointStaticPart.toLongString(), thisJoinPoint.getArgs());
// Return value doesn't matter
return null;
} else {
return expectations.respond(thisJoinPointStaticPart.toLongString(), thisJoinPoint.getArgs());
}
}
public void expectReturnInternal(Object retVal) {
if (!recording) {
throw new IllegalStateException("Not recording: Cannot set return value");
}
expectations.expectReturn(retVal);
}
public void expectThrowInternal(Throwable throwable) {
if (!recording) {
throw new IllegalStateException("Not recording: Cannot set throwable value");
}
expectations.expectThrow(throwable);
}
public void playbackInternal() {
recording = false;
}
}
@@ -0,0 +1,55 @@
package org.springframework.mock.staticmock;
import javax.persistence.Entity;
/**
* Annotation-based aspect to use in test build to enable mocking static methods
* on Entity classes, as used by Roo for finders.
* <br>
* Mocking will occur in the call stack of any method in a class (typically a test class)
* that is annotated with the @MockStaticEntityMethods annotation.
* <br>
* Also provides static methods to simplify the programming model for
* entering playback mode and setting expected return values.
* <br>
* Usage:<ol>
* <li>Annotate a test class with @MockStaticEntityMethods.
* <li>In each test method, AnnotationDrivenStaticEntityMockingControl will begin in recording mode.
* Invoke static methods on Entity classes, with each recording-mode invocation
* being followed by an invocation to the static expectReturn() or expectThrow()
* method on AnnotationDrivenStaticEntityMockingControl.
* <li>Invoke the static AnnotationDrivenStaticEntityMockingControl() method.
* <li>Call the code you wish to test that uses the static methods. Verification will
* occur automatically.
* </ol>
*
* @see MockStaticEntityMethods
*
* @author Rod Johnson
* @author Ramnivas Laddad
*
*/
public aspect AnnotationDrivenStaticEntityMockingControl extends AbstractMethodMockingControl {
/**
* Stop recording mock calls and enter playback state
*/
public static void playback() {
AnnotationDrivenStaticEntityMockingControl.aspectOf().playbackInternal();
}
public static void expectReturn(Object retVal) {
AnnotationDrivenStaticEntityMockingControl.aspectOf().expectReturnInternal(retVal);
}
public static void expectThrow(Throwable throwable) {
AnnotationDrivenStaticEntityMockingControl.aspectOf().expectThrowInternal(throwable);
}
// Only matches directly annotated @Test methods, to allow methods in
// @MockStatics classes to invoke each other without resetting the mocking environment
protected pointcut mockStaticsTestMethod() : execution(public * (@MockStaticEntityMethods *).*(..));
protected pointcut methodToMock() : execution(public static * (@Entity *).*(..));
}
@@ -0,0 +1,21 @@
package org.springframework.mock.staticmock;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotation to indicate a test class for whose @Test methods
* static methods on Entity classes should be mocked.
*
* @see AbstractMethodMockingControl
*
* @author Rod Johnson
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MockStaticEntityMethods {
}
@@ -0,0 +1,22 @@
package org.springframework.orm.jpa.aspectj;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.jpa.EntityManagerFactoryUtils;
public aspect JpaExceptionTranslatorAspect {
pointcut entityManagerCall(): call(* EntityManager.*(..)) || call(* EntityManagerFactory.*(..)) || call(* EntityTransaction.*(..)) || call(* Query.*(..));
after() throwing(RuntimeException re): entityManagerCall() {
DataAccessException dex = EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(re);
if (dex != null) {
throw dex;
} else {
throw re;
}
}
}

Some files were not shown because too many files have changed in this diff Show More