Commit Graph

2009 Commits

Author SHA1 Message Date
Juergen Hoeller
52cca48f40 Polishing 2013-10-04 22:53:49 +02:00
Juergen Hoeller
8b3afda6f4 Marked Jackson 1.x support classes as deprecated 2013-10-04 22:52:47 +02:00
Rossen Stoyanchev
52d663e596 Make method in RequestMappingHandlerMapping protected
Issue: SPR-10950
2013-10-02 17:47:31 -04:00
Rossen Stoyanchev
c01f45fa59 Fix failing test 2013-10-01 14:56:21 -04:00
Rossen Stoyanchev
f8e1f06d08 Update Spring MVC Java config for ResourceResolvers 2013-10-01 14:43:38 -04:00
Rossen Stoyanchev
1ba806b185 Remove unintended changes from last commit 2013-09-27 21:17:02 -04:00
Rossen Stoyanchev
5a2e30c18b Refactor Resource URL generation and Servlet Filter
Renamed ResourceUrlMapper to ResourceUrlGenerator and refactored it
to be configured with Resource-serving HandlerMappings as opposed to
having them detected in the ApplicationContext through the
BeanPostProcessor contact.

Renamed and polished ResourceUrlEncodingFilter to ResourceUrlFilter
and added tests.
2013-09-27 21:07:31 -04:00
Rossen Stoyanchev
3c48b42106 Refactor ResourceResolverChain + resolver class names
This change splits out resource transformation out from the
ResourceResolverChain so that chain is focused entirely on resource
resolution (as its name suggests). The invocation of transformers
is left as a separate step, it uses a different (recursive)
algorithm in any case and iterates over a different set of objects.

Also ResourceResolverChain is now limited strictly to methods that
a ResourceResolver should be able to use to delegate to remaining
resolvers.

Furthermore, ResourceResolverChain now maintains an internal index
of the "current" resolver so that resolvers don't have to pass the
chain when invoking it much like a (Servlet API) FilterChain works.
If the last resolver calls the chain again, a null value is returned.
2013-09-27 21:07:31 -04:00
Rossen Stoyanchev
0e58125b15 Polish 2013-09-27 21:07:31 -04:00
Jeremy Grelle
61e61bd5fd Asset pipeline proposal. 2013-09-27 21:07:31 -04:00
Brian Clozel
62d6a43c61 Add NoHandlerFoundException to DispatcherServlet
Prior to this commit, the DispatcherServlet would send an error
response using the HttpServlet API when no Handler was found to
handle this request.

Now the DispatcherServlet can be configured to throw a
NoHandlerFoundException, when the throwExceptionIfNoHandlerFound
property is set to "true".
Those exceptions can be later on caught by default or custom
HandlerExceptionResolvers/ExceptionHandlers.

Issue: SPR-10481
2013-09-25 14:11:01 -04:00
Rossen Stoyanchev
50178550eb Add option to remove path ext in ServletUriCompBuilder
Issue: SPR-10272
2013-08-29 13:39:26 -04:00
Juergen Hoeller
caa1218d36 Polishing 2013-08-29 19:17:59 +02:00
Juergen Hoeller
88115212eb Consistent xsd header formatting 2013-08-22 19:37:42 +02:00
Juergen Hoeller
3d462b6dd9 Added missing spring.schemas entries for 4.0 xsds
Also fixing an old XmlBeanFactory test that relies on "ref local" which is gone in the 4.0 xsd now, redeclaring the affected file to an older xsd version.
2013-08-22 19:36:53 +02:00
Juergen Hoeller
1420b970a7 Introduced DefaultParameterNameDiscoverer which checks JDK 8's standard reflection first and then falls back to ASM-based debug symbol analysis
Also, StandardReflectionParameterNameDiscoverer calls "Parameter.isNamePresent()" now to return null (and pass on to the next discoverer) if no JDK 8 parameters are available. Note that this requires OpenJDK 8 b100 or higher to compile now.

Issue: SPR-10532
2013-08-08 15:52:43 +02:00
Rossen Stoyanchev
82a26024ae Allow @ResponseBody on the type level
This change enables having @ResponseBody on the type-level in which
case it inherited and does not need to be added on the method level.

For added convenience, there is also a new @RestController annotation,
a meta-annotation in turn annotated with @Controller and @ResponseBody.
Classes with the new annotation do not need to have @ResponseBody
declared on the method level as it is inherited.

Issue: SPR-10814
2013-08-07 18:54:36 -04:00
Rossen Stoyanchev
eb4579b4d4 Extract MimeType as a base class of MediaType
MimeType is available in core-spring and does not include support
for quality parameters and media used in HTTP content negotiation.
The MediaType sub-class in org.springframework.http adds q-parameters.
2013-08-07 13:21:37 -04:00
Sam Brannen
cc2e7bb3d7 Polish AbstractContextLoaderInitializer and subclasses
This commit polishes the Javadoc and assertion failure messages for
AbstractContextLoaderInitializer and its subclasses.
2013-08-05 19:13:16 +02:00
Juergen Hoeller
2af891683e Polishing
Issue: SPR-10752
Issue: SPR-10627
(cherry picked from commit ae0f23e)
2013-08-01 00:20:33 +02:00
Rossen Stoyanchev
803779d160 Support List<Part> method arguments
Issue: SPR-10591
2013-07-30 22:01:17 -04:00
Rossen Stoyanchev
1e90d02973 Fix issue with parsing x-forwarded-host header
Issue: SPR-10701
2013-07-30 11:56:42 -04:00
Phillip Webb
bc5246938d Fix ResourceHttpRequestHandler empty location log
Fix ResourceHttpRequestHandler to only log warning when locations
is empty.

Issue: SPR-10780
2013-07-24 16:52:01 -07:00
Rob Winch
f7c0795c1a Add TestGroup.CUSTOM_COMPILATION
Previously building with JDK > 1.8 b88 caused test failures due to errors
with custom compilers like Jibx and Jasper reports.

This commit adds a new TestGroup named CUSTOM_COMPILATION that allows the
CI server to continue to run these tests but allow committers to ignore
these tests.
2013-07-24 09:29:17 -05:00
twhitmorenz
504d5da71f Log view exception in DispatcherServlet
Issue: SPR-10340
2013-07-24 09:13:48 -04:00
Phillip Webb
4500bf7661 Fix malformed Javadoc 2013-07-22 13:30:38 -07:00
Nicholas Williams
f9b17a708f Add <spring:argument> subtag for message/theme
Add a new <spring:argument> tag that cab be nested within
<spring:message> and <spring:theme>. The tag is based on the <fmt:param>
tag and uses conventions found throughout other Spring tags.

Issue: SPR-9678
2013-07-22 10:51:02 -07:00
Nicholas Williams
50bd70f13d Ensure ParamTag release resources
Update ParamTag to reset values when resources are released. This
prevents problems in containers that pool tags.

Issue: SPR-10769
2013-07-22 10:33:58 -07:00
Nicholas Williams
110db37f1c Fix malformed UrlTag Javadoc 2013-07-22 10:33:44 -07:00
Nicholas Williams
915e93cc81 Update TLD versions to 4.0 2013-07-22 10:32:59 -07:00
Rossen Stoyanchev
d0d670cd7d Make the JSON prefix used in converters configurable
Issue: SPR-10627
2013-07-19 17:22:58 -04:00
Rossen Stoyanchev
a4c15d6678 Replace assert w/ warning in ResourceHttpRequestHandl.
Issue: SPR-9186
2013-07-19 17:22:58 -04:00
Rossen Stoyanchev
da1fafa930 Fix issue in MappingJacksonJsonView
Issue: SPR-10752
2013-07-19 17:22:58 -04:00
Rossen Stoyanchev
675ec4c3e2 Fix issue in ContentNeogitatingViewResolver
The following commit in 3.2.3 had a side effect on CNVR:
aaded7e30b

It appears that CNVR doesn't treat a request for "*/*" differently
from a request that does not request content types. Both should be
interpreted as "any content type is acceptable". This fix ensures
that CNVR treats these two cases the same way.

Issue: SPR-10683
2013-07-18 21:53:39 -04:00
Biju Kunjummen
83ea0fb9e0 Fix typo in ModelAndViewMethodReturnValueHandler
This commit fixes a typo in the class-level Javadoc for
ModelAndViewMethodReturnValueHandler.

Issue: SPR-10650
2013-07-11 01:33:02 +02:00
Sam Brannen
907e286e77 Fix typos in HandlerAdapter 2013-07-06 15:31:12 -04:00
Rossen Stoyanchev
62e23363cb Fix getters to match setters in RMHA
Issue: SPR-10519
2013-06-20 20:57:24 -04:00
Rossen Stoyanchev
4b22558a06 Add HTTP method to RequestDataValueProcessor method
Issue: SPR-10041, SPR-10652
2013-06-20 20:57:24 -04:00
Sam Brannen
f311bf3daf Introduce TCP & UDP server port scanning utility
Prior to this commit the Spring Framework did not provide a public means
for scanning for available server ports. However, the Spring Framework
internally used a FreePortScanner in integration tests within its own
test suite. Furthermore, Spring Integration 2.2 provides similar support
in a SocketUtils class in the spring-integration-test module.

This commit introduces SocketUtils in spring-core to replace the
FreePortScanner which was previously only used internally within
Spring's test suite. This new implementation is inspired by both Spring
Framework's FreePortScanner and Spring Integration's SocketUtils and
consequently attempts to merge the best of both previous
implementations.

Issue: SPR-8032
2013-06-15 13:46:32 +02:00
Juergen Hoeller
28164b4b23 Introduced "jsonPrefix" bean property
This change involves a modification of the "writeContent" template method to include the "jsonPrefix" String instead of the "prefixJson" boolean flag. Since said template method has only been introduced in 3.2.2, this change should hopefully not be a problem.

Issue: SPR-10567
2013-05-15 23:54:51 +02:00
Rossen Stoyanchev
d23de282a6 Reinstate removal of semicolon content
Commit 5b1165 was an attempt to leave semicolon content in the URL path
while ignoring it for request mapping purposes. However, it becomes
quite difficult to manage and semicolon content should not always be
ignored (sometimes a semicolon is used as a separator of multiple items
in a path segment, rather than for matrix variables).

This change effectively reverts back to the original approach in 3.2
where a flag on AbstractHandlerMapping can be used to have semicolon
content removed or kept. If kept, path segments with matrix variables
must be represented with a path segment.

The main difference is that by default it is removed everywhere
including the MVC namespace and Java config.

Issue: SPR-10427, SPR-10234
2013-05-14 21:32:09 -04:00
Rob Winch
9468548116 Add @Override to remaining source files
Issue: SPR-10130
2013-05-13 17:04:56 -05:00
Rossen Stoyanchev
0634555424 Delay check if pattern ends with slash
This is a minor fix with no actual impact.

Issue: SPR-10504
2013-05-10 12:47:44 -04:00
Rossen Stoyanchev
c0cacfcd68 Add servletRelativeAction form tag attribute
A recent change in FormTag to prepend the context and servlet paths if
not present, causes issues when used in portlet applications.
This change introduces a servletRelativeAction form tag attribute that
must be used for the context and servlet paths to be prepended.

Issue: SPR-10382
2013-05-10 11:56:50 -04:00
Rossen Stoyanchev
78fcd28389 Invoke global, then local @InitBinder/@ModelAttribute
@InitBinder and @ModelAttribute methods in @ControllerAdvice classes
are now invoked first, allowing any such methods in the @Controller
class to override them.

Issue: SPR-10419
2013-05-10 10:42:42 -04:00
Juergen Hoeller
640555194b Introduced assertions for bean accessor delegation in AbstractApplicationContext
Issue: SPR-10307
2013-05-10 01:32:00 +02:00
Phillip Webb
19187fd365 Allow FrameworkServlet to be used as a bean
Change FrameworkServlet so that it can also be used as a bean within an
existing ApplicationContext. Primarily added to support use with
embedded servlet containers where Spring bootstraps the servlet
container, rather than the servlet container bootstrapping Spring.

Issue: SPR-10381
2013-05-08 15:14:58 -07:00
Juergen Hoeller
2a44228b98 Consistent use of <pre class="code">
Issue: SPR-8108
2013-05-07 21:31:26 +02:00
Juergen Hoeller
fcb0cf27d7 MappingJackson(2)HttpMessageConverter alignment 2013-05-07 18:11:55 +02:00
Juergen Hoeller
0fc5a5d912 Introduced 4.0 versions of all XML configuration schemas
Removed spring-beans.dtd (the 1.x variant) and spring-oxm-1.5.xsd (pre-Spring-Framework variant), in order to raise the backwards compatibility limit a little bit at least. We'll keep supporting the 2.0 and 2.5 xsd versions for the time being, as well as spring-beans-2.0.dtd.

Removed the ref 'local' attribute in spring-beans-4.0.xsd since 'local' lost its differentiating role to a regular bean ref back in the 3.1 days when we started allowing for the same bean id to reappear in a different beans section of the same configuration file (with a different profile).

Issue: SPR-10437
2013-05-07 18:11:51 +02:00