Commit Graph

582 Commits

Author SHA1 Message Date
Oliver Gierke 70f61b99d3 SPR-8005 - Made GenericTypeResolver.getTypeVariableMap(…) and resolvetype(…) public.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4055 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-28 17:09:09 +00:00
Arjen Poutsma 237b9b509d Added equals and hashcode
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4029 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-22 13:33:24 +00:00
Juergen Hoeller 637117c51a exceptions thrown by @Scheduled methods will be propagated to a registered ErrorHandler (SPR-7723)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3994 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 22:50:16 +00:00
Juergen Hoeller e116123f3e polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3993 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 22:19:10 +00:00
Juergen Hoeller 4bd265f0a4 removed ConversionService/TypeConverter convenience methods in order to restore 3.0's SPI (for backwards compatibility with implementers)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3983 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 01:24:08 +00:00
Chris Beams adc9400905 Include license.txt and notice.txt in module JARs
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3967 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:56:40 +00:00
Chris Beams df4edc1c73 Rename spring.{profile}.active => {profiles}
Same for spring.profiles.default

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3960 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 19:07:46 +00:00
Juergen Hoeller df9857fa2b removed assertions
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3957 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 16:35:38 +00:00
Chris Beams dc22760978 Introduce FeatureSpecification support
Introduce FeatureSpecification interface and implementations

    FeatureSpecification objects decouple the configuration of
    spring container features from the concern of parsing XML
    namespaces, allowing for reuse in code-based configuration
    (see @Feature* annotations below).

    * ComponentScanSpec
    * TxAnnotationDriven
    * MvcAnnotationDriven
    * MvcDefaultServletHandler
    * MvcResources
    * MvcViewControllers

Refactor associated BeanDefinitionParsers to delegate to new impls above

    The following BeanDefinitionParser implementations now deal only
    with the concern of XML parsing.  Validation is handled by their
    corresponding FeatureSpecification object.  Bean definition creation
    and registration is handled by their corresponding
    FeatureSpecificationExecutor type.

    * ComponentScanBeanDefinitionParser
    * AnnotationDrivenBeanDefinitionParser (tx)
    * AnnotationDrivenBeanDefinitionParser (mvc)
    * DefaultServletHandlerBeanDefinitionParser
    * ResourcesBeanDefinitionParser
    * ViewControllerBeanDefinitionParser

Update AopNamespaceUtils to decouple from XML (DOM API)

    Methods necessary for executing TxAnnotationDriven specification
    (and eventually, the AspectJAutoProxy specification) have been
    added that accept boolean arguments for whether to proxy
    target classes and whether to expose the proxy via threadlocal.

    Methods that accepted and introspected DOM Element objects still
    exist but have been deprecated.

Introduce @FeatureConfiguration classes and @Feature methods

    Allow for creation and configuration of FeatureSpecification objects
    at the user level.  A companion for @Configuration classes allowing
    for completely code-driven configuration of the Spring container.

    See changes in ConfigurationClassPostProcessor for implementation
    details.

    See Feature*Tests for usage examples.

    FeatureTestSuite in .integration-tests is a JUnit test suite designed
    to aggregate all BDP and Feature* related tests for a convenient way
    to confirm that Feature-related changes don't break anything.
    Uncomment this test and execute from Eclipse / IDEA. Due to classpath
    issues, this cannot be compiled by Ant/Ivy at the command line.

Introduce @FeatureAnnotation meta-annotation and @ComponentScan impl

    @FeatureAnnotation provides an alternate mechanism for creating
    and executing FeatureSpecification objects.  See @ComponentScan
    and its corresponding ComponentScanAnnotationParser implementation
    for details.  See ComponentScanAnnotationIntegrationTests for usage
    examples

Introduce Default[Formatting]ConversionService implementations

    Allows for convenient instantiation of ConversionService objects
    containing defaults appropriate for most environments.  Replaces
    similar support originally in ConversionServiceFactory (which is now
    deprecated). This change was justified by the need to avoid use
    of FactoryBeans in @Configuration classes (such as
    FormattingConversionServiceFactoryBean). It is strongly preferred
    that users simply instantiate and configure the objects that underlie
    our FactoryBeans. In the case of the ConversionService types, the
    easiest way to do this is to create Default* subtypes. This also
    follows convention with the rest of the framework.

Minor updates to util classes

    All in service of changes above. See diffs for self-explanatory
    details.

    * BeanUtils
    * ObjectUtils
    * ReflectionUtils

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3954 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 14:42:33 +00:00
Chris Beams 6a68b44ca9 Make ObjectUtils.addObjectToArray() generic
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3951 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 13:01:29 +00:00
Juergen Hoeller 228a10ccdc get/stripFilenameExtension correctly ignores Unix-style hidden directories (SPR-7828)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3926 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:47:45 +00:00
Juergen Hoeller b564831d52 fixed tests (SPR-7779)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3925 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:39:57 +00:00
Juergen Hoeller 341db8b2f3 LocaleChangeInterceptor validates locale values in order to prevent XSS vulnerability (SPR-7779)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3924 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-26 20:30:30 +00:00
Keith Donald bcb10f2fe4 empty collection test refinements
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3884 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 15:27:29 +00:00
Keith Donald c45f4b1caf spr-7728: empty collection conversion can return value not assignable to targetType
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3883 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 14:21:54 +00:00
Chris Beams 5a7d2a91ba Introduce ApplicationContextInitializer interface
Designed primarily for use in conjunction with web applications
to provide a convenient mechanism for configuring the container
programmatically.

ApplicationContextInitializer implementations are specified through the
new "contextInitializerClasses" servlet context parameter, then detected
and invoked by ContextLoader in its customizeContext() method.

In any case, the semantics of ApplicationContextInitializer's
initialize(ConfigurableApplicationContext) method require that
invocation occur *prior* to refreshing the application context.

ACI implementations may also implement Ordered/PriorityOrdered and
ContextLoader will sort instances appropriately prior to invocation.

Specifically, this new support provides a straightforward way to
programmatically access the container's Environment for the purpose
of adding, removing or otherwise manipulating PropertySource objects.

See Javadoc for further details.

Also note that ApplicationContextInitializer semantics overlap to
some degree with Servlet 3.0's notion of ServletContainerInitializer
classes. As Spring 3.1 development progresses, we'll likely see
these two come together and further influence one another.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3882 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 09:57:57 +00:00
Keith Donald 61d54ae436 Favor convertValue(Object, TypeDescriptor) where possible and TypedValue(Object); check with Andy on Selection and Projection TypedValue usage
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3881 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 06:32:21 +00:00
Keith Donald 97033d66fb switched to better encapsulated convert(Object, TypeDescriptor) where possible
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3880 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 05:57:25 +00:00
Keith Donald 5403913103 added call to applyIndexedObject to build nested source element type descriptor from element value
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3879 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 04:41:21 +00:00
Keith Donald 76443f55c1 support for empty collection->collection. map->map, collection->array conversion
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3878 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-07 03:24:24 +00:00
Keith Donald 75f36d291a getPropertyTypeDescriptor bug fixes
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3876 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-06 23:12:00 +00:00
Keith Donald d3d7951265 added forNestedType(MethodParameter) for resolution of nested parameter types for collection, array, and map parameter types
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3875 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-06 21:59:34 +00:00
Keith Donald 66814f1235 forNestedType usage clarification
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3873 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-06 18:33:50 +00:00
Chris Beams 6364c02427 Polish Javadoc for PropertySource implementations
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3868 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-06 07:43:03 +00:00
Keith Donald ed2a257e69 added initial support for handling unknown nested type values when converting collections; now favor factory method for constructing nested type descriptors for clarity (made constructor private); improved javadoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3867 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-06 05:14:49 +00:00
Chris Beams 0821b2c6c2 Polish (Mutable)PropertySources
* PropertySources is now an Iterable<PropertySource> in favor of
  exposing an asList() method
* Otherwise reduced the set of methods exposed by PropertySources to the
  absolute minimum
* Added Javadoc for both types and all methods

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3865 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-05 22:25:24 +00:00
Chris Beams 835a3f8d64 Refactor Environment and PropertySource
* Environment now extends PropertyResolver
* Environment no longer exposes resolver and sources
* PropertySource is String,Object instead of String,String
* PropertySource no longer assumes enumerability of property names
* Introduced EnumerablePropertySource for those that do have enumerable property names

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3862 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-05 22:24:14 +00:00
Juergen Hoeller a0ee194603 reduced BeanDefinition footprint by initializing Sets and Maps with 0 (SPR-7491)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3860 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-05 19:59:00 +00:00
Keith Donald cf4062ed33 method naming improvements; applyIndexObject call for array indexing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3851 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-05 16:54:03 +00:00
Keith Donald 1e2a8083a1 TypeDescriptor cleanup and general polishing; fixed a number of bugs related to TypeDescriptor usage in client code across beans and spel packages
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3846 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-05 05:49:33 +00:00
Chris Beams 1ac7b56caf M1 cut of environment, profiles and property work (SPR-7508)
Decomposed Environment interface into PropertySources, PropertyResolver
objects

    Environment interface and implementations are still present, but
    simpler.

    PropertySources container aggregates PropertySource objects;
    PropertyResolver provides search, conversion, placeholder
    replacement. Single implementation for now is
    PropertySourcesPlaceholderResolver

Renamed EnvironmentAwarePropertyPlaceholderConfigurer to
PropertySourcesPlaceholderConfigurer

    <context:property-placeholder/> now registers PSPC by default, else
    PPC if systemPropertiesMode* settings are involved

Refined configuration and behavior of default profiles

    See Environment interface Javadoc for details

Added Portlet implementations of relevant interfaces:

    * DefaultPortletEnvironment
    * PortletConfigPropertySource, PortletContextPropertySource
    * Integrated each appropriately throughout Portlet app contexts

Added protected 'createEnvironment()' method to AbstractApplicationContext

    Subclasses can override at will to supply a custom Environment
    implementation.  In practice throughout the framework, this is how
    Web- and Portlet-related ApplicationContexts override use of the
    DefaultEnvironment and swap in DefaultWebEnvironment or
    DefaultPortletEnvironment as appropriate.

Introduced "stub-and-replace" behavior for Servlet- and Portlet-based
PropertySource implementations

    Allows for early registration and ordering of the stub, then
    replacement with actual backing object at refresh() time.

    Added AbstractApplicationContext.initPropertySources() method to
    support stub-and-replace behavior. Called from within existing
    prepareRefresh() method so as to avoid impact with
    ApplicationContext implementations that copy and modify AAC's
    refresh() method (e.g.: Spring DM).

    Added methods to WebApplicationContextUtils and
    PortletApplicationContextUtils to support stub-and-replace behavior

Added comprehensive Javadoc for all new or modified types and members

Added XSD documentation for all new or modified elements and attributes

    Including nested <beans>, <beans profile="..."/>, and changes for
    certain attributes type from xsd:IDREF to xsd:string

Improved fix for detecting non-file based Resources in
PropertiesLoaderSupport (SPR-7547, SPR-7552)

    Technically unrelated to environment work, but grouped in with
    this changeset for convenience.

Deprecated (removed) context:property-placeholder
'system-properties-mode' attribute from spring-context-3.1.xsd

    Functionality is preserved for those using schemas up to and including
    spring-context-3.0.  For 3.1, system-properties-mode is no longer
    supported as it conflicts with the idea of managing a set of property
    sources within the context's Environment object. See Javadoc in
    PropertyPlaceholderConfigurer, AbstractPropertyPlaceholderConfigurer
    and PropertySourcesPlaceholderConfigurer for details.

Introduced CollectionUtils.toArray(Enumeration<E>, A[])

Work items remaining for 3.1 M2:

    Consider repackaging PropertySource* types; eliminate internal use
    of SystemPropertyUtils and deprecate

    Further work on composition of Environment interface; consider
    repurposing existing PlaceholderResolver interface to obviate need
    for resolve[Required]Placeholder() methods currently in Environment.

    Ensure configurability of placeholder prefix, suffix, and value
    separator when working against an AbstractPropertyResolver

    Add JNDI-based Environment / PropertySource implementatinos

    Consider support for @Profile at the @Bean level

    Provide consistent logging for the entire property resolution
    lifecycle; consider issuing all such messages against a dedicated
    logger with a single category.

    Add reference documentation to cover the featureset.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3839 50f2f4bb-b051-0410-bef5-90022cba6387
2011-01-03 09:04:34 +00:00
Sam Brannen 924b8e11ea [SPR-7850][SPR-7851] Upgraded to JUnit 4.8.1 and TestNG 5.12.1; added changelog entries for 3.1.0.M1.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3838 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-30 08:00:58 +00:00
Chris Beams 7ac69dff5f Normalize indentation of Apache license URL
In accordance with recommendations at
http://www.apache.org/licenses/LICENSE-2.0.html.

A number of classes had strayed from this format, now all
are the same.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3831 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-22 21:40:19 +00:00
Arjen Poutsma a32894ca31 Removed JDK 1.6 usage
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3830 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-22 10:23:34 +00:00
Chris Beams 5898259f1e Fix breaking logic around getFilename() call
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3816 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-15 17:34:31 +00:00
Chris Beams e78ced16b1 Improved fix for detecting non-file based Resources in PropertiesLoaderSupport (SPR-7547, SPR-7552)
Use instanceof check against AbstractFileResolvingResource instead of
try/catch around resource.getFilename() call.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3815 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-15 17:09:31 +00:00
Chris Beams 008fa66cee Eliminate PropertySourceAggregator interface
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3811 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-08 07:59:55 +00:00
Chris Beams 7d3a3e872f Expose Environment ConfigurationService
AbstractEnvironment delegates to an underlying ConfigurationService when
processing methods such as getProperty(String name, Class<?> targetType)

Accessor methods have been added to the ConfigurableEnvironment
interface that allow this service to be updated or replaced.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3810 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-08 07:59:41 +00:00
Chris Beams 2a4e1c98da Eliminate reserved 'default' profile (SPR-7778)
There is no longer a reserved default profile named 'default'. Rather,
users must explicitly specify a default profile or profiles via

    ConfigurableEnvironment.setDefaultProfiles(String...)
        - or -
    spring.profile.default="pD1,pD2"

Per above, the setDefaultProfile(String) method now accepts a variable
number of profile names (one or more).  This is symmetrical with the
existing setActiveProfiles(String...) method.

A typical scenario might involve setting both a default profile as a
servlet context property in web.xml and then setting an active profile
when deploying to production.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3809 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-08 07:59:25 +00:00
Chris Beams c2996bebcd Use dot notation rather than camel case for profile props (SPR-7508)
Before this change, the following properties could be used to manipulate
Spring profile behavior:

    -DspringProfiles=p1,p2
    -DdefaultSpringProfile=pD

These properties have been renamed to follow usual Java conventions for
property naming:

    -Dspring.profile.active=p1,p2
    -Dspring.profile.default=pD



git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3806 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-05 20:14:26 +00:00
Chris Beams f455b1e89a Support default profile (SPR-7508, SPR-7778)
'default' is now a reserved profile name, indicating
that any beans defined within that profile will be registered
unless another profile or profiles have been activated.

Examples below are expressed in XML, but apply equally when
using the @Profile annotation.

EXAMPLE 1:

        <beans>
            <beans profile="default">
                <bean id="foo" class="com.acme.EmbeddedFooImpl"/>
            </beans>
            <beans profile="production">
                <bean id="foo" class="com.acme.ProdFooImpl"/>
            </beans>
        </beans>

    In the case above, the EmbeddedFooImpl 'foo' bean will be
    registered if:
        a) no profile is active
        b) the 'default' profile has explicitly been made active

    The ProdFooImpl 'foo' bean will be registered if the 'production'
    profile is active.

EXAMPLE 2:

        <beans profile="default,xyz">
            <bean id="foo" class="java.lang.String"/>
        </beans>

    Bean 'foo' will be registered if any of the following are true:
        a) no profile is active
        b) 'xyz' profile is active
        c) 'default' profile has explicitly been made active
        d) both (b) and (c) are true

Note that the default profile is not to be confused with specifying no
profile at all.  When the default profile is specified, beans are
registered only if no other profiles are active; whereas when no profile
is specified, bean definitions are always registered regardless of which
profiles are active.

The default profile may be configured programmatically:

    environmnent.setDefaultProfile("embedded");

or declaratively through any registered PropertySource, e.g. system properties:

    -DdefaultSpringProfile=embedded

Assuming either of the above, example 1 could be rewritten as follows:

        <beans>
            <beans profile="embedded">
                <bean id="foo" class="com.acme.EmbeddedFooImpl"/>
            </beans>
            <beans profile="production">
                <bean id="foo" class="com.acme.ProdFooImpl"/>
            </beans>
        </beans>

It is unlikely that use of the default profile will make sense in
conjunction with a statically specified 'springProfiles' property.
For example, if 'springProfiles' is specified as a web.xml context
param, that profile will always be active for that application,
negating the possibility of default profile bean definitions ever
being registered.

The default profile is most useful for ensuring that a valid set of
bean definitions will always be registered without forcing users
to explictly specify active profiles.  In the embedded vs. production
examples above, it is assumed that the application JVM will be started
with -DspringProfiles=production when the application is in fact in
a production environment.  Otherwise, the embedded/default profile bean
definitions will always be registered.


git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3804 50f2f4bb-b051-0410-bef5-90022cba6387
2010-12-01 09:01:58 +00:00
Chris Beams 45e5b46fc2 Merge 3.1.0 development branch into trunk
Branch in question is 'env' branch from git://git.springsource.org/sandbox/cbeams.git; merged into
git-svn repository with:

    git merge -s recursive -Xtheirs --no-commit env

No merge conflicts, but did need to

    git rm spring-build

prior to committing.

With this change, Spring 3.1.0 development is now happening on SVN
trunk. Further commits to the 3.0.x line will happen in an as-yet
uncreated SVN branch.  3.1.0 snapshots will be available
per the usual nightly CI build from trunk.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3782 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-25 19:48:20 +00:00
Juergen Hoeller bbb728568e optimized AnnotationUtils findAnnotation performance for repeated search on same interfaces (SPR-7630)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3764 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-14 23:06:45 +00:00
Juergen Hoeller 5d4b7ee227 StringToArray/CollectionConverter trims element values before trying to convert them (SPR-7657)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3761 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-14 19:44:26 +00:00
Juergen Hoeller 2e9fe246e7 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3757 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-14 00:30:07 +00:00
Arjen Poutsma 836928a116 SPR-7620 - StaxEventContentHandler does not set Location for StartDocument event
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3746 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-12 09:50:39 +00:00
Arjen Poutsma 2eabb640f5 SPR-7621 - AbstractStaxContentHandler sets NamespaceContext on every start/end element
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3745 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-12 09:41:23 +00:00
Arjen Poutsma b5e37c6e22 SPR-7621 - AbstractStaxContentHandler sets NamespaceContext on every start/end element
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3744 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-12 09:35:23 +00:00
Juergen Hoeller 4e4dfe5e34 fixed package declaration
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3743 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-11 21:26:32 +00:00
Juergen Hoeller 9332a9eb11 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3741 50f2f4bb-b051-0410-bef5-90022cba6387
2010-10-11 21:15:26 +00:00