Commit Graph

456 Commits

Author SHA1 Message Date
Juergen Hoeller
98569045cb Tracking ASM 5.0.4 development: Fix for ASM issue 317545
Issue: SPR-12470
(cherry picked from commit ab5856b)
2014-11-26 12:11:13 +01:00
Juergen Hoeller
6d3a0d5735 Polishing 2014-11-23 00:05:27 +01:00
Juergen Hoeller
21b8ce5284 MethodParameter generally uses volatile variables where applicable now (as well as a local copy of the parameterNameDiscoverer field)
Issue: SPR-12453
(cherry picked from commit 7fcadaa)
2014-11-22 22:44:38 +01:00
Juergen Hoeller
2490d1b38d MutablePropertySources uses an internal CopyOnWriteArrayList for defensiveness against concurrent modifications
Issue: SPR-12428
(cherry picked from commit 1ef06cc)
2014-11-22 22:44:30 +01:00
Juergen Hoeller
acefd8381d Polishing 2014-11-02 11:38:35 +01:00
Juergen Hoeller
2d874d724b SimpleMetadataReaderFactory is capable of resolving inner class names with dot syntax now (analogous to ClassUtils.forName)
Issue: SPR-12390
(cherry picked from commit 725ad0d)
2014-11-01 12:58:08 +01:00
Juergen Hoeller
91940f212e Normalized AnnotationAttributesReadingVisitor class layout and improved diagnostics through delegating to AnnotationUtils
Issue: SPR-12387
(cherry picked from commit b70c5d1)
2014-11-01 12:57:10 +01:00
Juergen Hoeller
16a4fe70f2 Polishing
(cherry picked from commit 2956049)
2014-10-22 17:14:23 +02:00
Juergen Hoeller
15c8987cc4 Polishing 2014-10-22 01:10:01 +02:00
Juergen Hoeller
e16f21c281 AnnotationUtils consistently logs introspection failures via lazily initialized logger
Issue: SPR-12325
Issue: SPR-12329
2014-10-22 01:08:41 +02:00
Juergen Hoeller
c672678423 Provider declaration for @Value method argument works again
Issue: SPR-12297
(cherry picked from commit 70fec47)
2014-10-07 00:02:03 +02:00
Stephane Nicoll
c7b6b72e73 Optimize ResolvableType cache
Prior to this commit, the ResolvableType static cache was holding a lot
of duplicates for simple types. We are using too much metadata to compute
the key when the class has no generic information. so setFoo(String foo)
and setBar(String bar) would result in two entries in the cache because
the TypeProvider is different. On a very simple application 65% of the
entries in the cache were duplicate.

When the type is a Class with no generic information, the ResolvableType
instance is a simple wrapper around it so we might just as well not cache
it at all as the cost of finding it back from the cache is higher than
creating that simple wrapper.

This commit adds an explicit check; if the type is a simple Class we just
return a "resolved" ResolvableType instance for it. On a few test cases,
this reduces the size of the cache by 85%

Issue: SPR-12275
(cherry picked from commit 6f1acdd)
2014-09-30 20:22:51 +02:00
Juergen Hoeller
251970a2f9 Tracking ASM 5.0.4 development: Fix for ASM issue 317539
Issue: SPR-12255
(cherry picked from commit e8486e2)
2014-09-26 21:47:41 +02:00
Juergen Hoeller
50e50d0c18 Polishing
(cherry picked from commit 16325c2)
2014-09-20 00:51:19 +02:00
Juergen Hoeller
f8b729aa5f Polishing 2014-09-17 01:51:23 +02:00
Sam Brannen
bea9f3ff76 Make SocketUtils a concrete class
Per the Javadoc for the SocketUtils() constructor, SocketUtils can be
instantiated as a Spring Bean in XML configuration files; however,
SocketUtils is currently abstract which prevents such usage.

This commit removes the 'abstract' declaration thereby allowing
SocketUtils to be instantiated as a Spring bean.

Issue: SPR-12169
(cherry picked from commit 559e81b)
2014-09-17 00:36:21 +02:00
Juergen Hoeller
d765698ac3 Polishing 2014-09-04 03:06:37 +02:00
Juergen Hoeller
97bd0ccfec Polishing 2014-09-04 01:43:15 +02:00
Sebastien Deleuze
b7726ff48c Improve ResolvableType.hashCode() for better performance
Prior to this commit, when there was a lot of entries in the
ResolvableType.cache HashMap, getting a simple value could
take a lot of time due to a lot of calls to ResolvableType.equals().
ResolvableType.equals() used this.type, getSource(),
this.variableResolver.getSource() and this.componentType, but
ResolvableType.hashCode() used only this.type.

With this commit, ResolvableType.hashCode() now uses the same
fields than ResolvableType.equals().

Performance on the spring-resolvabletype-benchmark project:
 - 8000 us before this commit
 - 120 us with this commit

Issue: SPR-12122
(cherry picked from commit 7ea69fb)
2014-09-01 14:07:43 +02:00
Juergen Hoeller
e324c2ab4a Polishing 2014-08-22 00:14:10 +02:00
Juergen Hoeller
39a23660fa PropertySource implementations perform conversion to String arrays via StringUtils (getting rid of EMPTY_NAMES_ARRAY)
(cherry picked from commit b73c531)
2014-08-22 00:09:53 +02:00
Juergen Hoeller
a31ebb6c1e Polishing 2014-08-15 00:07:25 +02:00
Juergen Hoeller
a7492fa55b Polishing 2014-08-12 22:24:50 +02:00
Juergen Hoeller
d61353db51 AnnotatedElementUtils adapts post-processed values to AnnotationAttributes as well
Issue: SPR-12065
(cherry picked from commit ef51d4d)
2014-08-09 00:19:28 +02:00
Juergen Hoeller
f2eea9d911 Polishing
(cherry picked from commit 8f484d3)
2014-07-29 11:50:50 +02:00
Juergen Hoeller
9ad6618207 Polishing 2014-07-28 22:47:22 +02:00
Juergen Hoeller
84a4433898 AbstractTypeHierarchyTraversingFilter leniently ignores non-loadable super classes and interfaces
Issue: SPR-12042
(cherry picked from commit a3163ce)
2014-07-28 22:27:37 +02:00
Juergen Hoeller
6e95b2613e Polishing 2014-07-24 18:35:49 +02:00
Arjen Poutsma
fca72f6b65 StaxStreamXMLReader ignores significant whitespace
The StaxStreamXMLReader no longer handles all whitespace as ignorable
whitespace.

Issue: SPR-12000
(cherry picked from commit d6950d8)
2014-07-24 17:57:14 +02:00
Juergen Hoeller
d45f743248 TypeDescriptor's getResolvableType() and getSource() are @since 4.0
(cherry picked from commit 0ce90f1)
2014-07-24 17:55:39 +02:00
Juergen Hoeller
940ae0c528 ClassUtils.isCacheSafe defensively catches SecurityException (for Google App Engine compatibility)
Issue: SPR-12002
(cherry picked from commit 48fea0b)
2014-07-24 17:46:42 +02:00
Juergen Hoeller
0ef17a2f2c NestedIOException can use IOException constructor with cause argument on JDK 6+
(cherry picked from commit c18b6bf)
2014-07-24 17:44:57 +02:00
Juergen Hoeller
845528a6cb Polishing 2014-07-10 18:18:44 +02:00
Juergen Hoeller
10a039000b Test ASM5's bytecode parsing of INVOKESPECIAL/STATIC on interfaces
Issue: SPR-11979
(cherry picked from commit 29f6f3d)
2014-07-10 16:44:59 +02:00
Juergen Hoeller
48f753f368 Polishing (backported from master) 2014-07-01 12:12:42 +02:00
Juergen Hoeller
c16032b98a Consistent declaration of private static final logger variables
Issue: SPR-11905
(cherry picked from commit 18131bf)
2014-07-01 12:09:29 +02:00
Juergen Hoeller
5f695a47db Cache Class.getDeclaredMethods() results and avoid pattern matching in isCglibRenamedMethod as far as possible
Issue: SPR-11882
Issue: SPR-11894
2014-07-01 12:06:34 +02:00
Juergen Hoeller
74c878ee0e AnnotationUtils defensively catches and logs unexpected exceptions from retrieval attempts (proceeding like the annotation wasn't there)
Issue: SPR-11874
(cherry picked from commit 2c0c081)
2014-07-01 12:05:38 +02:00
Juergen Hoeller
6403479902 TypeDescriptor's nested type traversal leniently returns null in case of unresolvable nested type
Issue: SPR-11898
(cherry picked from commit d663580)
2014-07-01 12:00:20 +02:00
Juergen Hoeller
8ddbbc2e67 PathMatchingResourcePatternResolver's findPathMatchingResources needs to check for VFS before checking isJarResource
ResourceUtils isFileURL also detects "vfsfile" as a file system protocol (again).

Issue: SPR-11887
2014-07-01 11:54:16 +02:00
Juergen Hoeller
ccebbf74ec Latest patches from ASM trunk
(cherry picked from commit cfc720d)
2014-05-19 22:59:39 +02:00
Juergen Hoeller
c350080f99 StringUtils.parseLocaleString parses variant correctly when variant contains country code
This commit also includes a JUnit 4 style revision of StringUtilsTests and ObjectUtilsTests.

Issue: SPR-11806
(cherry picked from commit 295a6ae)
2014-05-19 22:46:47 +02:00
Rossen Stoyanchev
748167bfa3 Improve StringUtils.cleanPath
Issue: SPR-11793
2014-05-16 11:27:55 -04:00
Juergen Hoeller
7bc38acbf6 Polishing 2014-05-15 15:23:11 +02:00
Juergen Hoeller
297e4eec36 Keep unused MemorySafeUndeclaredThrowableStrategy around in deprecated form for the 4.0.x line
Issue: SPR-11782
2014-05-15 15:05:00 +02:00
Juergen Hoeller
1e7fade89e JasperReports-related polishing
(cherry picked from commit 782d10c)
2014-05-12 20:50:24 +02:00
Juergen Hoeller
ae45794451 IdToEntityConverter defensively handles access to getDeclaredMethods
Issue: SPR-11758
(cherry picked from commit 381ccde)
2014-05-08 16:30:45 +02:00
Juergen Hoeller
fccec210b4 GenericTypeResolver returns null for entirely unresolvable type arguments only
Issue: SPR-11763
(cherry picked from commit bea34ea)
2014-05-08 16:28:53 +02:00
Juergen Hoeller
42a35ef3be AnnotationMetadataReadingVisitor passes metaAnnotationMap into getMergedAnnotationAttributes algorithm, for finding out about applicable overrides
Issue: SPR-11649
(cherry picked from commit 842a8a8)
2014-04-30 22:57:09 +02:00
Juergen Hoeller
1afdd9bd75 Polishing
(cherry picked from commit 02aca9c)
2014-04-30 00:10:58 +02:00