Johnny Lim
87fa2c3b97
Avoid unnecessary String instantiation in StringUtils.deleteAny()
...
This commit avoids unnecessary String instantiation in
StringUtils.deleteAny() if nothing was deleted from the
input string.
Closes gh-24924
2020-04-17 18:44:16 +02:00
Brian Clozel
39536acf9f
Fix potential leak in MimeTypeUtils LRUCache
...
Prior to this commit, the `MimeTypeUtils` LRUCache would maintain a
queue to track least recently used cached values. In some cases,
concurrent access could create more entries in that unbounded queue than
expected and spend a significant amount of time removing entries in that
queue (i.e. iterating over a long list of elements).
This commit ensures that recently used entries are only added to the
queue if they've been removed by the current thread, in case of
concurrent access.
Fixes gh-24886
2020-04-09 15:38:01 +02:00
Сергей Цыпанов
e1951a098b
Improve performance of StringUtils.deleteAny()
2020-04-09 11:36:32 +02:00
Sam Brannen
8c0aaf4863
Delete meaningless "performance" test
...
The test deleted in this commit didn't even assert anything to begin
with.
See gh-24830
2020-04-08 15:21:32 +02:00
Juergen Hoeller
8595f01e44
Polishing
2020-04-03 21:08:45 +02:00
Moran Avigdor
7d5e474e0d
Recursively copy directory with symbolic link
...
The following modification will also recursively traverse the directory that the symbolic link points to.
This modification is not proposed for deleteRecursively, since it can be harmful if not intended.
This modification relates to the following commit:
Consistent use of NIO.2 for file read/write interactions
Issue: SPR-15748
12114a9
2020-04-03 21:05:26 +02:00
Sam Brannen
e26764d249
Remove duplicate words in documentation and polish Javadoc
2020-03-31 12:17:58 +02:00
Sam Brannen
ee42e3e730
Polish StreamUtils
2020-03-30 13:57:09 +02:00
Sam Brannen
9e30620ac2
Polish contribution
...
See gh-24805
2020-03-30 13:47:00 +02:00
Сергей Цыпанов
e63d1cf12d
Improve usage of ByteArrayOutputStream/ByteArrayInputStream
...
Closes gh-24805
2020-03-30 13:22:21 +02:00
Qimiao Chen
f8ff4e42b9
Use try-with-resource to close resources
...
Closes gh-24807
2020-03-30 12:05:29 +02:00
Qimiao Chen
7c831d2ef4
Replace anonymous inner classes with lambdas in tests
...
Closes gh-24808
2020-03-30 12:02:23 +02:00
Rossen Stoyanchev
3175f0771e
Remove dumpString from DataBufferTestUtils
...
See gh-24786
2020-03-26 21:42:12 +00:00
Rossen Stoyanchev
7aa06b8610
Polishing contribution
...
See gh-24786
2020-03-26 21:42:12 +00:00
Сергей Цыпанов
f17b0125ff
Simplify conversion of DataBuffer to String
...
See gh-24786
2020-03-26 21:42:12 +00:00
Juergen Hoeller
593a2ade91
Expose context class for interface-based CGLIB proxies as well
...
Closes gh-24657
2020-03-26 17:30:37 +01:00
Sam Brannen
6222efc54b
Polish contribution
...
See gh-24785
2020-03-26 16:52:24 +01:00
Сергей Цыпанов
65aa2d03f0
Simplify conversion of ByteArrayOutputStream to String
...
Closes gh-24785
2020-03-26 16:52:14 +01:00
Brian Clozel
d97eabba2f
Do not cache multipart MIME types in cache
...
Prior to this commmit, "mutipart/*" MIME types would be cached by the
`MimeTypeUtils` LRU cache. Since those MIME types are likely to have
random boundaries in them, they can waste space in the LRU cache.
This is not improving things since we're parsing them anyway.
This commit skips the caching step for all "multipart" MIME types.
Fixes gh-24767
2020-03-24 10:59:05 +01:00
Juergen Hoeller
2209e7cb92
Reuse empty class array constant in ClassUtils
...
Closes gh-24221
2020-03-24 00:08:43 +01:00
Christoph Dreis
1c6dda3ca4
Improve performance of StringUtils#cleanPath
2020-03-23 23:25:15 +01:00
Juergen Hoeller
2e23cf32ce
Clarify name generation responsibility for PropertySourceFactory impls
...
Closes gh-24757
2020-03-23 18:02:05 +01:00
Juergen Hoeller
10d47d4d21
Enable ASM8_EXPERIMENTAL for Java 14 record support
...
Closes gh-24722
2020-03-23 18:00:59 +01:00
Brian Clozel
831a95154e
Polish ConcurrentLruCache
...
This commit improves the performance of the `ConcurrentLruCache` and
applies a consistent style to the code:
* separating read/write locks into different variables does not help
performance, so this change is reverted
* apply a consistent style for read/write locks and try/cactch calls
* the reordering of recently used keys is only done when the cache is
full
Fixes gh-24671
2020-03-22 21:49:07 +01:00
Kwangyong Kim
713a112812
Improve ConcurrentLruCache performance
...
- manage collection size manually
- check cache hit first before size check
- reduce read-lock scope
- use `map.get` to test cache instead of `queue.remove`
Closes gh-24469
See gh-24671
2020-03-22 21:48:55 +01:00
Qimiao Chen
09b36380cd
Fix typos in source files
...
Closes gh-24746
2020-03-20 20:06:52 +01:00
Sam Brannen
116a256e81
Fix typos in AnnotationsScannerTests
2020-03-20 15:03:01 +01:00
Qimiao Chen
2c5781473c
Improve Javadoc in AnnotatedElementUtils
...
Closes gh-24740
2020-03-20 15:00:17 +01:00
Qimiao Chen
d85a6c0bea
Fix typos in MergedAnnotationsCollectionTests
...
Closes gh-24701
2020-03-15 11:48:29 +01:00
陈其苗
c5b8406def
Add some test cases in StringUtilsTests
2020-03-13 12:35:04 +00:00
陈其苗
6013591fac
Polish containsAny of CollectionUtils by reusing findFirstMatch
2020-03-13 12:32:43 +00:00
Juergen Hoeller
7f26e8cfc6
Short-circuit interface visibility check in case of same ClassLoader
...
Closes gh-24664
2020-03-11 14:55:08 +01:00
Sam Brannen
787b09b202
Relax GraalVM check in DefaultParameterNameDiscoverer
...
Prior to this commit, DefaultParameterNameDiscoverer did not register
any discovers when compiling or running as a GraalVM native image.
This commit relaxes the GraalVM check so that it is only applied to the
registration of KotlinReflectionParameterNameDiscoverer.
Consequently, StandardReflectionParameterNameDiscoverer and
LocalVariableTableParameterNameDiscoverer are once again always
registered by DefaultParameterNameDiscoverer.
Closes gh-24600
2020-02-26 14:18:56 +01:00
Rossen Stoyanchev
2f12351292
Refine BlockHound support
...
- disable for Java 14/15 for now until BlockHound support
- targeted installation of required integrations only
2020-02-25 10:07:29 +00:00
Rossen Stoyanchev
2ae91404d1
BlockHoundIntegration for spring-core
2020-02-24 17:19:32 +00:00
Sam Brannen
7778508e69
Fix typos in ResolvableTypeTests
...
See gh-24529
Co-authored-by: Qimiao Chen <chenqimiao1994@126.com>
2020-02-24 15:37:42 +01:00
Sam Brannen
d1a6e49475
Reset SecurityManager in finally-block and polish
2020-02-23 18:33:56 +01:00
Sam Brannen
809ed9d469
Rename PropertyResolverExtensionsTests to Kotlin*
2020-02-23 18:21:53 +01:00
Qimiao Chen
f78c21e40b
Fix typos in tests
...
Closes gh-24566
2020-02-22 18:32:02 +01:00
Sam Brannen
8ff1ac59e0
Polishing
2020-02-19 11:29:51 +01:00
Rossen Stoyanchev
87f866b688
Update DigestUtils Javadoc with regards to InputStream
...
Closes gh-24534
2020-02-18 19:56:25 +00:00
Sam Brannen
5d4f1d9e09
Extract ValueExtractor functional interface
...
See gh-24375
2020-02-12 10:49:36 +01:00
Sam Brannen
974cacac31
Support nested annotations in ASM-based processing again
...
Spring Framework 5.0 introduced a regression in ASM-based annotation
processing. Specifically, nested annotations were no longer supported,
and component scanning resulted in an exception if a candidate
component was annotated with an annotation that contained nested
annotations.
This commit fixes this regression by introducing special handling in
AnnotationTypeMapping that supports extracting values from objects of
type TypeMappedAnnotation when necessary.
Closes gh-24375
2020-02-12 10:36:54 +01:00
Rossen Stoyanchev
d552105516
Eliminate windowUntil from StringDecoder
...
This is a follow-up on the earlier commit
28a95e89f3
eliminating windowUntil
entirely which generates a BubblingException wrapper. This also keeps
the chain a little simpler.
See gh-24355
2020-02-11 16:49:21 +00:00
Rossen Stoyanchev
28a95e89f3
Upgrade to Dysprosium SR5 snapshots
...
See gh-24355
2020-02-11 12:52:04 +00:00
Rossen Stoyanchev
7d1d989535
Minor polishing in ConcurrentReferenceHashMap
...
Closes gh-24494
2020-02-11 10:49:28 +00:00
Rossen Stoyanchev
e4a530efac
Minor refactoring in CommonsLogWriter
...
Closes gh-24495
2020-02-11 10:40:24 +00:00
Rossen Stoyanchev
df706f4c7c
Restore use of Flux-based encode method in HTTP
...
Closes gh-24441
2020-02-07 21:44:44 +00:00
Sam Brannen
2b6117c0c2
Fix Checkstyle violation
...
See gh-24393
2020-02-04 13:45:02 +01:00
Sam Brannen
72685b1d81
Polish contribution
...
See gh-24393
2020-02-04 13:41:31 +01:00
Hyunjin Choi
d624dc084f
Add close() method in FileCopyUtils to reduce duplication
...
Closes gh-24393
2020-02-04 13:36:24 +01:00
Hyunjin Choi
550f13e8ed
Simplify GenericConversionService.getMatchableConverters()
...
Closes gh-24403
2020-02-04 12:59:57 +01:00
Rossen Stoyanchev
f5df422de9
Polishing contribution
...
See gh-24470
2020-02-03 20:32:36 +00:00
Hyunjin Choi
273812f9c5
Remove unnecessary escapes in regular expressions
...
See gh-24470
2020-02-03 20:22:40 +00:00
Sam Brannen
cf9a052e3a
Polish contribution
...
See gh-24428
2020-02-03 15:39:00 +01:00
Hyunjin Choi
1b39f138eb
Test ObjectUtils.containsElement()
...
This commit introduces a unit test for the containsElement() method
in ObjectUtils.
Closes gh-24428
2020-02-03 15:34:47 +01:00
Hyunjin Choi
14a32d13d0
Fix typo in StringUtils class
...
Closes gh-24471
2020-02-03 15:23:32 +01:00
Sam Brannen
d77a28aac3
Support optional command line arguments with empty values
...
Spring Framework provides two implementations of the
CommandLinePropertySource API: SimpleCommandLinePropertySource and
JOptCommandLinePropertySource.
Prior to this commit, JOptCommandLinePropertySource supported empty
values for optional arguments; whereas, SimpleCommandLinePropertySource
did not.
This commit modifies the implementation of SimpleCommandLinePropertySource
to allow empty values for optional arguments.
Closes gh-24464
2020-02-03 15:03:43 +01:00
Sam Brannen
daebbf1960
Polishing
2020-01-31 14:34:50 +01:00
Сергей Цыпанов
64440a5f04
Some trivial improvements to reduce allocation pressure
...
Closes gh-24447
2020-01-28 11:07:40 +01:00
Juergen Hoeller
75abd9fc7e
Upgrade to ASM 7.3
...
Closes gh-24438
2020-01-27 18:18:16 +01:00
Kalmesh Sambrani
d085577e0a
Solve ReflectPermission Issue in Sandbox Security Policy Model
2020-01-24 14:15:39 +01:00
Sam Brannen
b34404916a
Update copyright date
2020-01-17 18:15:16 +01:00
Сергей Цыпанов
3adc7c3059
Hoist concatenation of two constant Strings out of loops
...
Closes gh-24388
2020-01-17 16:59:39 +01:00
Sam Brannen
daa30a9f0b
Consistent use of AnnotationUtils.rethrowAnnotationConfigurationException()
...
Closes gh-24379
2020-01-16 18:19:11 +01:00
Sam Brannen
6c2cb8ecf5
Polish contribution
...
See gh-24351
2020-01-14 17:33:02 +01:00
hyeonisism
f1827cb1f9
Add tests for StringUtils split() method
...
Closes gh-24351
2020-01-14 17:20:38 +01:00
Sam Brannen
33ffdd865d
Update copyright date
2020-01-13 16:29:23 +01:00
Qimiao Chen
c84dd55863
Fix typo in ReflectionUtilsTests
...
Closes gh-24344
2020-01-13 16:27:05 +01:00
Rossen Stoyanchev
cbc57460b7
Support for maxInMemorySize in SSE reader
...
Closes gh-24312
2020-01-13 14:57:14 +00:00
Rossen Stoyanchev
a741ae422b
Improve limit handling in StringDecoder
...
The case of one data buffer containing multiple lines can could cause
a buffer leak due to a suspected issue in concatMapIterable. This
commit adds workarounds for that until the underlying issue is
addressed.
Closes gh-24339
2020-01-13 14:57:14 +00:00
Sam Brannen
cb8db1e6df
Polish Javadoc
2020-01-10 16:05:33 +01:00
Juergen Hoeller
4936a637fe
Polishing
2020-01-09 17:03:17 +01:00
Juergen Hoeller
c39ed52f97
Add since tag to hasMethod(Class, Method)
...
See gh-24282
2020-01-08 19:05:03 +01:00
stsypanov
8e5cad2af3
Add fast path for ClassUtils.hasMethod()
2020-01-08 18:52:15 +01:00
Rossen Stoyanchev
01827389ef
Polishing contribution
...
See gh-24292
2020-01-08 16:19:25 +00:00
Oleh Faizulin
e96b71acf3
contentLength support for Resource decoding
...
Expose the known content length, if known, in the InputStreamResource returned by ResourceHttpMessageConverter or
ResourceDecoder.
See gh-24292
2020-01-08 16:19:11 +00:00
Sam Brannen
3299793c8a
Polish [Simple]AliasRegistry[Tests]
2020-01-06 11:30:05 +01:00
Qimiao Chen
d0c2812dad
Optimize SimpleAliasRegistry hasAlias implementation
...
This commit reduces the number of loops and recursions in
the implementation of SimpleAliasRegistry#hasAlias().
Closes gh-24295
2020-01-06 11:28:24 +01:00
Sam Brannen
081b3d304d
Move JavaUtilLoggingConfigurer to spring-core test fixtures
...
See gh-23550
2020-01-03 14:34:29 +01:00
Sam Brannen
94f8ef08e2
Move common TestPrincipal to spring-core test fixtures
...
See gh-23550
2020-01-02 16:01:35 +01:00
Sam Brannen
4260c34b47
Rename test fixture package in spring-core
...
See gh-23550
2020-01-02 16:01:34 +01:00
Sam Brannen
5718bf424b
Use Gradle test fixture support for spring-core
...
See gh-23550
2020-01-02 16:01:34 +01:00
Rossen Stoyanchev
0eacb443b0
Reuse InputStream in ResourceRegionHttpMessageConverter
...
The converter now tries to keep reading from the same InputStream which
should be possible with ordered and non-overlapping regions. When
necessary the InputStream is re-opened.
Closes gh-24214
2019-12-18 16:22:53 +00:00
Juergen Hoeller
0711e58a5f
Un-deprecate PathResource (for NIO Path resolution in createRelative)
...
Includes aligned createRelative signature and dedicated java.io.File test.
Closes gh-24211
2019-12-16 16:50:04 +01:00
Juergen Hoeller
f353bc0c25
ConcurrentReferenceHashMap cache for getInterfaceMethodIfPossible results
...
Closes gh-24206
2019-12-16 16:49:39 +01:00
Sam Brannen
17edbec035
Polishing
2019-12-13 16:30:03 +01:00
Sam Brannen
49ddf798e0
Polish ClassUtils.resolvePrimitiveClassName()
...
See gh-24192
2019-12-13 15:47:05 +01:00
Juergen Hoeller
fa8f08391f
Consistent use of annotation-api dependency instead of tomcat-embed-core
2019-12-12 17:21:41 +01:00
Sam Brannen
d757f73902
Handle exceptions in annotation searches again
...
Prior to Spring Framework 5.2, most annotation search algorithms made
use of AnnotationUtils.handleIntrospectionFailure() to handle exceptions
thrown while attempting to introspect annotation metadata. With the
introduction of the new MergedAnnotation API in Spring Framework 5.2,
this exception handling was accidentally removed.
This commit introduces the use of handleIntrospectionFailure() within
the new MergedAnnotation internals in order to (hopefully) align with
the previous behavior.
Closes gh-24188
2019-12-12 11:29:06 +01:00
Sam Brannen
6e21b19999
Make TYPE_HIERARCHY_AND_ENCLOSING_CLASSES annotation search strategy defensive
...
Prior to this commit, when searching for annotations using the
TYPE_HIERARCHY_AND_ENCLOSING_CLASSES strategy an exception could be
thrown while attempting to load the enclosing class (e.g., a
NoClassDefFoundError), thereby halting the entire annotation scanning
process.
This commit makes this search strategy defensive by logging exceptions
encountered while processing the enclosing class hierarchy instead of
allowing the exception to halt the entire annotation scanning process.
The exception handling is performed by
AnnotationUtils.handleIntrospectionFailure() which only allows an
AnnotationConfigurationException to propagate.
See gh-24136
2019-12-10 22:38:55 +01:00
Sam Brannen
16ed7e2a19
Only load enclosing class for TYPE_HIERARCHY_AND_ENCLOSING_CLASSES strategy
...
Prior to this commit, the enclosing class was always eagerly loaded
even if the annotation search strategy was not explicitly
TYPE_HIERARCHY_AND_ENCLOSING_CLASSES.
See gh-24136
2019-12-10 22:08:26 +01:00
Sam Brannen
76bc581528
Polishing
2019-12-10 22:06:22 +01:00
Sam Brannen
2bd821c909
Improve exception for mixed explicit/implicit aliases with @AliasFor
...
Given the following improperly configured composed @RequestMapping
annotation:
@Retention(RetentionPolicy.RUNTIME)
@RequestMapping
@interface PostApi {
@AliasFor("value")
String[] path() default {};
@AliasFor(annotation = RequestMapping.class, attribute = "path")
String[] value() default {};
}
Prior to this commit, an attempt to process the above annotation
resulted in an exception similar to the following, which is not
especially helpful to discern the problem.
> Attribute 'value' in annotation [PostApi] must be declared as an
> @AliasFor 'path', not 'path'.
This commit improves the exception message for such scenarios,
resulting in an exception message similar to the following.
> Attribute 'value' in annotation [PostApi] must be declared as an
> @AliasFor attribute 'path' in annotation [PostApi], not attribute
> 'path' in annotation [RequestMapping].
Closes gh-24168
2019-12-10 14:36:11 +01:00
Sam Brannen
4466114cfa
Polishing
2019-12-10 14:26:48 +01:00
Juergen Hoeller
2c03246f00
Polishing
2019-12-09 15:58:21 +01:00
Juergen Hoeller
2d2993dffb
Cleanup of "varaible" typos in ResolvableTypeTests
2019-12-09 14:03:56 +01:00
Juergen Hoeller
a4f75e9c6a
Polishing
2019-12-09 13:29:00 +01:00
stsypanov
ebbb562cb9
Hoist constant result of SerializableTypeWrapper.unwrap() out of loop
2019-12-09 13:14:10 +01:00
PyvesB
e15ccdb35d
Polish DataBufferUtils javadoc
...
See gh-24160
2019-12-08 14:01:55 +01:00
stsypanov
484006ce90
Hoist Class.getName() from String concatenation to dodge an issue related to profile pollution
2019-12-06 17:36:07 +01:00
Phillip Webb
7c84695333
Support variable resolution of wildcard types
...
Update `ResolvableType` so that variable referenced can be resolved
against wildcard types. Prior to this commit, given a type:
Map<String, ? extends List<? extends CharSequence>>
Calling `type.getGeneric(1).asCollection().resolveGeneric()` would
return `null`. This was because the `List` variable `E` referenced a
wildcard type which `resolveVariable` did not support.
Closes gh-24145
2019-12-06 13:38:46 +01:00
Sam Brannen
a4fa6a7a31
Test status quo for @Inherited annotation support in AnnotationMetadata
2019-12-05 23:30:14 +01:00
Sam Brannen
3b9d1a00b0
Polishing
2019-12-05 22:37:00 +01:00
Juergen Hoeller
c2141e2e93
Add @since tags to firstElement methods
2019-12-05 16:36:55 +01:00
Vitalii Rastvorov
d503bc2804
Add firstElement to CollectionUtils
2019-12-05 16:26:25 +01:00
Sam Brannen
fb13f6f0bc
Add integration test for gh-24110
2019-12-03 16:48:30 +01:00
wanxiangming1994
6f15f32be3
Honor default values for implicit aliases in composed annotations
...
Spring Framework 5.2 introduced a regression for implicit aliases
declared via @AliasFor. Specifically, Spring's merged annotation
algorithms stopped honoring default values for implicit alias pairs if
the composed annotation was used without specifying the aliased
attributes.
This commit fixes this regression.
Closes gh-24110
2019-12-03 16:14:49 +01:00
Sam Brannen
279777b2f3
Polishing
2019-12-02 16:22:40 +01:00
Sam Brannen
d9ebc3bbc4
Polish StringArrayPropertyEditor[Tests]
2019-11-29 14:55:18 +01:00
Sam Brannen
7cedffc707
Support @Inherited again in reflection-based AnnotationMetadata
...
Spring Framework 5.2 introduced a regression in reflection-based
AnnotationMetadata. Specifically, as of 5.2, StandardAnnotationMetadata
no longer found @Inherited annotations from superclasses.
This commit fixes this regression by switching to the INHERITED_ANNOTATIONS
SearchStrategy when creating the MergedAnnotations used within
StandardAnnotationMetadata,
Note, however, that the discrepancy between StandardAnnotationMetadata
and SimpleAnnotationMetadata (i.e., reflection-based vs. ASM-based)
regarding @Inherited support still remains as it was prior to Spring
Framework 5.2.
Closes gh-24077
2019-11-29 00:07:44 +01:00
Sam Brannen
85016aef30
Test status quo for @Inherited annotations in AnnotationMetadata
...
This commit introduces failing assertions that are currently disabled
via a boolean reproduceGh24077 flag.
Setting that flag to true demonstrates the regression for
StandardAnnotationMetadata and inconsistencies for SimpleAnnotationMetadata.
See gh-24077
2019-11-28 18:45:58 +01:00
Sam Brannen
d1f544209e
Test status quo for AnnotatedTypeMetadata.getAnnotationAttributes()
...
See gh-24077
2019-11-28 13:50:35 +01:00
Sébastien Deleuze
712eac2915
Refine Coroutines annotated controller support
...
This commit refines Coroutines annotated controller support
by considering Kotlin Unit as Java void and using the right
ReactiveAdapter to support all use cases, including suspending
functions that return Flow (usual when using APIs like WebClient).
It also fixes RSocket fire and forget handling and adds related tests
for that use case.
Closes gh-24057
Closes gh-23866
2019-11-22 14:13:17 +01:00
Juergen Hoeller
06b1f31cdd
SynthesizedMergedAnnotationInvocationHandler does not pre-load values
...
Closes gh-24029
2019-11-19 14:54:12 +01:00
Juergen Hoeller
4af6039359
Avoid substring allocation in StringUtils.replace
...
Closes gh-24023
2019-11-19 14:53:30 +01:00
Juergen Hoeller
830f81210f
Revise getElementTypeDescriptor javadoc (no IllegalStateException)
...
Closes gh-23996
2019-11-14 18:31:32 +01:00
Sébastien Deleuze
029e61f54a
Refine MethodParameter#isOptional Kotlin implementation
...
This commit adds support for Continuation parameter that is now
considered as an optional parameter since it is never provided by
the user.
It also simplifies and optimizes the implementation.
Closes gh-23991
2019-11-14 15:28:06 +01:00
Juergen Hoeller
22211a01ce
Polishing
2019-11-13 17:23:23 +01:00
Rossen Stoyanchev
f2b9264674
Remove Jetbrains annotations
2019-11-13 14:42:32 +00:00
Sébastien Deleuze
7646895fd4
Support Kotlin synthetic classes in MethodParameter and SpEL
...
Closes gh-23812
2019-11-13 14:22:53 +01:00
stsypanov
f2b3953d76
Use array.clone() instead of manual array creation
2019-11-13 13:53:42 +01:00
Juergen Hoeller
9cc06454aa
Restore findAnnotation superclass traversal for java.lang annotations
...
Closes gh-23929
2019-11-12 11:51:44 +01:00
Arjen Poutsma
789f6fc188
Add @Nullable annotation to decode method taking DataBuffer
...
Javadoc indicates the returned value can be null.
2019-11-11 16:48:30 +01:00
Andy Wilkinson
b5fb28284e
Upgrade to Shadow Plugin 5.2.0
...
Closes gh-23971
2019-11-11 14:56:40 +01:00
Juergen Hoeller
6a48bb7b4d
Polishing
2019-11-07 22:08:29 +01:00
stsypanov
f5ae3c77c6
Use Method::getParameterCount where possible
2019-11-07 18:00:15 +01:00
Sam Brannen
29b31cad48
Align implementations of StringToUUIDConverter and UUIDEditor
...
Closes gh-23940
2019-11-06 14:21:52 +01:00
Sam Brannen
01fb35bd2d
Remove TestGroup.CI enum constant
...
Prior to this commit, the TestGroup.CI enum constant was only used in a
single test method in spring-core. In order to enable that test, the
`testGroups` JVM system property was configured for the
Publication-master CI build plan; however, the `testGroups` system
property is not set when executing local builds. Consequently, there
has been a Gradle cache miss for every `test` task when building
something locally that's already been built on the CI server.
This commit addresses this issue by removing the `TestGroup.CI` enum
constant. The `-PtestGroups=ci` command line configuration for the
Publication-master CI build plan has also been removed on the CI server.
Closes gh-23918
2019-11-04 15:44:53 +01:00
François Guillot
2411b657ae
Fix spring-core jar task 'up-to-date'-ness
...
See gh-23729
2019-11-04 10:29:58 +01:00
Sam Brannen
95af079906
Document unidirectional @AliasFor attribute mapping support
...
See gh-23834
2019-10-31 15:27:27 +01:00
Sam Brannen
9f00eb68e9
Clean up warnings
2019-10-30 19:14:58 +01:00
Christoph Dreis
3c17178b16
Fix Mockito deprecations
2019-10-30 18:30:05 +01:00
Juergen Hoeller
19ff7d84ab
Polishing
2019-10-30 14:31:46 +01:00
Juergen Hoeller
42e7ade110
Tolerate unidirectional alias declaration for annotation attribute pair
...
Closes gh-23834
2019-10-30 14:31:09 +01:00
Juergen Hoeller
dba7bf7ec1
Avoid unnecessary setAccessible call in AttributeMethods
...
Closes gh-23829
2019-10-30 14:30:26 +01:00
Juergen Hoeller
dc59e50561
Avoid unnecessary use of ResolvableType within MethodParameter
...
Closes gh-23792
2019-10-30 01:04:26 +01:00
Juergen Hoeller
d51ab24a1b
Latest dependency updates (Tomcat 9.0.27, Undertow 2.0.27, RxJava 2.2.13, Gson 2.8.6, Apache Johnzon 1.2.1, Hibernate ORM 5.4.8, EclipseLink 2.7.5, H2 1.4.200, POI 4.1.1, Quartz 2.3.2, WebJars Locator 0.42, HtmlUnit 2.36, Checkstyle 8.26, Mockito 3.1, Objenesis 3.1)
2019-10-30 00:26:45 +01:00
Rossen Stoyanchev
5abf24e7d7
Expose maxInMemorySize via CodecConfigurer
...
Centralized maxInMemorySize exposed via CodecConfigurer along with
ability to plug in an instance of MultipartHttpMessageWrite.
Closes gh-23884
2019-10-29 12:33:16 +00:00
Brian Clozel
69bcdfc17f
Polishing
2019-10-29 12:33:16 +00:00
Rossen Stoyanchev
89d053d7f4
Limits on input stream in codecs
...
- Add maxInMemorySize property to Decoder and HttpMessageReader
implementations that aggregate input to trigger
DataBufferLimitException when reached.
- For codecs that call DataBufferUtils#join, there is now an overloaded
variant with a maxInMemorySize extra argument. Internally, a custom
LimitedDataBufferList is used to count and enforce the limit.
- Jackson2Tokenizer and XmlEventDecoder support those limits per
streamed JSON object.
See gh-23884
2019-10-29 12:33:16 +00:00
Phillip Webb
013ec6abdb
Support customer repeatable containers in type map
...
Update `AnnotationTypeMappings` so that a custom `RepeatableContainers`
instances can be used. Prior to this commit, only standard repeatables
were used when reading the annotations. This works in most situations,
but causes regressions for some `AnnotationUtils` methods.
Fixed gh-23856
2019-10-24 13:20:11 -07:00
Sam Brannen
f8b875d2d8
Introduce failing @Disabled test for gh-23856
2019-10-24 16:15:59 +02:00
Sam Brannen
71400ea604
Polish MergedAnnotation internals
2019-10-22 13:58:13 +02:00
Sam Brannen
2146bc816a
Fix Checkstyle violations
...
See gh-23767
2019-10-22 12:40:38 +02:00
Phillip Webb
ad543dbee3
Use mapped annotation values when resolving mirrors
...
Update `TypeMappedAnnotation` mirror resolution logic so that mapped
annotation values are also considered. Prior to this commit, mirrors
in more complex meta-annotation scenarios would not resolve correctly.
Specifically, given the following:
@interface TestAliased {
@AliasFor(attribute = "qualifier")
String value() default "";
@AliasFor(attribute = "value")
String qualifier() default "";
}
@TestAliased
@interface TestMetaAliased {
@AliasFor(annotation = Aliased.class, attribute = "value")
String value() default "";
}
@TestMetaAliased("test")
@interface TestComposed {
}
A merged `@TestAliased` annotation obtained from a `@TestComposed`
root annotation would return a `value` and `qualifier` of "".
This was because the "value" and "qualifier" mirrors needed to be
resolved against the `@TestMetaAliased` meta-annotation. They cannot be
resolved against the declared `@TestComposed` annotation because it
does not have any attributes. Our previous tests only covered a single
depth scenario where `@TestMetaAliased` was used directly on the
annotated element.
Closes gh-23767
Co-authored-by: Sam Brannen <sbrannen@pivotal.io>
2019-10-21 21:57:30 -07:00
Sam Brannen
b1a938fa24
Polishing
2019-10-21 13:51:37 -07:00
Stephane Nicoll
29f0d1b25e
Remove TODO in AnnotationUtils
...
Closes gh-23727
2019-09-30 07:57:12 +02:00
Juergen Hoeller
2861fc65bd
Polishing
2019-09-27 10:17:56 +02:00
Sam Brannen
2526553ecd
Document terms and units in DataSize and DataUnit
...
Prior to this commit, it was not readily apparent what terms and units
such as kilobyte/KB and megabyte/MB represented numerically in DataSize
and DataUnit.
This commit clarifies that such terms and units are based on binary
prefixes for data (i.e., powers of 2 instead of powers of 10).
Closes gh-23697
2019-09-26 16:05:12 +02:00
Sam Brannen
77b896ca28
Polishing
2019-09-26 11:58:45 +02:00
Sebastien Deleuze
091c512f0d
Upgrade to Coroutines 1.3.2
...
Closes gh-23663
2019-09-25 21:51:04 +02:00
Juergen Hoeller
bd70f10d2b
Merge branch '5.1.x'
...
# Conflicts:
# build.gradle
# spring-aop/src/main/java/org/springframework/aop/framework/CglibAopProxy.java
# spring-aspects/spring-aspects.gradle
# spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java
# spring-beans/src/main/java/org/springframework/beans/factory/support/GenericBeanDefinition.java
# spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java
# spring-orm/spring-orm.gradle
# spring-test/spring-test.gradle
2019-09-25 12:43:24 +02:00
Juergen Hoeller
bb6f9bb6d4
Polishing
2019-09-25 12:14:48 +02:00
Sam Brannen
e6678f40e8
Make DataSize constants final
2019-09-24 15:32:26 +02:00
Sam Brannen
402046f3c7
Polish data buffer allocation tests
2019-09-24 14:24:36 +02:00
Sam Brannen
bba3553dfb
Polish SpringVersion
2019-09-24 12:43:10 +02:00
Sam Brannen
4acd180fa3
Document that setting static final fields is unsupported
...
This commit updates the documentation for ReflectionUtils and
ReflectionTestUtils to point out that setting static final fields is
not supported.
2019-09-21 15:42:09 +02:00
Sam Brannen
fccdb8cf60
Polish ReflectionUtils
...
This commit removes dead code in ReflectionUtils and improves the
exception message for field access errors.
2019-09-21 15:29:03 +02:00
Juergen Hoeller
4882dfcc0d
Consistent relative path treatment (no accidental URL fragment symbol)
...
Closes gh-23532
2019-09-20 21:55:27 +02:00
Juergen Hoeller
957924ace2
Avoid early log provider initialization (and LogAccessor dependency)
...
Closes gh-23655
2019-09-20 21:54:53 +02:00
Stephane Nicoll
37d950c5d6
Merge branch '5.1.x'
2019-09-16 14:37:15 +02:00
Stephane Nicoll
b65984a078
Consume getProtocolResolvers() rather than internal list
...
This commit makes sure that DefaultResourceLoader consistently use
getProtocolResolvers() to access additional protocol resolvers. This
allows subclasses to define how the list is provided.
Closes gh-23564
2019-09-16 14:35:00 +02:00
Phillip Webb
d945ae9191
Add blank line between java and javax imports
...
See gh-23539
Co-authored-by: Sam Brannen <sbrannen@pivotal.io>
2019-09-16 13:41:59 +02:00
Sam Brannen
d09f537699
Annotate Object#equals parameter with @nullable
...
See gh-23093
Co-authored-by: Sebastien Deleuze <sdeleuze@pivotal.io>
2019-09-16 12:43:13 +02:00
Juergen Hoeller
c8f20815ef
Revise LinkedCaseInsensitiveMap's lazy key/value/entry collections
...
Closes gh-22926
2019-09-16 12:38:46 +02:00
Juergen Hoeller
60976e4116
Add missing nullable declarations
...
See gh-22821
2019-09-16 12:37:49 +02:00
Phillip Webb
aa69703f3b
Fix LinkedCaseInsensitiveMap collection methods
...
Ensure that results returned from keySet, entrySet & values are tracked
to remove case insensitive keys from the source map.
Closes gh-22821
2019-09-16 12:36:05 +02:00
Sam Brannen
957f0fac7a
Polishing
2019-09-13 12:55:59 +02:00
Sam Brannen
30cff46e7f
Prevent improper use of testing framework APIs
...
Prior to this commit, a lot of work had been done to prevent improper
use of testing Framework APIs throughout the codebase; however, there
were still some loopholes.
This commit addresses these loopholes by introducing additional
Checkstyle rules (and modifying existing rules) to prevent improper use
of testing framework APIs in production code as well as in test code.
- Checkstyle rules for banned imports have been refactored into
multiple rules specific to JUnit 3, JUnit 4, JUnit Jupiter, and
TestNG.
- Accidental usage of org.junit.Assume has been switched to
org.junit.jupiter.api.Assumptions.
- All test classes now reside under org.springframework packages.
- All test classes (including abstract test classes) now conform to the
`*Tests` naming convention.
- As an added bonus, tests in the renamed
ScenariosForSpringSecurityExpressionTests are now included in the
build.
- Dead JUnit 4 parameterized code has been removed from
DefaultServerWebExchangeCheckNotModifiedTests.
Closes gh-22962
2019-09-12 11:20:56 +02:00
Sam Brannen
333711fd36
Convert XmlValidationModeDetectorTests to JUnit Jupiter and AssertJ
...
See gh-23605
2019-09-09 16:29:00 +02:00
Sam Brannen
22c88d7126
Merge branch '5.1.x'
2019-09-09 16:25:20 +02:00
Sam Brannen
961010055e
Support trailing comment in DTD declaration in XML config
...
Prior to this commit, Spring failed to determine that an XML config file
was DTD-based if the DTD declaration was followed by a comment.
This commit fixes this by modifying the consumeCommentTokens(String)
algorithm in XmlValidationModeDetector so that both leading and trailing
comments are properly consumed without losing any XML content.
Closes gh-23605
2019-09-09 16:18:21 +02:00
Sam Brannen
591995ecc8
Polish and revive disabled tests
...
This commit revives some previously disabled tests and converts
some usage of @Disabled to @EnabledForTestGroups(...).
2019-09-06 15:57:27 +02:00
Phillip Webb
deba2ed1b3
Add blank line between java and javax imports
...
See gh-23539
2019-09-04 22:05:46 -07:00
Sam Brannen
07d4104f2f
Polishing
2019-09-04 14:12:44 +02:00
Rossen Stoyanchev
310f0bfb6c
Remove unnecessary code from prior commit
2019-09-04 12:59:19 +01:00
Rossen Stoyanchev
dfc7540106
Add generic type bounds to DataBufferUtils methods
...
Closes gh-23459
2019-09-04 12:14:32 +01:00
Juergen Hoeller
3bc27e8d14
Streamline AnnotationFilter usage with the MergedAnnotations API
...
MergedAnnotations provides 'from' variants with RepeatableContainers but without AnnotationFilter argument now, avoiding the need to refer to AnnotationFilter.PLAIN as a default at call sites.
2019-09-04 12:18:49 +02:00
Rossen Stoyanchev
c8f430ee91
Change package used to test path matching
...
The org.reactivestreams has 13 instead of 4 classes in 1.0.3 with the
addition of Java 9 Flow adapters. This commit switches to using a
different package reactor.util.annotation, also with a small number of
classes, for this test.
2019-09-04 10:37:57 +01:00
Sebastien Deleuze
9b33b0ad58
Rename CoroutinesUtils#invokeHandlerMethod to invokeSuspendingFunction
2019-09-03 23:41:53 +02:00
Sam Brannen
aeb857c3ba
Polish ClassUtilsTests
...
See gh-23572
2019-09-03 17:58:54 +02:00
Sam Brannen
c78960a1ba
Merge branch '5.1.x'
2019-09-03 14:21:39 +02:00
Sam Brannen
f37ec90f2f
Consider Void.class a primitive wrapper in ClassUtils
...
Prior to this commit, ClassUtils.isPrimitiveOrWrapper() and
ClassUtils.isPrimitiveWrapper() did not return true for Void.class.
However, ClassUtils.isPrimitiveOrWrapper() did return true for
void.class. This lacking symmetry is inconsistent and can lead to bugs
in reflective code.
See: https://github.com/spring-projects/spring-data-r2dbc/issues/159
This commit addresses this by adding an entry for Void.class -> void.class
in the internal primitiveWrapperTypeMap in ClassUtils.
Closes gh-23572
2019-09-03 14:02:24 +02:00
Brian Clozel
d4089747b8
Use dependency management in Framework build
...
Prior to this commit, the Spring Framework build would partially use the
dependency management plugin to import and enforce BOMs.
This commit applies the dependency management plugin to all Java
projects and regroups all version management declaration in the root
`build.gradle` file (versions and exclusions).
Some versions are overridden in specific modules for
backwards-compatibility reasons or extended support.
This commit also adds the Gradle versions plugin that checks for
dependency upgrades in artifact repositories and produces a report; you
can use the following:
./gradlew dependencyUpdates
2019-09-02 18:01:09 +02:00
Sebastien Deleuze
ca02cc1194
Migrate to AssertJ in Kotlin tests
...
Closes gh-23475
2019-09-02 15:59:26 +02:00
Arjen Poutsma
3fcf4233a2
Merge branch '5.1.x'
2019-09-02 15:19:30 +02:00
Arjen Poutsma
f748b1e68d
Fix timing bug in DataBufferUtils::readAsynchronousFileChannel
...
This commit makes sure that reading is enabled after the current
signal has been processed, not while is is being processed. The bug
was only apparent while using the JettyClientHttpConnector, which
requests new elements continuously, even after the end of the
stream has been signalled.
2019-09-02 15:13:22 +02:00
Arjen Poutsma
702dad6cec
Fix ConcurrentModificationException
2019-09-02 12:42:21 +02:00
Arjen Poutsma
67d48ed821
Merge branch '5.1.x'
2019-08-29 17:18:22 +02:00
Arjen Poutsma
2c5958e191
Support back pressure in DataBufferUtils::readAsynchronousFileChannel
...
This commit adds support for back pressure in the ReadCompletionHandler,
as used by DataBufferUtils::readAsynchronousFileChannel.
See gh-23518
2019-08-29 16:34:36 +02:00
OLPMO
ed64a10c38
Use Collections.addAll where feasible
...
Closes gh-23478
2019-08-29 13:59:14 +02:00
Sam Brannen
c004ef888c
Configure index in @ParameterizedTest display names
...
This commit prepends "[{index}] " to all custom display names
configured via @ParameterizedTest.
This provides better diagnostics between the "technical names" reported
on the CI server vs. the "display names" reported within a developer's
IDE.
See gh-23451
2019-08-28 17:06:23 +02:00
Sam Brannen
b173a93e72
Verify PathMatchingResourcePatternResolver finds local files with # in name
...
This commit introduces a test that verifies that
PathMatchingResourcePatternResolver can find files in the filesystem
that contain hashtags (#) in their names.
See gh-23532
2019-08-28 16:21:07 +02:00
Sebastien Deleuze
77da40f006
Upgrade to Coroutines 1.3.0
...
Closes gh-23535
2019-08-28 13:30:40 +02:00
stsypanov
78d56dc61b
Use Arrays.copyOf and Arrays.copyOfRange where possible
...
Closes gh-23393
2019-08-27 19:18:39 +02:00
Сергей Цыпанов
6ef75d76cd
Simplify String concatenation
...
Closes gh-23470
2019-08-27 18:22:44 +02:00
Sam Brannen
bfbe84d1c6
Apply fudge factor on both ends of the spectrum in StopWatchTests
...
This is an attempt to solve a build issue on Microsoft Windows.
See gh-23507
2019-08-23 16:50:27 +02:00
Sam Brannen
ad6231ad29
Add missing @Override annotations
2019-08-23 13:50:58 +02:00
Brian Clozel
86c734785d
Apply Artifactory Gradle plugin
...
Instead of relying on the CI server to apply and configure this plugin,
this commit does it directly in the Spring Framework build.
This allows us to take full control over which projects are published
and how.
See gh-23282
2019-08-21 20:15:35 +02:00
Brian Clozel
7ce1f5e652
Configure Maven publications with Gradle
...
Prior to this commit, the build would use a custom task to create a BOM
and manually include/exclude/customize dependencies. It would also use
the "maven" plugin to customize the POM before publication.
This commit now uses a Gradle Java Platform for publishing the Spring
Framework BOM. We're also now using the "maven-publish" plugin to
prepare and customize publications.
This commit also tells the artifactory plugin (which is currently
applied only on the CI) not to publish internal modules.
See gh-23282
2019-08-21 15:39:51 +02:00
Brian Clozel
e45a3f4738
Rename non-Framework project modules
...
Prior to this commit, the Spring Framework build would mix proper
framework modules (spring-* modules published to maven central) and
internal modules such as:
* "spring-framework-bom" (which publishes the Framework BOM with all
modules)
* "spring-core-coroutines" which is an internal modules for Kotlin
compilation only
This commit renames these modules so that they don't start with
"spring-*"; we're also moving the "kotlin-coroutines" module under
"spring-core", since it's merged in the resulting JAR.
See gh-23282
2019-08-21 14:32:25 +02:00
Brian Clozel
e9523161f0
Revert "Revert "Refactor Gradle tasks in Spring Framework build""
...
This reverts commit fb0d618751
.
2019-08-20 20:26:43 +02:00
Stephane Nicoll
fb0d618751
Revert "Refactor Gradle tasks in Spring Framework build"
...
This reverts commit 1539ba8991
.
2019-08-20 20:07:11 +02:00
Brian Clozel
1539ba8991
Refactor Gradle tasks in Spring Framework build
...
This commit reorganizes tasks and scripts in the build to only apply
them where they're needed. We're considering here 3 "types" of projects
in our build:
* the root project, handling documentation, publishing, etc
* framework modules (a project that's published as a spring artifact)
* internal modules, such as the BOM, our coroutines support and our
integration-tests
With this change, we're strealining the project configuration for all
spring modules and only applying plugins when needed (typically our
kotlin support).
See gh-23282
2019-08-20 18:17:02 +02:00
Sam Brannen
aa6e762dcf
Re-enable shadowed, overridden @Test methods
...
Due to a bug (or "unintentional feature") in JUnit 4, overridden test
methods not annotated with @Test are still executed as test methods;
however, JUnit Jupiter does not support that. Thus, prior to this
commit, some overridden test methods in spring-core were no longer
executed after the migration from JUnit 4 to JUnit Jupiter.
This commit addresses this issue for such known use cases, but there
are likely other such use cases within Spring's test suite.
See gh-23451
2019-08-20 15:30:32 +02:00
Sam Brannen
fab96cad67
Use default visibility for test classes and methods in spring-core
...
See gh-23451
2019-08-20 15:30:24 +02:00
Sam Brannen
4386bf05de
Delete obsolete interface
2019-08-19 15:35:02 +02:00
Sam Brannen
74ccfe3533
Polish Spring's internal TestGroup support
2019-08-19 15:21:16 +02:00
Sebastien Deleuze
4d10249b70
Update to Coroutine 1.3.0-RC2
...
This updates brings full interoperability between Reactor and
Coroutines contexts.
Closes gh-22986
2019-08-19 10:03:01 +02:00
Andrey Kolchanov
6937d95e69
Remove unnecessary semicolon in AnnotatedElementUtils
...
Closes gh-23477
2019-08-17 15:07:39 +02:00
Sam Brannen
288461a541
Introduce @EnabledForTestGroups in Spring's test suite
...
Closes gh-23476
2019-08-17 14:47:24 +02:00
Sam Brannen
979508a7f3
Remove JUnit 4 dependency from all modules except spring-test
...
This commit removes the JUnit 4 dependency from all modules except
spring-test which provides explicit JUnit 4 support.
This commit also includes the following.
- migration from JUnit 4 assertions to JUnit Jupiter assertions in all
Kotlin tests
- migration from JUnit 4 assumptions in Spring's TestGroup support to
JUnit Jupiter assumptions, based on org.opentest4j.TestAbortedException
- introduction of a new TestGroups utility class than can be used from
existing JUnit 4 tests in the spring-test module in order to perform
assumptions using JUnit 4's Assume class
See gh-23451
2019-08-17 11:37:21 +02:00
Sam Brannen
3df85c783f
Migrate parameterized tests in spring-core
...
This commit migrates parameterized tests in spring-core using the
"composed @ParameterizedTest" approach. This approach is reused in
follow-up commits for the migration of the remaining modules.
For a concrete example, see AbstractDataBufferAllocatingTests and its
subclasses (e.g., DataBufferTests).
Specifically, AbstractDataBufferAllocatingTests declares a custom
@ParameterizedDataBufferAllocatingTest annotation that is
meta-annotated with @ParameterizedTest and
@MethodSource("org.springframework.core.io.buffer.AbstractDataBufferAllocatingTests#dataBufferFactories()").
Individual methods in concrete subclasses are then annotated with
@ParameterizedDataBufferAllocatingTest instead of @ParameterizedTest or
@Test.
The approach makes the migration from JUnit 4 to JUnit Jupiter rather
straightforward; however, there is one major downside. The arguments
for a @ParameterizedTest test method can only be accessed by the test
method itself. It is not possible to access them in an @BeforeEach
method (see https://github.com/junit-team/junit5/issues/944 ).
Consequently, we are forced to declare the parameters in each such
method and delegate to a custom "setup" method. Although this is a bit
cumbersome, I feel it is currently the best way to achieve fine grained
parameterized tests within our test suite without implementing a custom
TestTemplateInvocationContextProvider for each specific use case.
Once https://github.com/junit-team/junit5/issues/878 is resolved, we
should consider migrating to parameterized test classes.
See gh-23451
2019-08-17 11:36:47 +02:00
Sam Brannen
32cc32f9a7
Migrate test suite from JUnit 4 to JUnit Jupiter
...
This first commit for this issue:
- allows JUnit Jupiter to be used for all tests
- adds a dependency on mockito-junit-jupiter
- migrates tests in spring-core to JUnit Jupiter, except parameterized
tests
The following script was developed in order to semi-automate the
migration process.
https://github.com/sbrannen/junit-converters/blob/master/junit4ToJUnitJupiter.zsh
See gh-23451
2019-08-17 11:36:25 +02:00
Juergen Hoeller
9bd3a535cd
Avoid UndeclaredThrowableStrategy with 1.8 bytecode level (CGLIB 3.3)
...
ClassLoaderAwareUndeclaredThrowableStrategy fails with a VerifyError on recent JDKs after the CGLIB 3.3 upgrade. The alternative is to replace it with a plain ClassLoaderAwareGeneratorStrategy (extracted from CglibSubclassingInstantiationStrategy) and custom UndeclaredThrowableException handling in CglibMethodInvocation.
See gh-23453
2019-08-14 00:14:14 +02:00
Juergen Hoeller
4123910d3d
Upgrade to CGLIB 3.3
...
Closes gh-23453
2019-08-12 19:36:06 +02:00
Sam Brannen
fcbca7d569
Remove obsolete references to JUnit 4's ArrayComparisonFailure
...
See gh-23451
2019-08-12 12:45:14 +02:00
Sam Brannen
6c0e550b86
Polish contribution
...
See gh-23445
2019-08-10 14:07:15 +02:00
zhuzhuman978
849bbf00b5
Simplify if statements and replace try-finally with try-with-resources
...
Closes gh-23445
2019-08-10 14:03:18 +02:00
Sam Brannen
56c1e8ffd2
Polishing
2019-08-09 11:08:30 +02:00
Sam Brannen
a532afb15d
Use System.nanoTime() in StopWatch
...
Prior to this commit, StopWatch used System.currentTimeMillis() to
track and report running time in milliseconds.
This commit updates the internals of StopWatch to use System.nanoTime()
instead of System.currentTimeMillis(). Consequently, running time is
now tracked and reported in nanoseconds; however, users still have the
option to retrieve running time in milliseconds or seconds.
Closes gh-23235
2019-08-07 17:39:42 +02:00
Sam Brannen
24f8d30935
Remove deprecated MergedAnnotations.SearchStrategy.EXHAUSTIVE constant
...
Closes gh-23391
2019-08-07 12:34:17 +02:00
Sam Brannen
a43ba052e9
Remove unnecessary loop in SerializableTypeWrapper
...
Since arbitrary levels of proxies do not occur, this commit replaces
the `while` loop in SerializableTypeWrapper.unwrap() with a simple
`if` statement.
Closes gh-23415
2019-08-07 12:24:48 +02:00
Sam Brannen
83956f8e8b
Overhaul StopWatchTests
2019-08-07 12:13:18 +02:00
Sam Brannen
03dd45fbd6
Use AssertJ in AnnotationAttributesTests
2019-08-06 18:18:16 +02:00
Sam Brannen
34767b14da
Merge branch '5.1.x'
2019-08-06 18:11:47 +02:00
Sam Brannen
30ebc3b8e2
Remove superfluous AnnotationAttributes#putIfAbsent implementation
...
Since Java 8, putIfAbsent() is a standard method in java.util.Map. We
therefore no longer need the custom implementation that overrides the
standard implementation in HashMap.
2019-08-06 18:10:13 +02:00
Sam Brannen
a092dc055e
Check for instanceof Throwable in AnnotationAttributes#assertNotException
...
Prior to this commit, AnnotationAttributes#assertNotException checked if
the attribute value was an instance of Exception. Although this was
typically sufficient, the scope was not always broad enough -- for
example, if AnnotationReadingVisitorUtils#convertClassValues stored a
Throwable in the map (such as a LinkageError).
This commit fixes this by checking for an instance of Throwable in
AnnotationAttributes#assertNotException.
Closes gh-23424
2019-08-06 18:06:00 +02:00
Sam Brannen
4d6e359e25
Add missing @deprecated tags for ASM-based annotation search classes
2019-08-05 15:30:06 +02:00
Sam Brannen
82f301f42f
Polishing
2019-08-05 15:29:04 +02:00
Sam Brannen
e6ab6c9fe9
Add missing @deprecated tag for AnnotationMetadataReadingVisitor
2019-08-05 14:39:20 +02:00
Sam Brannen
c2f5dabeee
Polishing
2019-08-03 00:13:30 +02:00
Sam Brannen
9be327985b
Polishing
2019-08-01 23:15:40 +02:00
Sam Brannen
ee2041388b
Fix typo in Javadoc for MergedAnnotations
2019-08-01 23:15:39 +02:00
Juergen Hoeller
aebc485eda
MethodParameter.equals properly checks overridden containing class
...
Closes gh-23352
2019-08-01 14:34:39 +02:00
Juergen Hoeller
b67dbe66ef
Revise use of ResolvableType in MethodParameter
...
Includes consistent use of getContainingClass()
2019-08-01 14:25:26 +02:00
Juergen Hoeller
4612544505
Nullability refinements and related polishing
2019-08-01 13:04:46 +02:00
Phillip Webb
1e830f725c
Polish firstRunOf javadoc
2019-08-01 08:29:02 +01:00
Phillip Webb
62a3e41473
Deprecate mutable methods of MethodParameter
...
Deprecate all mutation methods in `MethodParameter` in favor of factory
methods that return a new instance. Existing code that previously relied
on mutation has been updated to use the replacement methods.
Closes gh-23385
2019-08-01 08:05:14 +01:00
Sam Brannen
de3c115614
Fix bug in TYPE_HIERARCHY_AND_ENCLOSING_CLASSES strategy
...
Prior to this commit, the new `TYPE_HIERARCHY_AND_ENCLOSING_CLASSES`
annotation search strategy failed to find annotations on enclosing
classes if the source class was a nested class that itself had no
annotations present.
This commit fixes this by adding special logic to AnnotationsScanner's
isWithoutHierarchy() method to properly support nested classes.
Closes gh-23378
2019-07-31 22:05:46 +02:00
Sam Brannen
b03dd47598
Remove duplicate assertion
2019-07-31 22:01:18 +02:00
Phillip Webb
17518ecbbe
Add TYPE_HIERARCHY_AND_ENCLOSING_CLASSES strategy
...
Add a `TYPE_HIERARCHY_AND_ENCLOSING_CLASSES` annotation search strategy
that can be used to search the full type hierarchy as well as any
enclosing classes.
Closes gh-23378
2019-07-31 14:40:40 +01:00
Phillip Webb
a6021cc968
Rename SearchStrategy.EXHAUSTIVE to TYPE_HIERARCHY
...
Rename `SearchStrategy.EXHAUSTIVE` from `MergedAnnotations` to
`SearchStrategy.TYPE_HIERARCHY`
See gh-23378
2019-07-31 13:52:53 +01:00
Juergen Hoeller
e6f86c5c75
Nullability refinements and related polishing
2019-07-31 13:45:48 +02:00
Phillip Webb
cca32a56a4
Use shared zero length array constants
...
Update code that's often called so that zero length array results use
a single shared static constant, rather than a new instance for each
call.
Closes gh-23340
2019-07-31 12:22:03 +02:00
Juergen Hoeller
4f3b89e907
Adapt MethodParameterTests to AssertJ usage on master
...
See gh-23352
2019-07-30 17:36:02 +02:00
Juergen Hoeller
8ef557df2f
Merge branch '5.1.x'
2019-07-30 17:34:29 +02:00
Juergen Hoeller
9a36027ae1
MethodParameter.equals checks nesting level and containing class
...
Closes gh-23352
2019-07-30 16:58:45 +02:00
Johnny Lim
bccc7a62f4
Remove duplicate assertion in matchWithNullPath()
...
See gh-23382
2019-07-30 09:37:50 +02:00
Sam Brannen
a3c7ae2c58
Polish contribution
...
See gh-23300
2019-07-24 10:13:29 +02:00
stsypanov
1d6e44ab04
Use StringJoiner where possible to simplify String joining
...
Closes gh-23300
2019-07-24 10:05:38 +02:00
Sebastien Deleuze
c006a83584
Upgrade to Coroutines 1.3.0-RC
...
This commit upgrades Coroutines support to kotlinx.coroutines
1.3.0-RC, leverages the new Coroutines BOM and refine Coroutines
detection to avoid false positives.
Only Coroutines to Mono context interoperability is supported
for now.
CLoses gh-23326
2019-07-21 11:27:43 +02:00
Juergen Hoeller
45136aabd4
Upgrade to Protobuf 3.9 (plus consistent XMLUnit declarations)
2019-07-20 19:06:54 +02:00
Juergen Hoeller
8ea3aa512f
Merge branch '5.1.x'
2019-07-20 16:35:05 +02:00
Juergen Hoeller
209c8505e6
Align forRawClassAssignableFromTypeVariable with 5.1 assertion style
...
See gh-23321
2019-07-20 16:10:49 +02:00
Juergen Hoeller
69d3e89814
Polishing
2019-07-20 15:05:49 +02:00
Phillip Webb
be65bef91b
Merge branch '5.1.x'
2019-07-20 13:23:37 +01:00
Phillip Webb
e5bef10d85
Fix ResolvableType raw class isAssignable checks
...
Fix `isAssignable` for `ResolvableType.forRawClass` so that it can be
used with types backed by a `TypeVarible`. Prior to this commit the
rawClass value was used, which wouldn't always work.
Closes gh-23321
2019-07-20 13:23:21 +01:00
Arjen Poutsma
090bfa63a1
Add DataBuffer::toString(Charset)
...
Closes gh-23317
2019-07-19 12:45:24 +02:00
Arjen Poutsma
c8704ce473
Introduce DataBufferWrapper
...
This commit introduces the DataBufferWrapper, a wrapper for DataBuffers,
and uses it in applicable use cases.
2019-07-19 12:45:24 +02:00
Sebastien Deleuze
095fd5bcb3
Use Kotlin BOM
...
Close gh-23316
2019-07-19 10:43:54 +02:00
Juergen Hoeller
7f33344784
Tracking ASM master
...
See gh-23156
2019-07-17 22:34:39 +02:00
Juergen Hoeller
94e3210ae7
Fix nullability warnings and javadoc-triggered package cycles
2019-07-17 22:34:07 +02:00
Sam Brannen
7779aa3487
Polish contribution
...
See gh-23297
2019-07-17 16:53:47 +02:00
Scheidter,Ryan
84200f3141
Treat null path as non-matching pattern in AntPathMatcher
...
Prior to this commit, a null path supplied to the isPattern(), match(),
and matchStart() methods in AntPathMatcher resulted in a
NullPointerException.
This commit addresses this by treating a `null` path as a non-matching
pattern.
Closes gh-23297
2019-07-17 16:53:47 +02:00
Sam Brannen
699d3f15e8
Simplify LocalVariableTableParameterNameDiscoverer implementation
...
This commit refactors the internals of
LocalVariableTableParameterNameDiscoverer to use
java.lang.reflect.Executable in order to simplify the implementation.
2019-07-12 12:02:49 +02:00
mfeng-ya
309b328719
Use computeIfAbsent in LocalVariableTableParameterNameDiscoverer
...
Closes gh-23281
2019-07-12 11:44:10 +02:00
Arjen Poutsma
09572e7b60
Removed DataBufferUtils::split
...
DataBuffers::split (and underlying algorithm) should not be returning
a Flux<DataBuffer>, but rather a Flux<Flux<DataBuffer>>. In other words,
it should not join all data buffers that come before a delimiter.
Providing an implementation of a such a fully reactive split method
proved to be beyond the scope of this release, so this commit removes
the method altogether.
2019-07-10 16:00:11 +02:00
Arjen Poutsma
fdcf09dc2f
Copied buffering split from DataBufferUtils to StringDecoder
...
Due to the imminent removal of DataBufferUtils.split, this commit copies
over the buffering split algortihm from DataBufferUtils, as it is still
sutable for the StringDecoder
2019-07-10 16:00:11 +02:00
Arjen Poutsma
ef19a6bf8e
Various DataBufferUtils improvements
...
- Made sure that takeUntilByteCount is usable in multiple subscriptions.
- Added composite Matcher
2019-07-10 16:00:11 +02:00
Sebastien Deleuze
ca75c2843a
Upgrade to Coroutines 1.3.0-M2
2019-07-09 11:36:26 +02:00
Rossen Stoyanchev
c199cb9054
@ConnectMapping for RSocket handling
...
The new annotation helps to differentiate the handling of connection
level frames (SETUP and METADATA_PUSH) from the 4 stream requests.
Closes gh-23177
2019-07-08 17:04:23 +01:00
Sam Brannen
fae75cb238
Polish contribution
...
See gh-23237
2019-07-07 16:29:03 +02:00
Сергей Цыпанов
9f81ffa5ae
Use StringJoiner where possible to simplify String joining
...
Closes gh-23237
2019-07-07 16:19:01 +02:00
Sam Brannen
8f5b2b2231
Merge branch '5.1.x'
2019-07-07 14:49:34 +02:00
Sam Brannen
efab6eb55d
Ignore empty entries when parsing MediaTypes and MimeTypes
...
Prior to Spring Framework 5.1.3, MimeTypeUtils.parseMimeTypes() and
MediaType.parseMediaTypes() ignored empty entries, but 5.1.3 introduced
a regression in that an empty entry -- for example, due to a trailing
comma in the list of media types in an HTTP Accept header -- would result
in a "406 Not Acceptable" response status.
This commit fixes this by filtering out empty entries before parsing
them into MimeType and MediaType instances. Empty entries are therefore
effectively ignored.
Fixes gh-23241
2019-07-07 12:39:46 +02:00
Juergen Hoeller
d903b9acf5
Compatibility with RxJava 3.0
...
Closes gh-23208
2019-07-05 16:25:52 +02:00
Juergen Hoeller
6990504d17
Upgrade to ASM 7.2
...
Closes gh-23156
2019-07-05 16:24:45 +02:00
Rossen Stoyanchev
0d3e5db3ff
Compare suffix patterns by length
...
Closes gh-23125
2019-07-05 07:36:35 +01:00
Phillip Webb
b3d56ebf3b
Restore StringUtils.hasLength check
...
Update `MimeTypeUtils` so that the StringUtils.hasLength check is
performed immediately on the incoming argument, rather than in
`parseMimeTypeInternal`. This restores the `IllegalArgumentException`
rather than the `NullPointerException` which is thrown by the
`ConcurrentHashMap`.
Closes gh-23215
See gh-23211
2019-06-29 22:31:11 -07:00
Brian Clozel
5a308ad5bd
Polish MimeTypeUtils LRU cache
...
This commit improves the cache implementation by skipping the ordering
of most recently used cached keys when the cache is at least half empty.
See gh-23211
2019-06-29 00:17:40 +02:00
Brian Clozel
1b93ea97ac
Fix concurrent reads issue in MimeTypeUtils cache
...
As of gh-22340, `MimeTypeUtils` has a built-in LRU cache implementation
for caching parsed MIME types and avoiding excessive garbage creation at
runtime.
This implementation, when hit with highly concurrent reads on the same
media type (the cache key), can create multiple keys for the same MIME
type string. This duplication leads to the cache filling up and evicting
entries. When the cache fetches a duplicate key, it is then not
associated with a value and the cache can return a `null` value, which
is forbidden by the API contract.
This commit adds another cache check within the write lock: this avoids
creating duplicate entries in the cache and `null` return values.
Fixes gh-23211
2019-06-28 23:43:38 +02:00
Sam Brannen
33fa55e658
Update OrderComparatorTests based on clarified PriorityOrdered semantics
...
See gh-23187
2019-06-25 11:04:19 +03:00
Sam Brannen
b2dc4debde
Merge branch '5.1.x'
2019-06-25 10:42:14 +03:00
Sam Brannen
dda4dfb44b
Clarify semantics of the PriorityOrdered interface
...
This commit clarifies the semantics of the PriorityOrdered interface
with respect to sorting sets of objects containing both PriorityOrdered
and plain Ordered objects.
Closes gh-23187
2019-06-25 10:40:55 +03:00
Johnny Lim
1afc2be5aa
Remove duplicate assertion in AnnotatedElementUtilsTests
...
Closes gh-23191
2019-06-25 10:00:12 +03:00
Sam Brannen
6cc6abd405
Test status quo for OrderComparator's PriorityOrdered support
...
See gh-23187
2019-06-24 14:13:46 +03:00
Sam Brannen
4357749a63
Document that OrderComparator honors PriorityOrdered
...
Prior to this commit, it was not clear that OrderComparator sorts
PriorityOrdered objects with higher priority than plain Ordered objects.
2019-06-24 13:32:54 +03:00
Sam Brannen
e3b3481c19
Fix typo in Javadoc
2019-06-24 12:32:41 +03:00
Sam Brannen
4000b244ff
Forbid null converters in RestTemplate & HttpMessageConverterExtractor
...
Prior to this commit, RestTemplate and HttpMessageConverterExtractor did
not validate that the supplied HttpMessageConverter list contained no
null elements, which can lead to a NullPointerException when the
converters are accessed.
This commit improves the user experience by failing immediately if the
supplied HttpMessageConverter list contains a null element. This applies
to constructors for RestTemplate and HttpMessageConverterExtractor as
well as to RestTemplate#setMessageConverters().
Note, however, that RestTemplate#getMessageConverters() returns a mutable
list. Thus, if a user modifies that list so that it contains null values,
that will still lead to a NullPointerException when the converters are
accessed.
This commit also introduces noNullElements() variants for collections in
org.springframework.util.Assert.
Closes gh-23151
2019-06-18 16:13:20 +03:00
Sam Brannen
f6a4595cef
Polishing
2019-06-17 17:06:37 +03:00
Arjen Poutsma
f08656c6cb
Add methods to read/write from Path to DataBufferUtils
...
This commit adds two methods to DataBufferUtils:
- one that reads a Flux<DataBuffer> from a Path
- one that writes a Flux<DataBuffer> to a Path
2019-06-14 14:13:18 +02:00
Juergen Hoeller
0a77477d32
Merge branch '5.1.x'
2019-06-12 18:16:30 +02:00
Juergen Hoeller
fc46abf0b7
Polishing
2019-06-12 18:04:06 +02:00
Juergen Hoeller
1ccd99ebe7
Polishing
2019-06-12 14:11:39 +02:00
Juergen Hoeller
918ffacdf8
Polishing
2019-06-12 13:29:35 +02:00
Sam Brannen
bee4fb0615
Polishing
2019-06-12 14:07:04 +03:00
Sam Brannen
049437e111
Log exception when closing InputStream in AbstractResource
...
Prior to this commit, exceptions thrown while closing an InputStream in
AbstractResource were silently ignored.
This commit improves diagnostics for such failure scenarios by logging
the exception at DEBUG level.
Closes gh-23116
2019-06-12 14:07:04 +03:00
Juergen Hoeller
33b5bc2aae
Polishing
2019-06-11 23:50:29 +02:00
Juergen Hoeller
a89bfffd8c
Merge branch '5.1.x'
2019-06-11 23:16:03 +02:00
Phillip Webb
6ac68391c1
Polishing
2019-06-11 12:03:05 -07:00
Phillip Webb
b21b27c5ac
Add MultiValueMap.addIfAbsent method
...
Closes gh-23111
2019-06-11 12:03:05 -07:00
Juergen Hoeller
7dc92aa05d
Polishing
2019-06-11 20:57:27 +02:00
Juergen Hoeller
4fc9747569
Defensive concurrent access to key set from java.util.Properties
...
Closes gh-23063
2019-06-11 20:56:57 +02:00
Juergen Hoeller
b37390b8fe
Restore javax meta-annotation lookup behavior
...
Closes gh-22957
2019-06-11 20:56:41 +02:00
Sebastien Deleuze
098ac0bbb8
Annotate Object#equals parameter with @Nullable
...
Closes gh-23093
2019-06-06 14:18:30 +02:00
Sebastien Deleuze
044ea17bf9
Polishing
2019-06-05 12:13:36 +02:00
Sebastien Deleuze
2a19b8f7a5
Refine Coroutines adapter registration activation
...
Closes gh-23087
2019-06-05 11:52:00 +02:00
Sam Brannen
3b37989774
Apply De Morgan's law for greater clarity of purpose
2019-06-05 10:29:24 +03:00
Sam Brannen
410f204168
Support consistent ordering of string adapting properties
...
This commit introduces support for consistent ordering of Properties
created by CollectionFactory.createStringAdaptingProperties().
Specifically, the created Properties instance sorts properties
alphanumerically based on their keys.
Closes gh-23081
2019-06-04 14:47:43 +03:00
Stephane Nicoll
0ef4349c4d
Polish "Replace with 'Integer.compare()'"
...
See gh-23071
2019-06-03 08:31:57 +02:00
Issam El-atif
7ce3792672
Replace with 'Integer.compare()'
...
See gh-23071
2019-06-03 08:31:19 +02:00
Sam Brannen
f66eef1f88
Fix SortedPropertiesTests on JDK 9+
2019-05-30 10:41:49 +02:00
Sam Brannen
53597f90e9
Remove dependency on StringUtils in SortedProperties
...
See gh-23018, gh-22383
2019-05-28 18:31:54 +02:00
Sam Brannen
c6818fe15b
Polishing
...
See gh-23018
2019-05-28 14:53:24 +02:00
Sam Brannen
d495902a9c
Polish Javadoc
2019-05-28 12:37:50 +02:00
Sam Brannen
c39c4211df
Introduce support for sorted Properties
...
This commit introduces an internal SortedProperties class that is a
specialization of java.util.Properties which sorts properties
alphanumerically based on their keys.
This can be useful when storing a java.util.Properties instance in a
properties file, since it allows such files to be generated in a
repeatable manner with consistent ordering of properties.
Comments in generated properties files can also be optionally omitted.
An instance of SortedProperties can be created via two new
createSortedProperties() factory methods in
org.springframework.core.CollectionFactory.
Closes gh-23018
2019-05-28 12:23:56 +02:00
Phillip Webb
6f2f5bb8c1
Fix annotation exceptions in tight memory
...
Update `AnnotationTypeMapping` so that instance comparisons are no
longer used when checking attribute methods. Prior to this commit,
in an environment with tightly constrained memory, the method cache
could be cleared and different method instances would be returned.
Closes gh-23010
2019-05-26 14:59:33 -07:00
Phillip Webb
e386e53f92
Use less confusing MergedAnnotation method names
...
Rename some `MergedAnnotation` methods to prevent using parent/child
terminology, specifically:
`getDepth()` has been renamed `getDistance()`
`getParent()` has been renamed `getMetaSource()`
`getTypeHierarchy()` has been renamed `getMetaTypes()`
The parent child naming was particularly confusing given that the
parent/child relationships were inverted from the way that a lot of
users think about meta-annotations. For example, a `@RequestMapping`
having a parent of `@GetMapping` feels odd given that `@GetMapping`
is the thing declaring the meta-annotation relationship.
The new method names are designed to align more closely with existing
terms. For example, `getMetaSource` hints at the relationship with
`isMetaAnnotated` and `getSource`.
Closes gh-22946
2019-05-26 13:15:59 -07:00
Sam Brannen
43119deb08
Polishing
2019-05-26 14:28:09 +02:00
Phillip Webb
9d74da006c
Migrate JUnit 4 assertions to AssertJ
...
Migrate all existing JUnit 4 `assert...` based assertions to AssertJ
and add a checkstyle rule to ensure they don't return.
See gh-23022
2019-05-23 15:52:49 -07:00
Phillip Webb
95a9d46a87
Migrate Hamcrest assertions to AssertJ
...
Migrate all existing `assertThat(..., Matcher)` assertions to AssertJ
and add checkstyle rules to ensure they don't return.
See gh-23022
2019-05-23 15:49:59 -07:00
Rossen Stoyanchev
71396121a7
Merge branch '5.1.x'
2019-05-23 09:57:29 -04:00
Rossen Stoyanchev
99302fd6bd
AntPathMatcher#isPattern also checks URI vars
...
Closes gh-22959
2019-05-23 09:56:11 -04:00
Juergen Hoeller
8a33ef2d14
Merge branch '5.1.x'
2019-05-21 21:06:38 +02:00
Juergen Hoeller
701b7b8a18
Align ReactiveTypeDescriptor accessor methods
2019-05-21 20:46:27 +02:00
Juergen Hoeller
ff838fd011
Consistently support CompletionStage in ReactiveAdapterRegistry
...
Aligns ReactiveAdapterRegistry with MVC/messaging handler methods in terms of recognizing CompletionStage as well as CompletableFuture. Includes consistent use of ReactiveAdapter for reactive transactions.
Closes gh-23011
2019-05-21 19:26:12 +02:00
Juergen Hoeller
171e8f56a3
Merge branch '5.1.x'
2019-05-20 22:27:37 +02:00
Juergen Hoeller
55e601c322
Revise system property replacement tests
...
See gh-22959
2019-05-20 22:19:03 +02:00
Phillip Webb
02850f357f
Migrate exception checking tests to use AssertJ
...
Migrate tests that use `@Test(expectedException=...)` or
`try...fail...catch` to use AssertJ's `assertThatException`
instead.
2019-05-20 10:47:53 -07:00
Arjen Poutsma
a30a134c23
Make StringDecoder use DataBufferUtils.split
...
* Added DataBufferUtils.split variant that takes multiple delimiters
as argument (instead of 1).
* Use this new split() variant from within StringDecoder, replacing
its inefficient algorithm with the Knuth-Morris-Pratt algorithm.
2019-05-15 16:07:28 +02:00
Rossen Stoyanchev
b1912f6acc
Fix checkstyle error
2019-05-15 08:29:41 -04:00
Rossen Stoyanchev
97c2de915a
Add RouteMatcher
...
Closes gh-22642
2019-05-14 21:44:39 -04:00
Sam Brannen
785e8d8116
Polish MergedAnnotation support
2019-05-13 14:11:29 +02:00
Sam Brannen
deecab6311
Use assertThat from Hamcrest instead of JUnit 4
...
org.junit.Assert.assertThat() is deprecated as of JUnit 4.13.
See gh-22894
2019-05-12 14:46:55 +02:00
Sam Brannen
64819bbc1d
Clean up warnings
2019-05-10 18:00:29 +02:00
Phillip Webb
798b51f4a3
Migrate to BDD Mockito
...
Migrate all tests to consistently use BDD Mockito. Also add
checksyle rule to enforce going forwards.
2019-05-08 13:46:13 -07:00
Phillip Webb
816bbee8de
Remove '.*' imports from tests
...
Organize test imports to expand all '.*' static imports into
fully qualified imports.
This update will allow us to use additional checkstyle rules in
the future, and will also help if we migrate fully to AssertJ.
2019-05-08 09:55:09 -07:00
Phillip Webb
66eb86f055
Delete unused Matchers class
...
Delete the `Matches` class since it's no longer being used.
2019-05-08 09:52:39 -07:00
Juergen Hoeller
fb29088670
Revise LinkedCaseInsensitiveMap's lazy key/value/entry collections
...
Closes gh-22926
2019-05-08 17:52:28 +02:00
Phil Webb
d7320de871
Migrate away from ExpectedException ( #22922 )
...
* Add limited checkstyles to test code
Add a limited set of checkstyle rules to the test codebase to improve
code consistency.
* Fix checksyle violations in test code
* Organize imports to fix checkstyle for test code
* Migrate to assertThatExceptionOfType
Migrate aware from ExpectedException rules to AssertJ exception
assertions. Also include a checkstyle rules to ensure that the
the ExpectedException is not accidentally used in the future.
See gh-22894
2019-05-08 16:25:52 +02:00
Juergen Hoeller
c5b3848357
Nullability refinements and related polishing
...
Includes fix for typo in visitor class names.
See gh-22909
2019-05-08 00:27:47 +02:00
Phillip Webb
7031964e49
Deprecate StandardMetadata constructors
...
Deprecate the public `StandardMetadata` constructors to make it clearer
that these classes should not be instantiated directly. A new
`AnnotationMetadata.introspect` factory method has been added which
can now be used to obtain instances.
This change will allow use to make the constructors package private
and drop the `nestedAnnotationsAsMap` parameter in a future release.
Closes gh-22906
2019-05-07 23:12:42 +02:00
Phillip Webb
7fbf3f97cd
Add SimpleAnnotationMeta classes and readers
...
Replace the existing ASM based readers with new implementations that
also support MergedAnnotations. The meta-data classes themselves are
now immutable, and constructed via separate reader classes.
The `SimpleMetadataReader` class has been updated to return the new
classes, however the old ones remain since some of them are public
and might be being used directly.
Closes gh-22884
2019-05-07 23:12:42 +02:00
Phillip Webb
8c2ccfe6a3
Add MergedAnnotations support to meta-data classes
...
Add `AnnotatedTypeMetaData.getAnnotations()` that can be used to access
annotation details using the `MergedAnnotations` interface.
Where possible, the existing annotation methods have been migrated to
call `getAnnotation()`, rather than needing their own implementation.
The existing ASM based meta-data implementations have not been updated
since they will be deprecated and replaced in a subsequent commit.
See gh-22884
2019-05-07 23:12:42 +02:00
Phillip Webb
30ba80a3c3
Reduce meta-data code duplicate with default methods
...
Extract and pull-up some common method implementations and make them
default methods of the interface.
See gh-22884
2019-05-07 23:12:42 +02:00
Phillip Webb
f592c1f211
Add additional class/method meta-data tests
...
Add some additional tests to provide more coverage of class and method
meta-data support.
See gh-22884
2019-05-07 23:12:42 +02:00
Phillip Webb
9738e4886c
Use ReflectionUtils to get declared methods
...
Update `StandardAnnotationMetadata` to use `ReflectionUtils` when
obtaining declared methods. This update is primarily so that the common
method cache can be used.
Closes gh-22907
2019-05-07 23:12:42 +02:00
Phillip Webb
1fa5937834
Skip java.lang.annotations when reading metadata
...
Update `StandardAnnotationMetadata` and `AnnotationMetadataReadingVisitor`
so that `java.lang.annotation` annotations are consistently skipped.
Closes gh-22885
2019-05-07 23:12:42 +02:00
Phillip Webb
8a293f51a4
Don't expose RetentionPolicy.CLASS annotations
...
Update ASM based metadata readers so that only RetentionPolicy.RUNTIME
annotations are exposed. This aligned behavior with the reflection based
implementation.
Closes gh-22886
2019-05-07 23:12:42 +02:00
Phillip Webb
9d6cf57cb7
Add MergedAnnotations.of method
...
Add a factory method to `MergedAnnotation` that allows an instance to
be created for an explicit collection of root annotations. This method
will allow ASM based readers to expose a `MergedAnnotation` instance
that has root annotations loaded from bytecode, and meta-annotations
loaded using reflection.
See gh-22884
2019-05-07 23:12:42 +02:00
Phillip Webb
daec3531b3
Support String->Class adaptation in MergedAnnotation
...
Update TypeMappedAnnotation so that Strings can be used to represent
Class attribute values. This will allow ASM annotation readers to
present a `MergedAnnotation` instance without necessarily having the
actual class values on the classpath.
When the underlying value is a String, any calls to
`getValue(name, String.class)` or `asMap(Adapt.CLASS_TO_STRING)` will
simply return the original String. Calls that need the actual Class
result (such as `getClass`) will use `Class.forName` and may throw
a `ClassNotFoundException` at that point.
This commit also allows an empty Object[] to be used to represent
any empty primitive array.
See gh-22884
2019-05-07 23:12:42 +02:00
Phillip Webb
e11990e63d
Polishing MergedAnnotation code
2019-05-07 23:12:42 +02:00
Phillip Webb
d4a761abea
Rename some MergedAnnotation `from` methods to `of`
...
Rename `from` to `of` for the `MergedAnnotation` factory methods that
work with Maps. The previous name was a little confusing, especially
when an annotation source parameter was specified. The new method name
helps to make it clearer when the user is explicitly defining the
attributes of the annotation, as opposed to picking them up from the
source.
2019-05-07 23:12:42 +02:00
Phillip Webb
3b145a5a73
Add MergedAnnotation.getTypeHierarchy method
...
Add a `getTypeHierarchy()` method to `MergedAnnotation` that can be used
to return the full type hierarchy information. This method is
specifically designed to be used in combination with
`MergedAnnotationPredicates.unique`.
This update also allows us to delete the `parentAndType` method
from `AnnotatedElementUtils`.
Closes gh-22908
2019-05-07 23:12:42 +02:00
Juergen Hoeller
ba1c7192c9
Merge branch '5.1.x'
2019-05-07 13:09:44 +02:00
Juergen Hoeller
46e5dd6420
Consistent handling of empty List entries in LinkedMultiValueMap
...
Closes gh-22912
2019-05-07 13:08:42 +02:00
Juergen Hoeller
7e5aacf8a2
Merge pull request #22421 from olszewskimichal/LinkedMultiValueMap-OutOfBoundException-When-EmptyList
...
LinkedMultiValueMap.getFirst - check that values is not empty
2019-05-07 12:44:05 +02:00
Juergen Hoeller
8eb9782ca2
Polishing
2019-05-07 12:43:36 +02:00
Arjen Poutsma
f747ba282a
Add DataBufferUtils.matcher and split
...
Added two methods to DataBufferUtils:
* matcher(byte[]), which returns a Matcher object that can be used to
find a delimiter in a data buffer.
* split(Publisher<DataBuffer>, byte[] delimiter), which splits a given
stream of data buffers around a given delimiter.
2019-05-07 12:14:45 +02:00
Arjen Poutsma
b74c09d12e
Add DataBuffer.retainedSlice
...
Add method retainedSlice to the DataBuffer, defaulting to using
DataBufferUtils for retain, but allowing for ByteBuf specific override.
2019-05-07 12:14:45 +02:00
Sam Brannen
d616e10dca
Use assertThat from Hamcrest instead of JUnit 4
...
org.junit.Assert.assertThat() is deprecated as of JUnit 4.13.
See gh-22894
2019-05-05 19:26:04 +02:00
Juergen Hoeller
9eb095d921
Merge branch '5.1.x'
2019-05-04 12:04:48 +02:00
Juergen Hoeller
293188c797
Consistent non-use of firstIndex 0 in PatternMatchUtils
...
Closes gh-22837
2019-05-04 12:01:54 +02:00
Juergen Hoeller
9674ce4906
Avoid HashSet/StringBuilder allocation for non-placeholder values
...
Closes gh-22870
2019-05-04 12:00:22 +02:00
Juergen Hoeller
f0f6af2926
Merge branch '5.1.x'
2019-05-03 18:13:12 +02:00
Juergen Hoeller
a7949ac84a
Consistent use of StringUtils.hasLength(String) vs isEmpty(Object)
2019-05-03 17:29:14 +02:00
Juergen Hoeller
eaa9a78d5d
Merge branch '5.1.x'
2019-05-03 00:23:57 +02:00
Juergen Hoeller
5b1b1bae37
Consistent use of try-with-resources for local resource closing
2019-05-03 00:11:47 +02:00
Juergen Hoeller
31c3b8a291
Avoid unguarded String concatenation for debug/trace logging
...
Closes gh-22874
2019-05-03 00:10:56 +02:00
Juergen Hoeller
cee7d09e40
Add is*Enabled methods for log level checks to LogAccessor
...
Closes gh-22862
2019-05-02 11:57:48 +02:00
Juergen Hoeller
52657b68ea
Merge branch '5.1.x'
2019-04-30 18:55:34 +02:00
Juergen Hoeller
a8f845c944
Upgrade to Checkstyle 8.20 and CGLIB 3.2.11
...
Includes dependency management plugin 1.0.7.
2019-04-30 18:44:08 +02:00
Juergen Hoeller
3d502d90e2
Add missing nullable declarations
...
See gh-22821
2019-04-26 23:10:18 +02:00
Juergen Hoeller
f8dc8523da
Merge branch '5.1.x'
2019-04-26 23:00:40 +02:00
Phillip Webb
87dba5a4df
Fix MergedAnnotations javadoc
2019-04-26 13:59:16 -07:00
Juergen Hoeller
1f473261a8
Polishing
2019-04-26 22:56:23 +02:00
Phillip Webb
55ac110f7b
Fix LinkedCaseInsensitiveMap collection methods
...
Ensure that results returned from keySet, entrySet & values are tracked
to remove case insensitive keys from the source map.
Closes gh-22821
2019-04-26 11:17:51 -07:00
Juergen Hoeller
55418b256d
Merge branch '5.1.x'
2019-04-26 16:56:04 +02:00
Juergen Hoeller
e5e2d2d661
Polishing (includes minor performance refinements from master)
2019-04-26 16:51:18 +02:00
Juergen Hoeller
bdd9a557a5
Streamline ReactiveAdapterRegistry.getAdapter usage
...
Closes gh-22842
2019-04-26 16:49:16 +02:00
Phillip Webb
83cb51aec6
Add MergedAnnotation.getRoot() method
...
Update `MergedAnnotation` with a `getRoot()` method that allows the
root direct annotation to be retrieved easily.
Closes gh-22818
2019-04-25 14:14:03 -07:00
Christoph Dreis
29d021ae3c
Avoid possible memory leak in ResolvableType
2019-04-23 21:07:35 +02:00
Sam Brannen
dab90cb7cc
Test status quo for MergedAnnotation.getParent()
...
See gh-22818
2019-04-21 16:32:09 +02:00
Сергей Цыпанов
18af3892dd
Make inner classes static where possible
...
Closes gh-22804
2019-04-17 19:05:24 +02:00
Rossen Stoyanchev
261dcab8ce
Merge branch '5.1.x'
2019-04-17 12:34:22 -04:00
Sam Brannen
52b6f9b56d
Align Javadoc for Base64Utils.encodeToString() with implementation
...
Closes gh-22812
2019-04-17 12:33:22 -04:00
Rossen Stoyanchev
de3238dbea
Merge branch '5.1.x'
2019-04-16 21:08:54 -04:00
Rossen Stoyanchev
375090bb7c
LeakAwareDataBuffer related fixes
...
Following on 3ebbfa2191
where the local
refCount was removed in favor of using the internal refCount of the
native data buffer, this commit ensures that LeakAwareDataBufferFactory
uses a PooledDataBufferFactory delegate by default.
There are also fixes for test issues with eager allocation uncovered by
these changes in StringDecoder and ResourceDecoder.
2019-04-16 20:52:19 -04:00
Juergen Hoeller
07738b9529
Recent fine-tuning from ASM master
...
See gh-22503
2019-04-12 10:26:42 +02:00
Rossen Stoyanchev
5fc18064f2
Use encode with an Object value where feasible
...
Closes gh-22782
2019-04-11 19:00:28 -04:00
Rossen Stoyanchev
181482fa15
Add option to encode with an Object value
...
See gh-22782
2019-04-11 19:00:28 -04:00
Rossen Stoyanchev
a912d8de1e
Add option to decode from a DataBuffer
...
See gh-22782
2019-04-11 19:00:28 -04:00
Rossen Stoyanchev
6e7da62085
Switch to Reactor snapshots and remove workaround
...
Following the 5.2 M1 release we can switch back to Reactor snapshots
and remove the workaround for a fix coming in Reactor Core 3.2.9.
2019-04-10 16:09:28 -04:00
Rossen Stoyanchev
bb28477587
Merge branch '5.1.x'
2019-04-10 15:37:02 -04:00
Rossen Stoyanchev
bd2c213b47
Remove buffer release used as workaround
...
The extra buffer release was used as a workaround for a reactor core
issue and should have already been removed as part of
b3bc2d9253
.
2019-04-10 15:36:36 -04:00
Rossen Stoyanchev
3ebbfa2191
Fix refCount issue in LeakAwareDataBuffer
...
LeakAwareDataBuffer was keeping its own refCount rather than checking
through the delegate. This leads to false leak reports in a sequence
where an allocated buffer is retained and then sliced since it is not
aware of the changes to the refCount through the slice.
2019-04-10 15:33:19 -04:00
Rossen Stoyanchev
d707d382b4
Merge branch '5.1.x'
2019-04-09 22:38:15 -04:00
Rossen Stoyanchev
b11e7feff6
Polish during review of DataBuffer handling
2019-04-09 22:19:05 -04:00
Juergen Hoeller
dc14ea86eb
Fix regression for nested AnnotationAttributes.annotationType() result
...
See gh-22738
2019-04-09 09:40:53 +02:00
Juergen Hoeller
4ec9aff01d
Polishing
2019-04-08 19:59:06 +02:00
Sam Brannen
bd414df944
Remove JMXMP from TestGroup
...
Due to the changes in a7425c81c0
, we no
longer need to execute tests using the JMXMP protocol in PERFORMANCE
builds.
This commit removes the JMXMP constant from the TestGroup enum and
updates affected tests, thereby effectively including such tests in
the standard build from now on.
See gh-22757
2019-04-08 17:05:16 +02:00
Juergen Hoeller
fd8fa301a6
Consistent non-exposure of inherited annotations in AnnotationMetadata
...
Closes gh-22766
2019-04-08 15:59:06 +02:00
Sebastien Deleuze
2e7ed915cd
Merge branch '5.1.x'
2019-04-08 15:46:47 +02:00
Juergen Hoeller
43cb1af26a
Polishing
2019-04-08 15:33:26 +02:00
Phillip Webb
e905f1712e
Refine MergedAnnotation.asMap
...
Add a convenience method that allows a `MergedAnnotation` to be
converted into an `AnnotationAttributes` instance. Also rename
the `MapValues` enum to `Adapt` which generally seems to read
better.
Closes gh-22738
2019-04-05 13:22:18 -07:00
Phillip Webb
ef151f578d
Polishing
2019-04-05 13:22:18 -07:00
Phillip Webb
1221b0650b
Add MissingMergedAnnotation Tests
...
Add tests for `MissingMergedAnnotation`
See gh-21697
2019-04-05 13:21:46 -07:00
Phillip Webb
8bc74ad18d
Delete AnnotationAttributeExtractor
...
Delete `AnnotationAttributeExtractor` which is package private and
no longer used.
Closes gh-22753
2019-04-05 13:20:47 -07:00
Sam Brannen
e4525cf4c1
Modify ByteArrayEncoder so that it works in Eclipse IDE
2019-04-05 19:55:22 +02:00
Sebastien Deleuze
a8d6ba9965
Add support for Coroutines Flow
...
Flow is a Kotlin Coroutines related cold asynchronous
stream of the data, that emits from zero to N (where N
can be unbounded) values and completes normally or with
an exception.
It is conceptually the Coroutines equivalent of Flux with
an extension oriented API design, easy custom operator
capabilities and some suspending methods.
This commit leverages Flow <-> Flux interoperability
to support Flow on controller handler method parameters
or return values, and also adds Flow based extensions to
WebFlux.fn. It allows to reach a point when we can consider
Spring Framework officially supports Coroutines even if some
additional work remains to be done like adding
interoperability between Reactor and Coroutines contexts.
Flow is currently an experimental API that is expected to
become final before Spring Framework 5.2 GA.
Close gh-19975
2019-04-04 19:06:32 +02:00
stsypanov
383f18e214
Use StringJoiner where possible to simplify String joining
2019-04-04 16:11:32 +02:00
Arjen Poutsma
b3d3778269
Do not resolve DTDs in Stax Tests
2019-04-04 12:10:10 +02:00
Juergen Hoeller
52f90c303e
Rename LogMessage.lazy(Supplier) to LogMessage.of(Supplier)
...
See gh-22726
2019-04-04 10:39:42 +02:00
Juergen Hoeller
9080ae24f9
First-class support for printf-style format strings in LogMessage
...
LogMessage is an abstract class now: with internal subclasses for Supplier bindings as well as printf-style format strings with a variable number of arguments (some fixed for efficiency, varargs array as fallback), created through corresponding static factory methods.
Closes gh-22726
2019-04-04 01:52:51 +02:00
Rossen Stoyanchev
88a7a68a71
Revert to Californium-SR6 for M1 release
2019-04-03 19:25:34 -04:00
Rossen Stoyanchev
2c28e4e972
Merge branch '5.1.x'
2019-04-03 16:29:28 -04:00
Rossen Stoyanchev
b3bc2d9253
Remove workaround for reactor-core issue
2019-04-03 16:27:02 -04:00
Rossen Stoyanchev
72119ac076
ProducesRequestCondition caches accepted media types
...
Closes gh-22644
2019-04-03 14:56:30 -04:00
Juergen Hoeller
8f967129b9
Merge branch '5.1.x'
2019-04-03 19:05:42 +02:00
Juergen Hoeller
0cc6a9ef11
Avoid getDeclaredMethod check in ReflectionUtils.isObjectMethod
...
Closes gh-22730
2019-04-03 18:21:26 +02:00
Sam Brannen
807828b2b7
Polish Javadoc for MergedAnnotation support
...
See gh-21697
2019-04-03 16:55:34 +02:00
Sam Brannen
a4279c5d00
Rename MergedAnnotations.SearchStrategy.SUPER_CLASS to SUPERCLASS
...
For consistency within the framework, this commit renames the SUPER_CLASS enum constant
to SUPERCLASS.
See gh-21697
2019-04-03 16:44:36 +02:00
Juergen Hoeller
e2e91e2196
Switch LogAccessor argument order to have message supplier last
...
Closes gh-22726
2019-04-02 21:01:56 +02:00
Juergen Hoeller
2e63c66b0d
Merge branch '5.1.x'
2019-04-02 20:13:29 +02:00
Juergen Hoeller
0babc1fb64
Polishing
2019-04-02 20:04:07 +02:00
Juergen Hoeller
3ac88bed23
Introduce LogAccessor and LogMessage as convenient logging utilities
...
Closes gh-22726
2019-04-02 19:13:05 +02:00
Sam Brannen
085cb1dd92
Clean up warnings
2019-03-31 14:36:35 +02:00
Rossen Stoyanchev
6c33af0a1c
Merge branch '5.1.x'
2019-03-29 15:56:07 -04:00
Rossen Stoyanchev
85332c7a49
Polish
2019-03-29 15:53:45 -04:00
Rossen Stoyanchev
81f95efdbb
Call onDispose before first read
...
The cancellation callback in asynchronousReadFileChannel must be called
before the first read I/O or otherwise if cancellation signals happens
immediately the onDispose callback may be missed.
The DefaultBufferFactory workaround however remains in place until an
expected additional fix arrives with Reactor Core 3.2.9.
See gh-22107
2019-03-29 15:43:06 -04:00
Rossen Stoyanchev
9a1bba5b67
NettyDataBufferFactory.wrap(ByteBuf) calls touch()
...
Closes gh-21960
2019-03-29 15:25:28 -04:00
Juergen Hoeller
57de2e0900
Deprecate ClassUtils.isCglibProxy methods in favor of AOP-level checks
...
Closes gh-22706
2019-03-29 11:12:49 +01:00
Phillip Webb
f273fa990c
Use RepeatableContainers.none() in AnnotationUtils
...
Update `AnnotationUtils` so that `RepeatableContainers.none()` is used
when performing an exhaustive search for merged annotations. These
parameters were accidentally removed in commit 210b1789
and weren't
caught earlier because we were missing a test.
Closes gh-22702
2019-03-28 14:39:29 -07:00
Phillip Webb
800cbf2524
Ignore 'value' attribute in AnnotationTypeMapping
...
Update `addConventionAnnotationValues` so that `value` attributes
do not override existing annotation values. The aligns the new
`MergedAnnotations` API with the previous `AnnotatedElementUtils`
logic.
Closes gh-22703
2019-03-28 14:39:29 -07:00
Rossen Stoyanchev
45e42214b2
Merge branch '5.1.x'
2019-03-28 17:37:21 -04:00
Rossen Stoyanchev
57d006b3ff
Fix checkstyle warning
2019-03-28 17:37:12 -04:00
Rossen Stoyanchev
52b109ae68
Merge branch '5.1.x'
2019-03-28 17:19:51 -04:00
Rossen Stoyanchev
beae1fbb12
Uncomment buffer leak tests in DataBufferUtils
...
Following a response on
https://github.com/reactor/reactor-core/issues/1634 apparently
FluxSink is respecting doOnDiscard but there is a race condition
in DataBufferUtils with file reading.
This commit makes two changes:
1) Add more checks for onDispose to detect cancellation signals
as well as to deal with potentially concurrent such signal.
2) Do not close the channel through the Flux.using callback but
rather allow the current I/O callback to take place and only then
close the channel or else the buffer is left hanging.
Despite this tests still can fail due to a suspected issue in Reactor
itself with the doOnDiscard callback for FluxSink. That's tracked under
the same issue https://github.com/reactor/reactor-core/issues/1634
and for now the use of DefaultDataBufferFactory is enforced as a
workaround until the issue is resolved.
See gh-22107
2019-03-28 17:18:40 -04:00
Sam Brannen
3f85530efd
URL Cleanup - polishing
2019-03-28 17:23:13 +01:00
Juergen Hoeller
49fccfb158
Consistent retrieval of javax annotation types (e.g. JSR-305)
...
Closes gh-22696
2019-03-28 14:38:55 +01:00
Sam Brannen
025eaf688f
Clean up warnings in Gradle build output
2019-03-28 12:32:58 +01:00
Sebastien Deleuze
811f315440
Refine PropertyResolver extensions null-safety
...
See gh-22687
2019-03-28 09:01:20 +01:00
Sam Brannen
3cf2c04406
URL Cleanup - polishing
...
See gh-22680
2019-03-27 22:05:38 +01:00
Sam Brannen
c90b6ea0bb
URL Cleanup - upgrade to more modern Xalan namespace
...
See gh-22680
2019-03-27 22:05:38 +01:00
Spring Operator
3db08c6b7a
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* [ ] http://aopalliance.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://aopalliance.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://cglib.sourceforge.net (200) with 2 occurrences could not be migrated:
([https](https://cglib.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://classdoc.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://classdoc.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://code.jquery.com:80/jquery.js (200) with 1 occurrences could not be migrated:
([https](https://code.jquery.com:80/jquery.js ) result SSLException).
* [ ] http://dbunit.sourceforge.net/ (200) with 1 occurrences could not be migrated:
([https](https://dbunit.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html (200) with 1 occurrences could not be migrated:
([https](https://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html ) result SSLProtocolException).
* [ ] http://domain3.com (200) with 6 occurrences could not be migrated:
([https](https://domain3.com ) result ConnectTimeoutException).
* [ ] http://forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html (200) with 1 occurrences could not be migrated:
([https](https://forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html ) result SSLHandshakeException).
* [ ] http://gregfranko.com/jquery.tocify.js/ (200) with 1 occurrences could not be migrated:
([https](https://gregfranko.com/jquery.tocify.js/ ) result SSLHandshakeException).
* [ ] http://grinder.sourceforge.net/ (200) with 1 occurrences could not be migrated:
([https](https://grinder.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://groovy-lang.org/templating.html (200) with 3 occurrences could not be migrated:
([https](https://groovy-lang.org/templating.html ) result SSLProtocolException).
* [ ] http://hsqldb.org (200) with 1 occurrences could not be migrated:
([https](https://hsqldb.org ) result SSLHandshakeException).
* [ ] http://htmlunit.sourceforge.net/ (200) with 3 occurrences could not be migrated:
([https](https://htmlunit.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://htmlunit.sourceforge.net/gettingStarted.html (200) with 1 occurrences could not be migrated:
([https](https://htmlunit.sourceforge.net/gettingStarted.html ) result AnnotatedConnectException).
* [ ] http://htmlunit.sourceforge.net/javascript.html (200) with 1 occurrences could not be migrated:
([https](https://htmlunit.sourceforge.net/javascript.html ) result AnnotatedConnectException).
* [ ] http://javadiff.cvs.sourceforge.net/ (200) with 3 occurrences could not be migrated:
([https](https://javadiff.cvs.sourceforge.net/ ) result SSLHandshakeException).
* [ ] http://jibx.sourceforge.net/ (200) with 2 occurrences could not be migrated:
([https](https://jibx.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://joda-time.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://joda-time.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://jotm.objectweb.org/ (200) with 1 occurrences could not be migrated:
([https](https://jotm.objectweb.org/ ) result NotSslRecordException).
* [ ] http://json-b.net/ (200) with 1 occurrences could not be migrated:
([https](https://json-b.net/ ) result SSLHandshakeException).
* [ ] http://mx4j.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://mx4j.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://mx4j.sourceforge.net/ (200) with 1 occurrences could not be migrated:
([https](https://mx4j.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://mydomain3.com (200) with 9 occurrences could not be migrated:
([https](https://mydomain3.com ) result ConnectTimeoutException).
* [ ] http://objenesis.org (200) with 1 occurrences could not be migrated:
([https](https://objenesis.org ) result SSLHandshakeException).
* [ ] http://objenesis.org/tutorial.html (200) with 1 occurrences could not be migrated:
([https](https://objenesis.org/tutorial.html ) result SSLHandshakeException).
* [ ] http://other.com/ (200) with 2 occurrences could not be migrated:
([https](https://other.com/ ) result SSLHandshakeException).
* [ ] http://reactivex.io/ (200) with 1 occurrences could not be migrated:
([https](https://reactivex.io/ ) result SSLHandshakeException).
* [ ] http://reactivex.io/documentation/operators.html (200) with 1 occurrences could not be migrated:
([https](https://reactivex.io/documentation/operators.html ) result SSLHandshakeException).
* [ ] http://url.somewhereelse.com (200) with 4 occurrences could not be migrated:
([https](https://url.somewhereelse.com ) result SSLHandshakeException).
* [ ] http://www.beanshell.org (200) with 1 occurrences could not be migrated:
([https](https://www.beanshell.org ) result SSLHandshakeException).
* [ ] http://www.beanshell.org/ (200) with 1 occurrences could not be migrated:
([https](https://www.beanshell.org/ ) result SSLHandshakeException).
* [ ] http://www.doclet.com (200) with 1 occurrences could not be migrated:
([https](https://www.doclet.com ) result AnnotatedConnectException).
* [ ] http://www.gebish.org/ (200) with 1 occurrences could not be migrated:
([https](https://www.gebish.org/ ) result SSLHandshakeException).
* [ ] http://www.gebish.org/manual/current/ (200) with 3 occurrences could not be migrated:
([https](https://www.gebish.org/manual/current/ ) result SSLHandshakeException).
* [ ] http://www.groovy-lang.org/ (200) with 2 occurrences could not be migrated:
([https](https://www.groovy-lang.org/ ) result SSLProtocolException).
* [ ] http://www.groovy-lang.org/operators.html (200) with 2 occurrences could not be migrated:
([https](https://www.groovy-lang.org/operators.html ) result SSLProtocolException).
* [ ] http://www.hsqldb.org (200) with 1 occurrences could not be migrated:
([https](https://www.hsqldb.org ) result SSLHandshakeException).
* [ ] http://www.jensgulden.de (200) with 1 occurrences could not be migrated:
([https](https://www.jensgulden.de ) result AnnotatedConnectException).
* [ ] http://www.mockobjects.com (200) with 2 occurrences could not be migrated:
([https](https://www.mockobjects.com ) result ClosedChannelException).
* [ ] http://www.mockobjects.com/ (200) with 1 occurrences could not be migrated:
([https](https://www.mockobjects.com/ ) result ClosedChannelException).
* [ ] http://xmlunit.sourceforge.net/ (200) with 2 occurrences could not be migrated:
([https](https://xmlunit.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://192.168.0.1/mvc-showcase (301) with 1 occurrences could not be migrated:
([https](https://192.168.0.1/mvc-showcase ) result ConnectTimeoutException).
* [ ] http://www.easymock.org (301) with 2 occurrences could not be migrated:
([https](https://www.easymock.org ) result SSLHandshakeException).
* [ ] http://www.easymock.org/ (301) with 1 occurrences could not be migrated:
([https](https://www.easymock.org/ ) result SSLHandshakeException).
* [ ] http://www.jmock.org/ (301) with 1 occurrences could not be migrated:
([https](https://www.jmock.org/ ) result SSLHandshakeException).
* [ ] http://foo.com (301) with 4 occurrences could not be migrated:
([https](https://foo.com ) result SSLHandshakeException).
* [ ] http://foo.com/ (301) with 1 occurrences could not be migrated:
([https](https://foo.com/ ) result SSLHandshakeException).
* [ ] http://foo.com/a (301) with 1 occurrences could not be migrated:
([https](https://foo.com/a ) result SSLHandshakeException).
* [ ] http://foo.com/a?foo=bar&foo=baz (301) with 4 occurrences could not be migrated:
([https](https://foo.com/a?foo=bar&foo=baz ) result SSLHandshakeException).
* [ ] http://foo.com/bar (301) with 5 occurrences could not be migrated:
([https](https://foo.com/bar ) result SSLHandshakeException).
* [ ] http://foo.com/baz (301) with 1 occurrences could not be migrated:
([https](https://foo.com/baz ) result SSLHandshakeException).
* [ ] http://foo.com/rest/books/6.json (301) with 1 occurrences could not be migrated:
([https](https://foo.com/rest/books/6.json ) result SSLHandshakeException).
* [ ] http://foo.com/rest/books/6/pages/1.json (301) with 1 occurrences could not be migrated:
([https](https://foo.com/rest/books/6/pages/1.json ) result SSLHandshakeException).
* [ ] http://foo.com/v1 (301) with 1 occurrences could not be migrated:
([https](https://foo.com/v1 ) result SSLHandshakeException).
* [ ] http://foo.com/v1/123 (301) with 1 occurrences could not be migrated:
([https](https://foo.com/v1/123 ) result SSLHandshakeException).
* [ ] http://foo.com/v1/bar (301) with 1 occurrences could not be migrated:
([https](https://foo.com/v1/bar ) result SSLHandshakeException).
* [ ] http://foo.com/v1?id=123 (301) with 2 occurrences could not be migrated:
([https](https://foo.com/v1?id=123 ) result SSLHandshakeException).
* [ ] http://foo.com/wrong (301) with 1 occurrences could not be migrated:
([https](https://foo.com/wrong ) result SSLHandshakeException).
* [ ] http://mydomain4.com (301) with 3 occurrences could not be migrated:
([https](https://mydomain4.com ) result SSLHandshakeException).
* [ ] http://www.caucho.com/hessian (302) with 6 occurrences could not be migrated:
([https](https://www.caucho.com/hessian ) result SSLHandshakeException).
* [ ] http://mydomain2.com (302) with 22 occurrences could not be migrated:
([https](https://mydomain2.com ) result ConnectTimeoutException).
* [ ] http://www.jdiff.org (302) with 1 occurrences could not be migrated:
([https](https://www.jdiff.org ) result ConnectTimeoutException).
* [ ] http://example.com:80/test/this/here (404) with 3 occurrences could not be migrated:
([https](https://example.com:80/test/this/here ) result NotSslRecordException).
* [ ] http://www.foo.com/schema/component/component.xsd (404) with 1 occurrences could not be migrated:
([https](https://www.foo.com/schema/component/component.xsd ) result SSLHandshakeException).
* [ ] http://www.foo.com/schema/jcache (404) with 2 occurrences could not be migrated:
([https](https://www.foo.com/schema/jcache ) result SSLHandshakeException).
* [ ] http://www.mycompany.com/schema/myns/myns.xsd (404) with 1 occurrences could not be migrated:
([https](https://www.mycompany.com/schema/myns/myns.xsd ) result ConnectTimeoutException).
* [ ] http://xunitpatterns.com/Test%20Spy.html (404) with 1 occurrences could not be migrated:
([https](https://xunitpatterns.com/Test%20Spy.html ) result AnnotatedConnectException).
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* [ ] http://bugs.sun.com/view_bug.do?bug_id=6342411 (302) with 1 occurrences migrated to:
https://bugs.java.com/view_bug.do?bug_id=6342411 ([https](https://bugs.sun.com/view_bug.do?bug_id=6342411 ) result SSLHandshakeException).
* [ ] http://bugs.sun.com/view_bug.do?bug_id=7023180 (302) with 2 occurrences migrated to:
https://bugs.java.com/view_bug.do?bug_id=7023180 ([https](https://bugs.sun.com/view_bug.do?bug_id=7023180 ) result SSLHandshakeException).
* [ ] http://www.freemarker.org (301) with 5 occurrences migrated to:
https://freemarker.apache.org/ ([https](https://www.freemarker.org ) result ConnectTimeoutException).
* [ ] http://sockjs.org (303) with 2 occurrences migrated to:
https://github.com/sockjs/sockjs-client ([https](https://sockjs.org ) result AnnotatedConnectException).
* [ ] http://network.pivotal.io/open-source (301) with 1 occurrences migrated to:
https://network.pivotal.io/open-source ([https](https://network.pivotal.io/open-source ) result ReadTimeoutException).
* [ ] http://projects.eclipse.org/projects/tools.buildship (301) with 1 occurrences migrated to:
https://projects.eclipse.org/projects/tools.buildship ([https](https://projects.eclipse.org/projects/tools.buildship ) result SSLException).
* [ ] http://aaa.org:8080/a (301) with 1 occurrences migrated to:
https://www.aaa.org/articles/ ([https](https://aaa.org:8080/a ) result NotSslRecordException).
* [ ] http://aaa.org:8080/b/c/d (301) with 1 occurrences migrated to:
https://www.aaa.org/b/c/d ([https](https://aaa.org:8080/b/c/d ) result ReadTimeoutException).
* [ ] http://www.caucho.com (302) with 1 occurrences migrated to:
https://www.caucho.com/ ([https](https://www.caucho.com ) result SSLHandshakeException).
* [ ] http://jruby.org (301) with 4 occurrences migrated to:
https://www.jruby.org ([https](https://jruby.org ) result SSLHandshakeException).
* [ ] http://jruby.org/ (301) with 1 occurrences migrated to:
https://www.jruby.org ([https](https://jruby.org/ ) result SSLHandshakeException).
* [ ] http://bbb.org:9090/b (AnnotatedConnectException) with 2 occurrences migrated to:
https://bbb.org:9090/b ([https](https://bbb.org:9090/b ) result AnnotatedConnectException).
* [ ] http://192.168.28.42/1.jsp (ConnectTimeoutException) with 3 occurrences migrated to:
https://192.168.28.42/1.jsp ([https](https://192.168.28.42/1.jsp ) result ConnectTimeoutException).
* [ ] http://example.com:8080/ (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.com:8080/ ([https](https://example.com:8080/ ) result ConnectTimeoutException).
* [ ] http://example.com:8080/bar (ConnectTimeoutException) with 5 occurrences migrated to:
https://example.com:8080/bar ([https](https://example.com:8080/bar ) result ConnectTimeoutException).
* [ ] http://example.org:9090 (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090 ([https](https://example.org:9090 ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base (ConnectTimeoutException) with 12 occurrences migrated to:
https://example.org:9090/base ([https](https://example.org:9090/base ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base/people (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090/base/people ([https](https://example.org:9090/base/people ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base/something/1/foo (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090/base/something/1/foo ([https](https://example.org:9090/base/something/1/foo ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base/something/else (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090/base/something/else ([https](https://example.org:9090/base/something/else ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base ([https](https://example.org:9999/base ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base/api/people/123/addresses (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base/api/people/123/addresses ([https](https://example.org:9999/base/api/people/123/addresses ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base/api/people/123/addresses/DE (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base/api/people/123/addresses/DE ([https](https://example.org:9999/base/api/people/123/addresses/DE ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base/people/123/addresses/DE (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base/people/123/addresses/DE ([https](https://example.org:9999/base/people/123/addresses/DE ) result ConnectTimeoutException).
* [ ] http://example.org:9999/next (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/next ([https](https://example.org:9999/next ) result ConnectTimeoutException).
* [ ] http://example.org:9999/path?q=foo (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/path?q=foo ([https](https://example.org:9999/path?q=foo ) result ConnectTimeoutException).
* [ ] http://foo.com:8080/v1/bar?id=123 (ConnectTimeoutException) with 1 occurrences migrated to:
https://foo.com:8080/v1/bar?id=123 ([https](https://foo.com:8080/v1/bar?id=123 ) result ConnectTimeoutException).
* [ ] http://mydomain1.com:123 (ConnectTimeoutException) with 1 occurrences migrated to:
https://mydomain1.com:123 ([https](https://mydomain1.com:123 ) result ConnectTimeoutException).
* [ ] http://site1.com (ConnectTimeoutException) with 13 occurrences migrated to:
https://site1.com ([https](https://site1.com ) result ConnectTimeoutException).
* [ ] http://wwws.sun.com/software/xml/developers/diffmk/ (ConnectTimeoutException) with 1 occurrences migrated to:
https://wwws.sun.com/software/xml/developers/diffmk/ ([https](https://wwws.sun.com/software/xml/developers/diffmk/ ) result ConnectTimeoutException).
* [ ] http://www.w3.org/TR/html4/loose.dtd (ReadTimeoutException) with 5 occurrences migrated to:
https://www.w3.org/TR/html4/loose.dtd ([https](https://www.w3.org/TR/html4/loose.dtd ) result ReadTimeoutException).
* [ ] http://DOMAIN2.com (UnknownHostException) with 2 occurrences migrated to:
https://DOMAIN2.com ([https](https://DOMAIN2.com ) result UnknownHostException).
* [ ] http://a.example.org/mvc-showcase (UnknownHostException) with 1 occurrences migrated to:
https://a.example.org/mvc-showcase ([https](https://a.example.org/mvc-showcase ) result UnknownHostException).
* [ ] http://arjen:foobar@java.sun.com:80 (UnknownHostException) with 1 occurrences migrated to:
https://arjen:foobar@java.sun.com:80 ([https](https://arjen:foobar@java.sun.com:80 ) result UnknownHostException).
* [ ] http://dev.bar.com (UnknownHostException) with 3 occurrences migrated to:
https://dev.bar.com ([https](https://dev.bar.com ) result UnknownHostException).
* [ ] http://domain1.com (UnknownHostException) with 25 occurrences migrated to:
https://domain1.com ([https](https://domain1.com ) result UnknownHostException).
* [ ] http://domain1.com/test.html (UnknownHostException) with 4 occurrences migrated to:
https://domain1.com/test.html ([https](https://domain1.com/test.html ) result UnknownHostException).
* [ ] http://domain2.com (UnknownHostException) with 98 occurrences migrated to:
https://domain2.com ([https](https://domain2.com ) result UnknownHostException).
* [ ] http://example.com",HttpMethod.GET (UnknownHostException) with 6 occurrences migrated to:
https://example.com",HttpMethod.GET ([https](https://example.com",HttpMethod.GET ) result UnknownHostException).
* [ ] http://foo.bar.com (UnknownHostException) with 4 occurrences migrated to:
https://foo.bar.com ([https](https://foo.bar.com ) result UnknownHostException).
* [ ] http://joe.openid.example.org/ (UnknownHostException) with 2 occurrences migrated to:
https://joe.openid.example.org/ ([https](https://joe.openid.example.org/ ) result UnknownHostException).
* [ ] http://myserver/logo.png (UnknownHostException) with 1 occurrences migrated to:
https://myserver/logo.png ([https](https://myserver/logo.png ) result UnknownHostException).
* [ ] http://samples.springframework.org/order (UnknownHostException) with 2 occurrences migrated to:
https://samples.springframework.org/order ([https](https://samples.springframework.org/order ) result UnknownHostException).
* [ ] http://url.somewhere.com (UnknownHostException) with 25 occurrences migrated to:
https://url.somewhere.com ([https](https://url.somewhere.com ) result UnknownHostException).
* [ ] http://url.somewhere.com/path (UnknownHostException) with 1 occurrences migrated to:
https://url.somewhere.com/path ([https](https://url.somewhere.com/path ) result UnknownHostException).
* [ ] http://url.somewhere.com/path?id=1 (UnknownHostException) with 1 occurrences migrated to:
https://url.somewhere.com/path?id=1 ([https](https://url.somewhere.com/path?id=1 ) result UnknownHostException).
* [ ] http://url.somewhere.com/test.htm (UnknownHostException) with 2 occurrences migrated to:
https://url.somewhere.com/test.htm ([https](https://url.somewhere.com/test.htm ) result UnknownHostException).
* [ ] http://url.somewhere.com?a=b&c=d (UnknownHostException) with 1 occurrences migrated to:
https://url.somewhere.com?a=b&c=d ([https](https://url.somewhere.com?a=b&c=d ) result UnknownHostException).
* [ ] http://url.somewhere.com?foo= (UnknownHostException) with 2 occurrences migrated to:
https://url.somewhere.com?foo= ([https](https://url.somewhere.com?foo= ) result UnknownHostException).
* [ ] http://url.somewhere.com?foo=bar (UnknownHostException) with 4 occurrences migrated to:
https://url.somewhere.com?foo=bar ([https](https://url.somewhere.com?foo=bar ) result UnknownHostException).
* [ ] http://url.somewhere.com?foo=bar&a=b&c=d (UnknownHostException) with 2 occurrences migrated to:
https://url.somewhere.com?foo=bar&a=b&c=d ([https](https://url.somewhere.com?foo=bar&a=b&c=d ) result UnknownHostException).
* [ ] http://wiki.fasterxml.com/JacksonHome (UnknownHostException) with 3 occurrences migrated to:
https://wiki.fasterxml.com/JacksonHome ([https](https://wiki.fasterxml.com/JacksonHome ) result UnknownHostException).
* [ ] http://wiki.fasterxml.com/JacksonJsonViews (UnknownHostException) with 4 occurrences migrated to:
https://wiki.fasterxml.com/JacksonJsonViews ([https](https://wiki.fasterxml.com/JacksonJsonViews ) result UnknownHostException).
* [ ] http://x.y.z (UnknownHostException) with 2 occurrences migrated to:
https://x.y.z ([https](https://x.y.z ) result UnknownHostException).
* [ ] http://abc.com/v1 (301) with 1 occurrences migrated to:
https://abc.go.com/v1 ([https](https://abc.com/v1 ) result 404).
* [ ] http://abc.com/v1/accounts/43 (301) with 1 occurrences migrated to:
https://abc.go.com/v1/accounts/43 ([https](https://abc.com/v1/accounts/43 ) result 404).
* [ ] http://abc.com/v1/accounts?q=12 (301) with 1 occurrences migrated to:
https://abc.go.com/v1/accounts?q=12 ([https](https://abc.com/v1/accounts?q=12 ) result 404).
* [ ] http://abc.com/v2/accounts?q=12 (301) with 1 occurrences migrated to:
https://abc.go.com/v2/accounts?q=12 ([https](https://abc.com/v2/accounts?q=12 ) result 404).
* [ ] http://docs.spring.io/v1/bar (301) with 1 occurrences migrated to:
https://docs.spring.io/v1/bar ([https](https://docs.spring.io/v1/bar ) result 404).
* [ ] http://example.com/-foo (404) with 2 occurrences migrated to:
https://example.com/-foo ([https](https://example.com/-foo ) result 404).
* [ ] http://example.com/1 (404) with 1 occurrences migrated to:
https://example.com/1 ([https](https://example.com/1 ) result 404).
* [ ] http://example.com/1/2 (404) with 2 occurrences migrated to:
https://example.com/1/2 ([https](https://example.com/1/2 ) result 404).
* [ ] http://example.com/2 (404) with 1 occurrences migrated to:
https://example.com/2 ([https](https://example.com/2 ) result 404).
* [ ] http://example.com/a%20b?q=a%2Bb (404) with 1 occurrences migrated to:
https://example.com/a%20b?q=a%2Bb ([https](https://example.com/a%20b?q=a%2Bb ) result 404).
* [ ] http://example.com/abc/ (404) with 1 occurrences migrated to:
https://example.com/abc/ ([https](https://example.com/abc/ ) result 404).
* [ ] http://example.com/abc/x/y (404) with 1 occurrences migrated to:
https://example.com/abc/x/y ([https](https://example.com/abc/x/y ) result 404).
* [ ] http://example.com/abc/x/y/z (404) with 3 occurrences migrated to:
https://example.com/abc/x/y/z ([https](https://example.com/abc/x/y/z ) result 404).
* [ ] http://example.com/app/login/authenticate (404) with 1 occurrences migrated to:
https://example.com/app/login/authenticate ([https](https://example.com/app/login/authenticate ) result 404).
* [ ] http://example.com/arbitrary/path (404) with 1 occurrences migrated to:
https://example.com/arbitrary/path ([https](https://example.com/arbitrary/path ) result 404).
* [ ] http://example.com/bar (404) with 6 occurrences migrated to:
https://example.com/bar ([https](https://example.com/bar ) result 404).
* [ ] http://example.com/context.xml (404) with 4 occurrences migrated to:
https://example.com/context.xml ([https](https://example.com/context.xml ) result 404).
* [ ] http://example.com/example (404) with 6 occurrences migrated to:
https://example.com/example ([https](https://example.com/example ) result 404).
* [ ] http://example.com/example/?name (404) with 1 occurrences migrated to:
https://example.com/example/?name ([https](https://example.com/example/?name ) result 404).
* [ ] http://example.com/example/?name= (404) with 1 occurrences migrated to:
https://example.com/example/?name= ([https](https://example.com/example/?name= ) result 404).
* [ ] http://example.com/example/?name=%20 (404) with 1 occurrences migrated to:
https://example.com/example/?name=%20 ([https](https://example.com/example/?name=%20 ) result 404).
* [ ] http://example.com/example/?name=row%5B0%5D (404) with 1 occurrences migrated to:
https://example.com/example/?name=row%5B0%5D ([https](https://example.com/example/?name=row%5B0%5D ) result 404).
* [ ] http://example.com/example/?name=value (404) with 1 occurrences migrated to:
https://example.com/example/?name=value ([https](https://example.com/example/?name=value ) result 404).
* [ ] http://example.com/example/?name=value¶m2=value+2 (404) with 1 occurrences migrated to:
https://example.com/example/?name=value¶m2=value+2 ([https](https://example.com/example/?name=value¶m2=value+2 ) result 404).
* [ ] http://example.com/example/?row%5B0%5D=value (404) with 1 occurrences migrated to:
https://example.com/example/?row%5B0%5D=value ([https](https://example.com/example/?row%5B0%5D=value ) result 404).
* [ ] http://example.com/foo (404) with 6 occurrences migrated to:
https://example.com/foo ([https](https://example.com/foo ) result 404).
* [ ] http://example.com/foo/../bar (404) with 1 occurrences migrated to:
https://example.com/foo/../bar ([https](https://example.com/foo/../bar ) result 404).
* [ ] http://example.com/foo/foo2?bar (404) with 1 occurrences migrated to:
https://example.com/foo/foo2?bar ([https](https://example.com/foo/foo2?bar ) result 404).
* [ ] http://example.com/foo?bar (404) with 4 occurrences migrated to:
https://example.com/foo?bar ([https](https://example.com/foo?bar ) result 404).
* [ ] http://example.com/foo?bar= (404) with 2 occurrences migrated to:
https://example.com/foo?bar= ([https](https://example.com/foo?bar= ) result 404).
* [ ] http://example.com/foo?bar=baz (404) with 2 occurrences migrated to:
https://example.com/foo?bar=baz ([https](https://example.com/foo?bar=baz ) result 404).
* [ ] http://example.com/foo?baz=42 (404) with 1 occurrences migrated to:
https://example.com/foo?baz=42 ([https](https://example.com/foo?baz=42 ) result 404).
* [ ] http://example.com/foo?foo=bar&baz=qux (404) with 2 occurrences migrated to:
https://example.com/foo?foo=bar&baz=qux ([https](https://example.com/foo?foo=bar&baz=qux ) result 404).
* [ ] http://example.com/hotel (404) with 3 occurrences migrated to:
https://example.com/hotel ([https](https://example.com/hotel ) result 404).
* [ ] http://example.com/hotel%20list (404) with 1 occurrences migrated to:
https://example.com/hotel%20list ([https](https://example.com/hotel%20list ) result 404).
* [ ] http://example.com/hotel%20list/Z (404) with 1 occurrences migrated to:
https://example.com/hotel%20list/Z ([https](https://example.com/hotel%20list/Z ) result 404).
* [ ] http://example.com/hotel%20list/Z%C3%BCrich (404) with 3 occurrences migrated to:
https://example.com/hotel%20list/Z%C3%BCrich ([https](https://example.com/hotel%20list/Z%C3%BCrich ) result 404).
* [ ] http://example.com/hotels (404) with 3 occurrences migrated to:
https://example.com/hotels ([https](https://example.com/hotels ) result 404).
* [ ] http://example.com/hotels/ (404) with 15 occurrences migrated to:
https://example.com/hotels/ ([https](https://example.com/hotels/ ) result 404).
* [ ] http://example.com/hotels/1/bookings/42 (404) with 1 occurrences migrated to:
https://example.com/hotels/1/bookings/42 ([https](https://example.com/hotels/1/bookings/42 ) result 404).
* [ ] http://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150 (404) with 2 occurrences migrated to:
https://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150 ([https](https://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150 ) result 404).
* [ ] http://example.com/hotels/1/pic/pics/logo.png (404) with 1 occurrences migrated to:
https://example.com/hotels/1/pic/pics/logo.png ([https](https://example.com/hotels/1/pic/pics/logo.png ) result 404).
* [ ] http://example.com/hotels/42/bookings/21 (404) with 1 occurrences migrated to:
https://example.com/hotels/42/bookings/21 ([https](https://example.com/hotels/42/bookings/21 ) result 404).
* [ ] http://example.com/hotels/42/bookings/42 (404) with 1 occurrences migrated to:
https://example.com/hotels/42/bookings/42 ([https](https://example.com/hotels/42/bookings/42 ) result 404).
* [ ] http://example.com/hotels/Rest%20%26%20Relax/bookings/42 (404) with 2 occurrences migrated to:
https://example.com/hotels/Rest%20%26%20Relax/bookings/42 ([https](https://example.com/hotels/Rest%20%26%20Relax/bookings/42 ) result 404).
* [ ] http://example.com/info (404) with 2 occurrences migrated to:
https://example.com/info ([https](https://example.com/info ) result 404).
* [ ] http://example.com/invalid (404) with 1 occurrences migrated to:
https://example.com/invalid ([https](https://example.com/invalid ) result 404).
* [ ] http://example.com/jquery-1.11.0.min.js (404) with 2 occurrences migrated to:
https://example.com/jquery-1.11.0.min.js ([https](https://example.com/jquery-1.11.0.min.js ) result 404).
* [ ] http://example.com/match (404) with 1 occurrences migrated to:
https://example.com/match ([https](https://example.com/match ) result 404).
* [ ] http://example.com/myFileUpload (404) with 1 occurrences migrated to:
https://example.com/myFileUpload ([https](https://example.com/myFileUpload ) result 404).
* [ ] http://example.com/myForm (404) with 1 occurrences migrated to:
https://example.com/myForm ([https](https://example.com/myForm ) result 404).
* [ ] http://example.com/path (404) with 4 occurrences migrated to:
https://example.com/path ([https](https://example.com/path ) result 404).
* [ ] http://example.com/path?query (404) with 2 occurrences migrated to:
https://example.com/path?query ([https](https://example.com/path?query ) result 404).
* [ ] http://example.com/path?query=foo (404) with 1 occurrences migrated to:
https://example.com/path?query=foo ([https](https://example.com/path?query=foo ) result 404).
* [ ] http://example.com/people (404) with 1 occurrences migrated to:
https://example.com/people ([https](https://example.com/people ) result 404).
* [ ] http://example.com/people/ (404) with 1 occurrences migrated to:
https://example.com/people/ ([https](https://example.com/people/ ) result 404).
* [ ] http://example.com/prefix/path (404) with 2 occurrences migrated to:
https://example.com/prefix/path ([https](https://example.com/prefix/path ) result 404).
* [ ] http://example.com/resource (404) with 5 occurrences migrated to:
https://example.com/resource ([https](https://example.com/resource ) result 404).
* [ ] http://example.com/resource?access_token=123 (404) with 1 occurrences migrated to:
https://example.com/resource?access_token=123 ([https](https://example.com/resource?access_token=123 ) result 404).
* [ ] http://example.com/spaces (404) with 1 occurrences migrated to:
https://example.com/spaces ([https](https://example.com/spaces ) result 404).
* [ ] http://example.com/spaces%20and%20%E2%82%AC (404) with 3 occurrences migrated to:
https://example.com/spaces%20and%20%E2%82%AC ([https](https://example.com/spaces%20and%20%E2%82%AC ) result 404).
* [ ] http://example.com/spring/ (404) with 1 occurrences migrated to:
https://example.com/spring/ ([https](https://example.com/spring/ ) result 404).
* [ ] http://example.com/test/this/here (404) with 1 occurrences migrated to:
https://example.com/test/this/here ([https](https://example.com/test/this/here ) result 404).
* [ ] http://example.com/upload (404) with 1 occurrences migrated to:
https://example.com/upload ([https](https://example.com/upload ) result 404).
* [ ] http://example.com/user (404) with 1 occurrences migrated to:
https://example.com/user ([https](https://example.com/user ) result 404).
* [ ] http://example.org/fonts/css (404) with 6 occurrences migrated to:
https://example.org/fonts/css ([https](https://example.org/fonts/css ) result 404).
* [ ] http://example.org/foo/page.html (404) with 1 occurrences migrated to:
https://example.org/foo/page.html ([https](https://example.org/foo/page.html ) result 404).
* [ ] http://example.org/image.png (404) with 4 occurrences migrated to:
https://example.org/image.png ([https](https://example.org/image.png ) result 404).
* [ ] http://example.org/music/people (404) with 4 occurrences migrated to:
https://example.org/music/people ([https](https://example.org/music/people ) result 404).
* [ ] http://example.org/page.cache.html (404) with 1 occurrences migrated to:
https://example.org/page.cache.html ([https](https://example.org/page.cache.html ) result 404).
* [ ] http://example.org/path (404) with 3 occurrences migrated to:
https://example.org/path ([https](https://example.org/path ) result 404).
* [ ] http://springframework.org/oxm-test (404) with 2 occurrences migrated to:
https://springframework.org/oxm-test ([https](https://springframework.org/oxm-test ) result 404).
* [ ] http://aaa.org:8080/app/b/c/d (301) with 1 occurrences migrated to:
https://www.aaa.org/app/b/c/d ([https](https://aaa.org:8080/app/b/c/d ) result 404).
* [ ] http://www.example.com/favicon.ico (404) with 2 occurrences migrated to:
https://www.example.com/favicon.ico ([https](https://www.example.com/favicon.ico ) result 404).
* [ ] http://www.example.com/foo/bar (404) with 1 occurrences migrated to:
https://www.example.com/foo/bar ([https](https://www.example.com/foo/bar ) result 404).
* [ ] http://www.example.com/hotels (404) with 2 occurrences migrated to:
https://www.example.com/hotels ([https](https://www.example.com/hotels ) result 404).
* [ ] http://www.example.com/user/ (404) with 4 occurrences migrated to:
https://www.example.com/user/ ([https](https://www.example.com/user/ ) result 404).
* [ ] http://www.example.com/user/john%3Bdoe/dashboard (404) with 4 occurrences migrated to:
https://www.example.com/user/john%3Bdoe/dashboard ([https](https://www.example.com/user/john%3Bdoe/dashboard ) result 404).
* [ ] http://www.example.com/user/john;doe/dashboard (404) with 2 occurrences migrated to:
https://www.example.com/user/john;doe/dashboard ([https](https://www.example.com/user/john;doe/dashboard ) result 404).
* [ ] http://www.ibm.com/developerworks/websphere/library/techarticles/0404_tang/0404_tang.html (301) with 1 occurrences migrated to:
https://www.ibm.com/developerworks/websphere/library/techarticles/0404_tang/0404_tang.html ([https](https://www.ibm.com/developerworks/websphere/library/techarticles/0404_tang/0404_tang.html ) result 404).
* [ ] http://mydomain1.com:80/path (301) with 2 occurrences migrated to:
https://www.mydomain1.com/path ([https](https://mydomain1.com:80/path ) result 404).
* [ ] http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-03 (404) with 1 occurrences migrated to:
https://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-03 ([https](https://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-03 ) result 404).
* [ ] http://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html (301) with 1 occurrences migrated to:
https://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html ([https](https://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html ) result 404).
* [ ] http://xml.apache.org/xslt (404) with 3 occurrences migrated to:
https://xml.apache.org/xslt ([https](https://xml.apache.org/xslt ) result 404).
* [ ] http://myhost.com/resource/path/myTemplate.txt (500) with 1 occurrences migrated to:
https://myhost.com/resource/path/myTemplate.txt ([https](https://myhost.com/resource/path/myTemplate.txt ) result 500).
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://activemq.apache.org/delete-inactive-destinations.html with 1 occurrences migrated to:
https://activemq.apache.org/delete-inactive-destinations.html ([https](https://activemq.apache.org/delete-inactive-destinations.html ) result 200).
* [ ] http://activemq.apache.org/stomp.html with 1 occurrences migrated to:
https://activemq.apache.org/stomp.html ([https](https://activemq.apache.org/stomp.html ) result 200).
* [ ] http://ant.apache.org with 1 occurrences migrated to:
https://ant.apache.org ([https](https://ant.apache.org ) result 200).
* [ ] http://asciidoctor.org/ with 1 occurrences migrated to:
https://asciidoctor.org/ ([https](https://asciidoctor.org/ ) result 200).
* [ ] http://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ with 2 occurrences migrated to:
https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ ([https](https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ ) result 200).
* [ ] http://beanvalidation.org/ with 1 occurrences migrated to:
https://beanvalidation.org/ ([https](https://beanvalidation.org/ ) result 200).
* [ ] http://caniuse.com/ with 2 occurrences migrated to:
https://caniuse.com/ ([https](https://caniuse.com/ ) result 200).
* [ ] http://castor-data-binding.github.io/castor/reference-guides/1.3.3/html-single/index.html with 2 occurrences migrated to:
https://castor-data-binding.github.io/castor/reference-guides/1.3.3/html-single/index.html ([https](https://castor-data-binding.github.io/castor/reference-guides/1.3.3/html-single/index.html ) result 200).
* [ ] http://cbor.io/ with 1 occurrences migrated to:
https://cbor.io/ ([https](https://cbor.io/ ) result 200).
* [ ] http://code.jquery.com/jquery-1.11.0.min.js with 2 occurrences migrated to:
https://code.jquery.com/jquery-1.11.0.min.js ([https](https://code.jquery.com/jquery-1.11.0.min.js ) result 200).
* [ ] http://code.jquery.com/jquery.js with 1 occurrences migrated to:
https://code.jquery.com/jquery.js ([https](https://code.jquery.com/jquery.js ) result 200).
* [ ] http://commons.apache.org/proper/commons-lang/ with 2 occurrences migrated to:
https://commons.apache.org/proper/commons-lang/ ([https](https://commons.apache.org/proper/commons-lang/ ) result 200).
* [ ] http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html ([https](https://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/java/beans/package-summary.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/java/beans/package-summary.html ([https](https://docs.oracle.com/javase/8/docs/api/java/beans/package-summary.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html ([https](https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html with 2 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html ([https](https://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html ) result 200).
* [ ] http://docs.oracle.com/javase/tutorial/javabeans/advanced/customization.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/tutorial/javabeans/advanced/customization.html ([https](https://docs.oracle.com/javase/tutorial/javabeans/advanced/customization.html ) result 200).
* [ ] http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html ([https](https://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html ) result 200).
* [ ] http://docs.seleniumhq.org/ with 1 occurrences migrated to:
https://docs.seleniumhq.org/ ([https](https://docs.seleniumhq.org/ ) result 200).
* [ ] http://docs.seleniumhq.org/projects/webdriver/ with 1 occurrences migrated to:
https://docs.seleniumhq.org/projects/webdriver/ ([https](https://docs.seleniumhq.org/projects/webdriver/ ) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/javadoc-api/ with 1 occurrences migrated to:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/ ([https](https://docs.spring.io/spring-framework/docs/current/javadoc-api/ ) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/view/script/ScriptTemplateView.html with 1 occurrences migrated to:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/view/script/ScriptTemplateView.html ([https](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/view/script/ScriptTemplateView.html ) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ with 1 occurrences migrated to:
https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ ([https](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ ) result 200).
* [ ] http://docs.spring.io/spring-session/docs/current/reference/html5/ with 1 occurrences migrated to:
https://docs.spring.io/spring-session/docs/current/reference/html5/ ([https](https://docs.spring.io/spring-session/docs/current/reference/html5/ ) result 200).
* [ ] http://en.wikipedia.org/wiki/Adapter_pattern with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Adapter_pattern ([https](https://en.wikipedia.org/wiki/Adapter_pattern ) result 200).
* [ ] http://en.wikipedia.org/wiki/Halting_Problem with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Halting_Problem ([https](https://en.wikipedia.org/wiki/Halting_Problem ) result 200).
* [ ] http://en.wikipedia.org/wiki/List_of_HTTP_status_codes with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes ([https](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes ) result 200).
* [ ] http://en.wikipedia.org/wiki/MIME with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/MIME ([https](https://en.wikipedia.org/wiki/MIME ) result 200).
* [ ] http://en.wikipedia.org/wiki/Mock_Object with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Mock_Object ([https](https://en.wikipedia.org/wiki/Mock_Object ) result 200).
* [ ] http://en.wikipedia.org/wiki/Polyfill with 2 occurrences migrated to:
https://en.wikipedia.org/wiki/Polyfill ([https](https://en.wikipedia.org/wiki/Polyfill ) result 200).
* [ ] http://example.com with 132 occurrences migrated to:
https://example.com ([https](https://example.com ) result 200).
* [ ] http://example.com/ with 16 occurrences migrated to:
https://example.com/ ([https](https://example.com/ ) result 200).
* [ ] http://example.com?foo with 2 occurrences migrated to:
https://example.com?foo ([https](https://example.com?foo ) result 200).
* [ ] http://example.com?foo=bar with 8 occurrences migrated to:
https://example.com?foo=bar ([https](https://example.com?foo=bar ) result 200).
* [ ] http://example.com?foo=bar@baz with 1 occurrences migrated to:
https://example.com?foo=bar@baz ([https](https://example.com?foo=bar@baz ) result 200).
* [ ] http://example.org with 18 occurrences migrated to:
https://example.org ([https](https://example.org ) result 200).
* [ ] http://example.org/ with 1 occurrences migrated to:
https://example.org/ ([https](https://example.org/ ) result 200).
* [ ] http://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/DeserializationFeature.html with 2 occurrences migrated to:
https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/DeserializationFeature.html ([https](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/DeserializationFeature.html ) result 200).
* [ ] http://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/MapperFeature.html with 2 occurrences migrated to:
https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/MapperFeature.html ([https](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/MapperFeature.html ) result 200).
* [ ] http://h2database.com with 1 occurrences migrated to:
https://h2database.com ([https](https://h2database.com ) result 200).
* [ ] http://handlebarsjs.com with 2 occurrences migrated to:
https://handlebarsjs.com ([https](https://handlebarsjs.com ) result 200).
* [ ] http://handlebarsjs.com/ with 2 occurrences migrated to:
https://handlebarsjs.com/ ([https](https://handlebarsjs.com/ ) result 200).
* [ ] http://hc.apache.org/httpcomponents-asyncclient-dev/ with 1 occurrences migrated to:
https://hc.apache.org/httpcomponents-asyncclient-dev/ ([https](https://hc.apache.org/httpcomponents-asyncclient-dev/ ) result 200).
* [ ] http://hc.apache.org/httpcomponents-client-ga/ with 2 occurrences migrated to:
https://hc.apache.org/httpcomponents-client-ga/ ([https](https://hc.apache.org/httpcomponents-client-ga/ ) result 200).
* [ ] http://hc.apache.org/httpcomponents-client-ga/httpclient/ with 1 occurrences migrated to:
https://hc.apache.org/httpcomponents-client-ga/httpclient/ ([https](https://hc.apache.org/httpcomponents-client-ga/httpclient/ ) result 200).
* [ ] http://www.hibernate.org/ (301) with 1 occurrences migrated to:
https://hibernate.org/ ([https](https://www.hibernate.org/ ) result 200).
* [ ] http://www.hibernate.org (301) with 1 occurrences migrated to:
https://hibernate.org/ ([https](https://www.hibernate.org ) result 200).
* [ ] http://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html with 1 occurrences migrated to:
https://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html ([https](https://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html ) result 200).
* [ ] http://jcp.org/aboutJava/communityprocess/final/jsr160/index.html with 1 occurrences migrated to:
https://jcp.org/aboutJava/communityprocess/final/jsr160/index.html ([https](https://jcp.org/aboutJava/communityprocess/final/jsr160/index.html ) result 200).
* [ ] http://jcp.org/en/jsr/detail?id=107 with 1 occurrences migrated to:
https://jcp.org/en/jsr/detail?id=107 ([https](https://jcp.org/en/jsr/detail?id=107 ) result 200).
* [ ] http://joel-costigliola.github.io/assertj/ with 3 occurrences migrated to:
https://joel-costigliola.github.io/assertj/ ([https](https://joel-costigliola.github.io/assertj/ ) result 200).
* [ ] http://jsonassert.skyscreamer.org with 1 occurrences migrated to:
https://jsonassert.skyscreamer.org ([https](https://jsonassert.skyscreamer.org ) result 200).
* [ ] http://jsonassert.skyscreamer.org/ with 5 occurrences migrated to:
https://jsonassert.skyscreamer.org/ ([https](https://jsonassert.skyscreamer.org/ ) result 200).
* [ ] http://junit.org/junit5/docs/current/user-guide/ with 2 occurrences migrated to:
https://junit.org/junit5/docs/current/user-guide/ ([https](https://junit.org/junit5/docs/current/user-guide/ ) result 200).
* [ ] http://kotlinlang.org/ with 2 occurrences migrated to:
https://kotlinlang.org/ ([https](https://kotlinlang.org/ ) result 200).
* [ ] http://kotlinlang.org/docs/reference/ with 1 occurrences migrated to:
https://kotlinlang.org/docs/reference/ ([https](https://kotlinlang.org/docs/reference/ ) result 200).
* [ ] http://kotlinlang.org/docs/reference/classes.html with 3 occurrences migrated to:
https://kotlinlang.org/docs/reference/classes.html ([https](https://kotlinlang.org/docs/reference/classes.html ) result 200).
* [ ] http://mydomain.com with 5 occurrences migrated to:
https://mydomain.com ([https](https://mydomain.com ) result 200).
* [ ] http://netty.io/ with 1 occurrences migrated to:
https://netty.io/ ([https](https://netty.io/ ) result 200).
* [ ] http://openjdk.java.net/jeps/290 with 1 occurrences migrated to:
https://openjdk.java.net/jeps/290 ([https](https://openjdk.java.net/jeps/290 ) result 200).
* [ ] http://openjdk.java.net/projects/nashorn/ with 10 occurrences migrated to:
https://openjdk.java.net/projects/nashorn/ ([https](https://openjdk.java.net/projects/nashorn/ ) result 200).
* [ ] http://poi.apache.org with 3 occurrences migrated to:
https://poi.apache.org ([https](https://poi.apache.org ) result 200).
* [ ] http://projects.spring.io/spring-boot/ with 1 occurrences migrated to:
https://projects.spring.io/spring-boot/ ([https](https://projects.spring.io/spring-boot/ ) result 200).
* [ ] http://projects.spring.io/spring-data/ with 1 occurrences migrated to:
https://projects.spring.io/spring-data/ ([https](https://projects.spring.io/spring-data/ ) result 200).
* [ ] http://projects.spring.io/spring-framework/ with 1 occurrences migrated to:
https://projects.spring.io/spring-framework/ ([https](https://projects.spring.io/spring-framework/ ) result 200).
* [ ] http://projects.spring.io/spring-integration/ with 1 occurrences migrated to:
https://projects.spring.io/spring-integration/ ([https](https://projects.spring.io/spring-integration/ ) result 200).
* [ ] http://projects.spring.io/spring-security/ with 3 occurrences migrated to:
https://projects.spring.io/spring-security/ ([https](https://projects.spring.io/spring-security/ ) result 200).
* [ ] http://repo1.maven.org/maven2/javax/inject/javax.inject/1/ with 2 occurrences migrated to:
https://repo1.maven.org/maven2/javax/inject/javax.inject/1/ ([https](https://repo1.maven.org/maven2/javax/inject/javax.inject/1/ ) result 200).
* [ ] http://schema.spring.io/mvc/spring-mvc.xsd with 1 occurrences migrated to:
https://schema.spring.io/mvc/spring-mvc.xsd ([https](https://schema.spring.io/mvc/spring-mvc.xsd ) result 200).
* [ ] http://search.maven.org/ with 2 occurrences migrated to:
https://search.maven.org/ ([https](https://search.maven.org/ ) result 200).
* [ ] http://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html with 3 occurrences migrated to:
https://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html ([https](https://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html ) result 200).
* [ ] http://sourceforge.net with 1 occurrences migrated to:
https://sourceforge.net ([https](https://sourceforge.net ) result 200).
* [ ] http://sourceforge.net/projects/javadiff/ with 1 occurrences migrated to:
https://sourceforge.net/projects/javadiff/ ([https](https://sourceforge.net/projects/javadiff/ ) result 200).
* [ ] http://sourceforge.net/sflogo.php?group_id=37160 with 1 occurrences migrated to:
https://sourceforge.net/sflogo.php?group_id=37160 ([https](https://sourceforge.net/sflogo.php?group_id=37160 ) result 200).
* [ ] http://spring.io/blog/ with 1 occurrences migrated to:
https://spring.io/blog/ ([https](https://spring.io/blog/ ) result 200).
* [ ] http://spring.io/blog/category/news with 1 occurrences migrated to:
https://spring.io/blog/category/news ([https](https://spring.io/blog/category/news ) result 200).
* [ ] http://square.github.io/okhttp/ with 1 occurrences migrated to:
https://square.github.io/okhttp/ ([https](https://square.github.io/okhttp/ ) result 200).
* [ ] http://stackoverflow.com/questions/1481251/what-does-document-domain-document-domain-do with 1 occurrences migrated to:
https://stackoverflow.com/questions/1481251/what-does-document-domain-document-domain-do ([https](https://stackoverflow.com/questions/1481251/what-does-document-domain-document-domain-do ) result 200).
* [ ] http://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources with 2 occurrences migrated to:
https://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources ([https](https://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources ) result 200).
* [ ] http://stackoverflow.com/questions/22986109/testing-spring-managed-servlet with 1 occurrences migrated to:
https://stackoverflow.com/questions/22986109/testing-spring-managed-servlet ([https](https://stackoverflow.com/questions/22986109/testing-spring-managed-servlet ) result 200).
* [ ] http://stackoverflow.com/questions/24725438/what-could-cause-a-class-implementing-applicationlistenercontextrefreshedevent with 1 occurrences migrated to:
https://stackoverflow.com/questions/24725438/what-could-cause-a-class-implementing-applicationlistenercontextrefreshedevent ([https](https://stackoverflow.com/questions/24725438/what-could-cause-a-class-implementing-applicationlistenercontextrefreshedevent ) result 200).
* [ ] http://stackoverflow.com/questions/35733344/can-contextconfiguration-in-a-custom-annotation-be-merged with 1 occurrences migrated to:
https://stackoverflow.com/questions/35733344/can-contextconfiguration-in-a-custom-annotation-be-merged ([https](https://stackoverflow.com/questions/35733344/can-contextconfiguration-in-a-custom-annotation-be-merged ) result 200).
* [ ] http://start.spring.io/ with 2 occurrences migrated to:
https://start.spring.io/ ([https](https://start.spring.io/ ) result 200).
* [ ] http://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html with 1 occurrences migrated to:
https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html ([https](https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html ) result 200).
* [ ] http://stomp.github.io/stomp-specification-1.2.html with 9 occurrences migrated to:
https://stomp.github.io/stomp-specification-1.2.html ([https](https://stomp.github.io/stomp-specification-1.2.html ) result 200).
* [ ] http://struts.apache.org with 1 occurrences migrated to:
https://struts.apache.org ([https](https://struts.apache.org ) result 200).
* [ ] http://struts.apache.org/ with 1 occurrences migrated to:
https://struts.apache.org/ ([https](https://struts.apache.org/ ) result 200).
* [ ] http://tapestry.apache.org/ with 2 occurrences migrated to:
https://tapestry.apache.org/ ([https](https://tapestry.apache.org/ ) result 200).
* [ ] http://tiles.apache.org with 4 occurrences migrated to:
https://tiles.apache.org ([https](https://tiles.apache.org ) result 200).
* [ ] http://tiles.apache.org/framework/dependency-management.html with 1 occurrences migrated to:
https://tiles.apache.org/framework/dependency-management.html ([https](https://tiles.apache.org/framework/dependency-management.html ) result 200).
* [ ] http://tools.ietf.org/html/rfc1945 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc1945 ([https](https://tools.ietf.org/html/rfc1945 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2109 with 2 occurrences migrated to:
https://tools.ietf.org/html/rfc2109 ([https](https://tools.ietf.org/html/rfc2109 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2295 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2295 ([https](https://tools.ietf.org/html/rfc2295 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2324 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2324 ([https](https://tools.ietf.org/html/rfc2324 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2518 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2518 ([https](https://tools.ietf.org/html/rfc2518 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2616 with 3 occurrences migrated to:
https://tools.ietf.org/html/rfc2616 ([https](https://tools.ietf.org/html/rfc2616 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2774 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2774 ([https](https://tools.ietf.org/html/rfc2774 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2817 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2817 ([https](https://tools.ietf.org/html/rfc2817 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2965 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2965 ([https](https://tools.ietf.org/html/rfc2965 ) result 200).
* [ ] http://tools.ietf.org/html/rfc3229 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc3229 ([https](https://tools.ietf.org/html/rfc3229 ) result 200).
* [ ] http://tools.ietf.org/html/rfc3986 with 3 occurrences migrated to:
https://tools.ietf.org/html/rfc3986 ([https](https://tools.ietf.org/html/rfc3986 ) result 200).
* [ ] http://tools.ietf.org/html/rfc4918 with 5 occurrences migrated to:
https://tools.ietf.org/html/rfc4918 ([https](https://tools.ietf.org/html/rfc4918 ) result 200).
* [ ] http://tools.ietf.org/html/rfc5842 with 2 occurrences migrated to:
https://tools.ietf.org/html/rfc5842 ([https](https://tools.ietf.org/html/rfc5842 ) result 200).
* [ ] http://tools.ietf.org/html/rfc5988 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc5988 ([https](https://tools.ietf.org/html/rfc5988 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6202 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc6202 ([https](https://tools.ietf.org/html/rfc6202 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6266 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc6266 ([https](https://tools.ietf.org/html/rfc6266 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6454 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc6454 ([https](https://tools.ietf.org/html/rfc6454 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6455 with 2 occurrences migrated to:
https://tools.ietf.org/html/rfc6455 ([https](https://tools.ietf.org/html/rfc6455 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6585 with 4 occurrences migrated to:
https://tools.ietf.org/html/rfc6585 ([https](https://tools.ietf.org/html/rfc6585 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7230 with 10 occurrences migrated to:
https://tools.ietf.org/html/rfc7230 ([https](https://tools.ietf.org/html/rfc7230 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7231 with 56 occurrences migrated to:
https://tools.ietf.org/html/rfc7231 ([https](https://tools.ietf.org/html/rfc7231 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7232 with 8 occurrences migrated to:
https://tools.ietf.org/html/rfc7232 ([https](https://tools.ietf.org/html/rfc7232 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7233 with 12 occurrences migrated to:
https://tools.ietf.org/html/rfc7233 ([https](https://tools.ietf.org/html/rfc7233 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7234 with 5 occurrences migrated to:
https://tools.ietf.org/html/rfc7234 ([https](https://tools.ietf.org/html/rfc7234 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7235 with 6 occurrences migrated to:
https://tools.ietf.org/html/rfc7235 ([https](https://tools.ietf.org/html/rfc7235 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7238 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc7238 ([https](https://tools.ietf.org/html/rfc7238 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7239 with 7 occurrences migrated to:
https://tools.ietf.org/html/rfc7239 ([https](https://tools.ietf.org/html/rfc7239 ) result 200).
* [ ] http://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt with 3 occurrences migrated to:
https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt ([https](https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt ) result 200).
* [ ] http://unlicense.org with 1 occurrences migrated to:
https://unlicense.org ([https](https://unlicense.org ) result 200).
* [ ] http://www.amazon.com/exec/obidos/tg/detail/-/0764543857/ with 10 occurrences migrated to:
https://www.amazon.com/exec/obidos/tg/detail/-/0764543857/ ([https](https://www.amazon.com/exec/obidos/tg/detail/-/0764543857/ ) result 200).
* [ ] http://www.apache.org with 1 occurrences migrated to:
https://www.apache.org ([https](https://www.apache.org ) result 200).
* [ ] http://www.apple.com/DTDs/PropertyList-1.0.dtd with 6 occurrences migrated to:
https://www.apple.com/DTDs/PropertyList-1.0.dtd ([https](https://www.apple.com/DTDs/PropertyList-1.0.dtd ) result 200).
* [ ] http://www.atomikos.com/ with 1 occurrences migrated to:
https://www.atomikos.com/ ([https](https://www.atomikos.com/ ) result 200).
* [ ] http://www.baeldung.com/kotlin-null-safety with 1 occurrences migrated to:
https://www.baeldung.com/kotlin-null-safety ([https](https://www.baeldung.com/kotlin-null-safety ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/devguide/index.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/devguide/index.html ([https](https://www.eclipse.org/aspectj/doc/released/devguide/index.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html ([https](https://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/dtd/aspectj.dtd with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/dtd/aspectj.dtd ([https](https://www.eclipse.org/aspectj/dtd/aspectj.dtd ) result 200).
* [ ] http://ehcache.sourceforge.net (301) with 1 occurrences migrated to:
https://www.ehcache.org/ ([https](https://ehcache.sourceforge.net ) result 200).
* [ ] http://ehcache.org/ (301) with 1 occurrences migrated to:
https://www.ehcache.org/ ([https](https://ehcache.org/ ) result 200).
* [ ] http://www.embeddedjs.com/ with 2 occurrences migrated to:
https://www.embeddedjs.com/ ([https](https://www.embeddedjs.com/ ) result 200).
* [ ] http://www.enterpriseintegrationpatterns.com with 1 occurrences migrated to:
https://www.enterpriseintegrationpatterns.com ([https](https://www.enterpriseintegrationpatterns.com ) result 200).
* [ ] http://www.example.org/?param=aGVsbG9Xb3JsZA%3D%3D with 1 occurrences migrated to:
https://www.example.org/?param=aGVsbG9Xb3JsZA%3D%3D ([https](https://www.example.org/?param=aGVsbG9Xb3JsZA%3D%3D ) result 200).
* [ ] http://www.google.com with 2 occurrences migrated to:
https://www.google.com ([https](https://www.google.com ) result 200).
* [ ] http://www.h2database.com with 1 occurrences migrated to:
https://www.h2database.com ([https](https://www.h2database.com ) result 200).
* [ ] http://www.h2database.com/html/grammar.html with 1 occurrences migrated to:
https://www.h2database.com/html/grammar.html ([https](https://www.h2database.com/html/grammar.html ) result 200).
* [ ] http://www.ietf.org with 1 occurrences migrated to:
https://www.ietf.org ([https](https://www.ietf.org ) result 200).
* [ ] http://www.ietf.org/rfc/rfc1867.txt with 1 occurrences migrated to:
https://www.ietf.org/rfc/rfc1867.txt ([https](https://www.ietf.org/rfc/rfc1867.txt ) result 200).
* [ ] http://www.ietf.org/rfc/rfc2396.txt with 2 occurrences migrated to:
https://www.ietf.org/rfc/rfc2396.txt ([https](https://www.ietf.org/rfc/rfc2396.txt ) result 200).
* [ ] http://www.ietf.org/rfc/rfc3986.txt with 11 occurrences migrated to:
https://www.ietf.org/rfc/rfc3986.txt ([https](https://www.ietf.org/rfc/rfc3986.txt ) result 200).
* [ ] http://www.infoq.com/ with 1 occurrences migrated to:
https://www.infoq.com/ ([https](https://www.infoq.com/ ) result 200).
* [ ] http://www.infoq.com/minibooks/JTDS with 1 occurrences migrated to:
https://www.infoq.com/minibooks/JTDS ([https](https://www.infoq.com/minibooks/JTDS ) result 200).
* [ ] http://www.jetbrains.com/idea/ with 1 occurrences migrated to:
https://www.jetbrains.com/idea/ ([https](https://www.jetbrains.com/idea/ ) result 200).
* [ ] http://www.json.org/ with 1 occurrences migrated to:
https://www.json.org/ ([https](https://www.json.org/ ) result 200).
* [ ] http://www.jython.org with 2 occurrences migrated to:
https://www.jython.org ([https](https://www.jython.org ) result 200).
* [ ] http://www.jython.org/ with 2 occurrences migrated to:
https://www.jython.org/ ([https](https://www.jython.org/ ) result 200).
* [ ] http://www.lowagie.com/iText with 2 occurrences migrated to:
https://www.lowagie.com/iText ([https](https://www.lowagie.com/iText ) result 200).
* [ ] http://www.manpagez.com/man/5/crontab/ with 1 occurrences migrated to:
https://www.manpagez.com/man/5/crontab/ ([https](https://www.manpagez.com/man/5/crontab/ ) result 200).
* [ ] http://mydomain1.com:80/ (301) with 2 occurrences migrated to:
https://www.mydomain1.com/ ([https](https://mydomain1.com:80/ ) result 200).
* [ ] http://mydomain1.com:80 (301) with 1 occurrences migrated to:
https://www.mydomain1.com/ ([https](https://mydomain1.com:80 ) result 200).
* [ ] http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/articles/javaee/jpa-137156.html ([https](https://www.oracle.com/technetwork/articles/javaee/jpa-137156.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html ([https](https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html ([https](https://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html ([https](https://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html ([https](https://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html ) result 200).
* [ ] http://www.ow2.org/ with 1 occurrences migrated to:
https://www.ow2.org/ ([https](https://www.ow2.org/ ) result 200).
* [ ] http://www.owasp.org/index.php/HTTPOnly with 4 occurrences migrated to:
https://www.owasp.org/index.php/HTTPOnly ([https](https://www.owasp.org/index.php/HTTPOnly ) result 200).
* [ ] http://quartz-scheduler.org (301) with 3 occurrences migrated to:
https://www.quartz-scheduler.org/ ([https](https://quartz-scheduler.org ) result 200).
* [ ] http://www.rabbitmq.com/stomp.html with 1 occurrences migrated to:
https://www.rabbitmq.com/stomp.html ([https](https://www.rabbitmq.com/stomp.html ) result 200).
* [ ] http://www.reactive-streams.org with 1 occurrences migrated to:
https://www.reactive-streams.org ([https](https://www.reactive-streams.org ) result 200).
* [ ] http://www.reactive-streams.org/ with 2 occurrences migrated to:
https://www.reactive-streams.org/ ([https](https://www.reactive-streams.org/ ) result 200).
* [ ] http://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Publisher.html with 1 occurrences migrated to:
https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Publisher.html ([https](https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Publisher.html ) result 200).
* [ ] http://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Subscriber.html with 1 occurrences migrated to:
https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Subscriber.html ([https](https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Subscriber.html ) result 200).
* [ ] http://seleniumhq.org/projects/webdriver/ (301) with 1 occurrences migrated to:
https://www.seleniumhq.org ([https](https://seleniumhq.org/projects/webdriver/ ) result 200).
* [ ] http://www.springbyexample.org/examples/custom-thread-scope-module.html with 1 occurrences migrated to:
https://www.springbyexample.org/examples/custom-thread-scope-module.html ([https](https://www.springbyexample.org/examples/custom-thread-scope-module.html ) result 200).
* [ ] http://www.springframework.org/dtd/spring-beans-2.0.dtd with 3 occurrences migrated to:
https://www.springframework.org/dtd/spring-beans-2.0.dtd ([https](https://www.springframework.org/dtd/spring-beans-2.0.dtd ) result 200).
* [ ] http://www.springframework.org/schema/aop/spring-aop.xsd with 12 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop.xsd ([https](https://www.springframework.org/schema/aop/spring-aop.xsd ) result 200).
* [ ] http://www.springframework.org/schema/beans/spring-beans.xsd with 80 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd ) result 200).
* [ ] http://www.springframework.org/schema/cache/spring-cache.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/cache/spring-cache.xsd ([https](https://www.springframework.org/schema/cache/spring-cache.xsd ) result 200).
* [ ] http://www.springframework.org/schema/context/spring-context.xsd with 13 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd ) result 200).
* [ ] http://www.springframework.org/schema/jdbc/spring-jdbc.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ) result 200).
* [ ] http://www.springframework.org/schema/jee/spring-jee.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/jee/spring-jee.xsd ([https](https://www.springframework.org/schema/jee/spring-jee.xsd ) result 200).
* [ ] http://www.springframework.org/schema/jms/spring-jms.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/jms/spring-jms.xsd ([https](https://www.springframework.org/schema/jms/spring-jms.xsd ) result 200).
* [ ] http://www.springframework.org/schema/lang/spring-lang.xsd with 4 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang.xsd ([https](https://www.springframework.org/schema/lang/spring-lang.xsd ) result 200).
* [ ] http://www.springframework.org/schema/mvc/spring-mvc.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/mvc/spring-mvc.xsd ([https](https://www.springframework.org/schema/mvc/spring-mvc.xsd ) result 200).
* [ ] http://www.springframework.org/schema/oxm/spring-oxm.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/oxm/spring-oxm.xsd ([https](https://www.springframework.org/schema/oxm/spring-oxm.xsd ) result 200).
* [ ] http://www.springframework.org/schema/tool/spring-tool.xsd with 13 occurrences migrated to:
https://www.springframework.org/schema/tool/spring-tool.xsd ([https](https://www.springframework.org/schema/tool/spring-tool.xsd ) result 200).
* [ ] http://www.springframework.org/schema/tx/spring-tx.xsd with 8 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx.xsd ([https](https://www.springframework.org/schema/tx/spring-tx.xsd ) result 200).
* [ ] http://www.springframework.org/schema/util/spring-util.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util.xsd ([https](https://www.springframework.org/schema/util/spring-util.xsd ) result 200).
* [ ] http://www.springframework.org/schema/websocket/spring-websocket.xsd with 12 occurrences migrated to:
https://www.springframework.org/schema/websocket/spring-websocket.xsd ([https](https://www.springframework.org/schema/websocket/spring-websocket.xsd ) result 200).
* [ ] http://www.stuartellis.eu/articles/erb/ (301) with 2 occurrences migrated to:
https://www.stuartellis.name/articles/erb/ ([https](https://www.stuartellis.eu/articles/erb/ ) result 200).
* [ ] http://www.thymeleaf.org/ with 2 occurrences migrated to:
https://www.thymeleaf.org/ ([https](https://www.thymeleaf.org/ ) result 200).
* [ ] http://www.thymeleaf.org/documentation.html with 2 occurrences migrated to:
https://www.thymeleaf.org/documentation.html ([https](https://www.thymeleaf.org/documentation.html ) result 200).
* [ ] http://www.w3.org/2000/xmlns/ with 5 occurrences migrated to:
https://www.w3.org/2000/xmlns/ ([https](https://www.w3.org/2000/xmlns/ ) result 200).
* [ ] http://www.w3.org/2004/08/xop/include with 2 occurrences migrated to:
https://www.w3.org/2004/08/xop/include ([https](https://www.w3.org/2004/08/xop/include ) result 200).
* [ ] http://www.w3.org/DesignIssues/MatrixURIs.html with 1 occurrences migrated to:
https://www.w3.org/DesignIssues/MatrixURIs.html ([https](https://www.w3.org/DesignIssues/MatrixURIs.html ) result 200).
* [ ] http://www.w3.org/TR/2004/WD-soap12-mtom-20040608/ with 2 occurrences migrated to:
https://www.w3.org/TR/2004/WD-soap12-mtom-20040608/ ([https](https://www.w3.org/TR/2004/WD-soap12-mtom-20040608/ ) result 200).
* [ ] http://www.w3.org/TR/2005/REC-xop10-20050125/ with 6 occurrences migrated to:
https://www.w3.org/TR/2005/REC-xop10-20050125/ ([https](https://www.w3.org/TR/2005/REC-xop10-20050125/ ) result 200).
* [ ] http://www.w3.org/TR/cors/ with 19 occurrences migrated to:
https://www.w3.org/TR/cors/ ([https](https://www.w3.org/TR/cors/ ) result 200).
* [ ] http://www.w3.org/TR/eventsource/ with 2 occurrences migrated to:
https://www.w3.org/TR/eventsource/ ([https](https://www.w3.org/TR/eventsource/ ) result 200).
* [ ] http://www.w3.org/TR/xhtml1/ with 1 occurrences migrated to:
https://www.w3.org/TR/xhtml1/ ([https](https://www.w3.org/TR/xhtml1/ ) result 200).
* [ ] http://www.w3.org/TR/xhtml1/diffs.html with 1 occurrences migrated to:
https://www.w3.org/TR/xhtml1/diffs.html ([https](https://www.w3.org/TR/xhtml1/diffs.html ) result 200).
* [ ] http://www.w3.org/TR/xhtml1/dtds.html with 1 occurrences migrated to:
https://www.w3.org/TR/xhtml1/dtds.html ([https](https://www.w3.org/TR/xhtml1/dtds.html ) result 200).
* [ ] http://www.webjars.org with 4 occurrences migrated to:
https://www.webjars.org ([https](https://www.webjars.org ) result 200).
* [ ] http://www.webjars.org/ with 2 occurrences migrated to:
https://www.webjars.org/ ([https](https://www.webjars.org/ ) result 200).
* [ ] http://www.webjars.org/documentation with 2 occurrences migrated to:
https://www.webjars.org/documentation ([https](https://www.webjars.org/documentation ) result 200).
* [ ] http://x-stream.github.io/ with 2 occurrences migrated to:
https://x-stream.github.io/ ([https](https://x-stream.github.io/ ) result 200).
* [ ] http://youtrack.jetbrains.com/issue/IDEA-53476 with 1 occurrences migrated to:
https://youtrack.jetbrains.com/issue/IDEA-53476 ([https](https://youtrack.jetbrains.com/issue/IDEA-53476 ) result 200).
* [ ] http://youtrack.jetbrains.com/issue/IDEA-64446 with 1 occurrences migrated to:
https://youtrack.jetbrains.com/issue/IDEA-64446 ([https](https://youtrack.jetbrains.com/issue/IDEA-64446 ) result 200).
* [ ] http://bit.ly/TRlX2r with 1 occurrences migrated to:
https://bit.ly/TRlX2r ([https](https://bit.ly/TRlX2r ) result 301).
* [ ] http://bit.ly/UzccDt with 1 occurrences migrated to:
https://bit.ly/UzccDt ([https](https://bit.ly/UzccDt ) result 301).
* [ ] http://bit.ly/p9rIvx with 1 occurrences migrated to:
https://bit.ly/p9rIvx ([https](https://bit.ly/p9rIvx ) result 301).
* [ ] http://bit.ly/qUwvwz with 1 occurrences migrated to:
https://bit.ly/qUwvwz ([https](https://bit.ly/qUwvwz ) result 301).
* [ ] http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx with 1 occurrences migrated to:
https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx ([https](https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx ) result 301).
* [ ] http://castor-data-binding.github.io/castor with 1 occurrences migrated to:
https://castor-data-binding.github.io/castor ([https](https://castor-data-binding.github.io/castor ) result 301).
* [ ] http://code.google.com/p/beanshell2/ with 1 occurrences migrated to:
https://code.google.com/p/beanshell2/ ([https](https://code.google.com/p/beanshell2/ ) result 301).
* [ ] http://code.google.com/p/browsersec/wiki/Part2 with 1 occurrences migrated to:
https://code.google.com/p/browsersec/wiki/Part2 ([https](https://code.google.com/p/browsersec/wiki/Part2 ) result 301).
* [ ] http://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal with 1 occurrences migrated to:
https://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal ([https](https://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal ) result 301).
* [ ] http://code.google.com/p/xml-matchers/ with 3 occurrences migrated to:
https://code.google.com/p/xml-matchers/ ([https](https://code.google.com/p/xml-matchers/ ) result 301).
* [ ] http://commons.apache.org/proper/commons-dbcp with 2 occurrences migrated to:
https://commons.apache.org/proper/commons-dbcp ([https](https://commons.apache.org/proper/commons-dbcp ) result 301).
* [ ] http://commons.apache.org/proper/commons-fileupload with 2 occurrences migrated to:
https://commons.apache.org/proper/commons-fileupload ([https](https://commons.apache.org/proper/commons-fileupload ) result 301).
* [ ] http://confluence.jetbrains.net/display/IDEADEV/Gradle+integration with 1 occurrences migrated to:
https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration ([https](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration ) result 301).
* [ ] http://contributor-covenant.org with 1 occurrences migrated to:
https://contributor-covenant.org ([https](https://contributor-covenant.org ) result 301).
* [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/ ) result 301).
* [ ] http://db.apache.org/derby with 2 occurrences migrated to:
https://db.apache.org/derby ([https](https://db.apache.org/derby ) result 301).
* [ ] http://dev.w3.org/html5/eventsource/ with 2 occurrences migrated to:
https://dev.w3.org/html5/eventsource/ ([https](https://dev.w3.org/html5/eventsource/ ) result 301).
* [ ] http://domain.com with 24 occurrences migrated to:
https://domain.com ([https](https://domain.com ) result 301).
* [ ] http://domain.com/ with 1 occurrences migrated to:
https://domain.com/ ([https](https://domain.com/ ) result 301).
* [ ] http://en.wikipedia.org/wiki/Cache_ with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Cache_ ([https](https://en.wikipedia.org/wiki/Cache_ ) result 301).
* [ ] http://facebook.github.io/react/ with 2 occurrences migrated to:
https://facebook.github.io/react/ ([https](https://facebook.github.io/react/ ) result 301).
* [ ] http://forum.springframework.org/showthread.php?t=41350 with 1 occurrences migrated to:
https://forum.springframework.org/showthread.php?t=41350 ([https](https://forum.springframework.org/showthread.php?t=41350 ) result 301).
* [ ] http://github.com/SpringSource/spring-framework with 1 occurrences migrated to:
https://github.com/SpringSource/spring-framework ([https](https://github.com/SpringSource/spring-framework ) result 301).
* [ ] http://hdiv.org/ with 1 occurrences migrated to:
https://hdiv.org/ ([https](https://hdiv.org/ ) result 301).
* [ ] http://jakarta.apache.org/commons/fileupload with 1 occurrences migrated to:
https://jakarta.apache.org/commons/fileupload ([https](https://jakarta.apache.org/commons/fileupload ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-5708 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-5708 ([https](https://jira.springframework.org/browse/SPR-5708 ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-6124 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-6124 ([https](https://jira.springframework.org/browse/SPR-6124 ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-6128 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-6128 ([https](https://jira.springframework.org/browse/SPR-6128 ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-7064 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-7064 ([https](https://jira.springframework.org/browse/SPR-7064 ) result 301).
* [ ] http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html with 1 occurrences migrated to:
https://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html ([https](https://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html ) result 301).
* [ ] http://mockito.org/ (301) with 1 occurrences migrated to:
https://mockito.github.io ([https](https://mockito.org/ ) result 301).
* [ ] http://mydomain1.com with 37 occurrences migrated to:
https://mydomain1.com ([https](https://mydomain1.com ) result 301).
* [ ] http://mydomain1.com/ with 2 occurrences migrated to:
https://mydomain1.com/ ([https](https://mydomain1.com/ ) result 301).
* [ ] http://mydomain1.com/path with 2 occurrences migrated to:
https://mydomain1.com/path ([https](https://mydomain1.com/path ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-2660 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-2660 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-2660 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-2754 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-2754 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-2754 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-2789 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-2789 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-2789 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3127 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3127 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3127 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3775 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3775 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3775 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3880 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3880 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3880 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3896 with 7 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3896 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3896 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3949 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3949 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3949 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-4008 with 2 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-4008 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-4008 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-4040 with 2 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-4040 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-4040 ) result 301).
* [ ] http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//topic/com.ibm.websphere.base.doc/info/aes/ae/rdat_extiapi.html with 1 occurrences migrated to:
https://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//topic/com.ibm.websphere.base.doc/info/aes/ae/rdat_extiapi.html ([https](https://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//topic/com.ibm.websphere.base.doc/info/aes/ae/rdat_extiapi.html ) result 301).
* [ ] http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/rsadapter/JDBCConnectionSpec.html with 1 occurrences migrated to:
https://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/rsadapter/JDBCConnectionSpec.html ([https](https://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/rsadapter/JDBCConnectionSpec.html ) result 301).
* [ ] http://site2.com with 3 occurrences migrated to:
https://site2.com ([https](https://site2.com ) result 301).
* [ ] http://slack.kotlinlang.org/ with 2 occurrences migrated to:
https://slack.kotlinlang.org/ ([https](https://slack.kotlinlang.org/ ) result 301).
* [ ] http://sourceforge.net/projects/c3p0 with 2 occurrences migrated to:
https://sourceforge.net/projects/c3p0 ([https](https://sourceforge.net/projects/c3p0 ) result 301).
* [ ] http://sourceforge.net/projects/javadiff with 1 occurrences migrated to:
https://sourceforge.net/projects/javadiff ([https](https://sourceforge.net/projects/javadiff ) result 301).
* [ ] http://springframework.org with 2 occurrences migrated to:
https://springframework.org ([https](https://springframework.org ) result 301).
* [ ] http://www.atomenabled.org/developers/syndication/ with 1 occurrences migrated to:
https://www.atomenabled.org/developers/syndication/ ([https](https://www.atomenabled.org/developers/syndication/ ) result 301).
* [ ] http://www.google.com/ig/calculator?q=1USD=?EUR with 1 occurrences migrated to:
https://www.google.com/ig/calculator?q=1USD=?EUR ([https](https://www.google.com/ig/calculator?q=1USD=?EUR ) result 301).
* [ ] http://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html with 1 occurrences migrated to:
https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html ([https](https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html ) result 301).
* [ ] http://www.junit.org/ with 1 occurrences migrated to:
https://www.junit.org/ ([https](https://www.junit.org/ ) result 301).
* [ ] http://www.mnot.net/cache_docs with 1 occurrences migrated to:
https://www.mnot.net/cache_docs ([https](https://www.mnot.net/cache_docs ) result 301).
* [ ] http://www.sf.net/home.view?siteLanguage=nl with 1 occurrences migrated to:
https://www.sf.net/home.view?siteLanguage=nl ([https](https://www.sf.net/home.view?siteLanguage=nl ) result 301).
* [ ] http://www.springframework.org with 7 occurrences migrated to:
https://www.springframework.org ([https](https://www.springframework.org ) result 301).
* [ ] http://www.springframework.org/ with 3 occurrences migrated to:
https://www.springframework.org/ ([https](https://www.springframework.org/ ) result 301).
* [ ] http://xyz.com/path with 2 occurrences migrated to:
https://xyz.com/path ([https](https://xyz.com/path ) result 301).
* [ ] http://commons.apache.org/codec/ with 1 occurrences migrated to:
https://commons.apache.org/codec/ ([https](https://commons.apache.org/codec/ ) result 302).
* [ ] http://commons.apache.org/logging with 2 occurrences migrated to:
https://commons.apache.org/logging ([https](https://commons.apache.org/logging ) result 302).
* [ ] http://download.oracle.com/javaee/6/api/javax/inject/Scope.html with 1 occurrences migrated to:
https://download.oracle.com/javaee/6/api/javax/inject/Scope.html ([https](https://download.oracle.com/javaee/6/api/javax/inject/Scope.html ) result 302).
* [ ] http://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html with 4 occurrences migrated to:
https://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html ([https](https://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html ) result 302).
* [ ] http://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html with 1 occurrences migrated to:
https://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html ([https](https://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html ) result 302).
* [ ] http://download.oracle.com/javase/8/docs/api/java/beans/ConstructorProperties.html with 1 occurrences migrated to:
https://download.oracle.com/javase/8/docs/api/java/beans/ConstructorProperties.html ([https](https://download.oracle.com/javase/8/docs/api/java/beans/ConstructorProperties.html ) result 302).
* [ ] http://download.oracle.com/javase/jndi/tutorial/beyond/misc/policy.html with 1 occurrences migrated to:
https://download.oracle.com/javase/jndi/tutorial/beyond/misc/policy.html ([https](https://download.oracle.com/javase/jndi/tutorial/beyond/misc/policy.html ) result 302).
* [ ] http://gafter.blogspot.nl/2006/12/super-type-tokens.html with 1 occurrences migrated to:
https://gafter.blogspot.nl/2006/12/super-type-tokens.html ([https](https://gafter.blogspot.nl/2006/12/super-type-tokens.html ) result 302).
* [ ] http://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project with 1 occurrences migrated to:
https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project ([https](https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project ) result 302).
* [ ] http://git-scm.com/book/en/Git-Tools-Rewriting-History with 1 occurrences migrated to:
https://git-scm.com/book/en/Git-Tools-Rewriting-History ([https](https://git-scm.com/book/en/Git-Tools-Rewriting-History ) result 302).
* [ ] http://java.sun.com with 3 occurrences migrated to:
https://java.sun.com ([https](https://java.sun.com ) result 302).
* [ ] http://java.sun.com/docs/books/jls/third_edition/html/conversions.html with 1 occurrences migrated to:
https://java.sun.com/docs/books/jls/third_edition/html/conversions.html ([https](https://java.sun.com/docs/books/jls/third_edition/html/conversions.html ) result 302).
* [ ] http://java.sun.com/docs/books/jls/third_edition/html/expressions.html with 1 occurrences migrated to:
https://java.sun.com/docs/books/jls/third_edition/html/expressions.html ([https](https://java.sun.com/docs/books/jls/third_edition/html/expressions.html ) result 302).
* [ ] http://java.sun.com/j2se/ with 2 occurrences migrated to:
https://java.sun.com/j2se/ ([https](https://java.sun.com/j2se/ ) result 302).
* [ ] http://java.sun.com/j2se/1.4.1/docs/tooldocs/solaris/javadoc.html with 1 occurrences migrated to:
https://java.sun.com/j2se/1.4.1/docs/tooldocs/solaris/javadoc.html ([https](https://java.sun.com/j2se/1.4.1/docs/tooldocs/solaris/javadoc.html ) result 302).
* [ ] http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html with 1 occurrences migrated to:
https://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html ([https](https://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html ) result 302).
* [ ] http://java.sun.com/j2se/javadoc with 1 occurrences migrated to:
https://java.sun.com/j2se/javadoc ([https](https://java.sun.com/j2se/javadoc ) result 302).
* [ ] http://java.sun.com/j2se/javadoc/ with 1 occurrences migrated to:
https://java.sun.com/j2se/javadoc/ ([https](https://java.sun.com/j2se/javadoc/ ) result 302).
* [ ] http://java.sun.com/j2se/javadoc/faq.html with 1 occurrences migrated to:
https://java.sun.com/j2se/javadoc/faq.html ([https](https://java.sun.com/j2se/javadoc/faq.html ) result 302).
* [ ] http://java.sun.com/webservices/jaxb/ with 1 occurrences migrated to:
https://java.sun.com/webservices/jaxb/ ([https](https://java.sun.com/webservices/jaxb/ ) result 302).
* [ ] http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd with 1 occurrences migrated to:
https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd ([https](https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd ) result 302).
* [ ] http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd with 2 occurrences migrated to:
https://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ([https](https://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ) result 302).
* [ ] http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd with 2 occurrences migrated to:
https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd ([https](https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd ) result 302).
* [ ] http://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download with 1 occurrences migrated to:
https://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download ([https](https://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download ) result 302).
* [ ] http://other.info/foo/bar (301) with 1 occurrences migrated to:
https://weibo.com/otherinfo/foo/bar ([https](https://other.info/foo/bar ) result 302).
* [ ] http://www.iana.org/assignments/http-status-codes with 1 occurrences migrated to:
https://www.iana.org/assignments/http-status-codes ([https](https://www.iana.org/assignments/http-status-codes ) result 302).
* [ ] http://www.iana.org/assignments/media-types/ with 1 occurrences migrated to:
https://www.iana.org/assignments/media-types/ ([https](https://www.iana.org/assignments/media-types/ ) result 302).
* [ ] http://www.sys-con.com/java with 1 occurrences migrated to:
https://www.sys-con.com/java ([https](https://www.sys-con.com/java ) result 302).
These URLs were intentionally ignored.
* http://Additional-namespace-name-URI with 1 occurrences
* http://Default-namespace-name-URI with 1 occurrences
* http://HOST:8080/remoting/AccountService with 1 occurrences
* http://Namespace-name-URI with 1 occurrences
* http://Unbound-namespace-name-URI with 1 occurrences
* http://anotherHost/mvc-showcase with 1 occurrences
* http://apache.org/xml/features/disallow-doctype-decl with 14 occurrences
* http://barfoo:8888 with 1 occurrences
* http://example/ with 1 occurrences
* http://fake-service with 7 occurrences
* http://foo with 3 occurrences
* http://foobar:8088 with 1 occurrences
* http://host:port/myApp/myEndpoint/ with 1 occurrences
* http://java.sun.com/jsp/jstl/core with 1 occurrences
* http://java.sun.com/xml/jaxp/properties/schemaLanguage with 1 occurrences
* http://java.sun.com/xml/ns/j2ee with 6 occurrences
* http://java.sun.com/xml/ns/javaee with 4 occurrences
* http://java.sun.com/xml/ns/persistence with 1 occurrences
* http://java.sun.com/xml/stream/properties/report-cdata-event with 1 occurrences
* http://jaxws.remoting.springframework.org/ with 4 occurrences
* http://localhost with 86 occurrences
* http://localhost/ with 16 occurrences
* http://localhost/42 with 1 occurrences
* http://localhost/?cookie=foo with 1 occurrences
* http://localhost/FILE.TXT with 1 occurrences
* http://localhost/abc with 1 occurrences
* http://localhost/abc/def with 1 occurrences
* http://localhost/app%20/path/ with 1 occurrences
* http://localhost/app/path%20with%20spaces/ with 1 occurrences
* http://localhost/bar with 2 occurrences
* http://localhost/context/a with 3 occurrences
* http://localhost/contextPath/main/path with 2 occurrences
* http://localhost/file.foo with 1 occurrences
* http://localhost/file.txt with 1 occurrences
* http://localhost/foo with 2 occurrences
* http://localhost/foo%20bar with 1 occurrences
* http://localhost/foo/bar with 1 occurrences
* http://localhost/foo/bar/baz with 1 occurrences
* http://localhost/forward with 1 occurrences
* http://localhost/hotels/42/bookings/21 with 4 occurrences
* http://localhost/input with 1 occurrences
* http://localhost/jquery-1.11.0.min.js with 5 occurrences
* http://localhost/messages/form with 1 occurrences
* http://localhost/mvc-showcase with 2 occurrences
* http://localhost/mvc-showcase/app with 1 occurrences
* http://localhost/mvc-showcase/data/foo%20bar with 1 occurrences
* http://localhost/mvc-showcase/data/param with 1 occurrences
* http://localhost/mvc-showcase/data/param?foo=123 with 2 occurrences
* http://localhost/myapp/main with 1 occurrences
* http://localhost/myapp/people/1/addresses/DE with 1 occurrences
* http://localhost/path with 3 occurrences
* http://localhost/path;a=b/with/semicolon with 1 occurrences
* http://localhost/persons with 1 occurrences
* http://localhost/prefix with 1 occurrences
* http://localhost/prefix/app with 1 occurrences
* http://localhost/prefix/bar with 1 occurrences
* http://localhost/prefix/mvc-showcase with 3 occurrences
* http://localhost/query= with 1 occurrences
* http://localhost/query=foo@bar with 1 occurrences
* http://localhost/resources/child/response.txt with 1 occurrences
* http://localhost/resources/foo with 2 occurrences
* http://localhost/resources/foo.txt with 1 occurrences
* http://localhost/resources/response.txt with 2 occurrences
* http://localhost/rest/books/6/pages/1.json with 1 occurrences
* http://localhost/something/1/foo with 1 occurrences
* http://localhost/something/optional-param with 1 occurrences
* http://localhost/test with 4 occurrences
* http://localhost/test.html with 1 occurrences
* http://localhost/test/this with 2 occurrences
* http://localhost:7070/example/adminhandle.vm with 1 occurrences
* http://localhost:7070/example/bingo.html with 1 occurrences
* http://localhost:80/jquery-1.11.0.min.js with 1 occurrences
* http://localhost:8080 with 34 occurrences
* http://localhost:8080/ with 4 occurrences
* http://localhost:8080/OrderService with 3 occurrences
* http://localhost:8080/aA/bB/cC with 1 occurrences
* http://localhost:8080/context with 1 occurrences
* http://localhost:8080/context/myapiresource with 1 occurrences
* http://localhost:8080/gamecast/admin/index.html with 1 occurrences
* http://localhost:8080/gamecast/display.html with 1 occurrences
* http://localhost:8080/gamecast/displayShoppingCart.html with 1 occurrences
* http://localhost:8080/jquery-1.11.0.min.js with 1 occurrences
* http://localhost:8080/mvc-showcase with 1 occurrences
* http://localhost:8080/myapiresource with 1 occurrences
* http://localhost:8080/myapp/js/sockjs-client.js with 1 occurrences
* http://localhost:8080/path with 2 occurrences
* http://localhost:8080/people with 2 occurrences
* http://localhost:8080/portfolio with 1 occurrences
* http://localhost:8080/spring/ with 2 occurrences
* http://localhost:8080/test/ with 2 occurrences
* http://localhost:8080/test/print?value=%EA%B0%80+%EB%82%98 with 1 occurrences
* http://localhost:8081 with 1 occurrences
* http://localhost:8081/ with 1 occurrences
* http://localhost:8181 with 1 occurrences
* http://localhost:8888/AccountServiceEndpoint?WSDL with 1 occurrences
* http://localhost:9000 with 7 occurrences
* http://localhost:9090 with 18 occurrences
* http://localhost:9090/jquery-1.11.0.min.js with 2 occurrences
* http://localhost:9990/mail/messages/form with 1 occurrences
* http://localhost:9999/ with 1 occurrences
* http://localhost:9999/OrderService?wsdl with 4 occurrences
* http://localhosta/testbean with 3 occurrences
* http://myserver with 1 occurrences
* http://myurl with 12 occurrences
* http://remotehost:8080/remoting/AccountService with 2 occurrences
* http://samples.springframework.org/flight with 39 occurrences
* http://somethingDifferent with 1 occurrences
* http://springframework.org/spring-ws with 17 occurrences
* http://test.com with 1 occurrences
* http://test.com/ with 1 occurrences
* http://testng.org/ with 1 occurrences
* http://tiles.apache.org/tags-tiles with 1 occurrences
* http://www with 1 occurrences
* http://www.foo.com/schema/component with 6 occurrences
* http://www.mycompany.com/schema/myns with 4 occurrences
* http://www.springframework.org/schema/aop with 30 occurrences
* http://www.springframework.org/schema/beans with 169 occurrences
* http://www.springframework.org/schema/beans/test with 2 occurrences
* http://www.springframework.org/schema/c with 1 occurrences
* http://www.springframework.org/schema/cache with 5 occurrences
* http://www.springframework.org/schema/context with 28 occurrences
* http://www.springframework.org/schema/jdbc with 8 occurrences
* http://www.springframework.org/schema/jee with 9 occurrences
* http://www.springframework.org/schema/jms with 5 occurrences
* http://www.springframework.org/schema/lang with 10 occurrences
* http://www.springframework.org/schema/mvc with 8 occurrences
* http://www.springframework.org/schema/oxm with 4 occurrences
* http://www.springframework.org/schema/p with 4 occurrences
* http://www.springframework.org/schema/task with 2 occurrences
* http://www.springframework.org/schema/tool with 27 occurrences
* http://www.springframework.org/schema/tx with 18 occurrences
* http://www.springframework.org/schema/util with 8 occurrences
* http://www.springframework.org/schema/websocket with 26 occurrences
* http://www.springframework.org/spring-ws with 1 occurrences
* http://www.springframework.org/tags with 4 occurrences
* http://www.springframework.org/tags/form with 2 occurrences
* http://www.w3.org/1999/XSL/Transform with 8 occurrences
* http://www.w3.org/2001/XMLSchema with 24 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 83 occurrences
* http://www.w3.org/2005/Atom with 4 occurrences
* http://www.w3.org/TR/html4/charset.html with 5 occurrences
* http://www.w3.org/TR/html4/sgml/entities.html with 14 occurrences
* http://www.w3.org/XML/1998/namespace with 5 occurrences
* http://xml.org/sax/features/ with 4 occurrences
* http://xml.org/sax/features/external-general-entities with 14 occurrences
* http://xml.org/sax/features/is-standalone with 1 occurrences
* http://xml.org/sax/features/namespace-prefixes with 13 occurrences
* http://xml.org/sax/features/namespaces with 12 occurrences
* http://xml.org/sax/features/namespaces-prefixes with 1 occurrences
* http://xml.org/sax/properties/lexical-handler with 12 occurrences
Closes gh-22680
2019-03-27 22:05:38 +01:00
Phillip Webb
bf9dea4254
Defensively copy array returned from TypeDescriptor
...
Update the internal proxy used in `TypeDescriptor` so that it returns a
cloned array for calls to `getDeclaredAnnotations` or `getAnnotations`.
Closes gh-22695
2019-03-27 13:50:30 -07:00
Juergen Hoeller
c9857702e4
Refined retrieval of plain annotations through direct presence checks
...
Shortcut checks apply for hasPlainJavaAnnotationsOnly types as well now.
Closes gh-22685
2019-03-27 12:56:11 +01:00
Sebastien Deleuze
cbb5a78aa0
Infer Kotlin null-safety from type variables
...
This commit removes the constraint from type variables in
PropertyResolver, JdbcOperations and RestOperations
Kotlin extensions in order to get null-safety inferred
from the type declared by the user.
Closes gh-22687
2019-03-27 09:03:32 +01:00
Rossen Stoyanchev
68a529b915
Merge branch '5.1.x'
2019-03-26 21:14:51 -04:00
Rossen Stoyanchev
c54355784e
Buffer leak fixes
...
Address issues where buffers are allocated (and cached somehow) at or
before subscription, and before explicit demand.
The commit adds tests proving the leaks and fixes. The common thread
for all tests is a "zero demand" subscriber that subscribes but does
not request, and then cancels without consuming anything.
Closes gh-22107
2019-03-26 21:13:42 -04:00
Juergen Hoeller
e3b6174b6d
Merge branch '5.1.x'
2019-03-26 18:02:20 +01:00
Juergen Hoeller
699d75ec11
Polishing
2019-03-26 17:56:31 +01:00
Juergen Hoeller
635305647c
Polishing
2019-03-26 16:13:51 +01:00
Juergen Hoeller
210b178922
Restore retrieval of plain annotations through direct presence checks
...
Includes deprecation of several AnnotationUtils methods and nullability refinements for passed-in function arguments at the MergedAnnotation API level... also, MergedAnnotation.getType() returns a Class now.
Closes gh-22663
Closes gh-22685
2019-03-26 16:13:41 +01:00
Phillip Webb
0ace0be29b
Fix annotation value mapping regression
...
Refine `TypeMappedAnnotation.getValueFromMetaAnnotation` to correctly
account for aliases when finding values from meta-annotations. Prior
to this commit, only convention based mappings were considered when
searching for values on meta-annotations. This meant that declared
meta-annotations that used aliases could return the "default value"
rather than the merged value.
Closes gh-22654
2019-03-25 17:19:12 -07:00
Sebastien Deleuze
88a2729fba
Introduce spring-core-coroutines module
...
This commit introduces the spring-core-coroutines module
in order to avoid referencing Kotlin code from Java one,
which is currently not supported by Eclipse.
During the build, spring-core-coroutines is merged into
spring-core, so this change is expected to have no impact
for end users.
This module contains functions accessible from Java via
the CoroutinesUtils class to adapt Coroutines and Deferred
instances to and from Mono.
See gh-19975
2019-03-25 21:57:53 +01:00
Phillip Webb
cb7f997962
Defensively copy array returned from forAnnotations
...
Update the proxy used in `AnnotatedElementUtils.forAnnotations` so
that it returns a cloned array for calls to `getDeclaredAnnotations`
or `getAnnotations`. This matches the behavior of standard JDK
`AnnotatedElement` implementations.
Closes gh-22655
2019-03-25 07:53:42 -07:00
Juergen Hoeller
3c02331983
Merge branch '5.1.x'
2019-03-25 13:59:24 +01:00
Juergen Hoeller
507d4ba825
StringUtils.parseLocale consistently handles invalid locale values
...
Closes gh-22603
2019-03-25 13:53:54 +01:00
Tadaya Tsuyukubo
860ec44c50
Fix typo on MergedAnnotations
...
Closes gh-22649
2019-03-25 09:25:16 +01:00
Spring Operator
540759ec41
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# Fixed URLs
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/ ) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 6515 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
2019-03-23 15:19:34 +01:00
Sam Brannen
9b7215e640
URL Cleanup - update remaining license headers
...
See gh-22617 gh-22622 gh-22635
2019-03-23 13:11:10 +01:00
Sam Brannen
20764685ec
Merge URL Cleanup PRs
...
This merges the URL Cleanup PRs along with fixes.
Closes gh-22617 gh-22622 gh-22635
2019-03-23 13:01:57 +01:00
Sam Brannen
8a61c56154
URL Cleanup - upgrade to more modern Xalan namespace
...
See gh-22617 gh-22622 gh-22635
2019-03-23 12:21:21 +01:00
Juergen Hoeller
5e15338a09
Nullability refinements (no IntelliJ warnings, fewer null checks)
...
Includes consistent ignoring of all java.lang (meta-)annotations.
Closes gh-22586
2019-03-23 12:13:38 +01:00
Phillip Webb
f065abac93
Migrate AnnotationAwareOrderComparator to MergedAnnotations
...
Closes gh-22581
2019-03-22 20:40:05 +01:00
Phillip Webb
7244c9aea1
Add more aggressive annotation element filtering
...
Refine the element filtering performed by `AnnotationsScanner` to also
cover `org.springframework.util` and most `com.sun` classes which turn
out to be referenced quite frequently and which we know contain no
useful annotations.
See gh-21697
2019-03-22 20:40:05 +01:00
Phillip Webb
db8eaec131
Cache BridgeMethodResolver results
...
Add a cache to `BridgeMethodResolver` to help with repeated calls to
resolve the same methods. Since bridge method resolution can be somewhat
expensive (especially when resolving generics), and the number of bridge
methods is quite small, a cache generally helps.
This commit also simplifies the code a little by calling `doWithMethods`
directly rather than relying on `ReflectionUtils.getAllDeclaredMethods`
to do so. The methods list is now always created, but we save the list
creation that `getAllDeclaredMethods` used to do.
Closes gh-22579
2019-03-22 20:40:05 +01:00
Phillip Webb
a57d6ba5f3
Optimize StringUtils.cleanPath
...
Add an early exit to `StringUtils.cleanPath` to save array creating and
string concatenation. With a typical Spring application, the `cleanPath`
method can be called over 600 times, often with a path constructed by
a `ClassPathResource` that is likely to already be clean.
Closes gh-22568
2019-03-22 20:40:05 +01:00
Phillip Webb
19fb697d03
Add more empty array constants in ReflectionUtils
...
Add some additional empty array constants to `ReflectionUtils` to save
us creating new arrays for zero length results.
See gh-22567
2019-03-22 20:40:05 +01:00
Phillip Webb
e3a86be122
Make ConcurrentReferenceHashMap more JIT friendly
...
Update `ConcurrentReferenceHashMap` to make some methods more inline
friendly, and to manually inline a few others. These minor optimizations
don't make a great deal of difference for most applications, but seem
worthwhile since we use `ConcurrentReferenceHashMap` for many internal
caches.
Closes gh-22566
2019-03-22 20:40:05 +01:00
Phillip Webb
37255afca4
Complete migration of annotation utility methods
...
Delete `InternalAnnotationUtils` and `InternalAnnotatedElementUtils` and
migrate exclusively to the new `MergedAnnotations` API.
Closes gh-22562
2019-03-22 20:40:05 +01:00
Phillip Webb
a14bfe9a21
Migrate and verify annotation utility methods
...
Migrate all possible `AnnotationUtils` and `AnnotatedElementUtils`
method to the `MergedAnnotation` API, verify results against the old
implementations.
All migrated methods now call both the new API and the old version and
ensure that the same results or exceptions are raised. A full build of
both Spring Framework and Spring Boot has been executed to ensure, as
much as possible, that the migration does not cause unexpected
regressions.
See gh-22562
2019-03-22 20:40:05 +01:00
Phillip Webb
b91ccf038f
Start migration annotation utility methods
...
Create internal variants of the existing `AnnotationUtils` and
`AnnotatedElementUtils` classes and migrate the existing classes to
use them.
The internal variants will be used to check that the same results are
given as we migrate the utils methods to use the new `MergedAnnotations`
API.
See gh-22562
2019-03-22 20:40:05 +01:00
Phillip Webb
4972d85ae0
Create a new API for handling merged annotations
...
Add new `MergedAnnotations` and `MergedAnnotation` interfaces that
attempt to provide a uniform way for dealing with merged annotations.
Specifically, the new API provides alternatives for the static methods
in `AnnotationUtils` and `AnnotatedElementUtils` and supports Spring's
comprehensive annotation attribute `@AliasFor` features. The interfaces
also open the possibility of the same API being exposed from the
`AnnotationMetadata` interface.
Additional utility classes for collecting, filtering and selecting
annotations have also been added.
Typical usage for the new API would be something like:
MergedAnnotations.from(Example.class)
.stream(MyAnnotation.class)
.map(a -> a.getString("value"))
.forEach(System.out::println);
Closes gh-21697
2019-03-22 20:40:05 +01:00
Phillip Webb
fdacda8b01
Add AnnotationIntrospectionFailureTests
...
Add a new test class to help cover annotation introspection failure
handling. These tests were previously missing and are important to
ensure that annotation util code changes don't introduce regressions.
See gh-21697
2019-03-22 20:40:05 +01:00
Phillip Webb
8ef609a1b7
Add public variant getDeclaredMethods method
...
Add a public variant of `getDeclaredMethods` that defensively copies the
cached methods array. This is often more faster and more convenient
for users than calling `doWithLocalMethods`. We still retain most of the
benefits of the cache, namely fewer security manager calls and not as
many `Method` instances being created.
Closes gh-22580
2019-03-22 20:40:05 +01:00
Phillip Webb
9c92b21af8
Polishing
2019-03-22 20:40:05 +01:00
Spring Operator
dc6f63f610
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# Fixed URLs
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/ ) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 6625 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
2019-03-21 23:49:28 -05:00
Rob Winch
263868f018
Polish URL Cleanup
2019-03-21 23:47:38 -05:00
Spring Operator
d99edd154f
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* [ ] http://aopalliance.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://aopalliance.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://cglib.sourceforge.net (200) with 2 occurrences could not be migrated:
([https](https://cglib.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://classdoc.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://classdoc.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://code.jquery.com:80/jquery.js (200) with 1 occurrences could not be migrated:
([https](https://code.jquery.com:80/jquery.js ) result ClosedChannelException).
* [ ] http://dbunit.sourceforge.net/ (200) with 1 occurrences could not be migrated:
([https](https://dbunit.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html (200) with 1 occurrences could not be migrated:
([https](https://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html ) result SSLProtocolException).
* [ ] http://domain3.com (200) with 6 occurrences could not be migrated:
([https](https://domain3.com ) result ConnectTimeoutException).
* [ ] http://forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html (200) with 1 occurrences could not be migrated:
([https](https://forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html ) result SSLHandshakeException).
* [ ] http://grinder.sourceforge.net/ (200) with 1 occurrences could not be migrated:
([https](https://grinder.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://groovy-lang.org/templating.html (200) with 3 occurrences could not be migrated:
([https](https://groovy-lang.org/templating.html ) result SSLProtocolException).
* [ ] http://hsqldb.org (200) with 1 occurrences could not be migrated:
([https](https://hsqldb.org ) result SSLHandshakeException).
* [ ] http://htmlunit.sourceforge.net/ (200) with 3 occurrences could not be migrated:
([https](https://htmlunit.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://htmlunit.sourceforge.net/gettingStarted.html (200) with 1 occurrences could not be migrated:
([https](https://htmlunit.sourceforge.net/gettingStarted.html ) result AnnotatedConnectException).
* [ ] http://htmlunit.sourceforge.net/javascript.html (200) with 1 occurrences could not be migrated:
([https](https://htmlunit.sourceforge.net/javascript.html ) result AnnotatedConnectException).
* [ ] http://javadiff.cvs.sourceforge.net/ (200) with 3 occurrences could not be migrated:
([https](https://javadiff.cvs.sourceforge.net/ ) result SSLHandshakeException).
* [ ] http://jibx.sourceforge.net/ (200) with 2 occurrences could not be migrated:
([https](https://jibx.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://joda-time.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://joda-time.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://jotm.objectweb.org/ (200) with 1 occurrences could not be migrated:
([https](https://jotm.objectweb.org/ ) result NotSslRecordException).
* [ ] http://json-b.net/ (200) with 1 occurrences could not be migrated:
([https](https://json-b.net/ ) result SSLHandshakeException).
* [ ] http://mx4j.sourceforge.net (200) with 1 occurrences could not be migrated:
([https](https://mx4j.sourceforge.net ) result AnnotatedConnectException).
* [ ] http://mx4j.sourceforge.net/ (200) with 1 occurrences could not be migrated:
([https](https://mx4j.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://mydomain3.com (200) with 9 occurrences could not be migrated:
([https](https://mydomain3.com ) result ConnectTimeoutException).
* [ ] http://objenesis.org (200) with 1 occurrences could not be migrated:
([https](https://objenesis.org ) result SSLHandshakeException).
* [ ] http://objenesis.org/tutorial.html (200) with 1 occurrences could not be migrated:
([https](https://objenesis.org/tutorial.html ) result SSLHandshakeException).
* [ ] http://other.com/ (200) with 2 occurrences could not be migrated:
([https](https://other.com/ ) result SSLHandshakeException).
* [ ] http://reactivex.io/ (200) with 1 occurrences could not be migrated:
([https](https://reactivex.io/ ) result SSLHandshakeException).
* [ ] http://reactivex.io/documentation/operators.html (200) with 1 occurrences could not be migrated:
([https](https://reactivex.io/documentation/operators.html ) result SSLHandshakeException).
* [ ] http://url.somewhereelse.com (200) with 4 occurrences could not be migrated:
([https](https://url.somewhereelse.com ) result SSLHandshakeException).
* [ ] http://www.beanshell.org (200) with 1 occurrences could not be migrated:
([https](https://www.beanshell.org ) result SSLHandshakeException).
* [ ] http://www.beanshell.org/ (200) with 1 occurrences could not be migrated:
([https](https://www.beanshell.org/ ) result SSLHandshakeException).
* [ ] http://www.doclet.com (200) with 1 occurrences could not be migrated:
([https](https://www.doclet.com ) result AnnotatedConnectException).
* [ ] http://www.gebish.org/ (200) with 1 occurrences could not be migrated:
([https](https://www.gebish.org/ ) result SSLHandshakeException).
* [ ] http://www.gebish.org/manual/current/ (200) with 3 occurrences could not be migrated:
([https](https://www.gebish.org/manual/current/ ) result SSLHandshakeException).
* [ ] http://www.groovy-lang.org/ (200) with 2 occurrences could not be migrated:
([https](https://www.groovy-lang.org/ ) result SSLProtocolException).
* [ ] http://www.groovy-lang.org/operators.html (200) with 2 occurrences could not be migrated:
([https](https://www.groovy-lang.org/operators.html ) result SSLProtocolException).
* [ ] http://www.hsqldb.org (200) with 1 occurrences could not be migrated:
([https](https://www.hsqldb.org ) result SSLHandshakeException).
* [ ] http://www.jensgulden.de (200) with 1 occurrences could not be migrated:
([https](https://www.jensgulden.de ) result AnnotatedConnectException).
* [ ] http://www.mockobjects.com (200) with 1 occurrences could not be migrated:
([https](https://www.mockobjects.com ) result ClosedChannelException).
* [ ] http://www.mockobjects.com/ (200) with 1 occurrences could not be migrated:
([https](https://www.mockobjects.com/ ) result ClosedChannelException).
* [ ] http://www.w3.org/TR/cors/ (200) with 19 occurrences could not be migrated:
([https](https://www.w3.org/TR/cors/ ) result SSLException).
* [ ] http://xmlunit.sourceforge.net/ (200) with 2 occurrences could not be migrated:
([https](https://xmlunit.sourceforge.net/ ) result AnnotatedConnectException).
* [ ] http://www.easymock.org (301) with 1 occurrences could not be migrated:
([https](https://www.easymock.org ) result SSLHandshakeException).
* [ ] http://www.easymock.org/ (301) with 1 occurrences could not be migrated:
([https](https://www.easymock.org/ ) result SSLHandshakeException).
* [ ] http://www.jmock.org/ (301) with 1 occurrences could not be migrated:
([https](https://www.jmock.org/ ) result SSLHandshakeException).
* [ ] http://foo.com (301) with 4 occurrences could not be migrated:
([https](https://foo.com ) result SSLHandshakeException).
* [ ] http://foo.com/ (301) with 1 occurrences could not be migrated:
([https](https://foo.com/ ) result SSLHandshakeException).
* [ ] http://foo.com/a (301) with 1 occurrences could not be migrated:
([https](https://foo.com/a ) result SSLHandshakeException).
* [ ] http://foo.com/a?foo=bar&foo=baz (301) with 4 occurrences could not be migrated:
([https](https://foo.com/a?foo=bar&foo=baz ) result SSLHandshakeException).
* [ ] http://foo.com/bar (301) with 5 occurrences could not be migrated:
([https](https://foo.com/bar ) result SSLHandshakeException).
* [ ] http://foo.com/baz (301) with 1 occurrences could not be migrated:
([https](https://foo.com/baz ) result SSLHandshakeException).
* [ ] http://foo.com/rest/books/6.json (301) with 1 occurrences could not be migrated:
([https](https://foo.com/rest/books/6.json ) result SSLHandshakeException).
* [ ] http://foo.com/rest/books/6/pages/1.json (301) with 1 occurrences could not be migrated:
([https](https://foo.com/rest/books/6/pages/1.json ) result SSLHandshakeException).
* [ ] http://foo.com/v1 (301) with 1 occurrences could not be migrated:
([https](https://foo.com/v1 ) result SSLHandshakeException).
* [ ] http://foo.com/v1/123 (301) with 1 occurrences could not be migrated:
([https](https://foo.com/v1/123 ) result SSLHandshakeException).
* [ ] http://foo.com/v1/bar (301) with 1 occurrences could not be migrated:
([https](https://foo.com/v1/bar ) result SSLHandshakeException).
* [ ] http://foo.com/v1?id=123 (301) with 2 occurrences could not be migrated:
([https](https://foo.com/v1?id=123 ) result SSLHandshakeException).
* [ ] http://foo.com/wrong (301) with 1 occurrences could not be migrated:
([https](https://foo.com/wrong ) result SSLHandshakeException).
* [ ] http://mydomain4.com (301) with 3 occurrences could not be migrated:
([https](https://mydomain4.com ) result SSLHandshakeException).
* [ ] http://xml.org/sax/features/ (301) with 4 occurrences could not be migrated:
([https](https://xml.org/sax/features/ ) result SSLHandshakeException).
* [ ] http://xml.org/sax/features/external-general-entities (301) with 10 occurrences could not be migrated:
([https](https://xml.org/sax/features/external-general-entities ) result SSLHandshakeException).
* [ ] http://xml.org/sax/features/is-standalone (301) with 1 occurrences could not be migrated:
([https](https://xml.org/sax/features/is-standalone ) result SSLHandshakeException).
* [ ] http://xml.org/sax/features/namespace-prefixes (301) with 13 occurrences could not be migrated:
([https](https://xml.org/sax/features/namespace-prefixes ) result SSLHandshakeException).
* [ ] http://xml.org/sax/features/namespaces (301) with 12 occurrences could not be migrated:
([https](https://xml.org/sax/features/namespaces ) result SSLHandshakeException).
* [ ] http://xml.org/sax/features/namespaces-prefixes (301) with 1 occurrences could not be migrated:
([https](https://xml.org/sax/features/namespaces-prefixes ) result SSLHandshakeException).
* [ ] http://xml.org/sax/properties/lexical-handler (301) with 12 occurrences could not be migrated:
([https](https://xml.org/sax/properties/lexical-handler ) result SSLHandshakeException).
* [ ] http://www.caucho.com/hessian (302) with 6 occurrences could not be migrated:
([https](https://www.caucho.com/hessian ) result SSLHandshakeException).
* [ ] http://example.com:80/test/this/here (404) with 3 occurrences could not be migrated:
([https](https://example.com:80/test/this/here ) result NotSslRecordException).
* [ ] http://www.foo.com/schema/component/component.xsd (404) with 1 occurrences could not be migrated:
([https](https://www.foo.com/schema/component/component.xsd ) result SSLHandshakeException).
* [ ] http://www.foo.com/schema/jcache (404) with 2 occurrences could not be migrated:
([https](https://www.foo.com/schema/jcache ) result SSLHandshakeException).
* [ ] http://www.mycompany.com/schema/myns/myns.xsd (404) with 1 occurrences could not be migrated:
([https](https://www.mycompany.com/schema/myns/myns.xsd ) result ConnectTimeoutException).
* [ ] http://xunitpatterns.com/Test%20Spy.html (404) with 1 occurrences could not be migrated:
([https](https://xunitpatterns.com/Test%20Spy.html ) result AnnotatedConnectException).
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* [ ] http://mydomain2.com (302) with 22 occurrences migrated to:
/QTifZ/ ([https](https://mydomain2.com ) result IllegalArgumentException).
* [ ] http://www.jdiff.org (302) with 1 occurrences migrated to:
/VQYNZ/ ([https](https://www.jdiff.org ) result IllegalArgumentException).
* [ ] http://192.168.0.1/mvc-showcase (301) with 1 occurrences migrated to:
/admin/ ([https](https://192.168.0.1/mvc-showcase ) result IllegalArgumentException).
* [ ] http://bugs.sun.com/view_bug.do?bug_id=6342411 (302) with 1 occurrences migrated to:
https://bugs.java.com/view_bug.do?bug_id=6342411 ([https](https://bugs.sun.com/view_bug.do?bug_id=6342411 ) result SSLHandshakeException).
* [ ] http://bugs.sun.com/view_bug.do?bug_id=7023180 (302) with 2 occurrences migrated to:
https://bugs.java.com/view_bug.do?bug_id=7023180 ([https](https://bugs.sun.com/view_bug.do?bug_id=7023180 ) result SSLHandshakeException).
* [ ] http://www.freemarker.org (301) with 5 occurrences migrated to:
https://freemarker.apache.org/ ([https](https://www.freemarker.org ) result ConnectTimeoutException).
* [ ] http://sockjs.org (303) with 2 occurrences migrated to:
https://github.com/sockjs/sockjs-client ([https](https://sockjs.org ) result AnnotatedConnectException).
* [ ] http://projects.eclipse.org/projects/tools.buildship (301) with 1 occurrences migrated to:
https://projects.eclipse.org/projects/tools.buildship ([https](https://projects.eclipse.org/projects/tools.buildship ) result SSLException).
* [ ] http://tools.ietf.org/html/rfc6202 (301) with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc6202 ([https](https://tools.ietf.org/html/rfc6202 ) result ReadTimeoutException).
* [ ] http://tools.ietf.org/html/rfc7239 (301) with 7 occurrences migrated to:
https://tools.ietf.org/html/rfc7239 ([https](https://tools.ietf.org/html/rfc7239 ) result ReadTimeoutException).
* [ ] http://aaa.org:8080/a (301) with 1 occurrences migrated to:
https://www.aaa.org/articles/ ([https](https://aaa.org:8080/a ) result NotSslRecordException).
* [ ] http://www.caucho.com (302) with 1 occurrences migrated to:
https://www.caucho.com/ ([https](https://www.caucho.com ) result SSLHandshakeException).
* [ ] http://jruby.org (301) with 4 occurrences migrated to:
https://www.jruby.org ([https](https://jruby.org ) result SSLHandshakeException).
* [ ] http://jruby.org/ (301) with 1 occurrences migrated to:
https://www.jruby.org ([https](https://jruby.org/ ) result SSLHandshakeException).
* [ ] http://bbb.org:9090/b (AnnotatedConnectException) with 2 occurrences migrated to:
https://bbb.org:9090/b ([https](https://bbb.org:9090/b ) result AnnotatedConnectException).
* [ ] http://192.168.28.42/1.jsp (ConnectTimeoutException) with 3 occurrences migrated to:
https://192.168.28.42/1.jsp ([https](https://192.168.28.42/1.jsp ) result ConnectTimeoutException).
* [ ] http://abc.com/v2/accounts?q=12 (ConnectTimeoutException) with 1 occurrences migrated to:
https://abc.com/v2/accounts?q=12 ([https](https://abc.com/v2/accounts?q=12 ) result ConnectTimeoutException).
* [ ] http://example.com:8080/ (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.com:8080/ ([https](https://example.com:8080/ ) result ConnectTimeoutException).
* [ ] http://example.com:8080/bar (ConnectTimeoutException) with 5 occurrences migrated to:
https://example.com:8080/bar ([https](https://example.com:8080/bar ) result ConnectTimeoutException).
* [ ] http://example.org:9090 (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090 ([https](https://example.org:9090 ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base (ConnectTimeoutException) with 12 occurrences migrated to:
https://example.org:9090/base ([https](https://example.org:9090/base ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base/people (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090/base/people ([https](https://example.org:9090/base/people ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base/something/1/foo (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090/base/something/1/foo ([https](https://example.org:9090/base/something/1/foo ) result ConnectTimeoutException).
* [ ] http://example.org:9090/base/something/else (ConnectTimeoutException) with 2 occurrences migrated to:
https://example.org:9090/base/something/else ([https](https://example.org:9090/base/something/else ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base ([https](https://example.org:9999/base ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base/api/people/123/addresses (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base/api/people/123/addresses ([https](https://example.org:9999/base/api/people/123/addresses ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base/api/people/123/addresses/DE (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base/api/people/123/addresses/DE ([https](https://example.org:9999/base/api/people/123/addresses/DE ) result ConnectTimeoutException).
* [ ] http://example.org:9999/base/people/123/addresses/DE (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/base/people/123/addresses/DE ([https](https://example.org:9999/base/people/123/addresses/DE ) result ConnectTimeoutException).
* [ ] http://example.org:9999/next (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/next ([https](https://example.org:9999/next ) result ConnectTimeoutException).
* [ ] http://example.org:9999/path?q=foo (ConnectTimeoutException) with 1 occurrences migrated to:
https://example.org:9999/path?q=foo ([https](https://example.org:9999/path?q=foo ) result ConnectTimeoutException).
* [ ] http://foo.com:8080/v1/bar?id=123 (ConnectTimeoutException) with 1 occurrences migrated to:
https://foo.com:8080/v1/bar?id=123 ([https](https://foo.com:8080/v1/bar?id=123 ) result ConnectTimeoutException).
* [ ] http://mydomain1.com:123 (ConnectTimeoutException) with 1 occurrences migrated to:
https://mydomain1.com:123 ([https](https://mydomain1.com:123 ) result ConnectTimeoutException).
* [ ] http://site1.com (ConnectTimeoutException) with 13 occurrences migrated to:
https://site1.com ([https](https://site1.com ) result ConnectTimeoutException).
* [ ] http://wwws.sun.com/software/xml/developers/diffmk/ (ConnectTimeoutException) with 1 occurrences migrated to:
https://wwws.sun.com/software/xml/developers/diffmk/ ([https](https://wwws.sun.com/software/xml/developers/diffmk/ ) result ConnectTimeoutException).
* [ ] http://aaa.org:8080/app/b/c/d (ReadTimeoutException) with 1 occurrences migrated to:
https://aaa.org:8080/app/b/c/d ([https](https://aaa.org:8080/app/b/c/d ) result NotSslRecordException).
* [ ] http://aaa.org:8080/b/c/d (ReadTimeoutException) with 1 occurrences migrated to:
https://aaa.org:8080/b/c/d ([https](https://aaa.org:8080/b/c/d ) result NotSslRecordException).
* [ ] http://www.w3.org/2000/xmlns/ (ReadTimeoutException) with 5 occurrences migrated to:
https://www.w3.org/2000/xmlns/ ([https](https://www.w3.org/2000/xmlns/ ) result SSLException).
* [ ] http://www.w3.org/2004/08/xop/include (ReadTimeoutException) with 2 occurrences migrated to:
https://www.w3.org/2004/08/xop/include ([https](https://www.w3.org/2004/08/xop/include ) result SSLException).
* [ ] http://www.w3.org/DesignIssues/MatrixURIs.html (ReadTimeoutException) with 2 occurrences migrated to:
https://www.w3.org/DesignIssues/MatrixURIs.html ([https](https://www.w3.org/DesignIssues/MatrixURIs.html ) result SSLException).
* [ ] http://www.w3.org/TR/2004/WD-soap12-mtom-20040608/ (ReadTimeoutException) with 2 occurrences migrated to:
https://www.w3.org/TR/2004/WD-soap12-mtom-20040608/ ([https](https://www.w3.org/TR/2004/WD-soap12-mtom-20040608/ ) result SSLException).
* [ ] http://www.w3.org/TR/2005/REC-xop10-20050125/ (ReadTimeoutException) with 6 occurrences migrated to:
https://www.w3.org/TR/2005/REC-xop10-20050125/ ([https](https://www.w3.org/TR/2005/REC-xop10-20050125/ ) result SSLException).
* [ ] http://www.w3.org/TR/eventsource/ (ReadTimeoutException) with 2 occurrences migrated to:
https://www.w3.org/TR/eventsource/ ([https](https://www.w3.org/TR/eventsource/ ) result SSLException).
* [ ] http://www.w3.org/TR/html4/loose.dtd (ReadTimeoutException) with 5 occurrences migrated to:
https://www.w3.org/TR/html4/loose.dtd ([https](https://www.w3.org/TR/html4/loose.dtd ) result SSLException).
* [ ] http://www.w3.org/TR/xhtml1/ (ReadTimeoutException) with 1 occurrences migrated to:
https://www.w3.org/TR/xhtml1/ ([https](https://www.w3.org/TR/xhtml1/ ) result SSLException).
* [ ] http://www.w3.org/TR/xhtml1/diffs.html (ReadTimeoutException) with 1 occurrences migrated to:
https://www.w3.org/TR/xhtml1/diffs.html ([https](https://www.w3.org/TR/xhtml1/diffs.html ) result SSLException).
* [ ] http://www.w3.org/TR/xhtml1/dtds.html (ReadTimeoutException) with 1 occurrences migrated to:
https://www.w3.org/TR/xhtml1/dtds.html ([https](https://www.w3.org/TR/xhtml1/dtds.html ) result SSLException).
* [ ] http://www.w3.org/XML/1998/namespace (ReadTimeoutException) with 5 occurrences migrated to:
https://www.w3.org/XML/1998/namespace ([https](https://www.w3.org/XML/1998/namespace ) result SSLException).
* [ ] http://Additional-namespace-name-URI (UnknownHostException) with 1 occurrences migrated to:
https://Additional-namespace-name-URI ([https](https://Additional-namespace-name-URI ) result UnknownHostException).
* [ ] http://DOMAIN2.com (UnknownHostException) with 2 occurrences migrated to:
https://DOMAIN2.com ([https](https://DOMAIN2.com ) result UnknownHostException).
* [ ] http://Default-namespace-name-URI (UnknownHostException) with 1 occurrences migrated to:
https://Default-namespace-name-URI ([https](https://Default-namespace-name-URI ) result UnknownHostException).
* [ ] http://HOST:8080/remoting/AccountService (UnknownHostException) with 1 occurrences migrated to:
https://HOST:8080/remoting/AccountService ([https](https://HOST:8080/remoting/AccountService ) result UnknownHostException).
* [ ] http://Namespace-name-URI (UnknownHostException) with 1 occurrences migrated to:
https://Namespace-name-URI ([https](https://Namespace-name-URI ) result UnknownHostException).
* [ ] http://Unbound-namespace-name-URI (UnknownHostException) with 1 occurrences migrated to:
https://Unbound-namespace-name-URI ([https](https://Unbound-namespace-name-URI ) result UnknownHostException).
* [ ] http://a.example.org/mvc-showcase (UnknownHostException) with 1 occurrences migrated to:
https://a.example.org/mvc-showcase ([https](https://a.example.org/mvc-showcase ) result UnknownHostException).
* [ ] http://anotherHost/mvc-showcase (UnknownHostException) with 1 occurrences migrated to:
https://anotherHost/mvc-showcase ([https](https://anotherHost/mvc-showcase ) result UnknownHostException).
* [ ] http://arjen:foobar@java.sun.com:80 (UnknownHostException) with 1 occurrences migrated to:
https://arjen:foobar@java.sun.com:80 ([https](https://arjen:foobar@java.sun.com:80 ) result UnknownHostException).
* [ ] http://barfoo:8888 (UnknownHostException) with 1 occurrences migrated to:
https://barfoo:8888 ([https](https://barfoo:8888 ) result UnknownHostException).
* [ ] http://dev.bar.com (UnknownHostException) with 3 occurrences migrated to:
https://dev.bar.com ([https](https://dev.bar.com ) result UnknownHostException).
* [ ] http://domain1.com (UnknownHostException) with 25 occurrences migrated to:
https://domain1.com ([https](https://domain1.com ) result UnknownHostException).
* [ ] http://domain1.com/test.html (UnknownHostException) with 4 occurrences migrated to:
https://domain1.com/test.html ([https](https://domain1.com/test.html ) result UnknownHostException).
* [ ] http://domain2.com (UnknownHostException) with 98 occurrences migrated to:
https://domain2.com ([https](https://domain2.com ) result UnknownHostException).
* [ ] http://example.com",HttpMethod.GET (UnknownHostException) with 6 occurrences migrated to:
https://example.com",HttpMethod.GET ([https](https://example.com",HttpMethod.GET ) result UnknownHostException).
* [ ] http://example/ (UnknownHostException) with 1 occurrences migrated to:
https://example/ ([https](https://example/ ) result UnknownHostException).
* [ ] http://fake-service (UnknownHostException) with 7 occurrences migrated to:
https://fake-service ([https](https://fake-service ) result UnknownHostException).
* [ ] http://foo (UnknownHostException) with 3 occurrences migrated to:
https://foo ([https](https://foo ) result UnknownHostException).
* [ ] http://foo.bar.com (UnknownHostException) with 4 occurrences migrated to:
https://foo.bar.com ([https](https://foo.bar.com ) result UnknownHostException).
* [ ] http://foobar:8088 (UnknownHostException) with 1 occurrences migrated to:
https://foobar:8088 ([https](https://foobar:8088 ) result UnknownHostException).
* [ ] http://host:port/myApp/myEndpoint/ (UnknownHostException) with 1 occurrences migrated to:
https://host:port/myApp/myEndpoint/ ([https](https://host:port/myApp/myEndpoint/ ) result UnknownHostException).
* [ ] http://jaxws.remoting.springframework.org/ (UnknownHostException) with 4 occurrences migrated to:
https://jaxws.remoting.springframework.org/ ([https](https://jaxws.remoting.springframework.org/ ) result UnknownHostException).
* [ ] http://joe.openid.example.org/ (UnknownHostException) with 2 occurrences migrated to:
https://joe.openid.example.org/ ([https](https://joe.openid.example.org/ ) result UnknownHostException).
* [ ] http://myserver (UnknownHostException) with 1 occurrences migrated to:
https://myserver ([https](https://myserver ) result UnknownHostException).
* [ ] http://myserver/logo.png (UnknownHostException) with 1 occurrences migrated to:
https://myserver/logo.png ([https](https://myserver/logo.png ) result UnknownHostException).
* [ ] http://myurl (UnknownHostException) with 12 occurrences migrated to:
https://myurl ([https](https://myurl ) result UnknownHostException).
* [ ] http://remotehost:8080/remoting/AccountService (UnknownHostException) with 2 occurrences migrated to:
https://remotehost:8080/remoting/AccountService ([https](https://remotehost:8080/remoting/AccountService ) result UnknownHostException).
* [ ] http://samples.springframework.org/order (UnknownHostException) with 2 occurrences migrated to:
https://samples.springframework.org/order ([https](https://samples.springframework.org/order ) result UnknownHostException).
* [ ] http://somethingDifferent (UnknownHostException) with 1 occurrences migrated to:
https://somethingDifferent ([https](https://somethingDifferent ) result UnknownHostException).
* [ ] http://url.somewhere.com (UnknownHostException) with 25 occurrences migrated to:
https://url.somewhere.com ([https](https://url.somewhere.com ) result UnknownHostException).
* [ ] http://url.somewhere.com/path (UnknownHostException) with 1 occurrences migrated to:
https://url.somewhere.com/path ([https](https://url.somewhere.com/path ) result UnknownHostException).
* [ ] http://url.somewhere.com/path?id=1 (UnknownHostException) with 1 occurrences migrated to:
https://url.somewhere.com/path?id=1 ([https](https://url.somewhere.com/path?id=1 ) result UnknownHostException).
* [ ] http://url.somewhere.com/test.htm (UnknownHostException) with 2 occurrences migrated to:
https://url.somewhere.com/test.htm ([https](https://url.somewhere.com/test.htm ) result UnknownHostException).
* [ ] http://url.somewhere.com?a=b&c=d (UnknownHostException) with 1 occurrences migrated to:
https://url.somewhere.com?a=b&c=d ([https](https://url.somewhere.com?a=b&c=d ) result UnknownHostException).
* [ ] http://url.somewhere.com?foo= (UnknownHostException) with 2 occurrences migrated to:
https://url.somewhere.com?foo= ([https](https://url.somewhere.com?foo= ) result UnknownHostException).
* [ ] http://url.somewhere.com?foo=bar (UnknownHostException) with 4 occurrences migrated to:
https://url.somewhere.com?foo=bar ([https](https://url.somewhere.com?foo=bar ) result UnknownHostException).
* [ ] http://url.somewhere.com?foo=bar&a=b&c=d (UnknownHostException) with 2 occurrences migrated to:
https://url.somewhere.com?foo=bar&a=b&c=d ([https](https://url.somewhere.com?foo=bar&a=b&c=d ) result UnknownHostException).
* [ ] http://wiki.fasterxml.com/JacksonHome (UnknownHostException) with 3 occurrences migrated to:
https://wiki.fasterxml.com/JacksonHome ([https](https://wiki.fasterxml.com/JacksonHome ) result UnknownHostException).
* [ ] http://wiki.fasterxml.com/JacksonJsonViews (UnknownHostException) with 4 occurrences migrated to:
https://wiki.fasterxml.com/JacksonJsonViews ([https](https://wiki.fasterxml.com/JacksonJsonViews ) result UnknownHostException).
* [ ] http://www (UnknownHostException) with 1 occurrences migrated to:
https://www ([https](https://www ) result UnknownHostException).
* [ ] http://x.y.z (UnknownHostException) with 2 occurrences migrated to:
https://x.y.z ([https](https://x.y.z ) result UnknownHostException).
* [ ] http://abc.com/v1 (301) with 1 occurrences migrated to:
https://abc.go.com/v1 ([https](https://abc.com/v1 ) result 404).
* [ ] http://abc.com/v1/accounts/43 (301) with 1 occurrences migrated to:
https://abc.go.com/v1/accounts/43 ([https](https://abc.com/v1/accounts/43 ) result 404).
* [ ] http://abc.com/v1/accounts?q=12 (301) with 1 occurrences migrated to:
https://abc.go.com/v1/accounts?q=12 ([https](https://abc.com/v1/accounts?q=12 ) result 404).
* [ ] http://apache.org/xml/features/disallow-doctype-decl (404) with 10 occurrences migrated to:
https://apache.org/xml/features/disallow-doctype-decl ([https](https://apache.org/xml/features/disallow-doctype-decl ) result 404).
* [ ] http://docs.spring.io/v1/bar (301) with 1 occurrences migrated to:
https://docs.spring.io/v1/bar ([https](https://docs.spring.io/v1/bar ) result 404).
* [ ] http://example.com/-foo (404) with 2 occurrences migrated to:
https://example.com/-foo ([https](https://example.com/-foo ) result 404).
* [ ] http://example.com/1 (404) with 1 occurrences migrated to:
https://example.com/1 ([https](https://example.com/1 ) result 404).
* [ ] http://example.com/1/2 (404) with 2 occurrences migrated to:
https://example.com/1/2 ([https](https://example.com/1/2 ) result 404).
* [ ] http://example.com/2 (404) with 1 occurrences migrated to:
https://example.com/2 ([https](https://example.com/2 ) result 404).
* [ ] http://example.com/a%20b?q=a%2Bb (404) with 1 occurrences migrated to:
https://example.com/a%20b?q=a%2Bb ([https](https://example.com/a%20b?q=a%2Bb ) result 404).
* [ ] http://example.com/abc/ (404) with 1 occurrences migrated to:
https://example.com/abc/ ([https](https://example.com/abc/ ) result 404).
* [ ] http://example.com/abc/x/y (404) with 1 occurrences migrated to:
https://example.com/abc/x/y ([https](https://example.com/abc/x/y ) result 404).
* [ ] http://example.com/abc/x/y/z (404) with 3 occurrences migrated to:
https://example.com/abc/x/y/z ([https](https://example.com/abc/x/y/z ) result 404).
* [ ] http://example.com/app/login/authenticate (404) with 1 occurrences migrated to:
https://example.com/app/login/authenticate ([https](https://example.com/app/login/authenticate ) result 404).
* [ ] http://example.com/arbitrary/path (404) with 1 occurrences migrated to:
https://example.com/arbitrary/path ([https](https://example.com/arbitrary/path ) result 404).
* [ ] http://example.com/bar (404) with 6 occurrences migrated to:
https://example.com/bar ([https](https://example.com/bar ) result 404).
* [ ] http://example.com/context.xml (404) with 4 occurrences migrated to:
https://example.com/context.xml ([https](https://example.com/context.xml ) result 404).
* [ ] http://example.com/example (404) with 6 occurrences migrated to:
https://example.com/example ([https](https://example.com/example ) result 404).
* [ ] http://example.com/example/?name (404) with 1 occurrences migrated to:
https://example.com/example/?name ([https](https://example.com/example/?name ) result 404).
* [ ] http://example.com/example/?name= (404) with 1 occurrences migrated to:
https://example.com/example/?name= ([https](https://example.com/example/?name= ) result 404).
* [ ] http://example.com/example/?name=%20 (404) with 1 occurrences migrated to:
https://example.com/example/?name=%20 ([https](https://example.com/example/?name=%20 ) result 404).
* [ ] http://example.com/example/?name=row%5B0%5D (404) with 1 occurrences migrated to:
https://example.com/example/?name=row%5B0%5D ([https](https://example.com/example/?name=row%5B0%5D ) result 404).
* [ ] http://example.com/example/?name=value (404) with 1 occurrences migrated to:
https://example.com/example/?name=value ([https](https://example.com/example/?name=value ) result 404).
* [ ] http://example.com/example/?name=value¶m2=value+2 (404) with 1 occurrences migrated to:
https://example.com/example/?name=value¶m2=value+2 ([https](https://example.com/example/?name=value¶m2=value+2 ) result 404).
* [ ] http://example.com/example/?row%5B0%5D=value (404) with 1 occurrences migrated to:
https://example.com/example/?row%5B0%5D=value ([https](https://example.com/example/?row%5B0%5D=value ) result 404).
* [ ] http://example.com/foo (404) with 7 occurrences migrated to:
https://example.com/foo ([https](https://example.com/foo ) result 404).
* [ ] http://example.com/foo/../bar (404) with 1 occurrences migrated to:
https://example.com/foo/../bar ([https](https://example.com/foo/../bar ) result 404).
* [ ] http://example.com/foo/foo2?bar (404) with 1 occurrences migrated to:
https://example.com/foo/foo2?bar ([https](https://example.com/foo/foo2?bar ) result 404).
* [ ] http://example.com/foo?bar (404) with 4 occurrences migrated to:
https://example.com/foo?bar ([https](https://example.com/foo?bar ) result 404).
* [ ] http://example.com/foo?bar= (404) with 2 occurrences migrated to:
https://example.com/foo?bar= ([https](https://example.com/foo?bar= ) result 404).
* [ ] http://example.com/foo?bar=baz (404) with 2 occurrences migrated to:
https://example.com/foo?bar=baz ([https](https://example.com/foo?bar=baz ) result 404).
* [ ] http://example.com/foo?baz=42 (404) with 1 occurrences migrated to:
https://example.com/foo?baz=42 ([https](https://example.com/foo?baz=42 ) result 404).
* [ ] http://example.com/foo?foo=bar&baz=qux (404) with 2 occurrences migrated to:
https://example.com/foo?foo=bar&baz=qux ([https](https://example.com/foo?foo=bar&baz=qux ) result 404).
* [ ] http://example.com/hotel (404) with 3 occurrences migrated to:
https://example.com/hotel ([https](https://example.com/hotel ) result 404).
* [ ] http://example.com/hotel%20list (404) with 1 occurrences migrated to:
https://example.com/hotel%20list ([https](https://example.com/hotel%20list ) result 404).
* [ ] http://example.com/hotel%20list/Z (404) with 1 occurrences migrated to:
https://example.com/hotel%20list/Z ([https](https://example.com/hotel%20list/Z ) result 404).
* [ ] http://example.com/hotel%20list/Z%C3%BCrich (404) with 3 occurrences migrated to:
https://example.com/hotel%20list/Z%C3%BCrich ([https](https://example.com/hotel%20list/Z%C3%BCrich ) result 404).
* [ ] http://example.com/hotels (404) with 3 occurrences migrated to:
https://example.com/hotels ([https](https://example.com/hotels ) result 404).
* [ ] http://example.com/hotels/ (404) with 15 occurrences migrated to:
https://example.com/hotels/ ([https](https://example.com/hotels/ ) result 404).
* [ ] http://example.com/hotels/1/bookings/42 (404) with 1 occurrences migrated to:
https://example.com/hotels/1/bookings/42 ([https](https://example.com/hotels/1/bookings/42 ) result 404).
* [ ] http://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150 (404) with 2 occurrences migrated to:
https://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150 ([https](https://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150 ) result 404).
* [ ] http://example.com/hotels/1/pic/pics/logo.png (404) with 1 occurrences migrated to:
https://example.com/hotels/1/pic/pics/logo.png ([https](https://example.com/hotels/1/pic/pics/logo.png ) result 404).
* [ ] http://example.com/hotels/42/bookings/21 (404) with 1 occurrences migrated to:
https://example.com/hotels/42/bookings/21 ([https](https://example.com/hotels/42/bookings/21 ) result 404).
* [ ] http://example.com/hotels/42/bookings/42 (404) with 1 occurrences migrated to:
https://example.com/hotels/42/bookings/42 ([https](https://example.com/hotels/42/bookings/42 ) result 404).
* [ ] http://example.com/hotels/Rest%20%26%20Relax/bookings/42 (404) with 2 occurrences migrated to:
https://example.com/hotels/Rest%20%26%20Relax/bookings/42 ([https](https://example.com/hotels/Rest%20%26%20Relax/bookings/42 ) result 404).
* [ ] http://example.com/info (404) with 2 occurrences migrated to:
https://example.com/info ([https](https://example.com/info ) result 404).
* [ ] http://example.com/invalid (404) with 1 occurrences migrated to:
https://example.com/invalid ([https](https://example.com/invalid ) result 404).
* [ ] http://example.com/jquery-1.11.0.min.js (404) with 2 occurrences migrated to:
https://example.com/jquery-1.11.0.min.js ([https](https://example.com/jquery-1.11.0.min.js ) result 404).
* [ ] http://example.com/match (404) with 1 occurrences migrated to:
https://example.com/match ([https](https://example.com/match ) result 404).
* [ ] http://example.com/myFileUpload (404) with 1 occurrences migrated to:
https://example.com/myFileUpload ([https](https://example.com/myFileUpload ) result 404).
* [ ] http://example.com/myForm (404) with 1 occurrences migrated to:
https://example.com/myForm ([https](https://example.com/myForm ) result 404).
* [ ] http://example.com/path (404) with 4 occurrences migrated to:
https://example.com/path ([https](https://example.com/path ) result 404).
* [ ] http://example.com/path?query (404) with 2 occurrences migrated to:
https://example.com/path?query ([https](https://example.com/path?query ) result 404).
* [ ] http://example.com/path?query=foo (404) with 1 occurrences migrated to:
https://example.com/path?query=foo ([https](https://example.com/path?query=foo ) result 404).
* [ ] http://example.com/people (404) with 1 occurrences migrated to:
https://example.com/people ([https](https://example.com/people ) result 404).
* [ ] http://example.com/people/ (404) with 1 occurrences migrated to:
https://example.com/people/ ([https](https://example.com/people/ ) result 404).
* [ ] http://example.com/prefix/path (404) with 2 occurrences migrated to:
https://example.com/prefix/path ([https](https://example.com/prefix/path ) result 404).
* [ ] http://example.com/resource (404) with 5 occurrences migrated to:
https://example.com/resource ([https](https://example.com/resource ) result 404).
* [ ] http://example.com/resource?access_token=123 (404) with 1 occurrences migrated to:
https://example.com/resource?access_token=123 ([https](https://example.com/resource?access_token=123 ) result 404).
* [ ] http://example.com/spaces (404) with 1 occurrences migrated to:
https://example.com/spaces ([https](https://example.com/spaces ) result 404).
* [ ] http://example.com/spaces%20and%20%E2%82%AC (404) with 3 occurrences migrated to:
https://example.com/spaces%20and%20%E2%82%AC ([https](https://example.com/spaces%20and%20%E2%82%AC ) result 404).
* [ ] http://example.com/spring/ (404) with 1 occurrences migrated to:
https://example.com/spring/ ([https](https://example.com/spring/ ) result 404).
* [ ] http://example.com/test/this/here (404) with 1 occurrences migrated to:
https://example.com/test/this/here ([https](https://example.com/test/this/here ) result 404).
* [ ] http://example.com/upload (404) with 1 occurrences migrated to:
https://example.com/upload ([https](https://example.com/upload ) result 404).
* [ ] http://example.com/user (404) with 1 occurrences migrated to:
https://example.com/user ([https](https://example.com/user ) result 404).
* [ ] http://example.org/fonts/css (404) with 6 occurrences migrated to:
https://example.org/fonts/css ([https](https://example.org/fonts/css ) result 404).
* [ ] http://example.org/foo/page.html (404) with 1 occurrences migrated to:
https://example.org/foo/page.html ([https](https://example.org/foo/page.html ) result 404).
* [ ] http://example.org/image.png (404) with 4 occurrences migrated to:
https://example.org/image.png ([https](https://example.org/image.png ) result 404).
* [ ] http://example.org/music/people (404) with 4 occurrences migrated to:
https://example.org/music/people ([https](https://example.org/music/people ) result 404).
* [ ] http://example.org/page.cache.html (404) with 1 occurrences migrated to:
https://example.org/page.cache.html ([https](https://example.org/page.cache.html ) result 404).
* [ ] http://example.org/path (404) with 3 occurrences migrated to:
https://example.org/path ([https](https://example.org/path ) result 404).
* [ ] http://springframework.org/oxm-test (404) with 2 occurrences migrated to:
https://springframework.org/oxm-test ([https](https://springframework.org/oxm-test ) result 404).
* [ ] http://www.example.com/favicon.ico (404) with 2 occurrences migrated to:
https://www.example.com/favicon.ico ([https](https://www.example.com/favicon.ico ) result 404).
* [ ] http://www.example.com/foo/bar (404) with 1 occurrences migrated to:
https://www.example.com/foo/bar ([https](https://www.example.com/foo/bar ) result 404).
* [ ] http://www.example.com/hotels (404) with 2 occurrences migrated to:
https://www.example.com/hotels ([https](https://www.example.com/hotels ) result 404).
* [ ] http://www.example.com/user/ (404) with 4 occurrences migrated to:
https://www.example.com/user/ ([https](https://www.example.com/user/ ) result 404).
* [ ] http://www.example.com/user/john%3Bdoe/dashboard (404) with 4 occurrences migrated to:
https://www.example.com/user/john%3Bdoe/dashboard ([https](https://www.example.com/user/john%3Bdoe/dashboard ) result 404).
* [ ] http://www.example.com/user/john;doe/dashboard (404) with 2 occurrences migrated to:
https://www.example.com/user/john;doe/dashboard ([https](https://www.example.com/user/john;doe/dashboard ) result 404).
* [ ] http://www.ibm.com/developerworks/websphere/library/techarticles/0404_tang/0404_tang.html (301) with 1 occurrences migrated to:
https://www.ibm.com/developerworks/websphere/library/techarticles/0404_tang/0404_tang.html ([https](https://www.ibm.com/developerworks/websphere/library/techarticles/0404_tang/0404_tang.html ) result 404).
* [ ] http://mydomain1.com:80/path (301) with 2 occurrences migrated to:
https://www.mydomain1.com/path ([https](https://mydomain1.com:80/path ) result 404).
* [ ] http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-03 (404) with 1 occurrences migrated to:
https://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-03 ([https](https://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-03 ) result 404).
* [ ] http://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html (301) with 1 occurrences migrated to:
https://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html ([https](https://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html ) result 404).
* [ ] http://xml.apache.org/xslt (404) with 3 occurrences migrated to:
https://xml.apache.org/xslt ([https](https://xml.apache.org/xslt ) result 404).
* [ ] http://myhost.com/resource/path/myTemplate.txt (500) with 1 occurrences migrated to:
https://myhost.com/resource/path/myTemplate.txt ([https](https://myhost.com/resource/path/myTemplate.txt ) result 500).
* [ ] http://myhost.com/some/arbitrary/path (500) with 1 occurrences migrated to:
https://myhost.com/some/arbitrary/path ([https](https://myhost.com/some/arbitrary/path ) result 500).
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://activemq.apache.org/delete-inactive-destinations.html with 1 occurrences migrated to:
https://activemq.apache.org/delete-inactive-destinations.html ([https](https://activemq.apache.org/delete-inactive-destinations.html ) result 200).
* [ ] http://activemq.apache.org/stomp.html with 1 occurrences migrated to:
https://activemq.apache.org/stomp.html ([https](https://activemq.apache.org/stomp.html ) result 200).
* [ ] http://ant.apache.org with 1 occurrences migrated to:
https://ant.apache.org ([https](https://ant.apache.org ) result 200).
* [ ] http://asciidoctor.org/ with 1 occurrences migrated to:
https://asciidoctor.org/ ([https](https://asciidoctor.org/ ) result 200).
* [ ] http://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ with 2 occurrences migrated to:
https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ ([https](https://asciidoctor.org/docs/editing-asciidoc-with-live-preview/ ) result 200).
* [ ] http://beanvalidation.org/ with 1 occurrences migrated to:
https://beanvalidation.org/ ([https](https://beanvalidation.org/ ) result 200).
* [ ] http://caniuse.com/ with 2 occurrences migrated to:
https://caniuse.com/ ([https](https://caniuse.com/ ) result 200).
* [ ] http://cbor.io/ with 1 occurrences migrated to:
https://cbor.io/ ([https](https://cbor.io/ ) result 200).
* [ ] http://code.jquery.com/jquery-1.11.0.min.js with 2 occurrences migrated to:
https://code.jquery.com/jquery-1.11.0.min.js ([https](https://code.jquery.com/jquery-1.11.0.min.js ) result 200).
* [ ] http://code.jquery.com/jquery.js with 1 occurrences migrated to:
https://code.jquery.com/jquery.js ([https](https://code.jquery.com/jquery.js ) result 200).
* [ ] http://commons.apache.org/proper/commons-lang/ with 2 occurrences migrated to:
https://commons.apache.org/proper/commons-lang/ ([https](https://commons.apache.org/proper/commons-lang/ ) result 200).
* [ ] http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html ([https](https://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/java/beans/package-summary.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/java/beans/package-summary.html ([https](https://docs.oracle.com/javase/8/docs/api/java/beans/package-summary.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html ([https](https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html ([https](https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html ) result 200).
* [ ] http://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html with 2 occurrences migrated to:
https://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html ([https](https://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html ) result 200).
* [ ] http://docs.oracle.com/javase/tutorial/javabeans/advanced/customization.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/tutorial/javabeans/advanced/customization.html ([https](https://docs.oracle.com/javase/tutorial/javabeans/advanced/customization.html ) result 200).
* [ ] http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html with 1 occurrences migrated to:
https://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html ([https](https://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html ) result 200).
* [ ] http://docs.seleniumhq.org/ with 1 occurrences migrated to:
https://docs.seleniumhq.org/ ([https](https://docs.seleniumhq.org/ ) result 200).
* [ ] http://docs.seleniumhq.org/projects/webdriver/ with 1 occurrences migrated to:
https://docs.seleniumhq.org/projects/webdriver/ ([https](https://docs.seleniumhq.org/projects/webdriver/ ) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/javadoc-api/ with 1 occurrences migrated to:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/ ([https](https://docs.spring.io/spring-framework/docs/current/javadoc-api/ ) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/view/script/ScriptTemplateView.html with 1 occurrences migrated to:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/view/script/ScriptTemplateView.html ([https](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/view/script/ScriptTemplateView.html ) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ with 1 occurrences migrated to:
https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ ([https](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ ) result 200).
* [ ] http://docs.spring.io/spring-session/docs/current/reference/html5/ with 1 occurrences migrated to:
https://docs.spring.io/spring-session/docs/current/reference/html5/ ([https](https://docs.spring.io/spring-session/docs/current/reference/html5/ ) result 200).
* [ ] http://en.wikipedia.org/wiki/Adapter_pattern with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Adapter_pattern ([https](https://en.wikipedia.org/wiki/Adapter_pattern ) result 200).
* [ ] http://en.wikipedia.org/wiki/Halting_Problem with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Halting_Problem ([https](https://en.wikipedia.org/wiki/Halting_Problem ) result 200).
* [ ] http://en.wikipedia.org/wiki/List_of_HTTP_status_codes with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes ([https](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes ) result 200).
* [ ] http://en.wikipedia.org/wiki/MIME with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/MIME ([https](https://en.wikipedia.org/wiki/MIME ) result 200).
* [ ] http://en.wikipedia.org/wiki/Mock_Object with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Mock_Object ([https](https://en.wikipedia.org/wiki/Mock_Object ) result 200).
* [ ] http://en.wikipedia.org/wiki/Polyfill with 2 occurrences migrated to:
https://en.wikipedia.org/wiki/Polyfill ([https](https://en.wikipedia.org/wiki/Polyfill ) result 200).
* [ ] http://example.com with 150 occurrences migrated to:
https://example.com ([https](https://example.com ) result 200).
* [ ] http://example.com/ with 16 occurrences migrated to:
https://example.com/ ([https](https://example.com/ ) result 200).
* [ ] http://example.com?foo with 2 occurrences migrated to:
https://example.com?foo ([https](https://example.com?foo ) result 200).
* [ ] http://example.com?foo=bar with 8 occurrences migrated to:
https://example.com?foo=bar ([https](https://example.com?foo=bar ) result 200).
* [ ] http://example.com?foo=bar@baz with 1 occurrences migrated to:
https://example.com?foo=bar@baz ([https](https://example.com?foo=bar@baz ) result 200).
* [ ] http://example.org with 18 occurrences migrated to:
https://example.org ([https](https://example.org ) result 200).
* [ ] http://example.org/ with 1 occurrences migrated to:
https://example.org/ ([https](https://example.org/ ) result 200).
* [ ] http://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/DeserializationFeature.html with 2 occurrences migrated to:
https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/DeserializationFeature.html ([https](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/DeserializationFeature.html ) result 200).
* [ ] http://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/MapperFeature.html with 2 occurrences migrated to:
https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/MapperFeature.html ([https](https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/MapperFeature.html ) result 200).
* [ ] http://h2database.com with 1 occurrences migrated to:
https://h2database.com ([https](https://h2database.com ) result 200).
* [ ] http://handlebarsjs.com with 2 occurrences migrated to:
https://handlebarsjs.com ([https](https://handlebarsjs.com ) result 200).
* [ ] http://handlebarsjs.com/ with 2 occurrences migrated to:
https://handlebarsjs.com/ ([https](https://handlebarsjs.com/ ) result 200).
* [ ] http://hc.apache.org/httpcomponents-asyncclient-dev/ with 1 occurrences migrated to:
https://hc.apache.org/httpcomponents-asyncclient-dev/ ([https](https://hc.apache.org/httpcomponents-asyncclient-dev/ ) result 200).
* [ ] http://hc.apache.org/httpcomponents-client-ga/ with 2 occurrences migrated to:
https://hc.apache.org/httpcomponents-client-ga/ ([https](https://hc.apache.org/httpcomponents-client-ga/ ) result 200).
* [ ] http://hc.apache.org/httpcomponents-client-ga/httpclient/ with 1 occurrences migrated to:
https://hc.apache.org/httpcomponents-client-ga/httpclient/ ([https](https://hc.apache.org/httpcomponents-client-ga/httpclient/ ) result 200).
* [ ] http://www.hibernate.org/ (301) with 1 occurrences migrated to:
https://hibernate.org/ ([https](https://www.hibernate.org/ ) result 200).
* [ ] http://www.hibernate.org (301) with 1 occurrences migrated to:
https://hibernate.org/ ([https](https://www.hibernate.org ) result 200).
* [ ] http://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html with 1 occurrences migrated to:
https://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html ([https](https://jcp.org/aboutJava/communityprocess/final/jsr003/index3.html ) result 200).
* [ ] http://jcp.org/aboutJava/communityprocess/final/jsr160/index.html with 1 occurrences migrated to:
https://jcp.org/aboutJava/communityprocess/final/jsr160/index.html ([https](https://jcp.org/aboutJava/communityprocess/final/jsr160/index.html ) result 200).
* [ ] http://jcp.org/en/jsr/detail?id=107 with 1 occurrences migrated to:
https://jcp.org/en/jsr/detail?id=107 ([https](https://jcp.org/en/jsr/detail?id=107 ) result 200).
* [ ] http://joel-costigliola.github.io/assertj/ with 3 occurrences migrated to:
https://joel-costigliola.github.io/assertj/ ([https](https://joel-costigliola.github.io/assertj/ ) result 200).
* [ ] http://jsonassert.skyscreamer.org with 1 occurrences migrated to:
https://jsonassert.skyscreamer.org ([https](https://jsonassert.skyscreamer.org ) result 200).
* [ ] http://jsonassert.skyscreamer.org/ with 5 occurrences migrated to:
https://jsonassert.skyscreamer.org/ ([https](https://jsonassert.skyscreamer.org/ ) result 200).
* [ ] http://junit.org/junit5/docs/current/user-guide/ with 2 occurrences migrated to:
https://junit.org/junit5/docs/current/user-guide/ ([https](https://junit.org/junit5/docs/current/user-guide/ ) result 200).
* [ ] http://kotlinlang.org/ with 2 occurrences migrated to:
https://kotlinlang.org/ ([https](https://kotlinlang.org/ ) result 200).
* [ ] http://kotlinlang.org/docs/reference/ with 1 occurrences migrated to:
https://kotlinlang.org/docs/reference/ ([https](https://kotlinlang.org/docs/reference/ ) result 200).
* [ ] http://kotlinlang.org/docs/reference/classes.html with 3 occurrences migrated to:
https://kotlinlang.org/docs/reference/classes.html ([https](https://kotlinlang.org/docs/reference/classes.html ) result 200).
* [ ] http://mydomain.com with 5 occurrences migrated to:
https://mydomain.com ([https](https://mydomain.com ) result 200).
* [ ] http://netty.io/ with 1 occurrences migrated to:
https://netty.io/ ([https](https://netty.io/ ) result 200).
* [ ] http://openjdk.java.net/jeps/290 with 1 occurrences migrated to:
https://openjdk.java.net/jeps/290 ([https](https://openjdk.java.net/jeps/290 ) result 200).
* [ ] http://openjdk.java.net/projects/nashorn/ with 10 occurrences migrated to:
https://openjdk.java.net/projects/nashorn/ ([https](https://openjdk.java.net/projects/nashorn/ ) result 200).
* [ ] http://pivotal.io/security/cve-2015-5211 with 1 occurrences migrated to:
https://pivotal.io/security/cve-2015-5211 ([https](https://pivotal.io/security/cve-2015-5211 ) result 200).
* [ ] http://poi.apache.org with 3 occurrences migrated to:
https://poi.apache.org ([https](https://poi.apache.org ) result 200).
* [ ] http://projects.spring.io/spring-boot/ with 1 occurrences migrated to:
https://projects.spring.io/spring-boot/ ([https](https://projects.spring.io/spring-boot/ ) result 200).
* [ ] http://projects.spring.io/spring-data/ with 1 occurrences migrated to:
https://projects.spring.io/spring-data/ ([https](https://projects.spring.io/spring-data/ ) result 200).
* [ ] http://projects.spring.io/spring-framework/ with 1 occurrences migrated to:
https://projects.spring.io/spring-framework/ ([https](https://projects.spring.io/spring-framework/ ) result 200).
* [ ] http://projects.spring.io/spring-integration/ with 1 occurrences migrated to:
https://projects.spring.io/spring-integration/ ([https](https://projects.spring.io/spring-integration/ ) result 200).
* [ ] http://projects.spring.io/spring-security/ with 3 occurrences migrated to:
https://projects.spring.io/spring-security/ ([https](https://projects.spring.io/spring-security/ ) result 200).
* [ ] http://repo1.maven.org/maven2/javax/inject/javax.inject/1/ with 2 occurrences migrated to:
https://repo1.maven.org/maven2/javax/inject/javax.inject/1/ ([https](https://repo1.maven.org/maven2/javax/inject/javax.inject/1/ ) result 200).
* [ ] http://schema.spring.io/mvc/spring-mvc.xsd with 1 occurrences migrated to:
https://schema.spring.io/mvc/spring-mvc.xsd ([https](https://schema.spring.io/mvc/spring-mvc.xsd ) result 200).
* [ ] http://search.maven.org/ with 2 occurrences migrated to:
https://search.maven.org/ ([https](https://search.maven.org/ ) result 200).
* [ ] http://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html with 3 occurrences migrated to:
https://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html ([https](https://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html ) result 200).
* [ ] http://sourceforge.net with 1 occurrences migrated to:
https://sourceforge.net ([https](https://sourceforge.net ) result 200).
* [ ] http://sourceforge.net/projects/javadiff/ with 1 occurrences migrated to:
https://sourceforge.net/projects/javadiff/ ([https](https://sourceforge.net/projects/javadiff/ ) result 200).
* [ ] http://sourceforge.net/sflogo.php?group_id=37160 with 1 occurrences migrated to:
https://sourceforge.net/sflogo.php?group_id=37160 ([https](https://sourceforge.net/sflogo.php?group_id=37160 ) result 200).
* [ ] http://spring.io/blog/ with 1 occurrences migrated to:
https://spring.io/blog/ ([https](https://spring.io/blog/ ) result 200).
* [ ] http://spring.io/blog/category/news with 1 occurrences migrated to:
https://spring.io/blog/category/news ([https](https://spring.io/blog/category/news ) result 200).
* [ ] http://square.github.io/okhttp/ with 1 occurrences migrated to:
https://square.github.io/okhttp/ ([https](https://square.github.io/okhttp/ ) result 200).
* [ ] http://stackoverflow.com/questions/1481251/what-does-document-domain-document-domain-do with 1 occurrences migrated to:
https://stackoverflow.com/questions/1481251/what-does-document-domain-document-domain-do ([https](https://stackoverflow.com/questions/1481251/what-does-document-domain-document-domain-do ) result 200).
* [ ] http://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources with 2 occurrences migrated to:
https://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources ([https](https://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources ) result 200).
* [ ] http://stackoverflow.com/questions/22986109/testing-spring-managed-servlet with 1 occurrences migrated to:
https://stackoverflow.com/questions/22986109/testing-spring-managed-servlet ([https](https://stackoverflow.com/questions/22986109/testing-spring-managed-servlet ) result 200).
* [ ] http://stackoverflow.com/questions/24725438/what-could-cause-a-class-implementing-applicationlistenercontextrefreshedevent with 1 occurrences migrated to:
https://stackoverflow.com/questions/24725438/what-could-cause-a-class-implementing-applicationlistenercontextrefreshedevent ([https](https://stackoverflow.com/questions/24725438/what-could-cause-a-class-implementing-applicationlistenercontextrefreshedevent ) result 200).
* [ ] http://stackoverflow.com/questions/35733344/can-contextconfiguration-in-a-custom-annotation-be-merged with 1 occurrences migrated to:
https://stackoverflow.com/questions/35733344/can-contextconfiguration-in-a-custom-annotation-be-merged ([https](https://stackoverflow.com/questions/35733344/can-contextconfiguration-in-a-custom-annotation-be-merged ) result 200).
* [ ] http://start.spring.io/ with 2 occurrences migrated to:
https://start.spring.io/ ([https](https://start.spring.io/ ) result 200).
* [ ] http://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html with 1 occurrences migrated to:
https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html ([https](https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html ) result 200).
* [ ] http://stomp.github.io/stomp-specification-1.2.html with 9 occurrences migrated to:
https://stomp.github.io/stomp-specification-1.2.html ([https](https://stomp.github.io/stomp-specification-1.2.html ) result 200).
* [ ] http://struts.apache.org with 1 occurrences migrated to:
https://struts.apache.org ([https](https://struts.apache.org ) result 200).
* [ ] http://struts.apache.org/ with 1 occurrences migrated to:
https://struts.apache.org/ ([https](https://struts.apache.org/ ) result 200).
* [ ] http://tapestry.apache.org/ with 2 occurrences migrated to:
https://tapestry.apache.org/ ([https](https://tapestry.apache.org/ ) result 200).
* [ ] http://tiles.apache.org with 4 occurrences migrated to:
https://tiles.apache.org ([https](https://tiles.apache.org ) result 200).
* [ ] http://tiles.apache.org/framework/dependency-management.html with 1 occurrences migrated to:
https://tiles.apache.org/framework/dependency-management.html ([https](https://tiles.apache.org/framework/dependency-management.html ) result 200).
* [ ] http://tomcat.apache.org/ with 1 occurrences migrated to:
https://tomcat.apache.org/ ([https](https://tomcat.apache.org/ ) result 200).
* [ ] http://tools.ietf.org/html/rfc1945 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc1945 ([https](https://tools.ietf.org/html/rfc1945 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2109 with 2 occurrences migrated to:
https://tools.ietf.org/html/rfc2109 ([https](https://tools.ietf.org/html/rfc2109 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2295 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2295 ([https](https://tools.ietf.org/html/rfc2295 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2324 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2324 ([https](https://tools.ietf.org/html/rfc2324 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2518 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2518 ([https](https://tools.ietf.org/html/rfc2518 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2616 with 3 occurrences migrated to:
https://tools.ietf.org/html/rfc2616 ([https](https://tools.ietf.org/html/rfc2616 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2774 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2774 ([https](https://tools.ietf.org/html/rfc2774 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2817 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2817 ([https](https://tools.ietf.org/html/rfc2817 ) result 200).
* [ ] http://tools.ietf.org/html/rfc2965 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc2965 ([https](https://tools.ietf.org/html/rfc2965 ) result 200).
* [ ] http://tools.ietf.org/html/rfc3229 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc3229 ([https](https://tools.ietf.org/html/rfc3229 ) result 200).
* [ ] http://tools.ietf.org/html/rfc3986 with 4 occurrences migrated to:
https://tools.ietf.org/html/rfc3986 ([https](https://tools.ietf.org/html/rfc3986 ) result 200).
* [ ] http://tools.ietf.org/html/rfc4918 with 5 occurrences migrated to:
https://tools.ietf.org/html/rfc4918 ([https](https://tools.ietf.org/html/rfc4918 ) result 200).
* [ ] http://tools.ietf.org/html/rfc5842 with 2 occurrences migrated to:
https://tools.ietf.org/html/rfc5842 ([https](https://tools.ietf.org/html/rfc5842 ) result 200).
* [ ] http://tools.ietf.org/html/rfc5988 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc5988 ([https](https://tools.ietf.org/html/rfc5988 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6266 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc6266 ([https](https://tools.ietf.org/html/rfc6266 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6454 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc6454 ([https](https://tools.ietf.org/html/rfc6454 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6455 with 2 occurrences migrated to:
https://tools.ietf.org/html/rfc6455 ([https](https://tools.ietf.org/html/rfc6455 ) result 200).
* [ ] http://tools.ietf.org/html/rfc6585 with 4 occurrences migrated to:
https://tools.ietf.org/html/rfc6585 ([https](https://tools.ietf.org/html/rfc6585 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7230 with 10 occurrences migrated to:
https://tools.ietf.org/html/rfc7230 ([https](https://tools.ietf.org/html/rfc7230 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7231 with 56 occurrences migrated to:
https://tools.ietf.org/html/rfc7231 ([https](https://tools.ietf.org/html/rfc7231 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7232 with 8 occurrences migrated to:
https://tools.ietf.org/html/rfc7232 ([https](https://tools.ietf.org/html/rfc7232 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7233 with 12 occurrences migrated to:
https://tools.ietf.org/html/rfc7233 ([https](https://tools.ietf.org/html/rfc7233 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7234 with 5 occurrences migrated to:
https://tools.ietf.org/html/rfc7234 ([https](https://tools.ietf.org/html/rfc7234 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7235 with 6 occurrences migrated to:
https://tools.ietf.org/html/rfc7235 ([https](https://tools.ietf.org/html/rfc7235 ) result 200).
* [ ] http://tools.ietf.org/html/rfc7238 with 1 occurrences migrated to:
https://tools.ietf.org/html/rfc7238 ([https](https://tools.ietf.org/html/rfc7238 ) result 200).
* [ ] http://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt with 3 occurrences migrated to:
https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt ([https](https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt ) result 200).
* [ ] http://www.amazon.com/exec/obidos/tg/detail/-/0764543857/ with 10 occurrences migrated to:
https://www.amazon.com/exec/obidos/tg/detail/-/0764543857/ ([https](https://www.amazon.com/exec/obidos/tg/detail/-/0764543857/ ) result 200).
* [ ] http://www.apache.org with 1 occurrences migrated to:
https://www.apache.org ([https](https://www.apache.org ) result 200).
* [ ] http://www.apple.com/DTDs/PropertyList-1.0.dtd with 6 occurrences migrated to:
https://www.apple.com/DTDs/PropertyList-1.0.dtd ([https](https://www.apple.com/DTDs/PropertyList-1.0.dtd ) result 200).
* [ ] http://www.atomikos.com/ with 1 occurrences migrated to:
https://www.atomikos.com/ ([https](https://www.atomikos.com/ ) result 200).
* [ ] http://www.baeldung.com/kotlin-null-safety with 1 occurrences migrated to:
https://www.baeldung.com/kotlin-null-safety ([https](https://www.baeldung.com/kotlin-null-safety ) result 200).
* [ ] http://www.eclipse.org/ajdt/ with 1 occurrences migrated to:
https://www.eclipse.org/ajdt/ ([https](https://www.eclipse.org/ajdt/ ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/next/progguide/index.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/next/progguide/index.html ([https](https://www.eclipse.org/aspectj/doc/next/progguide/index.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/next/progguide/semantics-joinPoints.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/next/progguide/semantics-joinPoints.html ([https](https://www.eclipse.org/aspectj/doc/next/progguide/semantics-joinPoints.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/adk15notebook/index.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/adk15notebook/index.html ([https](https://www.eclipse.org/aspectj/doc/released/adk15notebook/index.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/devguide/antTasks.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/devguide/antTasks.html ([https](https://www.eclipse.org/aspectj/doc/released/devguide/antTasks.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/devguide/index.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/devguide/index.html ([https](https://www.eclipse.org/aspectj/doc/released/devguide/index.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html ([https](https://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/devguide/ltw.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/devguide/ltw.html ([https](https://www.eclipse.org/aspectj/doc/released/devguide/ltw.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/progguide/index.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/progguide/index.html ([https](https://www.eclipse.org/aspectj/doc/released/progguide/index.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html ([https](https://www.eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html ) result 200).
* [ ] http://www.eclipse.org/aspectj/dtd/aspectj.dtd with 1 occurrences migrated to:
https://www.eclipse.org/aspectj/dtd/aspectj.dtd ([https](https://www.eclipse.org/aspectj/dtd/aspectj.dtd ) result 200).
* [ ] http://ehcache.sourceforge.net (301) with 1 occurrences migrated to:
https://www.ehcache.org/ ([https](https://ehcache.sourceforge.net ) result 200).
* [ ] http://ehcache.org/ (301) with 1 occurrences migrated to:
https://www.ehcache.org/ ([https](https://ehcache.org/ ) result 200).
* [ ] http://www.embeddedjs.com/ with 2 occurrences migrated to:
https://www.embeddedjs.com/ ([https](https://www.embeddedjs.com/ ) result 200).
* [ ] http://www.enterpriseintegrationpatterns.com with 1 occurrences migrated to:
https://www.enterpriseintegrationpatterns.com ([https](https://www.enterpriseintegrationpatterns.com ) result 200).
* [ ] http://www.example.org/?param=aGVsbG9Xb3JsZA%3D%3D with 1 occurrences migrated to:
https://www.example.org/?param=aGVsbG9Xb3JsZA%3D%3D ([https](https://www.example.org/?param=aGVsbG9Xb3JsZA%3D%3D ) result 200).
* [ ] http://www.google.com with 2 occurrences migrated to:
https://www.google.com ([https](https://www.google.com ) result 200).
* [ ] http://www.h2database.com with 1 occurrences migrated to:
https://www.h2database.com ([https](https://www.h2database.com ) result 200).
* [ ] http://www.h2database.com/html/grammar.html with 1 occurrences migrated to:
https://www.h2database.com/html/grammar.html ([https](https://www.h2database.com/html/grammar.html ) result 200).
* [ ] http://www.ietf.org with 1 occurrences migrated to:
https://www.ietf.org ([https](https://www.ietf.org ) result 200).
* [ ] http://www.ietf.org/rfc/rfc1867.txt with 1 occurrences migrated to:
https://www.ietf.org/rfc/rfc1867.txt ([https](https://www.ietf.org/rfc/rfc1867.txt ) result 200).
* [ ] http://www.ietf.org/rfc/rfc2396.txt with 2 occurrences migrated to:
https://www.ietf.org/rfc/rfc2396.txt ([https](https://www.ietf.org/rfc/rfc2396.txt ) result 200).
* [ ] http://www.ietf.org/rfc/rfc3986.txt with 11 occurrences migrated to:
https://www.ietf.org/rfc/rfc3986.txt ([https](https://www.ietf.org/rfc/rfc3986.txt ) result 200).
* [ ] http://www.infoq.com/ with 1 occurrences migrated to:
https://www.infoq.com/ ([https](https://www.infoq.com/ ) result 200).
* [ ] http://www.infoq.com/minibooks/JTDS with 1 occurrences migrated to:
https://www.infoq.com/minibooks/JTDS ([https](https://www.infoq.com/minibooks/JTDS ) result 200).
* [ ] http://www.jetbrains.com/idea/ with 1 occurrences migrated to:
https://www.jetbrains.com/idea/ ([https](https://www.jetbrains.com/idea/ ) result 200).
* [ ] http://www.json.org/ with 1 occurrences migrated to:
https://www.json.org/ ([https](https://www.json.org/ ) result 200).
* [ ] http://www.jython.org with 2 occurrences migrated to:
https://www.jython.org ([https](https://www.jython.org ) result 200).
* [ ] http://www.jython.org/ with 2 occurrences migrated to:
https://www.jython.org/ ([https](https://www.jython.org/ ) result 200).
* [ ] http://www.lowagie.com/iText with 2 occurrences migrated to:
https://www.lowagie.com/iText ([https](https://www.lowagie.com/iText ) result 200).
* [ ] http://www.manpagez.com/man/5/crontab/ with 1 occurrences migrated to:
https://www.manpagez.com/man/5/crontab/ ([https](https://www.manpagez.com/man/5/crontab/ ) result 200).
* [ ] http://mydomain1.com:80/ (301) with 2 occurrences migrated to:
https://www.mydomain1.com/ ([https](https://mydomain1.com:80/ ) result 200).
* [ ] http://mydomain1.com:80 (301) with 1 occurrences migrated to:
https://www.mydomain1.com/ ([https](https://mydomain1.com:80 ) result 200).
* [ ] http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/articles/javaee/jpa-137156.html ([https](https://www.oracle.com/technetwork/articles/javaee/jpa-137156.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html ([https](https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html ([https](https://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html ([https](https://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html ) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html ([https](https://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html ) result 200).
* [ ] http://www.oracle.com/technetwork/middleware/weblogic/overview/index-085209.html with 1 occurrences migrated to:
https://www.oracle.com/technetwork/middleware/weblogic/overview/index-085209.html ([https](https://www.oracle.com/technetwork/middleware/weblogic/overview/index-085209.html ) result 200).
* [ ] http://www.ow2.org/ with 1 occurrences migrated to:
https://www.ow2.org/ ([https](https://www.ow2.org/ ) result 200).
* [ ] http://www.owasp.org/index.php/HTTPOnly with 4 occurrences migrated to:
https://www.owasp.org/index.php/HTTPOnly ([https](https://www.owasp.org/index.php/HTTPOnly ) result 200).
* [ ] http://quartz-scheduler.org (301) with 3 occurrences migrated to:
https://www.quartz-scheduler.org/ ([https](https://quartz-scheduler.org ) result 200).
* [ ] http://www.rabbitmq.com/stomp.html with 1 occurrences migrated to:
https://www.rabbitmq.com/stomp.html ([https](https://www.rabbitmq.com/stomp.html ) result 200).
* [ ] http://www.reactive-streams.org with 1 occurrences migrated to:
https://www.reactive-streams.org ([https](https://www.reactive-streams.org ) result 200).
* [ ] http://www.reactive-streams.org/ with 2 occurrences migrated to:
https://www.reactive-streams.org/ ([https](https://www.reactive-streams.org/ ) result 200).
* [ ] http://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Publisher.html with 1 occurrences migrated to:
https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Publisher.html ([https](https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Publisher.html ) result 200).
* [ ] http://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Subscriber.html with 1 occurrences migrated to:
https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Subscriber.html ([https](https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/org/reactivestreams/Subscriber.html ) result 200).
* [ ] http://seleniumhq.org/projects/webdriver/ (301) with 1 occurrences migrated to:
https://www.seleniumhq.org ([https](https://seleniumhq.org/projects/webdriver/ ) result 200).
* [ ] http://www.springbyexample.org/examples/custom-thread-scope-module.html with 1 occurrences migrated to:
https://www.springbyexample.org/examples/custom-thread-scope-module.html ([https](https://www.springbyexample.org/examples/custom-thread-scope-module.html ) result 200).
* [ ] http://www.springframework.org/dtd/spring-beans-2.0.dtd with 3 occurrences migrated to:
https://www.springframework.org/dtd/spring-beans-2.0.dtd ([https](https://www.springframework.org/dtd/spring-beans-2.0.dtd ) result 200).
* [ ] http://www.springframework.org/schema/aop/spring-aop.xsd with 12 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop.xsd ([https](https://www.springframework.org/schema/aop/spring-aop.xsd ) result 200).
* [ ] http://www.springframework.org/schema/beans/spring-beans.xsd with 80 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd ) result 200).
* [ ] http://www.springframework.org/schema/cache/spring-cache.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/cache/spring-cache.xsd ([https](https://www.springframework.org/schema/cache/spring-cache.xsd ) result 200).
* [ ] http://www.springframework.org/schema/context/spring-context.xsd with 13 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd ) result 200).
* [ ] http://www.springframework.org/schema/jdbc/spring-jdbc.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ) result 200).
* [ ] http://www.springframework.org/schema/jee/spring-jee.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/jee/spring-jee.xsd ([https](https://www.springframework.org/schema/jee/spring-jee.xsd ) result 200).
* [ ] http://www.springframework.org/schema/jms/spring-jms.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/jms/spring-jms.xsd ([https](https://www.springframework.org/schema/jms/spring-jms.xsd ) result 200).
* [ ] http://www.springframework.org/schema/lang/spring-lang.xsd with 4 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang.xsd ([https](https://www.springframework.org/schema/lang/spring-lang.xsd ) result 200).
* [ ] http://www.springframework.org/schema/mvc/spring-mvc.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/mvc/spring-mvc.xsd ([https](https://www.springframework.org/schema/mvc/spring-mvc.xsd ) result 200).
* [ ] http://www.springframework.org/schema/oxm/spring-oxm.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/oxm/spring-oxm.xsd ([https](https://www.springframework.org/schema/oxm/spring-oxm.xsd ) result 200).
* [ ] http://www.springframework.org/schema/tool/spring-tool.xsd with 13 occurrences migrated to:
https://www.springframework.org/schema/tool/spring-tool.xsd ([https](https://www.springframework.org/schema/tool/spring-tool.xsd ) result 200).
* [ ] http://www.springframework.org/schema/tx/spring-tx.xsd with 8 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx.xsd ([https](https://www.springframework.org/schema/tx/spring-tx.xsd ) result 200).
* [ ] http://www.springframework.org/schema/util/spring-util.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util.xsd ([https](https://www.springframework.org/schema/util/spring-util.xsd ) result 200).
* [ ] http://www.springframework.org/schema/websocket/spring-websocket.xsd with 12 occurrences migrated to:
https://www.springframework.org/schema/websocket/spring-websocket.xsd ([https](https://www.springframework.org/schema/websocket/spring-websocket.xsd ) result 200).
* [ ] http://www.stuartellis.eu/articles/erb/ (301) with 2 occurrences migrated to:
https://www.stuartellis.name/articles/erb/ ([https](https://www.stuartellis.eu/articles/erb/ ) result 200).
* [ ] http://www.thymeleaf.org/ with 2 occurrences migrated to:
https://www.thymeleaf.org/ ([https](https://www.thymeleaf.org/ ) result 200).
* [ ] http://www.thymeleaf.org/documentation.html with 2 occurrences migrated to:
https://www.thymeleaf.org/documentation.html ([https](https://www.thymeleaf.org/documentation.html ) result 200).
* [ ] http://www.webjars.org with 4 occurrences migrated to:
https://www.webjars.org ([https](https://www.webjars.org ) result 200).
* [ ] http://www.webjars.org/ with 2 occurrences migrated to:
https://www.webjars.org/ ([https](https://www.webjars.org/ ) result 200).
* [ ] http://www.webjars.org/documentation with 2 occurrences migrated to:
https://www.webjars.org/documentation ([https](https://www.webjars.org/documentation ) result 200).
* [ ] http://www.wildfly.org/ with 1 occurrences migrated to:
https://www.wildfly.org/ ([https](https://www.wildfly.org/ ) result 200).
* [ ] http://x-stream.github.io/ with 2 occurrences migrated to:
https://x-stream.github.io/ ([https](https://x-stream.github.io/ ) result 200).
* [ ] http://youtrack.jetbrains.com/issue/IDEA-53476 with 1 occurrences migrated to:
https://youtrack.jetbrains.com/issue/IDEA-53476 ([https](https://youtrack.jetbrains.com/issue/IDEA-53476 ) result 200).
* [ ] http://youtrack.jetbrains.com/issue/IDEA-64446 with 1 occurrences migrated to:
https://youtrack.jetbrains.com/issue/IDEA-64446 ([https](https://youtrack.jetbrains.com/issue/IDEA-64446 ) result 200).
* [ ] http://bit.ly/TRlX2r with 1 occurrences migrated to:
https://bit.ly/TRlX2r ([https](https://bit.ly/TRlX2r ) result 301).
* [ ] http://bit.ly/UzccDt with 1 occurrences migrated to:
https://bit.ly/UzccDt ([https](https://bit.ly/UzccDt ) result 301).
* [ ] http://bit.ly/p9rIvx with 1 occurrences migrated to:
https://bit.ly/p9rIvx ([https](https://bit.ly/p9rIvx ) result 301).
* [ ] http://bit.ly/qUwvwz with 1 occurrences migrated to:
https://bit.ly/qUwvwz ([https](https://bit.ly/qUwvwz ) result 301).
* [ ] http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx with 1 occurrences migrated to:
https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx ([https](https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx ) result 301).
* [ ] http://code.google.com/p/beanshell2/ with 1 occurrences migrated to:
https://code.google.com/p/beanshell2/ ([https](https://code.google.com/p/beanshell2/ ) result 301).
* [ ] http://code.google.com/p/browsersec/wiki/Part2 with 1 occurrences migrated to:
https://code.google.com/p/browsersec/wiki/Part2 ([https](https://code.google.com/p/browsersec/wiki/Part2 ) result 301).
* [ ] http://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal with 1 occurrences migrated to:
https://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal ([https](https://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal ) result 301).
* [ ] http://code.google.com/p/xml-matchers/ with 3 occurrences migrated to:
https://code.google.com/p/xml-matchers/ ([https](https://code.google.com/p/xml-matchers/ ) result 301).
* [ ] http://commons.apache.org/proper/commons-dbcp with 2 occurrences migrated to:
https://commons.apache.org/proper/commons-dbcp ([https](https://commons.apache.org/proper/commons-dbcp ) result 301).
* [ ] http://commons.apache.org/proper/commons-fileupload with 2 occurrences migrated to:
https://commons.apache.org/proper/commons-fileupload ([https](https://commons.apache.org/proper/commons-fileupload ) result 301).
* [ ] http://confluence.jetbrains.net/display/IDEADEV/Gradle+integration with 1 occurrences migrated to:
https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration ([https](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration ) result 301).
* [ ] http://contributor-covenant.org with 1 occurrences migrated to:
https://contributor-covenant.org ([https](https://contributor-covenant.org ) result 301).
* [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/ ) result 301).
* [ ] http://db.apache.org/derby with 2 occurrences migrated to:
https://db.apache.org/derby ([https](https://db.apache.org/derby ) result 301).
* [ ] http://dev.w3.org/html5/eventsource/ with 2 occurrences migrated to:
https://dev.w3.org/html5/eventsource/ ([https](https://dev.w3.org/html5/eventsource/ ) result 301).
* [ ] http://domain.com with 24 occurrences migrated to:
https://domain.com ([https](https://domain.com ) result 301).
* [ ] http://domain.com/ with 1 occurrences migrated to:
https://domain.com/ ([https](https://domain.com/ ) result 301).
* [ ] http://en.wikipedia.org/wiki/Cache_ with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Cache_ ([https](https://en.wikipedia.org/wiki/Cache_ ) result 301).
* [ ] http://facebook.github.io/react/ with 2 occurrences migrated to:
https://facebook.github.io/react/ ([https](https://facebook.github.io/react/ ) result 301).
* [ ] http://forum.springframework.org/showthread.php?t=41350 with 1 occurrences migrated to:
https://forum.springframework.org/showthread.php?t=41350 ([https](https://forum.springframework.org/showthread.php?t=41350 ) result 301).
* [ ] http://github.com/SpringSource/spring-framework with 1 occurrences migrated to:
https://github.com/SpringSource/spring-framework ([https](https://github.com/SpringSource/spring-framework ) result 301).
* [ ] http://hdiv.org/ with 1 occurrences migrated to:
https://hdiv.org/ ([https](https://hdiv.org/ ) result 301).
* [ ] http://jakarta.apache.org/commons/fileupload with 1 occurrences migrated to:
https://jakarta.apache.org/commons/fileupload ([https](https://jakarta.apache.org/commons/fileupload ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-5708 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-5708 ([https](https://jira.springframework.org/browse/SPR-5708 ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-6124 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-6124 ([https](https://jira.springframework.org/browse/SPR-6124 ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-6128 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-6128 ([https](https://jira.springframework.org/browse/SPR-6128 ) result 301).
* [ ] http://jira.springframework.org/browse/SPR-7064 with 1 occurrences migrated to:
https://jira.springframework.org/browse/SPR-7064 ([https](https://jira.springframework.org/browse/SPR-7064 ) result 301).
* [ ] http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html with 1 occurrences migrated to:
https://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html ([https](https://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html ) result 301).
* [ ] http://mockito.org/ (301) with 1 occurrences migrated to:
https://mockito.github.io ([https](https://mockito.org/ ) result 301).
* [ ] http://mydomain1.com with 37 occurrences migrated to:
https://mydomain1.com ([https](https://mydomain1.com ) result 301).
* [ ] http://mydomain1.com/ with 2 occurrences migrated to:
https://mydomain1.com/ ([https](https://mydomain1.com/ ) result 301).
* [ ] http://mydomain1.com/path with 2 occurrences migrated to:
https://mydomain1.com/path ([https](https://mydomain1.com/path ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-2660 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-2660 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-2660 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-2754 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-2754 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-2754 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-2789 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-2789 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-2789 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3127 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3127 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3127 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3775 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3775 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3775 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3880 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3880 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3880 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3896 with 7 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3896 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3896 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-3949 with 1 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-3949 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-3949 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-4008 with 2 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-4008 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-4008 ) result 301).
* [ ] http://opensource.atlassian.com/projects/spring/browse/SPR-4040 with 2 occurrences migrated to:
https://opensource.atlassian.com/projects/spring/browse/SPR-4040 ([https](https://opensource.atlassian.com/projects/spring/browse/SPR-4040 ) result 301).
* [ ] http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//topic/com.ibm.websphere.base.doc/info/aes/ae/rdat_extiapi.html with 1 occurrences migrated to:
https://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//topic/com.ibm.websphere.base.doc/info/aes/ae/rdat_extiapi.html ([https](https://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//topic/com.ibm.websphere.base.doc/info/aes/ae/rdat_extiapi.html ) result 301).
* [ ] http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/rsadapter/JDBCConnectionSpec.html with 1 occurrences migrated to:
https://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/rsadapter/JDBCConnectionSpec.html ([https](https://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/rsadapter/JDBCConnectionSpec.html ) result 301).
* [ ] http://site2.com with 3 occurrences migrated to:
https://site2.com ([https](https://site2.com ) result 301).
* [ ] http://slack.kotlinlang.org/ with 2 occurrences migrated to:
https://slack.kotlinlang.org/ ([https](https://slack.kotlinlang.org/ ) result 301).
* [ ] http://sourceforge.net/projects/c3p0 with 2 occurrences migrated to:
https://sourceforge.net/projects/c3p0 ([https](https://sourceforge.net/projects/c3p0 ) result 301).
* [ ] http://sourceforge.net/projects/javadiff with 1 occurrences migrated to:
https://sourceforge.net/projects/javadiff ([https](https://sourceforge.net/projects/javadiff ) result 301).
* [ ] http://springframework.org with 2 occurrences migrated to:
https://springframework.org ([https](https://springframework.org ) result 301).
* [ ] http://www-01.ibm.com/software/webservers/appserv/was/ with 1 occurrences migrated to:
https://www-01.ibm.com/software/webservers/appserv/was/ ([https](https://www-01.ibm.com/software/webservers/appserv/was/ ) result 301).
* [ ] http://www.atomenabled.org/developers/syndication/ with 1 occurrences migrated to:
https://www.atomenabled.org/developers/syndication/ ([https](https://www.atomenabled.org/developers/syndication/ ) result 301).
* [ ] http://www.eclipse.org/aspectj with 2 occurrences migrated to:
https://www.eclipse.org/aspectj ([https](https://www.eclipse.org/aspectj ) result 301).
* [ ] http://www.google.com/ig/calculator?q=1USD=?EUR with 1 occurrences migrated to:
https://www.google.com/ig/calculator?q=1USD=?EUR ([https](https://www.google.com/ig/calculator?q=1USD=?EUR ) result 301).
* [ ] http://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html with 1 occurrences migrated to:
https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html ([https](https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html ) result 301).
* [ ] http://www.jboss.org/jbossas/ with 1 occurrences migrated to:
https://www.jboss.org/jbossas/ ([https](https://www.jboss.org/jbossas/ ) result 301).
* [ ] http://www.junit.org/ with 1 occurrences migrated to:
https://www.junit.org/ ([https](https://www.junit.org/ ) result 301).
* [ ] http://www.mnot.net/cache_docs with 1 occurrences migrated to:
https://www.mnot.net/cache_docs ([https](https://www.mnot.net/cache_docs ) result 301).
* [ ] http://www.sf.net/home.view?siteLanguage=nl with 1 occurrences migrated to:
https://www.sf.net/home.view?siteLanguage=nl ([https](https://www.sf.net/home.view?siteLanguage=nl ) result 301).
* [ ] http://www.springframework.org with 7 occurrences migrated to:
https://www.springframework.org ([https](https://www.springframework.org ) result 301).
* [ ] http://www.springframework.org/ with 3 occurrences migrated to:
https://www.springframework.org/ ([https](https://www.springframework.org/ ) result 301).
* [ ] http://xyz.com/path with 2 occurrences migrated to:
https://xyz.com/path ([https](https://xyz.com/path ) result 301).
* [ ] http://commons.apache.org/codec/ with 1 occurrences migrated to:
https://commons.apache.org/codec/ ([https](https://commons.apache.org/codec/ ) result 302).
* [ ] http://commons.apache.org/logging with 2 occurrences migrated to:
https://commons.apache.org/logging ([https](https://commons.apache.org/logging ) result 302).
* [ ] http://download.oracle.com/javaee/6/api/javax/inject/Scope.html with 1 occurrences migrated to:
https://download.oracle.com/javaee/6/api/javax/inject/Scope.html ([https](https://download.oracle.com/javaee/6/api/javax/inject/Scope.html ) result 302).
* [ ] http://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html with 4 occurrences migrated to:
https://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html ([https](https://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html ) result 302).
* [ ] http://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html with 1 occurrences migrated to:
https://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html ([https](https://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html ) result 302).
* [ ] http://download.oracle.com/javase/8/docs/api/java/beans/ConstructorProperties.html with 1 occurrences migrated to:
https://download.oracle.com/javase/8/docs/api/java/beans/ConstructorProperties.html ([https](https://download.oracle.com/javase/8/docs/api/java/beans/ConstructorProperties.html ) result 302).
* [ ] http://download.oracle.com/javase/jndi/tutorial/beyond/misc/policy.html with 1 occurrences migrated to:
https://download.oracle.com/javase/jndi/tutorial/beyond/misc/policy.html ([https](https://download.oracle.com/javase/jndi/tutorial/beyond/misc/policy.html ) result 302).
* [ ] http://gafter.blogspot.nl/2006/12/super-type-tokens.html with 1 occurrences migrated to:
https://gafter.blogspot.nl/2006/12/super-type-tokens.html ([https](https://gafter.blogspot.nl/2006/12/super-type-tokens.html ) result 302).
* [ ] http://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project with 1 occurrences migrated to:
https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project ([https](https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project ) result 302).
* [ ] http://git-scm.com/book/en/Git-Tools-Rewriting-History with 1 occurrences migrated to:
https://git-scm.com/book/en/Git-Tools-Rewriting-History ([https](https://git-scm.com/book/en/Git-Tools-Rewriting-History ) result 302).
* [ ] http://glassfish.dev.java.net/ with 1 occurrences migrated to:
https://glassfish.dev.java.net/ ([https](https://glassfish.dev.java.net/ ) result 302).
* [ ] http://java.sun.com/docs/books/jls/third_edition/html/conversions.html with 1 occurrences migrated to:
https://java.sun.com/docs/books/jls/third_edition/html/conversions.html ([https](https://java.sun.com/docs/books/jls/third_edition/html/conversions.html ) result 302).
* [ ] http://java.sun.com/docs/books/jls/third_edition/html/expressions.html with 1 occurrences migrated to:
https://java.sun.com/docs/books/jls/third_edition/html/expressions.html ([https](https://java.sun.com/docs/books/jls/third_edition/html/expressions.html ) result 302).
* [ ] http://java.sun.com/j2se/ with 2 occurrences migrated to:
https://java.sun.com/j2se/ ([https](https://java.sun.com/j2se/ ) result 302).
* [ ] http://java.sun.com/j2se/1.4.1/docs/tooldocs/solaris/javadoc.html with 1 occurrences migrated to:
https://java.sun.com/j2se/1.4.1/docs/tooldocs/solaris/javadoc.html ([https](https://java.sun.com/j2se/1.4.1/docs/tooldocs/solaris/javadoc.html ) result 302).
* [ ] http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html with 1 occurrences migrated to:
https://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html ([https](https://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html ) result 302).
* [ ] http://java.sun.com/j2se/javadoc with 1 occurrences migrated to:
https://java.sun.com/j2se/javadoc ([https](https://java.sun.com/j2se/javadoc ) result 302).
* [ ] http://java.sun.com/j2se/javadoc/ with 1 occurrences migrated to:
https://java.sun.com/j2se/javadoc/ ([https](https://java.sun.com/j2se/javadoc/ ) result 302).
* [ ] http://java.sun.com/j2se/javadoc/faq.html with 1 occurrences migrated to:
https://java.sun.com/j2se/javadoc/faq.html ([https](https://java.sun.com/j2se/javadoc/faq.html ) result 302).
* [ ] http://java.sun.com/webservices/jaxb/ with 1 occurrences migrated to:
https://java.sun.com/webservices/jaxb/ ([https](https://java.sun.com/webservices/jaxb/ ) result 302).
* [ ] http://java.sun.com/xml/jaxp/properties/schemaLanguage with 1 occurrences migrated to:
https://java.sun.com/xml/jaxp/properties/schemaLanguage ([https](https://java.sun.com/xml/jaxp/properties/schemaLanguage ) result 302).
* [ ] http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd with 1 occurrences migrated to:
https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd ([https](https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd ) result 302).
* [ ] http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd with 2 occurrences migrated to:
https://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ([https](https://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ) result 302).
* [ ] http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd with 2 occurrences migrated to:
https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd ([https](https://java.sun.com/xml/ns/javaee/web-app_3_0.xsd ) result 302).
* [ ] http://java.sun.com/xml/stream/properties/report-cdata-event with 1 occurrences migrated to:
https://java.sun.com/xml/stream/properties/report-cdata-event ([https](https://java.sun.com/xml/stream/properties/report-cdata-event ) result 302).
* [ ] http://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download with 1 occurrences migrated to:
https://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download ([https](https://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download ) result 302).
* [ ] http://other.info/foo/bar (301) with 1 occurrences migrated to:
https://weibo.com/otherinfo/foo/bar ([https](https://other.info/foo/bar ) result 302).
* [ ] http://www.iana.org/assignments/http-status-codes with 1 occurrences migrated to:
https://www.iana.org/assignments/http-status-codes ([https](https://www.iana.org/assignments/http-status-codes ) result 302).
* [ ] http://www.iana.org/assignments/media-types/ with 1 occurrences migrated to:
https://www.iana.org/assignments/media-types/ ([https](https://www.iana.org/assignments/media-types/ ) result 302).
* [ ] http://www.springsource.org/download with 1 occurrences migrated to:
https://www.springsource.org/download ([https](https://www.springsource.org/download ) result 302).
* [ ] http://www.sys-con.com/java with 1 occurrences migrated to:
https://www.sys-con.com/java ([https](https://www.sys-con.com/java ) result 302).
These URLs were intentionally ignored.
* http://java.sun.com/jsp/jstl/core with 1 occurrences
* http://java.sun.com/xml/ns/j2ee with 6 occurrences
* http://java.sun.com/xml/ns/javaee with 4 occurrences
* http://java.sun.com/xml/ns/persistence with 1 occurrences
* http://localhost with 86 occurrences
* http://localhost/ with 16 occurrences
* http://localhost/42 with 1 occurrences
* http://localhost/?cookie=foo with 1 occurrences
* http://localhost/FILE.TXT with 1 occurrences
* http://localhost/abc with 1 occurrences
* http://localhost/abc/def with 1 occurrences
* http://localhost/app%20/path/ with 1 occurrences
* http://localhost/app/path%20with%20spaces/ with 1 occurrences
* http://localhost/bar with 2 occurrences
* http://localhost/context/a with 3 occurrences
* http://localhost/contextPath/main/path with 2 occurrences
* http://localhost/file.foo with 1 occurrences
* http://localhost/file.txt with 1 occurrences
* http://localhost/foo with 2 occurrences
* http://localhost/foo%20bar with 1 occurrences
* http://localhost/foo/bar with 1 occurrences
* http://localhost/foo/bar/baz with 1 occurrences
* http://localhost/forward with 1 occurrences
* http://localhost/hotels/42/bookings/21 with 4 occurrences
* http://localhost/input with 1 occurrences
* http://localhost/jquery-1.11.0.min.js with 5 occurrences
* http://localhost/messages/form with 1 occurrences
* http://localhost/mvc-showcase with 2 occurrences
* http://localhost/mvc-showcase/app with 1 occurrences
* http://localhost/mvc-showcase/data/foo%20bar with 1 occurrences
* http://localhost/mvc-showcase/data/param with 1 occurrences
* http://localhost/mvc-showcase/data/param?foo=123 with 2 occurrences
* http://localhost/myapp/main with 1 occurrences
* http://localhost/myapp/people/1/addresses/DE with 1 occurrences
* http://localhost/path with 3 occurrences
* http://localhost/path;a=b/with/semicolon with 1 occurrences
* http://localhost/persons with 1 occurrences
* http://localhost/prefix with 1 occurrences
* http://localhost/prefix/app with 1 occurrences
* http://localhost/prefix/bar with 1 occurrences
* http://localhost/prefix/mvc-showcase with 3 occurrences
* http://localhost/query= with 1 occurrences
* http://localhost/query=foo@bar with 1 occurrences
* http://localhost/resources/child/response.txt with 1 occurrences
* http://localhost/resources/foo with 2 occurrences
* http://localhost/resources/foo.txt with 1 occurrences
* http://localhost/resources/response.txt with 2 occurrences
* http://localhost/rest/books/6/pages/1.json with 1 occurrences
* http://localhost/something/1/foo with 1 occurrences
* http://localhost/something/optional-param with 1 occurrences
* http://localhost/test with 4 occurrences
* http://localhost/test.html with 1 occurrences
* http://localhost/test/this with 2 occurrences
* http://localhost:7070/example/adminhandle.vm with 1 occurrences
* http://localhost:7070/example/bingo.html with 1 occurrences
* http://localhost:80/jquery-1.11.0.min.js with 1 occurrences
* http://localhost:8080 with 34 occurrences
* http://localhost:8080/ with 4 occurrences
* http://localhost:8080/OrderService with 3 occurrences
* http://localhost:8080/aA/bB/cC with 1 occurrences
* http://localhost:8080/context with 1 occurrences
* http://localhost:8080/context/myapiresource with 1 occurrences
* http://localhost:8080/gamecast/admin/index.html with 1 occurrences
* http://localhost:8080/gamecast/display.html with 1 occurrences
* http://localhost:8080/gamecast/displayShoppingCart.html with 1 occurrences
* http://localhost:8080/jquery-1.11.0.min.js with 1 occurrences
* http://localhost:8080/mvc-showcase with 1 occurrences
* http://localhost:8080/myapiresource with 1 occurrences
* http://localhost:8080/myapp/js/sockjs-client.js with 1 occurrences
* http://localhost:8080/path with 3 occurrences
* http://localhost:8080/people with 2 occurrences
* http://localhost:8080/portfolio with 1 occurrences
* http://localhost:8080/spring/ with 2 occurrences
* http://localhost:8080/test/ with 2 occurrences
* http://localhost:8080/test/print?value=%EA%B0%80+%EB%82%98 with 1 occurrences
* http://localhost:8081 with 1 occurrences
* http://localhost:8081/ with 1 occurrences
* http://localhost:8181 with 1 occurrences
* http://localhost:8888/AccountServiceEndpoint?WSDL with 1 occurrences
* http://localhost:9000 with 7 occurrences
* http://localhost:9090 with 18 occurrences
* http://localhost:9090/jquery-1.11.0.min.js with 2 occurrences
* http://localhost:9990/mail/messages/form with 1 occurrences
* http://localhost:9999/ with 1 occurrences
* http://localhost:9999/OrderService?wsdl with 4 occurrences
* http://localhosta/testbean with 3 occurrences
* http://samples.springframework.org/flight with 27 occurrences
* http://springframework.org/spring-ws with 17 occurrences
* http://test.com with 1 occurrences
* http://test.com/ with 1 occurrences
* http://testng.org/ with 1 occurrences
* http://tiles.apache.org/tags-tiles with 1 occurrences
* http://www.foo.com/schema/component with 6 occurrences
* http://www.mycompany.com/schema/myns with 4 occurrences
* http://www.springframework.org/schema/aop with 30 occurrences
* http://www.springframework.org/schema/beans with 169 occurrences
* http://www.springframework.org/schema/beans/test with 2 occurrences
* http://www.springframework.org/schema/c with 1 occurrences
* http://www.springframework.org/schema/cache with 5 occurrences
* http://www.springframework.org/schema/context with 28 occurrences
* http://www.springframework.org/schema/jdbc with 8 occurrences
* http://www.springframework.org/schema/jee with 9 occurrences
* http://www.springframework.org/schema/jms with 5 occurrences
* http://www.springframework.org/schema/lang with 10 occurrences
* http://www.springframework.org/schema/mvc with 8 occurrences
* http://www.springframework.org/schema/oxm with 4 occurrences
* http://www.springframework.org/schema/p with 4 occurrences
* http://www.springframework.org/schema/task with 2 occurrences
* http://www.springframework.org/schema/tool with 27 occurrences
* http://www.springframework.org/schema/tx with 18 occurrences
* http://www.springframework.org/schema/util with 8 occurrences
* http://www.springframework.org/schema/websocket with 26 occurrences
* http://www.springframework.org/spring-ws with 1 occurrences
* http://www.springframework.org/tags with 4 occurrences
* http://www.springframework.org/tags/form with 2 occurrences
* http://www.w3.org/1999/XSL/Transform with 8 occurrences
* http://www.w3.org/2001/XMLSchema with 24 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 79 occurrences
* http://www.w3.org/2005/Atom with 4 occurrences
* http://www.w3.org/TR/html4/charset.html with 5 occurrences
* http://www.w3.org/TR/html4/sgml/entities.html with 14 occurrences
2019-03-21 15:08:55 -05:00
Rob Winch
c8732d0258
Polish URL Cleanup
...
Closes gh-22617
2019-03-21 15:07:40 -05:00
Spring Operator
6a0ef1aa64
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* http://www.foo.com/schema/component/component.xsd (404) with 1 occurrences could not be migrated:
([https](https://www.foo.com/schema/component/component.xsd ) result SSLHandshakeException).
# Fixed URLs
## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* http://www.kbcafe.com/rss/atom.xsd.xml (ConnectTimeoutException) with 1 occurrences migrated to:
https://www.kbcafe.com/rss/atom.xsd.xml ([https](https://www.kbcafe.com/rss/atom.xsd.xml ) result ConnectTimeoutException).
* http://domain1.com (UnknownHostException) with 2 occurrences migrated to:
https://domain1.com ([https](https://domain1.com ) result UnknownHostException).
* http://domain2.com (UnknownHostException) with 1 occurrences migrated to:
https://domain2.com ([https](https://domain2.com ) result UnknownHostException).
* http://mydomain1.com,http://mydomain2.com (UnknownHostException) with 1 occurrences migrated to:
https://mydomain1.com,http://mydomain2.com ([https](https://mydomain1.com,https://mydomain2.com ) result UnknownHostException).
* http://mydomain2.com (UnknownHostException) with 2 occurrences migrated to:
https://mydomain2.com ([https](https://mydomain2.com ) result UnknownHostException).
* http://mydomain3.com,http://mydomain4.com (UnknownHostException) with 1 occurrences migrated to:
https://mydomain3.com,http://mydomain4.com ([https](https://mydomain3.com,https://mydomain4.com ) result UnknownHostException).
* http://www.springframework.org/schema/beans/factory/xml/support/CustomNamespaceHandlerTests.xsd (404) with 1 occurrences migrated to:
https://www.springframework.org/schema/beans/factory/xml/support/CustomNamespaceHandlerTests.xsd ([https](https://www.springframework.org/schema/beans/factory/xml/support/CustomNamespaceHandlerTests.xsd ) result 404).
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* http://example.com with 1 occurrences migrated to:
https://example.com ([https](https://example.com ) result 200).
* http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd (301) with 2 occurrences migrated to:
https://hibernate.org/dtd/hibernate-mapping-3.0.dtd ([https](https://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ) result 200).
* http://testng.org/testng-1.0.dtd with 3 occurrences migrated to:
https://testng.org/testng-1.0.dtd ([https](https://testng.org/testng-1.0.dtd ) result 200).
* http://tiles.apache.org/dtds/tiles-config_2_0.dtd with 2 occurrences migrated to:
https://tiles.apache.org/dtds/tiles-config_2_0.dtd ([https](https://tiles.apache.org/dtds/tiles-config_2_0.dtd ) result 200).
* http://tiles.apache.org/dtds/tiles-config_2_1.dtd with 2 occurrences migrated to:
https://tiles.apache.org/dtds/tiles-config_2_1.dtd ([https](https://tiles.apache.org/dtds/tiles-config_2_1.dtd ) result 200).
* http://tiles.apache.org/dtds/tiles-config_3_0.dtd with 4 occurrences migrated to:
https://tiles.apache.org/dtds/tiles-config_3_0.dtd ([https](https://tiles.apache.org/dtds/tiles-config_3_0.dtd ) result 200).
* http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd with 1 occurrences migrated to:
https://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd ([https](https://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd ) result 200).
* http://www.springframework.org/dtd/spring-beans-2.0.dtd with 168 occurrences migrated to:
https://www.springframework.org/dtd/spring-beans-2.0.dtd ([https](https://www.springframework.org/dtd/spring-beans-2.0.dtd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop-2.0.xsd with 68 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop-2.0.xsd ([https](https://www.springframework.org/schema/aop/spring-aop-2.0.xsd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop-2.5.xsd with 11 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop-2.5.xsd ([https](https://www.springframework.org/schema/aop/spring-aop-2.5.xsd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop-3.0.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop-3.0.xsd ([https](https://www.springframework.org/schema/aop/spring-aop-3.0.xsd ) result 200).
* http://www.springframework.org/schema/aop/spring-aop.xsd with 7 occurrences migrated to:
https://www.springframework.org/schema/aop/spring-aop.xsd ([https](https://www.springframework.org/schema/aop/spring-aop.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-2.0.xsd with 112 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-2.0.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-2.0.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-2.5.xsd with 46 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-2.5.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-2.5.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-3.0.xsd with 10 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-3.0.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-3.0.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-3.1.xsd with 33 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-3.1.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-3.1.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-3.2.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-3.2.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-3.2.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-4.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-4.0.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-4.0.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-4.1.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-4.1.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-4.1.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-4.2.xsd with 4 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-4.2.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-4.2.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans-4.3.xsd with 4 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans-4.3.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-4.3.xsd ) result 200).
* http://www.springframework.org/schema/beans/spring-beans.xsd with 142 occurrences migrated to:
https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd ) result 200).
* http://www.springframework.org/schema/cache/spring-cache.xsd with 10 occurrences migrated to:
https://www.springframework.org/schema/cache/spring-cache.xsd ([https](https://www.springframework.org/schema/cache/spring-cache.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-2.5.xsd with 41 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-2.5.xsd ([https](https://www.springframework.org/schema/context/spring-context-2.5.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-3.0.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-3.0.xsd ([https](https://www.springframework.org/schema/context/spring-context-3.0.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-3.1.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-3.1.xsd ([https](https://www.springframework.org/schema/context/spring-context-3.1.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-3.2.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-3.2.xsd ([https](https://www.springframework.org/schema/context/spring-context-3.2.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-4.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-4.0.xsd ([https](https://www.springframework.org/schema/context/spring-context-4.0.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-4.2.xsd with 4 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-4.2.xsd ([https](https://www.springframework.org/schema/context/spring-context-4.2.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context-4.3.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context-4.3.xsd ([https](https://www.springframework.org/schema/context/spring-context-4.3.xsd ) result 200).
* http://www.springframework.org/schema/context/spring-context.xsd with 10 occurrences migrated to:
https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd with 9 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd with 5 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc-4.2.xsd with 9 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc-4.2.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc-4.2.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd ) result 200).
* http://www.springframework.org/schema/jdbc/spring-jdbc.xsd with 8 occurrences migrated to:
https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ) result 200).
* http://www.springframework.org/schema/jee/spring-jee-3.1.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/jee/spring-jee-3.1.xsd ([https](https://www.springframework.org/schema/jee/spring-jee-3.1.xsd ) result 200).
* http://www.springframework.org/schema/jms/spring-jms-4.1.xsd with 9 occurrences migrated to:
https://www.springframework.org/schema/jms/spring-jms-4.1.xsd ([https](https://www.springframework.org/schema/jms/spring-jms-4.1.xsd ) result 200).
* http://www.springframework.org/schema/jms/spring-jms-4.2.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/jms/spring-jms-4.2.xsd ([https](https://www.springframework.org/schema/jms/spring-jms-4.2.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang-2.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang-2.0.xsd ([https](https://www.springframework.org/schema/lang/spring-lang-2.0.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang-2.5.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang-2.5.xsd ([https](https://www.springframework.org/schema/lang/spring-lang-2.5.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang-3.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang-3.0.xsd ([https](https://www.springframework.org/schema/lang/spring-lang-3.0.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang-3.1.xsd with 5 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang-3.1.xsd ([https](https://www.springframework.org/schema/lang/spring-lang-3.1.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang-4.2.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang-4.2.xsd ([https](https://www.springframework.org/schema/lang/spring-lang-4.2.xsd ) result 200).
* http://www.springframework.org/schema/lang/spring-lang.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/lang/spring-lang.xsd ([https](https://www.springframework.org/schema/lang/spring-lang.xsd ) result 200).
* http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd ([https](https://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd ) result 200).
* http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd ([https](https://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd ) result 200).
* http://www.springframework.org/schema/mvc/spring-mvc.xsd with 26 occurrences migrated to:
https://www.springframework.org/schema/mvc/spring-mvc.xsd ([https](https://www.springframework.org/schema/mvc/spring-mvc.xsd ) result 200).
* http://www.springframework.org/schema/oxm/spring-oxm.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/oxm/spring-oxm.xsd ([https](https://www.springframework.org/schema/oxm/spring-oxm.xsd ) result 200).
* http://www.springframework.org/schema/task/spring-task-4.1.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/task/spring-task-4.1.xsd ([https](https://www.springframework.org/schema/task/spring-task-4.1.xsd ) result 200).
* http://www.springframework.org/schema/task/spring-task.xsd with 6 occurrences migrated to:
https://www.springframework.org/schema/task/spring-task.xsd ([https](https://www.springframework.org/schema/task/spring-task.xsd ) result 200).
* http://www.springframework.org/schema/tx/spring-tx-2.5.xsd with 3 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx-2.5.xsd ([https](https://www.springframework.org/schema/tx/spring-tx-2.5.xsd ) result 200).
* http://www.springframework.org/schema/tx/spring-tx-4.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx-4.0.xsd ([https](https://www.springframework.org/schema/tx/spring-tx-4.0.xsd ) result 200).
* http://www.springframework.org/schema/tx/spring-tx.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/tx/spring-tx.xsd ([https](https://www.springframework.org/schema/tx/spring-tx.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-2.0.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-2.0.xsd ([https](https://www.springframework.org/schema/util/spring-util-2.0.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-2.5.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-2.5.xsd ([https](https://www.springframework.org/schema/util/spring-util-2.5.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-3.0.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-3.0.xsd ([https](https://www.springframework.org/schema/util/spring-util-3.0.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-3.1.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-3.1.xsd ([https](https://www.springframework.org/schema/util/spring-util-3.1.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-4.1.xsd with 1 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-4.1.xsd ([https](https://www.springframework.org/schema/util/spring-util-4.1.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util-4.2.xsd with 4 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util-4.2.xsd ([https](https://www.springframework.org/schema/util/spring-util-4.2.xsd ) result 200).
* http://www.springframework.org/schema/util/spring-util.xsd with 2 occurrences migrated to:
https://www.springframework.org/schema/util/spring-util.xsd ([https](https://www.springframework.org/schema/util/spring-util.xsd ) result 200).
* http://www.springframework.org/schema/websocket/spring-websocket.xsd with 11 occurrences migrated to:
https://www.springframework.org/schema/websocket/spring-websocket.xsd ([https](https://www.springframework.org/schema/websocket/spring-websocket.xsd ) result 200).
* http://mydomain1.com with 2 occurrences migrated to:
https://mydomain1.com ([https](https://mydomain1.com ) result 301).
* http://www.springframework.org with 1 occurrences migrated to:
https://www.springframework.org ([https](https://www.springframework.org ) result 301).
* http://help.sap.com/saphelp_hanaplatform/helpdata/en/20/a78d3275191014b41bae7c4a46d835/content.htm with 1 occurrences migrated to:
https://help.sap.com/saphelp_hanaplatform/helpdata/en/20/a78d3275191014b41bae7c4a46d835/content.htm ([https](https://help.sap.com/saphelp_hanaplatform/helpdata/en/20/a78d3275191014b41bae7c4a46d835/content.htm ) result 302).
* http://java.sun.com/dtd/properties.dtd with 4 occurrences migrated to:
https://java.sun.com/dtd/properties.dtd ([https](https://java.sun.com/dtd/properties.dtd ) result 302).
* http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd with 1 occurrences migrated to:
https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd ([https](https://java.sun.com/xml/ns/j2ee/connector_1_5.xsd ) result 302).
* http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd with 1 occurrences migrated to:
https://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd ([https](https://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd ) result 302).
* http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd with 12 occurrences migrated to:
https://java.sun.com/xml/ns/persistence/persistence_1_0.xsd ([https](https://java.sun.com/xml/ns/persistence/persistence_1_0.xsd ) result 302).
* http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd with 1 occurrences migrated to:
https://java.sun.com/xml/ns/persistence/persistence_2_0.xsd ([https](https://java.sun.com/xml/ns/persistence/persistence_2_0.xsd ) result 302).
# Ignored
These URLs were intentionally ignored.
* http://java.sun.com/xml/ns/j2ee with 2 occurrences
* http://java.sun.com/xml/ns/javaee with 2 occurrences
* http://java.sun.com/xml/ns/persistence with 27 occurrences
* http://localhost:8080 with 3 occurrences
* http://samples.springframework.org/flight with 3 occurrences
* http://www.foo.com/schema/component with 2 occurrences
* http://www.greeting.com/goodbye/ with 1 occurrences
* http://www.greeting.com/hello/ with 1 occurrences
* http://www.quartz-scheduler.org/xml/JobSchedulingData with 2 occurrences
* http://www.springframework.org/schema/aop with 176 occurrences
* http://www.springframework.org/schema/beans with 715 occurrences
* http://www.springframework.org/schema/beans/test with 2 occurrences
* http://www.springframework.org/schema/c with 9 occurrences
* http://www.springframework.org/schema/cache with 20 occurrences
* http://www.springframework.org/schema/context with 126 occurrences
* http://www.springframework.org/schema/jdbc with 66 occurrences
* http://www.springframework.org/schema/jee with 2 occurrences
* http://www.springframework.org/schema/jms with 20 occurrences
* http://www.springframework.org/schema/lang with 27 occurrences
* http://www.springframework.org/schema/mvc with 58 occurrences
* http://www.springframework.org/schema/oxm with 2 occurrences
* http://www.springframework.org/schema/p with 16 occurrences
* http://www.springframework.org/schema/task with 14 occurrences
* http://www.springframework.org/schema/tx with 12 occurrences
* http://www.springframework.org/schema/util with 28 occurrences
* http://www.springframework.org/schema/websocket with 22 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 375 occurrences
* http://www.w3.org/2005/Atom with 2 occurrences
2019-03-21 15:07:40 -05:00
Rossen Stoyanchev
4a397f108a
ResourceDecoder supports filename hint
...
Closes gh-22267
2019-03-19 17:50:06 -04:00
Sebastien Deleuze
1382220021
Add support for Deferred to ReactiveAdapterRegistry
...
See gh-19975
2019-03-15 18:22:19 +01:00
stsypanov
29f382b04e
Simplify String concatenation
2019-03-14 17:24:33 +01:00
Juergen Hoeller
fe56aa6fa4
Polishing
2019-03-13 15:32:24 +01:00
Juergen Hoeller
62c923711d
Consistent use of empty array constants in ReflectionUtils
...
Closes gh-22567
2019-03-12 22:44:15 +01:00
Juergen Hoeller
a7adafdb6a
Larger initial size for ASM type descriptor StringBuilder
...
Closes gh-22565
2019-03-12 22:44:00 +01:00
Juergen Hoeller
40c62139ae
Early resolution of unique factory methods in configuration classes
...
Includes consistent bean class resolution in the enhancement step as well as general reflection optimizations for user-declared methods.
Closes gh-22420
2019-03-12 17:17:24 +01:00
Сергей Цыпанов
a35adc6ea6
Add missing break statements to stop looping when result is known
...
Closes gh-22573
2019-03-12 13:15:59 +01:00
Juergen Hoeller
e3a9826e56
Bypass method traversal for annotation introspection if possible
...
The isCandidateClass mechanism is consistently used for a bypass check before method traversal attempts. While by default this is only bypassing standard java types, the same mechanism can be used with index metadata which indicates non-presence of certain annotations.
See gh-22420
2019-03-12 00:12:22 +01:00
Sam Brannen
b09e6c8aaf
Polishing
2019-03-09 16:53:09 +01:00
Tomasz Linkowski
8ddb1e7201
Fix a typo in @NonNullFields
...
Prior to this commit, `@NonNullFields` had a redundant `@see NonNullFields`
declaration instead of `@see NonNullApi` in its JavaDoc.
Closes gh-22553
2019-03-09 16:46:15 +01:00
Sam Brannen
b109f140a7
Improve documentation for annotation filters with component scanning
...
Prior to this commit the documentation for annotation-based include and
exclude filters used with component scanning did not explicitly mention
the fact that annotations are considered a match if they are either
present or meta-present on candidate classes.
This commit improves the documentation in this regard.
See gh-22551
2019-03-09 16:30:30 +01:00
Juergen Hoeller
c04eaf6b84
Merge branch '5.1.x'
2019-03-08 23:06:37 +01:00
Juergen Hoeller
fe0c2d6b6e
StringUtils.toStringArray/CollectionUtils.toIterator handle null input
...
Closes gh-22547
2019-03-08 22:40:18 +01:00
Juergen Hoeller
f5248ff13f
Upgrade to ASM 7.1
...
Closes gh-22503
2019-03-08 09:58:16 +01:00
Juergen Hoeller
ac4c37d8e2
Merge branch '5.1.x'
2019-03-07 18:05:46 +01:00
Juergen Hoeller
6c87ef09c1
Polishing
2019-03-07 17:55:32 +01:00
stsypanov
cb4d6f097c
Use StringJoiner where possible to simplify String joining
2019-03-07 16:51:18 +01:00
Sam Brannen
f087fd5a93
Report offending class in SpringFactoriesLoader in exception message
...
Prior to this commit, the exception message generated by
instantiateFactory() in SpringFactoriesLoader did not report the
offending class in the top-level exception message. The offending class
was in fact included in the message of the nested exception, but the
top-level exception message on its own was a bit misleading.
This commit improves the diagnostics for such failures by including the
offending class and the target factory type in the top-level exception
message.
Closes gh-22453
2019-03-06 16:44:41 +01:00
Konrad Kamiński
9302cb2f85
Support Kotlin suspending functions in MethodParameter
...
Before this commit, the return type for Kotlin suspending functions
(as returned by MethodParameter#getParameterType and
MethodParameter#getGenericReturnType methods) was incorrect.
This change leverages Kotlin reflection instead of Java one
to return the correct type.
Closes gh-21058
2019-03-06 10:14:34 +01:00
Rossen Stoyanchev
9e7f557b4a
Updates for buffer management in RSocket
...
- Integration tests run with zero copy configuration.
- RSocketBufferLeakTests has been added.
- Updates in MessagingRSocket to ensure proper release
See gh-21987
2019-03-04 23:35:43 -05:00
Sam Brannen
70cf597484
Remove obsolete overview.html files
2019-03-04 14:07:48 +01:00
Brian Clozel
3ac1dddb9d
Merge branch '5.1.x'
2019-03-04 13:58:41 +01:00
Andrew Tulloch
090aceb3ad
Fix repeated calls to DataBuffer.write(CharSequence, Charset)
...
Prior to this commit, repeated calls to `DataBuffer.write(CharSequence,
Charset)` would not write the given chars to the expected position in
the original buffer.
This commit fixes that by writing to the `outBuffer.position()`, offset
by the current `DataBuffer.writePosition()`.
Fixes gh-22484
2019-03-04 13:37:06 +01:00
Juergen Hoeller
a7db395d9b
Merge branch '5.1.x'
2019-02-28 19:29:04 +01:00
Juergen Hoeller
5d8a34fee6
Only prefer JDK 9+ Lookup.defineClass API if ClassLoader matches
...
Closes gh-22416
2019-02-28 19:28:03 +01:00
Juergen Hoeller
fc7948c96b
Merge branch '5.1.x'
2019-02-27 17:34:46 +01:00
Juergen Hoeller
e583da0725
Polishing
2019-02-27 17:26:53 +01:00
Sam Brannen
40da78e9df
Polishing
2019-02-27 16:30:05 +01:00
Juergen Hoeller
bc0317af3b
Merge branch '5.1.x'
2019-02-25 17:57:49 +01:00
Juergen Hoeller
9eb7f7e294
Polishing
2019-02-25 17:36:37 +01:00
Sebastien Deleuze
dc8fb8bc5e
Use StringJoiner where possible to simplify String joining
2019-02-25 12:11:57 +01:00
olszewskimichal
60a7909fca
getFirst - check that values is not empty
2019-02-16 11:55:23 +01:00
Juergen Hoeller
6db75956b9
Merge branch '5.1.x'
2019-02-15 17:16:28 +01:00
Juergen Hoeller
e307dd58db
Polishing
2019-02-15 17:06:11 +01:00
stsypanov
5e29ea30a3
Use StringJoiner where possible to simplify String joining
2019-02-15 14:55:35 +01:00
stsypanov
e7dc439f90
Simplify ConcurrentReferenceHashMap
2019-02-15 14:27:43 +01:00
stsypanov
d2bfca7900
Extract duplicated code into a separate method
2019-02-15 14:26:44 +01:00
stsypanov
92053bb84e
Some very simple improvements regarding ArrayList
2019-02-15 14:25:13 +01:00
Juergen Hoeller
5e0cd9fb60
Merge branch '5.1.x'
2019-02-14 13:39:58 +01:00
Juergen Hoeller
ac0e5d8ec6
DefaultConversionService properly converts Object[] to int[]
...
Closes gh-22410
2019-02-14 13:38:29 +01:00
Juergen Hoeller
4e47006a17
Merge branch '5.1.x'
2019-02-12 09:09:19 +01:00
Juergen Hoeller
106a757098
Polishing
2019-02-12 09:07:58 +01:00
Juergen Hoeller
8637540678
Expose empty annotation array as empty AnnotationAttributes array
...
Closes gh-22405
2019-02-12 09:07:51 +01:00
Brian Clozel
fb4a28f904
Polish
...
See gh-22340
2019-02-11 10:45:50 +01:00
Juergen Hoeller
783a7ca46b
Merge branch '5.1.x'
2019-02-08 18:16:27 +01:00
Juergen Hoeller
ba0c48b933
Polishing
2019-02-08 18:02:28 +01:00
Brian Clozel
05d7ab4328
Merge branch '5.1.x'
2019-02-06 20:00:02 +01:00
Brian Clozel
ef8652615c
Log exception at ERROR level in CompositeLog
...
Fixes gh-22364
2019-02-06 19:58:41 +01:00
Juergen Hoeller
34ddb1e3cd
Merge branch '5.1.x'
2019-02-05 16:32:58 +01:00
Juergen Hoeller
9895e44d73
Polishing
2019-02-05 16:03:24 +01:00
Juergen Hoeller
643a68f81b
Detect existing jar URLs from URLClassLoader.getURLs()
...
Closes gh-22346
2019-02-05 16:02:50 +01:00
Sebastien Deleuze
0b9522c84e
Migrate Kotlin Mockito tests to Mockk
...
Closes gh-22345
2019-02-05 15:47:08 +01:00
Juergen Hoeller
4c9ae6494f
Concurrency/nullability fine-tuning in MimeType(Utils)
...
See gh-22340
2019-02-05 15:38:41 +01:00
Brian Clozel
1bf3b36ce8
Polish
...
See gh-22340
2019-02-05 15:06:33 +01:00
Brian Clozel
ba8849dda3
Avoid MimeType garbage creation
...
Prior to this commit, calls to `MimeType` and `MediaType` would create a
significant amount of garbage:
* during startup time, in the static sections of `MimeType` and
`MediaType` when creating well-known types
* at runtime, when parsing media types for content negotiation or
writing known media types as strings in HTTP response headers
This commit does the following:
* Avoid parsing the well-known types and use regular constructors
instead
* Cache types in a simple LRU cache once they've been parsed, since an
application is likely to deal with a limited set of types
* Avoid using `java.util.stream.Stream` in hot code paths
Benchmarks show that a complete revision of the `MimeTypeUtils` parser
is not required, since the LRU cache is enough there.
Closes gh-22340
2019-02-05 14:33:43 +01:00
Brian Clozel
862fa557bd
Avoid java.util.stream.Stream usage in hot paths
...
Prior to this commit, profiling sessions would show that using
`java.util.stream.Stream` in some hot code paths creates significant
garbage.
Where streams aren't really required, this commit turns those snippets
into imperative logic because those are likely to be called once or
multiple times per request.
Closes gh-22341
2019-02-05 12:14:51 +01:00
Juergen Hoeller
d27bae245a
Polishing
2019-02-05 00:45:28 +01:00
Juergen Hoeller
a27a6470f7
Polishing
2019-02-05 00:10:22 +01:00
stsypanov
248d3f8e8b
Use AtomicInteger instead of unsafe increment on volatile fields
2019-02-04 23:22:20 +01:00
Juergen Hoeller
80385ced4c
Remove java.sql dependency from ReflectionUtils/TransactionDefinition
...
Fixes gh-21996
2019-01-28 22:50:11 +01:00
Arjen Poutsma
4732f83d70
Fix Java 9 Build
...
Fix Java 9 build by replacing deprecated method.
2019-01-24 15:44:58 +01:00
Brian Clozel
2b65d0e51f
Fix error when writing empty String to DataBuffer
...
Prior to this commit, `DataBuffer.write` would throw an
`IllegalStateException` when called with an empty `String`, since the
`CharsetEncoder` would be flushed on an incorrent state.
This commit skips entirely the encoding phase for empty `String`.
Fixes #22262
2019-01-17 11:09:48 -05:00
Juergen Hoeller
72dddfbc7b
Polishing
2019-01-09 12:26:58 +01:00
Andrzej Leśkiewicz
952045c216
SPR-17606 @Profile mishandles "not" operand mixed with "&" ( #2066 )
...
Correct handling of not/and expressions in ProfilesParser
Issue: SPR-17606
2019-01-08 22:24:15 +01:00
Juergen Hoeller
f56fa91430
Polishing
2019-01-08 17:11:34 +01:00
Juergen Hoeller
9cb5369cb9
DependencyDescriptor supports TypeDescriptor resolution for fields
...
This allows for proper nested type conversion in @Value Optional fields analogous to method parameters, through a new TypeDescriptor-based method in the TypeConverter SPI. As an additional and less involved measure that is worth backporting, DefaultListableBeanFactory defensively checks for pre-converted Optional wrappers.
Issue: SPR-17607
2019-01-08 17:11:27 +01:00
Rossen Stoyanchev
673a20cb10
Defensive initialization of AsyncXMLInputFactory
...
Aalto's InputFactoryImpl already disables loading of external entities
by default (property "javax.xml.stream.isSupportingExternalEntities").
This commit goes further by applying the same defensive measures as we
do elsewhere for XMLInputFactory, which disables DTD completely.
Arguably there is no good reason to enable that by default in WebFlux.
2019-01-07 13:52:46 -05:00
Rossen Stoyanchev
4b24bcb799
More accurate checks for presence of MediaType.ALL
...
Typically a straight up equals as well as Collections#contains
checks for MediaType.ALL is susceptible to the presence of
media type parameters.
This commits adds equalsTypeAndSubtype as well as an
isPresentIn(Collection<MimeType>) methods to MimeType to faciliate
with checks for MediaType.ALL.
Issue: SPR-17550
2019-01-02 14:32:50 -05:00
Sebastien Deleuze
78a6429c32
Document NumberUtils.parseNumber() trim behavior
...
Issue: SPR-9523
2018-12-28 09:58:25 +01:00
Juergen Hoeller
31a24720a6
Consistent support for EnumSet subclasses in CollectionFactory
...
Issue: SPR-17619
2018-12-25 13:20:31 +01:00
Arjen Poutsma
5a8b8b11e4
Add test for calculateCapacity
...
Issue: SPR-17558
Closes gh-2054
2018-12-20 21:34:15 +01:00
Arjen Poutsma
a00be62b04
Calculating capacity before allocation.
...
This commit optimizes the `CharSequenceEncoder` to allocate `DataBuffer`
instances with a predicted capacity.
Issue: SPR-17558
2018-12-20 21:33:50 +01:00
Brian Clozel
4955d08f28
Use DataBuffer.write in CharSequenceEncoder
...
Since SPR-17558, `DataBuffer` now offers a new method to write Strings
to them. This commit makes `CharSequenceEncoder` use that.
Issue: SPR-17558
2018-12-20 21:33:44 +01:00
Brian Clozel
6361b0cb23
Write CharSequence instances to DataBuffers
...
Prior to this commit, one could write a `CharSequence` to an existing
`DataBuffer` instance by turning it into a byte array or `ByteBuffer`
first. This had the following disadvantages:
1. Memory allocation was not efficient (not leveraging pooled memory
when available)
2. Dealing with `CharsetEncoder` is not always easy
3. `DataBuffer` implementations, like `NettyDataBuffer` can use
optimized implementations in some cases
This commit adds a new `DataBuffer#write(CharSequence, Charset)` method
for those cases and also an `ensureCapacity` method useful for checking
that the current buffer has enough capacity to write to it..
Issue: SPR-17558
2018-12-20 21:33:33 +01:00
stsypanov
112cc70231
Improve performance of ConcurrentReferenceHashMap creation
2018-12-13 16:57:48 +01:00
igor-suhorukov
93189a6733
String.indexOf() expressions can be replaced with a call to the String.contains() method available in Java 5 and newer.
2018-12-13 12:29:31 +01:00
Juergen Hoeller
c48672c4c7
ParameterNameDiscoverer may return individual null entries in an array
...
Issue: SPR-17565
2018-12-12 21:56:17 +01:00
Rossen Stoyanchev
38ae282c3b
Update log category precision for all tests
...
Replace the full category capped at 36 chars with the class name only
and 1 char per package, e.g. org.apache.commons.Foo -> o.a.c.Foo
2018-12-12 11:40:33 -05:00
Juergen Hoeller
0ad35053fb
Upgrade to CGLIB 3.2.10
...
Includes upgrade to JarJar 1.7.2 and Tomcat 9.0.14.
Issue: SPR-17595
2018-12-12 16:03:31 +01:00
Juergen Hoeller
6eb0a60df9
Polishing
2018-12-12 11:16:53 +01:00
Juergen Hoeller
aaaf81ed99
Polishing
2018-12-06 15:53:57 +01:00
Juergen Hoeller
50e5bdb813
Clarified VfsResource constructor
...
Issue: SPR-17563
2018-12-04 22:09:06 +01:00
Juergen Hoeller
6d7827e36b
Polishing
2018-12-03 23:53:00 +01:00
Juergen Hoeller
d5dab12909
NettyDataBufferFactory.join returns single-element buffer as-is
...
Issue: SPR-17560
2018-12-03 23:52:35 +01:00
Sam Brannen
a528407d0c
Suppress warning
2018-11-23 18:05:47 +01:00
Sam Brannen
81fde5ec41
Ensure that MethodParameter.findParameterIndex() is thread-safe
...
Prior to this commit, parallel invocations of
MethodParameter.findParameterIndex() (invoked indirectly via
SynthesizingMethodParameter.forParameter() and
MethodParameter.forParameter()) could intermittently lead to an
IllegalArgumentException being thrown due to a race condition in the
internal implementation of the JDK's
java.lang.reflect.Executable.getParameters() method.
This commit addresses this issue by introducing a fallback for-loop
that iterates over the candidate parameters a second time using
equality checks instead of identity checks.
Issue: SPR-17534
2018-11-23 17:37:20 +01:00
Juergen Hoeller
56234fe877
Polishing
2018-11-22 22:03:36 +01:00
Juergen Hoeller
262c702da4
CachingMetadataReaderFactory releases shared cache Map on clearCache()
...
LocalResourceCache properly initializes cacheLimit on construction.
Issue: SPR-17527
2018-11-22 11:20:47 +01:00
Juergen Hoeller
fef0e21d8b
Remove unused LinkedList import
2018-11-20 22:16:51 +01:00
Juergen Hoeller
8c7579eba8
Polishing
2018-11-20 22:06:44 +01:00
stsypanov
02d3cfa42d
Use ArrayList instead of LinkedList
2018-11-20 21:54:51 +01:00
Vojtech Janota
12f168290d
SPR-17492: FastByteArrayOutputStream.read byte-to-int conversion
2018-11-20 17:08:01 +01:00
Arjen Poutsma
63275ae2b7
Add Test for LeakAwareDataBufferFactory
2018-11-19 16:56:25 +01:00
Juergen Hoeller
ce5c65c0b0
Upgrade to JAXB 2.3.1, Groovy 2.5.4, Jetty 9.4.14, Tomcat 9.0.13
...
Includes JAX-WS 2.3.1, Awaitility 3.1.3, OkHttp 3.12, Woodstox 5.2.
2018-11-19 12:41:26 +01:00
Stephane Nicoll
7b6f2f8fb3
Polish contribution
...
Closes gh-2019
2018-11-19 08:45:33 +01:00
Hanope
bfb49c7249
Fix typos
...
See gh-2019
2018-11-19 08:41:21 +01:00
Arjen Poutsma
539cfc24c6
Refactor AbstractEncoderTestCase
...
Refactor AbstractEncoderTestCase to resemble AbstractDecoderTestCase
Issue: SPR-17449
2018-11-16 14:33:26 +01:00
Arjen Poutsma
39ce989d1a
Add and use AbstractDecoderTestCase
...
Introduce new base test case for decoder tests, and use it.
Issue: SPR-17449
2018-11-16 14:33:26 +01:00
Rossen Stoyanchev
ba3fef3e8a
Refactor media types parsing improvements
...
Issue: SPR-17459
2018-11-13 23:02:09 -05:00
Dimitrios Liapis
f4b05dc2e7
MediaType parsing supports comma inside quotes
...
Issue: SPR-17459
2018-11-13 16:59:57 -05:00
Arjen Poutsma
4182935b7a
Revert optimization in StringDecoder
...
This commit reverts the first optimizations listed in
fa096dc60f
, as the default delimiters
do vary, namely by the charset given in the message mime type.
The mimetype charset might not be compatible with ASCII (i.e. anything
but UTF-8 or ISO-8859-1, for instance it might be UTF-16), and will not
successfully find the default delimiters as a consequence.
Added test to indicate the bug.
2018-11-13 13:38:13 +01:00
Arjen Poutsma
3bab3515b1
Add and use AbstractEncoderTestCase
...
Introduce new base test case for encoder tests, and use it.
Issue: SPR-17449
2018-11-13 13:35:37 +01:00
Arjen Poutsma
0c0de851f4
Add LeakAwareDataBufferFactory
...
Introduce a data buffer factory that can check for memory leaks in
@After methods.
Issue: SPR-17449
2018-11-13 13:35:37 +01:00
Arjen Poutsma
e31914bada
Polishing
2018-11-13 13:35:37 +01:00
Juergen Hoeller
40148c0560
Consistent use of ResolvableType.toClass() for assignability checks
...
Issue: SPR-17086
2018-11-12 20:29:37 +01:00
Rossen Stoyanchev
c187cb2fa1
Ensure client response is drained with onStatus hook
...
Issue: SPR-17473
2018-11-08 22:41:22 -05:00
Juergen Hoeller
e26ae9853e
Up-to-date version and link in ASM/CGLIB/Objenesis package javadoc
...
Issue: SPR-17267
Issue: SPR-17372
2018-11-08 16:56:48 +01:00
Juergen Hoeller
d9c1811d21
Deprecate NON_BRIDGED_METHODS constant as of 5.0.11 as well
...
Issue: SPR-17464
2018-11-05 22:59:18 +01:00
Juergen Hoeller
2ac4355ec0
ASM ClassReader leniently handles label offset mismatch (again)
...
Issue: SPR-17467
2018-11-05 17:44:23 +01:00
Juergen Hoeller
a3cd7af72d
Polishing
2018-11-05 12:27:35 +01:00
Juergen Hoeller
0a7dcf14f9
Deprecate ReflectionUtils.invokeJdbcMethod (for removal in 5.2)
...
Issue: SPR-17464
2018-11-05 12:26:20 +01:00
Rossen Stoyanchev
133b8b0b5a
Polish
2018-11-02 16:19:53 -04:00
Juergen Hoeller
dc8f6f7177
Upgrade to CGLIB 3.2.9
...
This CGLIB upgrade literally does not make any difference to Spring users since its only purpose is a default ASM7 declaration in its AsmApi class (which we patched a month ago). We nevertheless leave our local AsmApi copy in place for the time being, allowing for an individual upgrade of the declared ASM API version in the future.
Issue: SPR-17267
Issue: SPR-17371
2018-11-02 19:55:13 +01:00
Rossen Stoyanchev
fa096dc60f
Minor refactoring in StringDecoder + polish
...
1. Avoid re-creating the List with delimited byte arrays on every
request if using the default delimiters which don't vary by charset.
2. Replace flatMap with flatMapIterable for splitOnDelimiter.
3. Avoid going through DataBufferUtils#join, and unnecessarily creating
Flux from the List, since the join method needs a list anyway.
2018-10-26 13:24:53 -04:00
Juergen Hoeller
ffa032e78f
Polishing
2018-10-24 20:46:26 +02:00
Arjen Poutsma
488a1d4561
Review DataBufferUtils for cancellation memory leaks
...
Issue: SPR-17408
2018-10-24 16:28:21 +02:00
Arjen Poutsma
51bb96db47
Fix ResourceRegionEncoder and tests
...
Fix ResourceRegionEncoder so that it checks for resource existance
before writing boundaries. Also defer data buffer allocation until
necessary.
Issue: SPR-17419
2018-10-23 16:41:48 +02:00
Arjen Poutsma
eac9e66c46
Fix memory leak when canceling read from AsynchronousFileChannel
...
This commit fixes a memory leak that occurs when reading from a
AsynchronousFileChannel, and cancelling the subscription.
Issue: SPR-17419
2018-10-23 16:41:48 +02:00
Juergen Hoeller
f68b1e0bce
Upgrade to Objenesis 3.0.1
...
Issue: SPR-17372
2018-10-22 18:54:18 +02:00
Juergen Hoeller
c3c2383b0d
Align serialVersionUID declaration with ASM master
...
Issue: SPR-17267
2018-10-22 18:53:23 +02:00
Arjen Poutsma
946ec7e22e
Fix memory leaks in ProtobufDecoder
...
Issue: SPR-17418
2018-10-22 16:00:32 +02:00
Arjen Poutsma
a64e85fcc6
Javadoc
2018-10-22 16:00:32 +02:00
Arjen Poutsma
f738273486
Fix buffering issue in StringDecoder
...
Issue: SPR-17418
2018-10-22 16:00:32 +02:00
Juergen Hoeller
dd2ce20687
SpringFactoriesLoader tolerates whitespace around class names
...
Issue: SPR-17413
2018-10-22 15:13:58 +02:00
Juergen Hoeller
83a54dba7e
Avoid stacktrace if root resource is not resolvable in file system
...
Issue: SPR-17417
2018-10-22 15:13:49 +02:00
Arjen Poutsma
149d416e8e
Review DataBufferUtils for error/cancellation memory leaks
...
Issue: SPR-17408
2018-10-19 12:16:18 +02:00
Juergen Hoeller
7ff938b3ef
LogFormatUtils.formatValue leniently handles toString() exceptions
...
Issue: SPR-17397
2018-10-18 18:04:32 +02:00
Sebastien Deleuze
2c5a1af236
Leverage Java reflection for Kotlin enums
...
As discussed in KT-25165, from a Kotlin POV enum constructors
have no parameter, this is an "implementation detail"
required for running on the JVM, so it seems relevant to skip
Kotlin reflection in that case and just delegate to Java
reflection.
Issue: SPR-16931
2018-10-16 16:40:02 +02:00
Juergen Hoeller
b7e4a56e5c
Mark PathResourceTests as deprecated (along with PathResource)
...
Issue: SPR-17320
2018-10-12 13:17:28 +02:00
Juergen Hoeller
dcf2861db5
Upgrade to Objenesis 3.0
...
Includes jarjar upgrade since jarjar 1.3 fails to properly relocate Objenesis 3.0 classes into org.springframework.objenesis package.
Issue: SPR-17372
2018-10-12 13:17:01 +02:00
Juergen Hoeller
5474995288
Exclude original AsmApi class from CGLIB repack jar
...
Issue: SPR-17371
2018-10-12 12:14:00 +02:00
Juergen Hoeller
a2ae5f6972
Force CGLIB to always specify ASM7 for its visitors
...
Issue: SPR-17371
2018-10-12 12:01:50 +02:00
Juergen Hoeller
053820c4ff
Polishing
2018-10-09 23:14:49 +02:00
Juergen Hoeller
83909e6e1e
Consistent exposure of empty attribute arrays in AnnotationMetadata
...
Issue: SPR-17347
2018-10-09 23:14:13 +02:00
Juergen Hoeller
fdf340306d
Defensively use Class.forName instead of ClassLoader.loadClass
...
Issue: SPR-17333
2018-10-09 23:14:05 +02:00
Juergen Hoeller
cf3635b42d
Resource.lastModified() propagates 0 value if target resource exists
...
Includes use of Files.getLastModifiedTime for NIO Paths, preservation of NIO-based resolution on createRelative, deprecation of PathResource, and consistent use of getContentLengthLong over getContentLength.
Issue: SPR-17320
2018-10-09 23:13:11 +02:00
Juergen Hoeller
1e0de072f9
Upgrade to ASM 7.0 beta release
...
Issue: SPR-17267
2018-10-09 23:13:02 +02:00
Rossen Stoyanchev
c01f350abe
Move MonoToListenableFutureAdapter to spring-core
...
This was a package private class in spring-messaging since 5.0, and was
recently made public in 5.1. This commit promotes it to spring-core
where it belongs next to all other ListenableFuture support classes.
Follow-up refactoring for SPR-17336
2018-10-09 16:26:24 -04:00
Sam Hubbard
80e7819d6f
Fix construction of NullSafeComparator in nullsLow
...
Previously, both nullsLow(Comparator<T>) and
nullsHigh(Comparator<T>) returned a
NullSafeComparator which treated nulls as being
high. This commit corrects this typo.
2018-10-05 13:20:28 +02:00
www
9d5aced8c5
Fix formatting
...
Prefix the opening brace with a single space in some classes.
Replace tab character with space in javadoc of AttributeAccessor.
Also fix some other trivial formatting errors.
Closes gh-1979
2018-10-05 09:20:47 +02:00
Juergen Hoeller
ad29f97a05
Polishing
2018-09-29 17:16:25 +02:00
Rossen Stoyanchev
a6f9c4c599
LogFormatUtils is declared abstract
2018-09-19 11:54:05 -04:00
Arjen Poutsma
8a4835368d
Use doOnDiscard to free internally queued data buffers
...
Issue: SPR-17246
2018-09-19 13:24:45 +02:00
Juergen Hoeller
c634b2fae7
ResolvableType-based resolution uses BeanNamesByType cache if possible
...
Issue: SPR-17282
2018-09-18 15:30:43 +02:00
Juergen Hoeller
69e8bcdf40
Checkstyle updates from ASM master
...
Issue: SPR-17267
2018-09-17 19:09:07 +02:00
Juergen Hoeller
8e83f140d4
Polishing
2018-09-15 00:17:17 +02:00
Rossen Stoyanchev
db8e9eafb2
Add LogFormatUtils
...
1. Helper method to eliminate duplication in formatting (de-)serialized
values for logging introduced with prior commit #e62298.
2. Helper method for TRACE vs DEBUG logging with different details.
Issue: SPR-17254
2018-09-14 18:06:46 -04:00
Juergen Hoeller
41d4cb5cbf
Ordered stream access on ObjectProvider with strong order guarantees
...
Issue: SPR-17272
2018-09-14 23:56:25 +02:00
Rossen Stoyanchev
e62298eaad
Truncate logged encoded and decoded values if necessary
...
At DEBUG show up to 100 chars, at TRACE show full formatted value.
Note that the formatValue helper method is duplicated a number of times
in this commit. A utility method will likely be added in spring-core
through an extra commit.
Issue: SPR-17254
2018-09-14 12:20:03 -04:00
Juergen Hoeller
65c8fa400f
Consistent ordered list access and lazy streaming for ObjectProvider
...
Includes fallback match for collection/map dependency if qualified.
Issue: SPR-17272
Issue: SPR-17197
2018-09-13 18:23:19 +02:00
Arjen Poutsma
cde677a1f4
Fixed DefaultDataBuffer.toString()
2018-09-13 16:12:13 +02:00
Juergen Hoeller
45936f0ddd
ClassReader revision from ASM master
...
Issue: SPR-17267
2018-09-12 12:26:29 +02:00
Arjen Poutsma
f35f7db29b
Removed deprecated methods.
2018-09-11 13:36:44 +02:00
Arjen Poutsma
09af706af6
Use concatWith instead of mergeWith
2018-09-11 13:36:44 +02:00
Arjen Poutsma
1a0522b805
DataBufferUtils does not release DataBuffer on error cases
...
This commit makes sure that in DataBufferUtils.write, any received data
buffers are returned as part of the returned flux, even when an error
occurs or is received.
Issue: SPR-16782
2018-09-11 13:36:44 +02:00
Juergen Hoeller
1da4d504c4
Upgrade to ASM master (7.0 beta) and CGLIB 3.2.8
...
Issue: SPR-17267
2018-09-11 13:10:45 +02:00
Juergen Hoeller
c06b9525ac
UriComponentsBuilder copies query params through MultiValueMap.addAll
...
Issue: SPR-17256
2018-09-10 11:31:37 +02:00
Juergen Hoeller
e49896d95f
Upgrade to Mockito 2.22, XMLUnit 2.6.2, JavaMail 1.6.2
...
Also includes Apache Johnzon 1.1.9.
2018-09-10 10:52:24 +02:00
Juergen Hoeller
84ec382201
XMLEventReader.getElementText() properly checks for start element
...
Issue: SPR-17233
2018-09-07 12:56:15 +02:00
Sebastien Deleuze
8d45e3e7ef
Fix Kotlin inner class nested configuration handling
...
Before this commit, Kotlin inner class nested configuration
handling thrown an IndexOutOfBoundsException due to bogus filtering
of its constructor parameter reference to an instance of the outer
class.
This commit keep constructor parameter of type INSTANCE in order to
throw a more meaningful NoSuchBeanDefinitionException.
Issue: SPR-17222
2018-09-07 11:39:30 +02:00
Arjen Poutsma
259b2ca5f4
Added tests for errors in the source stream
...
This commit adds decoder/message-reader tests for errors in
the source data buffer publisher. Because the tests extend
AbstractDataBufferAllocatingTestCase, they also check whether
the buffers that precede the error in the stream are properly
released.
Issue: SPR-17025
2018-09-05 11:08:07 +02:00
Arjen Poutsma
196c0adf47
Fixed DataBufferUtils.join leak for error in source
...
This commit fixes an issue where DataBufferUtils.join() would not
release databuffers that preceded an error signal.
Issue: SPR-17025
2018-09-05 11:07:57 +02:00
Sam Brannen
326895246d
Polishing
2018-09-04 13:55:22 +02:00
Stephane Nicoll
2c1dca5b5e
Polish capitalisation of units on DataSize and javadoc of DataUnit
...
Issue: SPR-17240
2018-09-04 13:46:41 +02:00
stsypanov
7dba79c7c1
Use String::isEmpty instead of "".equals(arg) when arg is not null
2018-08-26 22:48:21 +02:00
Sam Brannen
08ba53dd0e
Ensure SocketUtils can be instantiated
...
Issue: SPR-17215
2018-08-26 21:49:21 +02:00
Sam Brannen
f6ee2508ef
Clean up warning in AnnotatedElementUtils
2018-08-23 18:24:18 +02:00
Juergen Hoeller
6ef0938a92
Defensive URL cleaning (preserving the original URL if possible)
...
Issue: SPR-17198
2018-08-22 14:12:39 +02:00
Juergen Hoeller
a6a6cf7d97
Upgrade to Java Activation Framework 1.2 as API dependency
...
Includes XMLUnit 2.6.1 and Undertow 2.0.13.
Issue: SPR-16115
2018-08-17 16:01:15 +02:00
Juergen Hoeller
2ac23badee
SimpleAliasRegistry.hasAlias properly resolves multiple chained aliases
...
Issue: SPR-17191
2018-08-17 09:54:14 +02:00
Juergen Hoeller
109a2b49e5
Consistently skip unnecessary search on superclasses and empty elements
...
Includes caching of declared annotation arrays and combined searching for several annotation types (used in SpringCacheAnnotationParser).
Issue: SPR-16933
2018-08-15 17:30:14 +02:00
Juergen Hoeller
ac544924c8
Polishing
2018-08-13 14:36:37 +02:00
Sam Brannen
8126ffbc8c
Fix broken links in JavaDoc
...
Issue: SPR-17174
2018-08-13 12:22:52 +02:00
Marten Deinum
5322fa0fb7
Use an import instead of FQCN
...
javax.xml.stream.Location is already there as an import there is no need
to use the FQCN in the handleDtd method.
2018-08-13 10:38:23 +02:00
Juergen Hoeller
df51ff0386
Revert to Map entry iteration for less expensive static initialization
...
Issue: SPR-17169
2018-08-12 20:52:55 +02:00
Stephane Nicoll
30b8d47814
Polish
2018-08-12 10:49:29 +02:00
Juergen Hoeller
2b2a5a414b
Polishing
2018-08-10 19:23:44 +02:00
Stephane Nicoll
f931a3fb59
Improve DataSize to support negative values
...
Issue: SPR-17154
2018-08-10 18:21:09 +02:00
Juergen Hoeller
aebb2d52e0
Logging refinements for transaction and cache processing (debug/trace)
...
Issue: SPR-16946
2018-08-10 15:45:46 +02:00
Stephane Nicoll
282a4ad2f6
Fix checkstyle violations
2018-08-10 14:43:16 +02:00
Stephane Nicoll
8a1588ae29
Add support for DataSize
...
This commit provides a data type to represents a size in bytes and other
standard unit.
Issue: SPR-17154
2018-08-10 14:28:46 +02:00
Sam Brannen
8ea913392c
Link to Eclipse bug for annotations on bridge methods
2018-08-09 18:49:24 +02:00
Juergen Hoeller
65f29a39ca
AbstractAspectJAdvisorFactory uses AnnotationUtils.getValue
2018-08-09 02:26:28 +02:00
Juergen Hoeller
4521a79b2d
Find annotations on implemented generic superclass methods as well
...
Includes Java 8 getDeclaredAnnotation shortcut for lookup on Class.
Issue: SPR-17146
2018-08-08 23:52:47 +02:00
Sergey Chupov
a06e63f619
Polishing javadocs: IllegalStateException no longer thrown
...
The dependency to Apache Commons has been removed in 51252ebbca (diff-95dc9d8756aa91afb2ac28454f1b634c)
, but the javadoc still mentions it.
2018-08-08 15:51:05 +02:00
Sam Brannen
7b608ab995
Ensure AnnotationUtilsTests pass in Eclipse again
2018-08-08 13:23:51 +02:00
Kazuhiro Sera
be211ceead
Fix typos detected by github.com/client9/misspell
2018-08-08 12:50:46 +02:00
Juergen Hoeller
b325c74216
Pruning of outdated JDK 6/7 references (plus related polishing)
2018-08-07 20:36:47 +02:00
Juergen Hoeller
2b051b8b32
Deprecate support classes for Sun's JDK HTTP server
...
Issue: SPR-17143
2018-08-07 20:35:53 +02:00
Juergen Hoeller
2d05f2ed47
SerializableTypeWrapper detects Graal through system property as well
...
Issue: SPR-17136
2018-08-07 11:15:43 +02:00
Juergen Hoeller
6b82a6c38c
Polishing
2018-08-07 02:47:00 +02:00
Juergen Hoeller
d72d376f03
Avoid unnecessary annotation introspection on framework methods
...
Issue: SPR-16933
2018-08-07 01:35:32 +02:00
Juergen Hoeller
8a9d042320
Javadoc fix from ASM master (6.2.1)
...
Issue: SPR-16398
2018-08-06 18:33:41 +02:00
Juergen Hoeller
69c6a40c50
Consistent nullability for array/collection input parameters
...
Includes pre-sizing of LinkedHashSet for conversion from array.
Issue: SPR-17123
Issue: SPR-17074
2018-08-06 14:11:59 +02:00
Rossen Stoyanchev
5095ec40b5
takeUntilByteCount actually uses takeUntil
...
Issue: SPR-17188
2018-08-02 21:19:22 +03:00
Rossen Stoyanchev
542ed81d5c
Polish
2018-08-02 21:19:22 +03:00
Juergen Hoeller
0001f87d59
Polishing
2018-08-01 12:52:50 +02:00
Juergen Hoeller
589b7048ec
Avoid synthesizable annotation creation for @Bean/@Scope processing
...
Includes consistent (non-)use of AnnotationUtils/AnnotatedElementUtils.
Issue: SPR-16933
2018-08-01 11:43:28 +02:00
Juergen Hoeller
9b671f8408
Polishing
2018-07-31 23:57:19 +02:00
Juergen Hoeller
6cd9060183
Avoid synthesizable check for common annotation types
...
This revision considers any java/javax and org.springframework.lang annotations as not synthesizable upfront, checking not only in isSynthesizable but also at synthesizeAnnotation(Array) level.
Issue: SPR-16933
2018-07-31 20:54:10 +02:00
Juergen Hoeller
4a147d26fc
Initialize pre-filled HashMaps with large enough capacity
...
Empty Maps are preferably initialized without capacity (not initializing them at all or lazily initializing with default capacity when needed).
Issue: SPR-17105
2018-07-30 22:07:31 +02:00
Juergen Hoeller
c037e75f26
Improve debug logging at BeanDefinitionReader and BeanFactory level
...
Issue: SPR-17090
2018-07-27 17:46:05 +02:00
Juergen Hoeller
e82efbc7e3
Declare ASM7_EXPERIMENTAL for full compatibility with JDK 11 bytecode
...
Issue: SPR-17096
2018-07-26 23:11:54 +02:00
Juergen Hoeller
9ab63b8494
ListBasedXMLEventReader uses defensive modifiable copy of given List
2018-07-25 19:03:13 +02:00
Juergen Hoeller
3881a4aded
Polishing
2018-07-25 14:16:02 +02:00
Juergen Hoeller
fd8e4abe5d
Introduce ResolvableType.toClass() shortcut
...
Issue: SPR-17086
2018-07-25 14:15:19 +02:00
Juergen Hoeller
fac2e35f96
Refactor util.log.LogUtils into core.log.LogDelegateFactory
...
Issue: SPR-17012
2018-07-24 14:44:34 +02:00
Sebastien Deleuze
f8f8d28f08
Support running Kotlin apps without kotlin-reflect
...
This commit includes an optimization of BeansUtils#instantiateClass
that favors Java reflection for default constructors before leveraging
Kotlin one for finding primary constructors and avoids Kotlin related
conditions when running in Java.
Issue: SPR-17069
2018-07-23 09:54:48 +02:00
Juergen Hoeller
bccff73e2b
AspectJExpressionPointcut leniently ignores non-composable interfaces
...
Issue: SPR-17003
2018-07-22 22:28:48 +02:00
Juergen Hoeller
cfbacfd89b
Revise ResolvableType.as for introspection performance
...
This revision limits serializability of derived interfaces, superclasses and type parameters, optimizing for introspection performance instead.
Issue: SPR-17070
2018-07-22 17:49:53 +02:00
stsypanov
5051850fa9
SPR-17074 Replace iteration over Map::ketSet with Map::entrySet
2018-07-21 13:12:43 +02:00
Juergen Hoeller
9a43d2ec20
Revised log levels: less WARN and INFO, fine-tuned DEBUG vs TRACE
...
Issue: SPR-16946
2018-07-20 15:05:16 +02:00
Juergen Hoeller
c4df335a1d
ReflectiveMethodExecutor invokes interface method if possible
...
Issue: SPR-16845
2018-07-19 16:35:59 +02:00
Juergen Hoeller
d0bbbf4cae
OrderUtils caches order values (for AnnotationAwareOrderComparator)
...
Issue: SPR-17064
2018-07-19 11:58:42 +02:00
Rossen Stoyanchev
4d6f2df3cb
Add LogUtils and HttpLogging
...
SPR-17012
2018-07-18 15:32:50 -04:00
Juergen Hoeller
23d4862017
Find annotations on implemented generic interface methods as well
...
Issue: SPR-16060
2018-07-18 19:44:30 +02:00
Sebastien Deleuze
e8034f2f96
Adapt DefaultParameterNameDiscoverer to Graal constraints
...
When compiling or running as a Graal native image, no
ParameterNameDiscoverer is used.
Issue: SPR-17005
2018-07-18 17:17:47 +02:00
Juergen Hoeller
cab35aa788
StringUtils.parseLocaleString detects variant without country
...
Includes tests for parsing all available locales on the JVM, checking toString/toLanguageTag equality between parsed and original locale.
Issue: SPR-7598
Issue: SPR-16651
2018-07-18 11:10:26 +02:00
Juergen Hoeller
88e4006790
CookieLocaleResolver is RFC6265 and language tag compliant by default
...
Like CookieLocaleResolver, LocaleChangeInterceptor parses both locale formats by default now. Since it does not need to render the locale, its languageTagCompliant property is not relevant anymore at all.
The parseLocale method in StringUtils validates the locale value now and turns an empty locale into null, compatible with parseLocaleString behavior and in particular aligned with web locale parsing needs.
Issue: SPR-16700
Issue: SPR-16651
2018-07-17 17:57:59 +02:00
Juergen Hoeller
cacd14c805
Never return null from AnnotationMetadata.getMetaAnnotationTypes
...
Issue: SPR-17046
2018-07-16 18:05:10 +02:00
Juergen Hoeller
f6fdffd663
Lazily retrieve delegate beans in AsyncConfigurer and CachingConfigurer
...
Introduces a configure method pattern for Supplier-style configuration and a common SingletonSupplier decorator for method reference suppliers. Also declares jcache.config and jcache.interceptor for non-null conventions.
Issue: SPR-17021
2018-07-14 19:29:32 +02:00
Rossen Stoyanchev
1b1bc7f5b5
Switch defaults and model for logging sensitive data
...
Issue: SPR-17029
2018-07-11 11:10:03 -04:00
Juergen Hoeller
6887802526
Fallback to ClassLoader.defineClass for Lookup.defineClass LinkageError
...
Issue: SPR-16902
2018-07-10 22:13:57 +02:00
Juergen Hoeller
a1d209726c
Upgrade to ASM master (6.2+) and CGLIB 3.2.7
...
Issue: SPR-16398
2018-07-10 18:51:01 +02:00
Juergen Hoeller
833343f17c
Specifically rethrow IllegalAccessError in isPresent/resolveClassName
...
Issue: SPR-17018
2018-07-09 14:31:45 +02:00
Juergen Hoeller
fd0220b85c
Suppress rawtypes warning for createReferenceArray
2018-07-09 14:28:15 +02:00
stsypanov
6d6aa72e8f
improve performance of projection instantiation
2018-07-09 13:39:23 +02:00
Rossen Stoyanchev
4bd22eeb13
Fallback logger for logging in http and codec packages
...
Issue: SPR-17012
2018-07-07 10:54:03 -04:00
Rossen Stoyanchev
bca9f51092
Polish hint for suppressing logging at Encoder/Decoder
2018-07-06 20:32:08 -04:00
Juergen Hoeller
d8c7270c00
Consistent Iterator/Stream support in PropertySources and PropertyValues
...
Issue: SPR-16894
2018-07-05 23:59:56 +02:00
Rossen Stoyanchev
82310660fd
Correlated encoding/decoding log messages via hints
...
Issue: SPR-16966
2018-07-05 08:28:15 -04:00
Juergen Hoeller
5dc8b5de6d
Polishing
2018-07-04 15:07:17 +02:00
Sebastien Deleuze
9b7a492bc9
Test RxReactiveStreams presence in ReactiveAdapterRegistry
...
Issue: SPR-17000
2018-07-03 18:00:47 +02:00
Sebastien Deleuze
dcbaecea2a
Perform explicit class checks in ReactiveAdapterRegistry
...
In order to allow Spring Framework applications running as GraalVM
native images, ReactiveAdapterRegistry should perform explicit class
checks instead of catching Throwable in order to avoid
UnsupportedFeatureError errors.
Issue: SPR-17000
2018-07-03 13:35:11 +02:00
Juergen Hoeller
779cf8d240
ConcurrentReferenceHashMap caches EntrySet in volatile field
...
Includes an efficient implementation of isEmpty(), not relying on a full entry count but rather backing out once a non-empty hash segment has been found.
Issue: SPR-16994
2018-07-02 22:32:57 +02:00
Juergen Hoeller
06f9fb9aeb
Refine Class serializability check for actual Graal compatibility
...
Issue: SPR-16992
2018-07-02 22:32:29 +02:00
Juergen Hoeller
e5a6711d29
Consistent final declaration for static delegate classes
...
Issue: SPR-16968
2018-07-02 13:55:18 +02:00
Juergen Hoeller
2ade122543
Bypass serializable type wrapping if java.lang.Class not serializable
...
Issue: SPR-16992
2018-07-02 13:55:03 +02:00
Juergen Hoeller
4ff1e3e74b
Consistent abstract declaration for utility classes (plus polishing)
...
Issue: SPR-16968
2018-07-01 02:31:20 +02:00
Rossen Stoyanchev
907a306ee2
Fix locally failing test in FlushingIntegrationTests
2018-06-29 18:15:52 -03:00
Juergen Hoeller
40efcc933c
Polishing
2018-06-28 14:51:33 +02:00
Juergen Hoeller
b68e692854
Conventions lazily retrieves shared ReactiveAdapterRegistry
...
Issue: SPR-16981
2018-06-28 14:47:52 +02:00
Juergen Hoeller
7a02e438e7
StringUtils.cleanPath retains plain pointer to current directory
...
Issue: SPR-16908
2018-06-28 14:15:16 +02:00
Phillip Webb
a89e716cc7
Use tabs rather than spaces in tests
...
Update tests to ensure that tabs are used instead of spaces. Also
consistently apply a new line at the end of each file.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
1c25cec44f
Polish test code
...
Polish a few issue identified when adding checkstyle to the
build. Although checkstyle is not enforcing rules on tests,
these are a few minor changes that are still worth making.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
81451aa800
Organize imports
...
Reorganize imports to ensure consistent ordering. This commit also
expands any `.*` static imports in favor of using fully-qualified
method references.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
b220d94cc2
Never use parenthesis for single lambda arguments
...
Update all lambdas that take a single argument so that parenthesis
are never used.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
5cedd0d5d4
Consistently use tabs rather than spaces
...
Update code that has accidentally used spaces instead of tabs.
Also remove all trailing whitespace.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
ad6d183a06
Remove unneeded conditional logic
...
Update `ConversionUtils` to remove conditional logic that isn't
necessary.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
9de3689f63
Never use 'this.' when accessing loggers
...
Ensure that `this.` is never used when accessing loggers.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0b53c1096a
Always use 'this.' when accessing fields
...
Ensure that `this.` is used consistently when accessing class
fields.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
eeebd51f57
Use consistent class design
...
Update all classes so that inner classes are always last. Also
ensure that utility classes are always final and have a private
constructor and make exceptions final whenever possible.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e9d1b39aff
Apply consistent copyright header
...
Add copyright header to `package-info.java` files and fix a few
malformed headers on existing java files.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
c3a17dfd47
Ensure all files end with a newline
...
Update all files to ensure that they always end with a new line.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e0480f75ac
Fix javadoc checkstyle issues
...
Fix checkstyle violations for javadoc.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Juergen Hoeller
847202c8f8
MimeTypeUtils lazily initializes SecureRandom for multipart boundary
...
Issue: SPR-16974
2018-06-25 18:12:43 +02:00
Rossen Stoyanchev
900bc8a2e3
Logging improvements for WebFlux
...
Issue: SPR-16898
2018-06-22 22:44:24 -04:00
Sam Brannen
cafb5033e2
Polishing
2018-06-19 13:50:13 +03:00
Sam Brannen
bea0e399b8
Polish profile expression support
...
Issue: SPR-12458
2018-06-17 00:15:18 +03:00
Sam Brannen
4184ebe799
Polish profile expression support
...
Issue: SPR-12458
2018-06-16 21:40:22 +03:00
Juergen Hoeller
38f9a7b072
FileSystemResource supports java.nio.file.Path based setup
...
Issue: SPR-16833
2018-06-15 22:12:14 +02:00
Juergen Hoeller
bb6ab5dc91
OS-independent alphabetical sorting of directory content
...
Issue: SPR-16838
2018-06-15 22:09:29 +02:00
Stephane Nicoll
1f3b4f1863
Polish "Add profile expression support"
...
Issue: SPR-12458
2018-06-15 16:01:16 +02:00
Phillip Webb
e2623b7d35
Add profile expression support
...
Allow the `Environment` to accept a generic `Profiles` interface which
can support more complex matching rules. The previous
`acceptsProfiles(String...)` method now uses `Profiles.of` which
supports basic profile expressions such as "(a | b) & !c"
Issue: SPR-12458
2018-06-15 16:01:16 +02:00
Juergen Hoeller
c38cb43527
MethodParameter strictly asserts parameter index -1 for return type
...
Issue: SPR-16889
2018-06-14 00:42:19 +02:00
Rossen Stoyanchev
0078f46779
Use reflection for JdkFlowAdapter
...
To avoid compiler issues on Eclipse.
2018-06-13 09:38:54 -04:00
Juergen Hoeller
0777a80efe
Polishing
...
(cherry picked from commit a2765c0
)
2018-06-11 19:17:57 +02:00
Brian Clozel
417354da8a
Remove dependency management noise from POMs
...
Prior to this commit, the generated POMs for Spring Framework modules
would contain unneeded/harmful information from the Spring Framework
build:
1. The BOM imports applied to each module by the dependency
management plugin, for example for Netty or Reactor Netty.
Spring should not export that opinion to its POMs.
2. The exclusion of "org.slf4:jcl-over-slf4j" from *all* dependencies,
which made the POMs much larger than necessary and suggested to
developers that they should exclude it as well when using all those
listed dependencies. In fact, only Apache Tiles currently brings that
transitively.
This commit removes that information from the POMs.
The dependencyManagement Gradle plugin is disabled for POM generation
and we manually resolve the dependency versions during the generation
phase.
The Gradle build is streamlined to exclude "org.slf4:jcl-over-slf4j"
only when necessary.
Issue: SPR-16893
2018-06-11 15:57:54 +02:00
Juergen Hoeller
b790bd1fd6
LinkedCaseInsensitiveMap explicitly implements put/computeIfAbsent
...
Issue: SPR-16926
2018-06-11 14:10:12 +02:00
Yun
28e402bc76
Prevent instantiation of AnnotatedElementUtils
...
Closes gh-1848
2018-06-11 08:32:03 +02:00
Rossen Stoyanchev
010352163b
Eliminate the need for Encoder#getContentLength
...
Issue: SPR-16892
2018-06-04 15:48:47 -04:00
Sebastien Deleuze
a7a29a8226
Revisit PropertyResolver Kotlin extensions
...
Issue: SPR-16883
2018-05-31 12:20:37 +02:00
Juergen Hoeller
616a40adb6
ClassPathResource.isReadable() returns false for content length 0
...
Issue: SPR-16832
2018-05-29 22:31:47 +02:00
Juergen Hoeller
74fcdea2d9
SimpleAliasRegistry logs info message for alias overriding
...
Issue: SPR-16871
2018-05-29 21:51:33 +02:00
Juergen Hoeller
46a89d9534
Restore lenient null return value for ConditionContext.getBeanFactory()
...
Includes nullable return value for getClassLoader() with corresponding notes in applicable javadoc.
Issue: SPR-16866
2018-05-29 21:51:06 +02:00
Juergen Hoeller
69f14a2038
ClassPathResource.isReadable() checks InputStream (for jar directories)
...
Resource.isReadable() is defined to semantically imply exists() now.
Issue: SPR-16832
2018-05-29 21:47:33 +02:00
Sebastien Deleuze
406f6ec74d
Fix PropertyResolverExtensions.kt location
2018-05-28 15:51:22 +02:00
Juergen Hoeller
836a09d5c0
Upgrade to Woodstox 5.1, XMLUnit 2.6, Gson 2.8.5
2018-05-25 00:18:06 +02:00
Rossen Stoyanchev
d58888777f
Polish ReactiveAdapterRegisry
2018-05-18 21:32:46 -04:00
Sebastien Deleuze
2c85be333c
Filter synthetic in ReflectionUtils#USER_DECLARED_METHODS
...
Issue: SPR-16823
2018-05-15 14:58:50 +02:00
Oleksandr Hasheniuk
6545cab42c
Improve performance of StringUtils#trimWhitespace
...
Issue: SPR-16766
2018-05-01 11:16:34 +02:00
nkjackzhang
fb0e3e9356
Fix a typo in @Nullable Javadoc
2018-04-18 11:53:09 +02:00
Juergen Hoeller
2f4010e8d3
Correctly delegate to OrderUtils.getPriority for DecoratingProxy
...
Issue: SPR-16739
2018-04-17 23:37:42 +02:00
Juergen Hoeller
d78e27f1e9
Avoid repeated superclass introspection in findAnnotation(Method,...)
...
Issue: SPR-16730
2018-04-17 16:44:28 +02:00
Juergen Hoeller
51be8a7303
Workaround for generic parameter types on inner class constructors
...
Issue: SPR-16734
2018-04-17 14:32:54 +02:00
Juergen Hoeller
0754833b37
Local XMLUnit dependency declarations with consistent version 2.5.1
2018-04-14 21:03:20 +02:00
Juergen Hoeller
b95e05db04
AspectJExpressionPointcut consistently resolves superinterface methods
...
Includes efficient check for same ClassLoader in ClassUtils.isVisible, efficient MethodMatchers check for IntroductionAwareMethodMatcher, and supertype method resolution in MethodMapTransactionAttributeSource.
Issue: SPR-16723
2018-04-14 15:10:05 +02:00
Juergen Hoeller
0efa7a05ad
ClassUtils.isCacheSafe delegates to isVisible for resolving classes
...
Issue: SPR-16714
2018-04-12 20:55:26 +02:00
Juergen Hoeller
46e3a919fe
Cache-safety check for sibling loaders resolving the same classes
...
Issue: SPR-16714
2018-04-12 18:50:32 +02:00
Andreas Asplund
6a34ca24ce
Restore org.springframework.cglib.core.KeyFactoryCustomizer.class
...
Issue: SPR-15859
2018-04-11 15:41:40 +02:00
Juergen Hoeller
da80502ea6
AnnotationUtils.getAnnotation non-null check for synthesizeAnnotation
...
Issue: SPR-16708
2018-04-11 12:50:27 +02:00
Juergen Hoeller
61c3db0869
MethodHandles.Lookup.defineClass for CGLIB class definition purposes
...
Spring's CGLIB fork is patched with local copies of affected files here, introducing the notion of a "contextClass" (e.g. the proxy superclass) which gets passed through to ReflectUtils.defineClass for delegating to MethodHandles.Lookup.defineClass eventually, against a privateLookupIn(contextClass) lookup context on JDK 9/10/11.
Issue: SPR-15859
2018-04-11 12:47:55 +02:00
Sam Brannen
8874427cf4
Clean up warnings in spring-core
2018-04-10 13:10:58 +02:00
Juergen Hoeller
5d0700b936
AnnotationUtils.annotatedInterfaceCache available as deprecated field
...
Issue: SPR-16675
2018-04-03 12:21:03 +02:00
Juergen Hoeller
6102715b8d
Consistent treatment of proxy classes and interfaces for introspection
...
Issue: SPR-16675
Issue: SPR-16677
2018-04-03 02:42:41 +02:00
Juergen Hoeller
cc379f1cc7
Polishing
2018-04-01 12:57:19 +02:00
Juergen Hoeller
912c270f2b
Polishing
2018-03-31 17:49:21 +02:00
Juergen Hoeller
129c05bcff
Comprehensively cache annotated methods for interfaces and superclasses
...
Issue: SPR-16675
2018-03-31 15:12:02 +02:00
Juergen Hoeller
4da27c2a73
Avoid unnecessary introspection on methods and meta-annotations
...
Issue: SPR-16667
2018-03-31 00:18:14 +02:00
Kazuki MATSUDA
d232fffa63
Use whenComplete since (null) return value not needed
2018-03-30 11:07:46 -04:00
Juergen Hoeller
22a8a668c9
AnnotationTypeFilter assumes no custom annotations on common Java types
...
Issue: SPR-16667
2018-03-30 15:31:43 +02:00
Juergen Hoeller
7a8d41e5d6
Extended set of common classes and language interfaces in ClassUtils
...
Issue: SPR-16667
2018-03-30 13:41:22 +02:00
Sam Brannen
a6c45f0cd9
Polishing
2018-03-30 11:45:28 +02:00
Juergen Hoeller
d553ddc5b3
Nullability refinements (based on IntelliJ IDEA 2018.1 introspection)
...
Issue: SPR-15756
2018-03-29 23:50:17 +02:00
Sam Brannen
17703e5dde
Polishing
2018-03-29 17:45:55 +02:00
Sam Brannen
7c28152c13
Introduce ClassUtils.isInnerClass() utility method
2018-03-29 17:45:25 +02:00
Juergen Hoeller
b165475eb6
Polishing
2018-03-29 16:05:52 +02:00
Juergen Hoeller
08dad4e3ac
Consistent references to primitive types (in alphabetical order)
2018-03-29 16:05:00 +02:00
Juergen Hoeller
53d01392d7
Workaround for inner class constructor parameter annotation bug in javac
...
Issue: SPR-16652
2018-03-29 15:45:02 +02:00
Juergen Hoeller
3ac46da22f
Correct description for doWithLocalFields
...
Issue: SPR-16658
2018-03-29 15:42:30 +02:00
Sam Brannen
4b9e3a9211
Introduce failing test for SPR-16652
...
This commit introduces tests for looking up annotations on parameters
in constructors for nested and inner classes via Spring's
MethodParameter abstraction.
The test for an inner class is currently disabled since it fails on
JDK 8. See JIRA issue for details.
Issue: SPR-16652
2018-03-28 17:42:55 +02:00
Juergen Hoeller
b2d87abcbb
Polishing
2018-03-28 12:06:38 +02:00
Rossen Stoyanchev
e00384a6fd
MimeTypeUtils trims parameter names / values
...
Issue: SPR-16630
2018-03-27 19:56:09 -04:00
Juergen Hoeller
e3d0ef6015
Use Map.forEach instead of manual Map.Entry iteration wherever possible
...
Issue: SPR-16646
2018-03-27 00:38:32 +02:00
Rossen Stoyanchev
ab2410c754
MimeTypeUtils uses SecureRandom
...
The prevailing current wisdom is to use the default constructor for
secure and let it pick the best algorithm for the OS.
On Java 8 (Oracle), Linux this results in "NativePRNG" which uses
/dev/random (potentially blocking) for the initial seed, and
/dev/urandom (non-blocking) for subsequent calls to nextInt.
Issue: SPR-16635
2018-03-23 21:45:41 -04:00
Juergen Hoeller
f00afe3247
Use (Concurrent)Map.computeIfAbsent for lazy nested collection creation
2018-03-23 17:36:23 +01:00
Rossen Stoyanchev
94c525cdc8
Polish @RequestPart support
2018-03-21 18:26:13 -04:00
Rossen Stoyanchev
2ff35daf9b
Add test case based on SPR-16615
2018-03-19 13:32:10 -04:00
Rossen Stoyanchev
30583a62cf
Fix Class isAssignableFrom checks for Resource conversion
...
Issue: SPR-16606
2018-03-16 16:18:05 -04:00
Juergen Hoeller
356ef45e99
ConcurrentReferenceHashMap properly handles getOrDefault for null values
...
Issue: SPR-16584
2018-03-14 17:17:04 +01:00
Juergen Hoeller
967a2ef2d2
Validate Class attributes as well as Class array attributes
...
Issue: SPR-16564
2018-03-12 20:41:44 +01:00
Juergen Hoeller
50e980c02f
Validate declared annotations before deciding between reflection and ASM
...
Issue: SPR-16564
2018-03-12 13:40:26 +01:00
Juergen Hoeller
1b1a69a144
SimpleAliasRegistry fully synchronizes registerAlias and removeAlias
...
Issue: SPR-16577
2018-03-12 13:27:48 +01:00
Sam Brannen
42b4f6e1ff
Clean up warnings and dead code in spring-core module
2018-03-11 14:13:30 +01:00
igor-suhorukov
0c45c4c6a3
lamdbas containing only one statement should not nest this statement in a block
2018-03-08 21:49:04 +01:00
Juergen Hoeller
139dc1d373
Polishing (collapsed if checks, consistent downcasts, refined javadoc)
2018-03-08 18:11:57 +01:00
igor-suhorukov
0f7485b01d
Polish: reorder the modifiers to comply with the Java Language Specification.
2018-03-08 17:57:47 +01:00
Rossen Stoyanchev
27815847b1
content-length support in EncoderHttpMessageWriter
...
EncoderHttpMessageWriter checks explicitly for Mono publishers and sets
the content length, if it is known for the given data item.
Issue: SPR-16542
2018-03-06 19:04:02 -05:00
Juergen Hoeller
eb9c43dcbc
Reliably expose nested cause exception message for PersistenceException
...
Issue: SPR-16559
2018-03-06 23:06:14 +01:00
Juergen Hoeller
c543368aad
Polishing
2018-03-03 17:33:48 +01:00
Juergen Hoeller
cd4f0935c5
Revised deprecation markers
2018-03-01 23:43:06 +01:00
igor-suhorukov
8080f56db8
Polish: "@Override" should be used on overriding and implementing methods
2018-03-01 00:15:18 +01:00
Juergen Hoeller
6663d0ff07
Support for ResolvableType.getType().getTypeName() on Java 8
...
Issue: SPR-16535
2018-02-26 17:19:12 +01:00
igor-suhorukov
49fd724d8f
Polish: String function use should be optimized for single characters
2018-02-25 20:48:47 +01:00
igor-suhorukov
c782075a13
Polish: Array designators "[]" should be on the type, not the variable
2018-02-25 13:14:20 +01:00
Juergen Hoeller
3531c104b0
Prefer Collections.addAll call with array over Set.addAll(Arrays.asList)
2018-02-25 00:21:39 +01:00
igor-suhorukov
67a91cf6f9
Polish: redundant pairs of parentheses should be removed
2018-02-25 00:01:43 +01:00
Juergen Hoeller
0f740527c1
Deprecated StringUtils.mergeStringArrays
2018-02-22 15:13:57 +01:00
Juergen Hoeller
a5cbf5fe24
Consistent use of Collection.toArray with zero-sized array argument
...
Includes consistent use of ClassUtils.toClassArray (as non-null variant)
Issue: SPR-16523
2018-02-22 11:29:46 +01:00
Juergen Hoeller
f316f6a46a
Remove unnecessary assertions from annotation resolution code paths
...
Issue: SPR-16514
2018-02-19 10:29:09 +01:00
Juergen Hoeller
d7cab23e6d
Consistent use of StringUtils.toStringArray
...
(cherry picked from commit 6d11b40
)
2018-02-16 20:49:17 +01:00
Juergen Hoeller
8d3264f680
Prefer List.sort(Comparator) over Collections.sort(List, Comparator)
2018-02-16 10:23:18 +01:00
Juergen Hoeller
3b810f3544
Consistent Class array vs vararg declarations (and related polishing)
2018-02-14 14:44:00 +01:00
Juergen Hoeller
99662bc702
Polishing
2018-02-13 23:32:10 +01:00
igor-suhorukov
45e520ed86
Polish: remove unused private fields, remove empty operator
2018-02-13 23:00:18 +01:00
Juergen Hoeller
0c78c9c6f7
Refined javadoc and exception messages
2018-02-13 15:25:42 +01:00
Vladimir Sitnikov
659f13be1c
Avoid creating message arguments to Assert.isABC calls
...
See 67f184293b
2018-02-13 12:31:49 +01:00
Juergen Hoeller
b449928691
Avoid unused arguments for internal delegates
2018-02-13 11:40:28 +01:00
Juergen Hoeller
b089ded5b0
Polishing
2018-02-12 15:55:18 +01:00
igor-suhorukov
0ee505b73e
Polish: assertion arguments should be passed in the correct order,
...
use assertNull instead of assertEquals(null, value),
declare delta as double value in assertEquals
2018-02-10 17:17:28 +01:00
igor-suhorukov
6ea0af3540
Polish: Lambdas should be replaced with method references
2018-02-10 12:09:46 +01:00
igor-suhorukov
9a6fbf59c5
Polish: follow name convention - make immutable fields final
2018-02-10 12:09:19 +01:00
Juergen Hoeller
e873b18f43
ResolvableType.forClassWithGenerics retains original TypeVariables
...
Issue: SPR-16456
2018-02-09 15:29:00 +01:00
Stephane Nicoll
991eb4858e
Update copyright header
2018-02-09 10:16:58 +01:00
igor-suhorukov
e381514b07
Collection.isEmpty() should be used to test for emptiness
...
Closes gh-1670
2018-02-09 10:11:44 +01:00
igor-suhorukov
4c888d0f32
Polish
...
Closes gh-1669
2018-02-09 10:10:05 +01:00
Arjen Poutsma
fb61af1882
Allow "release on close" for DataBuffer.asInputStream
...
This commit introduces DataBuffer.asInputStream(boolean), that can
release the underlying buffer when the stream is closed.
Furthermore, this commit adds additional javadoc.
Issue: SPR-16444
2018-02-08 10:11:53 +01:00
Arjen Poutsma
609f173ebc
StringDecoder shouldn't chop off strings randomly
...
Issue: SPR-16337
2018-02-02 15:59:21 +01:00
Juergen Hoeller
cfe7ff1c81
MimeType.compareTo uses case-insensitive Charset (analogous to equals)
...
Issue: SPR-16458
2018-02-02 13:44:07 +01:00
Juergen Hoeller
c5a33d62dd
TypeVariablesVariableResolver compares variables by full equality again
...
Issue: SPR-16456
2018-02-02 12:41:43 +01:00
Juergen Hoeller
30f6e447d5
TypeVariablesVariableResolver compares variables by name
...
Issue: SPR-16456
2018-02-02 11:34:36 +01:00
Juergen Hoeller
ef3f93e84a
Language tag parsing support in StringUtils and StringToLocaleConverter
...
Issue: SPR-16188
2018-01-25 19:10:31 +01:00
Arjen Poutsma
0befc60c8f
Renamed DataBufferUtils/DataBufferFactory.compose to join
...
Issue: SPR-16365
2018-01-22 10:51:07 +01:00
sdeleuze
3f3141cdda
Add additional test for SPR-16210
...
Issue: SPR-16210
2018-01-22 10:29:21 +01:00
Juergen Hoeller
b2ce98e881
Upgrade to CGLIB 3.2.6
...
Issue: SPR-16267
2018-01-20 14:29:56 +01:00
Juergen Hoeller
572c668726
Polishing
2018-01-19 21:30:37 +01:00
Arjen Poutsma
5520e730f1
DataBufferUtils.read should not take input stream/channel as parameter
...
Fixed by creating `Callable`-based variants, as explained in the JIRA
issue.
Issue: SPR-16403
2018-01-19 17:38:14 +01:00
Juergen Hoeller
4c7414833b
ResolvableType returns clone for cached state with original local source
...
Issue: SPR-16210
2018-01-19 12:30:03 +01:00
Juergen Hoeller
ea5f8f5a7c
Consistently handle NoClassDefFoundError in BeanUtils and related places
...
Issue: SPR-16369
2018-01-17 20:24:57 +01:00
Juergen Hoeller
4c9ed0d87e
Polishing
2018-01-12 18:24:00 +01:00
Juergen Hoeller
06e6386dc9
CollectionUtils.lastElement for common Set/List extraction
...
Issue: SPR-16374
2018-01-12 18:23:52 +01:00
Juergen Hoeller
347c2daa2c
Test for multiple interfaces at BridgeMethodResolver level
...
Issue: SPR-16288
2018-01-12 16:45:38 +01:00
Arjen Poutsma
67e7c784e8
Use DataBufferUtils.compose and remove writeAggregator
...
Use DataBufferUtils.compose instead of writeAggregator to combine
multiple data buffers into one, as the write aggregator would not work
when the initial data buffer did not have enough capacity to contain
all subsequent buffers.
Removed writeAggregator, as it is no longer needed.
Issue: SPR-16365
2018-01-12 10:36:09 +01:00
Arjen Poutsma
384a399fd2
Add DataBufferUtils.compose
...
Added a utility method that composes data buffers into a single buffer.
Depending on the `DataBuffer` implementation, the returned buffer may be
a single buffer containing all data of the provided buffers, or it may
be a true composite that contains references to the buffers.
Issue: SPR-16365
2018-01-12 10:36:09 +01:00
Juergen Hoeller
121f9e3734
BridgeMethodResolver properly resolves all declared interfaces
...
Issue: SPR-16288
2018-01-11 10:18:27 +01:00
Arjen Poutsma
5adaa1030c
Javadoc
2018-01-10 17:54:51 +01:00
Arjen Poutsma
8a129ef3da
Use write aggregator from DataBufferUtils
...
This commit uses the newly introduced write aggregator from
DataBufferUtils throughout WebFlux.
Issue: SPR-16351
2018-01-10 11:15:47 +01:00
Arjen Poutsma
69ccba30e9
Introduce write aggregator to DataBufferUtils
...
As a consequence of dropping CompositeByteBuf (see prior commit),
DataBuffers fluxes that are aggregated with Flux.reduce(BiFunction) are
now required to be released, as the composite no longer holds a
reference to subsequent data buffers.
For this purpose, DataBufferUtils now has a writeAggregator that can be
used with Flux.reduce, and that released the subsequent buffers
properly.
Issue: SPR-16351
2018-01-10 11:14:02 +01:00
Arjen Poutsma
e6893da971
Remove use of CompositeByteBuf in NettyDataBuffer
...
Prior to this commit, NettyDataBuffer had a optimization in
write(ByteBuf...), where it used a CompositeByteBuf to hold the original
and the parameter buffer.
Unfortunately, this procedure has nasty consequences when splicing
buffers (see https://stackoverflow.com/a/48111196/839733 ).
As of this commit, NettyDataBuffer stopped using CompositeByteBuf, and
simply does ByteBuf.write().
Issue: SPR-16351
2018-01-10 11:05:41 +01:00
Juergen Hoeller
45828cb934
Check BeanInfoFactory for interface introspection as well
...
Issue: SPR-16322
2018-01-08 18:05:02 +01:00
Juergen Hoeller
7ad69bfc20
Avoid extra existence check in SimpleMetadataReaderFactory
...
Issue: SPR-16281
2018-01-07 23:18:52 +01:00
Juergen Hoeller
1a154c3e4c
Consistently throw FileNotFoundException even for NIO access
...
Issue: SPR-16334
2018-01-07 23:18:28 +01:00
Rossen Stoyanchev
f4d8c7cc2b
Improve decodeToMono support
...
This commit ensures uniform support for decodeToMono across the various
byte and String related decoders.
Issue: SPR-16253
2017-12-14 16:59:34 -05:00
Christoph Dreis
260ebeca3a
Improve performance of some string operations
...
Issue: SPR-16293
2017-12-12 17:14:24 +01:00
Sam Brannen
767ea9db83
Fix minor logic error in SocketUtils
2017-12-06 17:00:29 -08:00
Tony Mitchell
9f36d170be
Support identical minPort and maxPort in SocketUtils ( #1612 )
...
This commit fixes a bug where an IllegalStateException was
thrown if the minPort and maxPort values supplied to
SocketUtils.findAvailableTcpPort(int, int) were identical.
2017-12-06 16:38:46 -08:00
Sam Brannen
f9689dfe48
Polishing
2017-12-06 15:54:02 -08:00
Sam Brannen
773cd3241b
Polishing
2017-11-28 14:11:21 +01:00
Juergen Hoeller
0cc644f61f
Polishing
2017-11-21 16:34:08 +01:00
sdeleuze
9f1d8517ba
Polish Kotlin source code style
2017-11-21 15:59:23 +01:00
Juergen Hoeller
5843173567
Polishing
2017-11-21 13:42:57 +01:00
jianglei
4b614dc1de
Fix copy/paste in Javadoc
...
Closes gh-1601
2017-11-21 06:58:14 +01:00
Rossen Stoyanchev
bc8e525e60
Add shared instance of ReactiveAdapterRegistry
...
Issue: SPR-16218
2017-11-20 17:02:22 -05:00
Juergen Hoeller
84699c8b9b
Document common use cases for @Order vs @Priority vs @DependsOn
...
Issue: SPR-16213
2017-11-20 12:53:37 +01:00
Arjen Poutsma
e4d405271a
Document DataBuffer/PooledDataBuffer and codecs
...
Issue: SPR-16156
2017-11-16 11:36:26 +01:00
diesieben07
0e49e32188
Handle parameters of Kotlin extension methods correctly
...
The EXTENSION_RECEIVER parameter of Kotlin's extension
methods appear as normal method parameters to Java and
thus require a name. The synthetic name "$receiver" is
used here, as it is not a valid Kotlin identifier,
but valid in Java.
Issue: SPR-16119
2017-11-13 15:42:32 +01:00
Sam Brannen
2be2aa7b96
Add missing word to JavaDoc
2017-11-13 00:46:20 +01:00
Arjen Poutsma
8223809455
Use existing CompositeByteBuf if possible
...
This commit uses the existing CompositeByteBuf if present, as opposed
to creating a new composite for every call to
NettyDataBuffer.write(ByteBuf...)
Issue: SPR-16180
2017-11-10 15:09:14 +01:00
Juergen Hoeller
9b7af8b5aa
Polishing
2017-11-05 21:07:26 +01:00
Juergen Hoeller
07b479e264
FileUrlResource creates same class from createRelative
...
Issue: SPR-16140
2017-11-05 21:01:29 +01:00
Juergen Hoeller
996d747aed
Upgrade to Mockito 2.11
...
Includes fixes for invalid exception declarations in Mockito-based unit tests. Also includes FreeMarker 2.3.27, Commons Pool 2.4.3, JSON-P 1.1.2.
Issue: SPR-16157
2017-11-04 01:06:59 +01:00
Juergen Hoeller
d00e4f17ec
ClassPathResource uses specific constructors in createRelative
...
Issue: SPR-16146
2017-11-02 16:05:57 +01:00
Juergen Hoeller
b921d564d2
DefaultResourceLoader resolves writable FileUrlResource for "file:" URL
...
Issue: SPR-16140
2017-11-02 16:05:40 +01:00
Juergen Hoeller
a2f5e1254e
Drive letter case alignment in addClassPathManifestEntries
...
Issue: SPR-16117
2017-10-26 15:28:27 +02:00
Juergen Hoeller
7e8c8f0b76
Polishing
2017-10-25 19:23:48 +02:00
Juergen Hoeller
2d0ab4740c
Consistent hasText checks for CharSequence vs String
...
Directly inlined hasLength implementations for proper nullability detection in IntelliJ, assuming a hasText checked value is never null afterwards. Since the JVM is going to do this at runtime anyway, this is effectively equivalent but more indicative for source code introspection algorithms.
Issue: SPR-15540
2017-10-24 13:16:47 +02:00
Juergen Hoeller
182da15908
BridgeMethodResolver properly resolves interface hierarchies
...
Issue: SPR-16103
2017-10-24 01:01:49 +02:00
Juergen Hoeller
55b0c2f243
Polishing
2017-10-24 01:01:42 +02:00
Juergen Hoeller
ecea82d3a5
Polishing
2017-10-23 17:14:09 +02:00
Juergen Hoeller
75ec973bae
Refined tests for StringUtils.starts/endsWithIgnoreCase
...
Issue: SPR-16095
2017-10-22 20:29:46 +02:00
Juergen Hoeller
5d41e0f012
Avoid temporary String creation in StringUtils.starts/endsWithIgnoreCase
...
Issue: SPR-16095
2017-10-22 14:31:17 +02:00
Juergen Hoeller
9a88ebdeba
Consistent hasText checks for CharSequence vs String
...
Issue: SPR-15540
2017-10-22 12:12:32 +02:00
Arjen Poutsma
c7a15260d6
Various DataBuffer improvements
...
This commit introduces various improvements in DataBuffer:
- DataBuffer now exposes its read and write position, as well as its
capacity and writable byte count.
- Added DataBuffer.asByteBuffer(int, int)
- DataBufferUtils.read now reads directly into a DataBuffer, rather than
copying a ByteBuffer into a DataBuffer
- TomcatHttpHandler now reads directly into a DataBuffer
Issues: SPR-16068 SPR-16070
2017-10-19 10:38:52 +02:00
Juergen Hoeller
3d1023be8c
Polishing
2017-10-17 11:56:30 +02:00
Rossen Stoyanchev
b4c95bf278
ReactiveAdapterRegistry uses Reactor's JdkFlowAdapter
...
Issue: SPR-16052
2017-10-16 20:49:22 -04:00
Juergen Hoeller
c29b6f5b55
Consistent handling of null array for arguments
...
Issue: SPR-16075
2017-10-16 15:34:18 +02:00
Sam Brannen
8a94077da0
Clean up warnings in spring-core
2017-10-15 18:28:08 +02:00
Juergen Hoeller
43b5e21947
Consistent alias declarations for value attribute on stereotypes
...
Issue: SPR-16066
2017-10-13 18:18:12 +02:00
Juergen Hoeller
dc3299152c
Polishing
2017-10-09 16:06:03 +02:00
Juergen Hoeller
53091c76bf
Convenient forType methods for ParameterizedTypeReference
...
Issue: SPR-16054
2017-10-09 13:59:01 +02:00
Juergen Hoeller
ec345bf162
Revised handling of missing data class arguments
...
Includes unified detection of Kotlin's optional parameters in MethodParameter.isOptional(), reduces BeanUtils.findPrimaryConstructor to Kotlin semantics (for reuse in AutowiredAnnotationBeanPostProcessor), and finally introduces a common KotlinDetector delegate with an isKotlinType(Class) check.
Issue: SPR-15877
Issue: SPR-16020
2017-09-28 00:31:12 +02:00
Juergen Hoeller
efce7902c4
Polishing
2017-09-27 01:34:11 +02:00
Juergen Hoeller
9d8e3d4185
Explicit check for duplicates in addClassPathManifestEntries
...
Issue: SPR-15989
2017-09-26 11:49:49 +02:00
Sebastien Deleuze
3996f33399
Support non-standard classes in Kotlin reflection discovery methods
...
Issue: SPR-15999
2017-09-24 23:10:40 +02:00
Juergen Hoeller
e2882fe1db
Build against EE 8 API level wherever possible
...
Upgrade to JAXB 2.3, JAX-WS 2.3, Annotations 1.3.1, Interceptor 1.2.1.
Also includes Log4J 2.9.1 and Asciidoctor 1.5.6.
2017-09-24 17:18:21 +02:00
Juergen Hoeller
9190b76ab9
Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine 2.5.6, RxJava 2.1.4, Tomcat 8.5.21, JRuby 9.1.13, Rhino 1.7.7.2)
2017-09-23 11:28:19 +02:00
Juergen Hoeller
7ae59d0c2a
Nullability refinements on private and static methods
...
Based on IntelliJ IDEA 2017.3 introspection results.
Issue: SPR-15756
2017-09-22 18:22:14 +02:00
Sebastien Deleuze
6c4a103f70
Remove support for generics nullability for now
...
See https://github.com/Kotlin/KEEP/issues/79
2017-09-21 18:44:27 +02:00
Juergen Hoeller
15c82afc1c
Consistent conversion of Optional array/list arrangements
...
Issue: SPR-15918
Issue: SPR-15919
Issue: SPR-15676
2017-09-20 18:28:49 +02:00
Juergen Hoeller
185c2bf5b6
Upgrade to ASM 6.0
...
Issue: SPR-14514
2017-09-19 13:49:32 +02:00
Juergen Hoeller
346d2edce1
Revised org.springframework.lang javadoc
...
Issue: SPR-15756
2017-09-18 23:59:11 +02:00
Sebastien Deleuze
1bc93e3d0f
Revisit nullability annotations
...
This commit introduces the following changes.
1) It adds a new Spring @NonNull annotation which allows to apply
@NonNullApi semantic on a specific element, like @Nullable does.
Combined with @Nullable, it allows partial null-safety support when
package granularity is too broad.
2) @Nullable and @NonNull can apply to ElementType.TYPE_USE in order
to be used on generic type arguments (SPR-15942).
3) Annotations does not apply to ElementType.TYPE_PARAMETER anymore
since it is not supported yet (applicability for such use case is
controversial and need to be discussed).
4) @NonNullApi does not apply to ElementType.FIELD anymore since in a
lot of use cases (private, protected) it is not part for the public API
+ its usage should remain opt-in. A dedicated @NonNullFields annotation
has been added in order to set fields default to non-nullable.
5) Updated Javadoc and reference documentation.
Issue: SPR-15756
2017-09-15 13:26:41 +02:00
Sebastien Deleuze
5ae35f606c
Leverage kotlin-reflect to determine parameter names
...
This is especially useful to determine interface parameter names
without requiring Java 8 -parameters compiler flag.
Issue: SPR-15541
2017-09-06 15:56:45 +02:00
Juergen Hoeller
204ddebd68
SimpleAsyncTaskExecutor properly respects NO_CONCURRENCY
...
Issue: SPR-15895
2017-09-01 13:44:49 +02:00
Brian Clozel
397fd24849
Revert "Leverage Kotlin plugin dependency management"
...
This reverts commit 3e2f6c848a
.
2017-08-22 21:29:39 +02:00
Sebastien Deleuze
3e2f6c848a
Leverage Kotlin plugin dependency management
2017-08-22 17:35:57 +02:00
Sebastien Deleuze
ab6430569d
Efficient Kotlin metadata detection
...
Follow-up of 3991ab4a23
.
Issue: SPR-15673
2017-08-22 16:22:25 +02:00
Brian Clozel
cc3d7d2d48
Apply dependency management to selected modules
...
This commit applies the Dependency Management Plugin to modules that
require it; right now Spring Framework is importing BOMs for Netty and
Reactor dependencies only.
Instead of applying those BOMs to all modules, they're applied only
where they're needed.
Issue: SPR-15885
2017-08-21 14:42:03 +02:00
Brian Clozel
2eeb428e95
Move modules to independent build files
...
The main `build.gradle` file contains now only the common build
infrastructure; all module-specific build configurations have
been moved to their own build file.
Issue: SPR-15885
2017-08-21 14:41:55 +02:00
Juergen Hoeller
3991ab4a23
Efficient Kotlin metadata detection
...
Issue: SPR-15673
2017-08-21 01:33:20 +02:00
Sebastien Deleuze
73cf07e9a4
Fix overridden methods nullability
...
Issue: SPR-15869
2017-08-17 15:02:59 +02:00
Juergen Hoeller
fabc9c28d7
Align new FileSystemUtils NIO implementation with original behavior
...
Issue: SPR-15845
Issue: SPR-15846
2017-08-03 14:21:00 +02:00
Juergen Hoeller
26de6268aa
Polishing
2017-07-27 16:06:56 +02:00
Juergen Hoeller
fac83b2e7c
Consistent logging in Environment and PropertySource implementations
...
Issue: SPR-15825
2017-07-27 16:02:18 +02:00
Juergen Hoeller
c5fc400534
(AnnotationAware)OrderComparator supports null values again
...
Issue: SPR-15823
2017-07-27 11:39:05 +02:00
Arjen Poutsma
d5da823482
Fix race condition for AsynchronousFileChannel
...
This commit fixes an issue in the DataBufferUtils.write variant that
takes a AsynchronousFileChannel.
Issue: SPR-15798
2017-07-26 14:10:48 +02:00
Rossen Stoyanchev
d7a7b08b08
Find the last plus for suffix MediaType
...
Issue: SPR-15795
2017-07-25 10:45:59 +02:00
Sebastien Deleuze
2437500cfe
Ignore DataBufferUtilsTests#writeAsynchronousFileChannel
...
Issue: SPR-15798
2017-07-20 13:51:13 +02:00
Juergen Hoeller
e4651d6b50
XmlEventDecoder uses common defensive XMLInputFactory (now in StaxUtils)
...
Issue: SPR-15797
2017-07-20 13:17:27 +02:00
Sebastien Deleuze
fa4d139684
Support instantiating Kotlin classes with optional parameters
...
This commit updates BeanUtils class in order to add Kotlin optional
parameters with default values support to the immutable data classes
support introduced by SPR-15199.
Issue: SPR-15673
2017-07-20 10:44:06 +02:00
Juergen Hoeller
46eba3dbfa
Nullability fine-tuning around declaration inconsistencies
...
Issue: SPR-15720
Issue: SPR-15792
2017-07-19 22:22:20 +02:00
Juergen Hoeller
9fc4fb10b0
Nullability fine-tuning around bean properties
...
Issue: SPR-15720
Issue: SPR-15792
2017-07-19 11:43:58 +02:00
Sebastien Deleuze
fb4ddb0746
Make getters and setters null-safety consistent
...
This commit ensure that null-safety is consistent between
getters and setters in order to be able to provide beans
with properties with a common type when type safety is
taken in account like with Kotlin.
It also add a few missing property level @Nullable
annotations.
Issue: SPR-15792
2017-07-19 09:07:56 +02:00
Sebastien Deleuze
e2fd04dff3
Add a [] Kotlin extension for PropertyResolver#getRequiredProperty
2017-07-19 08:12:32 +02:00
Juergen Hoeller
12114a9d4c
Consistent use of NIO.2 for file read/write interactions
...
Issue: SPR-15748
2017-07-18 00:54:41 +02:00
Rossen Stoyanchev
d56fedc226
Methods for reading a Resource in DataBufferUtils
...
Currently ResourceEncoder and ResourceRegionEncoder use DataBufferUtils
to read resource with an AsynchronousFileChannel if it is a file or
otherwise fallback on getting the channel from the resource.
The same is now required in other places where a Resource needs to be
read and is also generally useful.
Issue: SPR-15773
2017-07-17 12:25:25 +02:00
Rossen Stoyanchev
d3749bc1ec
Add timeout to DataBufferUtilsTests to avoid hanging
2017-07-14 23:07:48 +02:00
Arjen Poutsma
c802827f0f
Change write methods to return Flux<DataBuffer>
...
This commit changes the write methods to return `Flux<DataBuffer>`
instead of `Mono<Void>`, giving access to the original buffers,
so that they can decided whether the buffers need to be closed or not.
Issue: SPR-15726
2017-07-14 18:55:25 +02:00
Arjen Poutsma
83051b06b8
Add write methods to DataBufferUtils
...
This commit adds an overloaded write method to `DataBufferUtils`. There
are three parameter variants: `OutputStream`, `WritableByteChannel`, and
`AsynchronousFileChannel`.
Issue: SPR-15726
2017-07-14 17:13:59 +02:00
Rossen Stoyanchev
dfcc9af938
Lazy registration in ReactiveAdapterRegistry
...
Issue: SPR-15747
2017-07-11 13:04:43 +02:00
Juergen Hoeller
3714e7b044
Deprecate FileSystemUtils
...
Issue: SPR-15748
2017-07-10 14:25:13 +02:00
Juergen Hoeller
9b5132ce53
LinkedCaseInsensitiveMap exposes its locale for key conversion
...
Issue: SPR-15752
2017-07-10 14:24:28 +02:00
Juergen Hoeller
398322139a
StringUtils.uncapitalize is not actually nullable
...
Issue: SPR-15540
2017-07-05 17:56:37 +02:00
Arjen Poutsma
621df7c978
Add ByteBuf leak detection @Rule
...
This commit introduces a JUnit rule that detects ByteBuf leaks in
subclasses of AbstractDataBufferAllocatingTestCase.
2017-06-30 10:52:00 +02:00
Juergen Hoeller
cc74a2891a
@Nullable all the way: null-safety at field level
...
This commits extends nullability declarations to the field level, formalizing the interaction between methods and their underlying fields and therefore avoiding any nullability mismatch.
Issue: SPR-15720
2017-06-30 01:54:16 +02:00
Juergen Hoeller
87430f3cd3
ListenableFuture provides CompletableFuture adaptation via completable()
...
Issue: SPR-15696
2017-06-27 00:43:37 +02:00
Juergen Hoeller
41eaf03bc8
Compatibility with covariant return type on JDK 9's ByteBuffer
...
Issue: SPR-15686
2017-06-26 23:22:28 +02:00
Juergen Hoeller
098ff6f0f8
Compatibility with JDK 9 release candidate build (175)
...
Includes upgrade to Objenesis 2.6, Gradle 3.5.1, RxJava 2.1.1, JSON Binding API 1.0 final.
Issue: SPR-15686
Issue: SPR-15600
2017-06-26 18:58:59 +02:00
Stephane Nicoll
58242f2249
Polish
2017-06-13 10:13:14 +02:00
Stephane Nicoll
fc64b8040f
Polish "Replace relevant code with lambda"
...
Closes gh-1454
2017-06-13 09:42:20 +02:00
diguage
4b1478d830
Replace relevant code with lambda
...
See gh-1454
2017-06-13 08:55:38 +02:00
Juergen Hoeller
3ae84d6dd8
Consistent support for Charset/StandardCharsets in UriUtils etc
...
Issue: SPR-15613
2017-06-12 15:51:45 +02:00
diguage
2efa06237a
Use Map#forEach instead of Map#entrySet#forEach
...
See gh-1449
2017-06-12 14:37:33 +02:00
Arjen Poutsma
9bf82dc18f
Add addAll(MultiValueMap)
...
This commit introduces a new method for MultiValueMap: addAll, which
adds all values of a given map (cf putAll, which replaces existing
values).
2017-06-12 14:12:12 +02:00
Arjen Poutsma
7085a30382
Improve capacity calculcation in DefaultDataBuffer
...
This commit improves the capacity calculation for the DefaultDataBuffer,
so that the capacity typically doubles instead of improving by the
minimal required amount.
Issue: SPR-15647
2017-06-12 11:04:19 +02:00
Stephane Nicoll
27aabb15f9
Polish "Refact iterator of Map with Java 8 forEach"
...
Closes gh-1451
2017-06-12 08:53:56 +02:00
diguage
dab7a7f0ee
Refact iterator of Map with Java 8 forEach
...
See gh-1451
2017-06-12 08:11:32 +02:00
Juergen Hoeller
fd53d2a51a
Consistent use of @Nullable in spring-test
...
This commit also removes nullability from two common spots: ResolvableType.getType() and TargetSource.getTarget(), both of which are never effectively null with any regular implementation. For such scenarios, a non-null empty type/target is the cleaner contract.
Issue: SPR-15540
2017-06-08 22:52:59 +02:00
Juergen Hoeller
e6f1950952
Missing @Nullable annotations for findAnnotation/getValue/getDefaultValue
...
Note that synthesizeAnnotation has an assertion now, keeping its non-null policy.
Issue: SPR-15642
2017-06-08 10:35:54 +02:00
Phillip Webb
72cd24446d
Make resolvePropertyName available to subclasses
...
Change `SystemEnvironmentPropertySource.resolvePropertyName` to a
protected final method so that subclasses may call it.
Issue: SPR-15617
2017-06-07 17:03:31 -07:00
Phillip Webb
c675424189
Restore AnnotationUtils null argument support
...
Update AnnotationUtils to restore support for `null` arguments in
certain methods. Some existing upstream projects were relying on this
behavior.
Issue: SPR-15642
2017-06-07 16:59:24 -07:00
Juergen Hoeller
f813712f5b
Consistent use of @Nullable across the codebase (even for internals)
...
Beyond just formally declaring the current behavior, this revision actually enforces non-null behavior in selected signatures now, not tolerating null values anymore when not explicitly documented. It also changes some utility methods with historic null-in/null-out tolerance towards enforced non-null return values, making them a proper citizen in non-null assignments.
Some issues are left as to-do: in particular a thorough revision of spring-test, and a few tests with unclear failures (ignored as "TODO: NULLABLE") to be sorted out in a follow-up commit.
Issue: SPR-15540
2017-06-07 14:19:15 +02:00
Stephane Nicoll
6e3a9cbbb4
Polish "Refactor duplicated code"
...
Closes gh-1445
2017-06-04 13:06:09 +02:00
diguage
5288641c50
Refactor duplicated code
...
See gh-1445
2017-06-04 13:01:03 +02:00
diguage
eae63786c2
Fixed reference
2017-06-03 15:19:36 +08:00
Sebastien Deleuze
90df7dd279
Add missing @Nullable annotation
...
Issue: SPR-15540
2017-06-02 14:16:19 +02:00
Sebastien Deleuze
b494c53b40
Avoid defining nullability for non-relevant API
...
Defining nullability of some API like EnvironmentCapable
or ConditionContext causes issues in Spring Boot because
in the context where they are used, it is known for sure
they will return non-null values even if their API can in
other context return null values.
It is better in this case for both Java and Kotlin to
not define at all the nullabity of such API.
In practice, this is achieved by removing the package level
@NonNullApi annotation and adding it only on the
relevant classes.
Issue: SPR-15540
2017-05-31 22:51:33 +02:00
Sebastien Deleuze
1f28825f9d
Add more @Nullable parameters based on null usage
...
Issue: SPR-15540
2017-05-31 21:42:23 +02:00
Sebastien Deleuze
c3e6afb879
Improve null-safety to fix some Spring Boot warnings
...
Issue: SPR-15540
2017-05-31 17:14:49 +02:00
Sebastien Deleuze
b47d713e14
Add missing @Nullable annotations on parameters
...
Issue: SPR-15540
2017-05-31 16:56:08 +02:00
Sebastien Deleuze
ad2c0f8410
Improve @Nullable annotation
...
This commit makes Spring @Nullable annotation leveraging
JSR 305 @TypeQualifierNickname + @Nonnull(when= When.MAYBE)
instead of directly using @javax.annotation.Nullable which
seems not designed to be used as a meta-annotation.
It also removes @TypeQualifierDefault since the purpose of
this annotation when applied at method level is to only
change return value nullability, not parameters one.
Issue: SPR-15540
2017-05-31 16:56:08 +02:00
Sebastien Deleuze
87598f48e4
Introduce null-safety of Spring Framework API
...
This commit introduces 2 new @Nullable and @NonNullApi
annotations that leverage JSR 305 (dormant but available via
Findbugs jsr305 dependency and already used by libraries
like OkHttp) meta-annotations to specify explicitly
null-safety of Spring Framework parameters and return values.
In order to avoid adding too much annotations, the
default is set at package level with @NonNullApi and
@Nullable annotations are added when needed at parameter or
return value level. These annotations are intended to be used
on Spring Framework itself but also by other Spring projects.
@Nullable annotations have been introduced based on Javadoc
and search of patterns like "return null;". It is expected that
nullability of Spring Framework API will be polished with
complementary commits.
In practice, this will make the whole Spring Framework API
null-safe for Kotlin projects (when KT-10942 will be fixed)
since Kotlin will be able to leverage these annotations to
know if a parameter or a return value is nullable or not. But
this is also useful for Java developers as well since IntelliJ
IDEA, for example, also understands these annotations to
generate warnings when unsafe nullable usages are detected.
Issue: SPR-15540
2017-05-27 08:57:01 +02:00
Juergen Hoeller
db69a082d9
Avoid java.util.Optional signatures for simple field access
...
Issue: SPR-15576
2017-05-23 22:05:15 +02:00
Juergen Hoeller
7b3f5fd855
ResourceUtils.extractArchiveURL properly deals with top-level war URLs
...
Issue: SPR-15556
2017-05-17 14:22:43 +02:00
Rossen Stoyanchev
0d28a1c32b
Polish
2017-05-05 15:02:09 -04:00
Rossen Stoyanchev
83e0e1604a
Refine encoding/decoding exception handling
...
Starting with removing a package cycle on the use of
ResponseStatusException in the codec package, this commit generally
refines codec exception handling.
The new [Encoding|Decoding]Exception mirror the existing
HttpMessageNot[Readable|Writable]Exception and are used similarly
especially to differentiate betwen 400 and 500 errors when parsing
server request body content.
The commit also aligns some of the exception handling of JSON and XML
on the WebFlux side with that on the Spring MVC side.
Issue: SPR-15516
2017-05-05 14:29:43 -04:00
Juergen Hoeller
652266bcc2
Polishing
2017-05-04 22:27:36 +02:00
Juergen Hoeller
d43dfc7bae
Properly extract jar file from Tomcat war URL
...
Issue: SPR-15485
2017-05-03 21:58:59 +02:00
Juergen Hoeller
4d86515fa5
Overridable Commons Logging bridge in separate spring-jcl jar
...
Issue: SPR-14512
2017-05-03 20:29:05 +02:00
Juergen Hoeller
27057889f8
Polishing
2017-05-03 13:45:29 +02:00
Phillip Webb
07ef7a97c7
Cache SpringFactoriesLoader loads
...
Update `SpringFactoriesLoader` to cache property file loads. This helps
reduce the number of garbage objects created as each load uses an 8K
char buffer.
Issue: SPR-15509
2017-05-03 12:51:52 +02:00
Arjen Poutsma
ed4bd43cac
Add writableChannel to WritableResource
...
This commit introduces a `writableChannel()` method to
`WritableResource`, defaulting to `Channels.newChannel`, but with
overrides for file-based resources.
2017-05-03 11:44:01 +02:00
Juergen Hoeller
9d8e9cf243
Common root cause introspection algorithm in NestedExceptionUtils
...
Issue: SPR-15510
2017-05-03 11:31:28 +02:00
Juergen Hoeller
817e80c56b
Property actually throws exception for no write method found
...
Issue: SPR-15507
2017-05-02 21:16:31 +02:00
Juergen Hoeller
7ca0094fa1
ResolvableType.clearCache() clears SerializableTypeWrapper cache as well
...
Issue: SPR-15503
2017-05-02 21:13:55 +02:00
Stephane Nicoll
1b9e12f52f
Polish "Use Java 8 forEach method on Map"
...
Closes gh-1404
2017-04-28 11:07:08 +02:00
Jon Borenstein
13dc0cd828
Use Java 8 forEach method on Map
2017-04-28 11:07:08 +02:00
Juergen Hoeller
1ea54eb2c6
GenericFilterBean lazily initializes its default environment
...
Alignment with HttpServletBean; consistent use of EnvironmentCapable.
Issue: SPR-15469
2017-04-27 21:38:30 +02:00
Juergen Hoeller
baa7b1c6c8
Simplified match condition checks
...
Issue: SPR-15477
2017-04-27 21:31:50 +02:00
Juergen Hoeller
17f274fd6a
Debug log messages for value retrieval exceptions
...
Issue: SPR-15481
2017-04-27 21:31:39 +02:00
Juergen Hoeller
cd95f34666
Merge pull request #1399 from dreis2211/SPR-15477
...
Optimize AntPathMatcher when checking for potential matches
2017-04-27 20:26:37 +02:00
Christoph Dreis
13b39521d8
Optimize AntPathMatcher when checking for potential matches
...
Issue: SPR-15477
2017-04-27 19:04:36 +02:00
Sam Brannen
c855182e03
Polishing
2017-04-26 18:59:43 +02:00
Juergen Hoeller
c668d9a473
Polishing
2017-04-26 18:20:19 +02:00
Juergen Hoeller
3daf626842
Defensive fallback for file system resolution in lastModified()
...
Issue: SPR-15485
2017-04-26 18:17:00 +02:00
Oleg Zhurakousky
299b9d60fd
SPR-15481 Fixed AnnotationUtils.getValue() operation
...
- Fixed AnnotationUtils.getValue() operation to ensure it re-throws AnnotationConfigurationException instead of swallowing it (as it is done in few other operations in AnnotationUtils)
- Added test
- Removed unnecessary '@SuppressWarnings("unchecked")'
2017-04-26 15:05:32 +02:00
Rossen Stoyanchev
cc102c2fcd
Properly handle Flux<?> and Flux<Object> in WebFlux
...
Issue: SPR-15464
2017-04-20 09:19:38 -04:00
Rossen Stoyanchev
7d8dda9a5a
Polish reactive type support in Conventions
2017-04-18 23:25:44 -04:00
Rossen Stoyanchev
5c502b87ca
Support for reactive types in Conventions
...
Issue: SPR-14915
2017-04-18 23:00:43 -04:00
Rossen Stoyanchev
71966b0777
Polish Conventions
2017-04-18 23:00:43 -04:00
Juergen Hoeller
91df0653fe
Polishing
2017-04-17 15:05:34 +02:00
Juergen Hoeller
d50dab6ea9
Suppress deprecation warning on JDK 9 (for LogRecord.setMillis)
...
Includes revised Log methods in log level order, with consistent delegation of fatal->error for log level checks in SLF4J and JUL, a JavaUtilDelegate for defensive access to java.logging on JDK 9, support for LogRecord message objects, as well as revised log setup recommendations.
Issue: SPR-15453
Issue: SPR-14512
2017-04-14 22:43:44 +02:00
Rossen Stoyanchev
1e8c7e55de
WebTestClient assert response body with Consumer<B>
...
Issue: SPR-15421
2017-04-14 16:39:30 -04:00
Juergen Hoeller
0b118322b0
Polishing
2017-04-13 16:17:05 +02:00
Juergen Hoeller
4838f06d5d
ASM annotation visitor logs IllegalAccessException at debug level only
...
Issue: SPR-15442
2017-04-12 18:05:30 +02:00
Juergen Hoeller
093e573ace
ASM annotation visitor defensively accesses enum constants
...
Issue: SPR-15442
2017-04-12 15:36:18 +02:00
Sebastien Deleuze
4d9144132e
Upgrade to Reactor Core 3.1
...
Issue: SPR-15318
2017-04-11 18:13:04 +02:00
Juergen Hoeller
b061556f68
LogFactory enforces lazy resolution of non-String messages for SLF4J as well
...
Issue: SPR-14512
2017-04-11 15:39:17 +02:00
Sebastien Deleuze
23e35c0e1a
Handle Jackson InvalidDefinitionException with 5xx status in WebFlux
...
Issue: SPR-14925
2017-04-11 12:39:09 +02:00
Juergen Hoeller
c4e0d6c2a2
UnknownHostException as resource-not-found for properties files
...
Plus first-class declaration of FileNotFoundException in Resource javadoc.
Issue: SPR-15433
2017-04-11 11:45:30 +02:00
Juergen Hoeller
ce4eff321c
Optimize StringUtils.replace for larger replacement pattern
...
Issue: SPR-15430
2017-04-11 11:40:50 +02:00
Juergen Hoeller
3a1d431c7d
Optimize StringUtils.replace/deleteAny for common no-op case
...
Issue: SPR-15430
2017-04-11 10:11:54 +02:00
Juergen Hoeller
7fbc20e225
Undeprecate TypeVariableMap methods on GenericTypeResolver
...
Issue: SPR-15429
2017-04-11 10:09:09 +02:00
Juergen Hoeller
e5fdd4cd1d
Extracted AbstractJsonHttpMessageConverter from GsonHttpMessageConverter
...
Generic type resolution algorithm in GenericTypeResolver shared between Jackson and Gson.
Issue: SPR-15381
2017-04-10 15:36:29 +02:00
Juergen Hoeller
ea5cb26d75
LogFactory obtains ClassLoader-specific LoggerContext for Log4J
...
Issue: SPR-14512
2017-04-07 16:34:12 +02:00
Juergen Hoeller
8cb24e0d93
SettableTask.checkCompletingThread() only resets marker after match
...
Issue: SPR-15409
2017-04-07 13:39:58 +02:00
Juergen Hoeller
2566d6f5c8
LogFactory differentiates between SLF4J API and SPI presence
...
Issue: SPR-14512
2017-04-06 17:10:37 +02:00
Juergen Hoeller
702e01ad52
UrlResource applies StringUtils.getFilename against cleaned URL path
...
Issue: SPR-15411
2017-04-06 14:27:00 +02:00
Juergen Hoeller
67ea4b3a05
package-info for repackaged libraries (and other polishing)
2017-04-06 14:10:46 +02:00
Juergen Hoeller
75dd8d9c06
UrlResource applies StringUtils.getFilename against URL path
...
Issue: SPR-15411
2017-04-06 14:07:22 +02:00
Juergen Hoeller
3037277d0e
Minimize reflective interaction with annotation instances during retrieval
...
Issue: SPR-15387
2017-04-06 14:07:17 +02:00
Juergen Hoeller
45e7b350bd
LogFactory provides getFactory() with getInstance methods as well
...
Issue: SPR-14512
2017-04-05 22:24:09 +02:00
Juergen Hoeller
47277f43da
spring-core provides custom variant of Commons Logging
...
Includes dependency updates (JavaMail 1.6 RC1, RxJava 2.0.8, Tomcat 8.5.13, Undertow 1.4.12, XNIO 3.4.5)
Issue: SPR-14512
2017-04-05 21:22:44 +02:00
Rossen Stoyanchev
ae2306326e
Add RxJava1 Reactive Streams adapters check
2017-04-04 12:25:58 -04:00
Juergen Hoeller
e9627a10c7
Deprecate ObjectUtils.hashCode for primitives in favor of JDK 8's hashCode methods
...
Issue: SPR-15395
2017-04-04 17:16:50 +02:00
Rossen Stoyanchev
37f9c86758
Fix failing tests due to last commit
2017-04-03 09:38:08 -04:00
Rossen Stoyanchev
62c1e44db2
Spring MVC supports reactive return values
...
This commit adds support for reactive library types to be returned
directly from controller methods adapting them either to a
ResponseBodyEmitter (streaming) or DeferredResult (non-streaming).
The reactive libraries supported are the ones that can adapted to a
Reactive Streams Publisher through the ReactiveAdapterRegistry.
Issue: SPR-15365
2017-04-03 09:01:49 -04:00
Sebastien Deleuze
cbd98d5247
Switch back to Reactor BOM Aluminium-BUILD-SNAPSHOT
2017-03-29 16:41:54 +02:00
stonio
90388e4701
Replace size() check with isEmpty()
...
Closes gh-1333
2017-03-27 15:34:23 +02:00
stonio
412947a53f
Polish CollectionFactoryTests
...
Closes gh-1334
2017-03-27 12:51:11 +02:00
Rossen Stoyanchev
0662dbf044
String decoding for text only vs any MIME type
...
Follow-up to:
3d68c496f1
StringDecoder can be created in text-only vs "*/*" mode which in turn
allows a more intuitive order of client side decoders, e.g. SSE does
not have to be ahead of StringDecoder.
The commit also explicitly disables String from the supported types in
Jackson2Decoder leaving it to the StringDecoder in "*/*" mode which
comes after. This does not change the current arrangement since the
the StringDecoder ahead having "*/*" picks up JSON content just the
same.
From a broader perspective this change allows any decoder to deal with
String if it wants to after examining the content type be it the SSE
or another, custom decoder. For Jackson there is very little value in
decoding to String which works only if the output contains a single
JSON string but will fail to parse anything else (JSON object/array)
while StringDecoder in "*/*" mode will not fail.
Issue: SPR-15374
2017-03-23 16:53:06 -04:00
Rossen Stoyanchev
3d68c496f1
String encoding for any MIME type
...
CharSequenceEncoder now supports all MIME types, however since encoding
Flux<String> can overlap with other encoders (e.g. SSE) there are now
two ways to create a CharSequenceEncoder -- with support for text/plain
only or with support for any MIME type.
In WebFlux configuration we insert one CharSequenceEncoder for
text/plain (as we have so far) and a second instance with support for
any MIME type at the very end.
Issue: SPR-15374
2017-03-22 18:01:32 -04:00
Juergen Hoeller
e892e02f41
Polishing
2017-03-21 17:44:47 +01:00
Rossen Stoyanchev
c8671041f1
EncoderHttpMessageWriter supports streaming MediaTypes
...
Support for flushing in EncoderHttpMessageWriter is now driven from a
configurable list of "streaming" media types with the list including
"application/stream+json" by default.
As a result Jackson2ServerHttpMessageWriter is no longer needed.
2017-03-21 10:15:56 -04:00
Rossen Stoyanchev
6f075c9060
Update after changed method in Reactor Core
2017-03-20 21:57:17 -04:00
Juergen Hoeller
ab7db413c6
DefaultResponseErrorHandler delegate methods declared as protected
...
Also revises copyToByteArray/String in FileCopyUtils/StreamUtils for lenient null handling.
Issue: SPR-15329
2017-03-16 18:57:13 +01:00
Juergen Hoeller
012c56a1f0
Avoid pattern misdetection in Tomcat "war:" URL separator
...
Issue: SPR-15332
2017-03-16 18:55:49 +01:00
Juergen Hoeller
899f235998
Detect Tomcat's "war" protocol as jar URL
...
Issue: SPR-15332
2017-03-14 15:19:02 +01:00
Brian Clozel
b799013567
Update to Reactor Aluminium SNAPSHOT
...
Currently the BOM versions are:
* reactor-core 3.0.6.BUILD-SNAPSHOT
* reactor-netty 0.6.2.BUILD-SNAPSHOT
This commit fixes as well a few deprecations in reactor-core.
2017-03-10 15:20:40 +01:00
Arjen Poutsma
63118c1ea7
Add DataBufferUtils.read w/ AsynchFileChannel
...
This commit adds an overloaded DataBufferUtils.read method that operates
on a AsynchronousFileChannel (as opposed to a ReadableByteChannel, which
already existed). This commit also uses said method in the Resource
encoders, if the Resource is a file.
2017-03-09 14:08:40 +01:00
Juergen Hoeller
94a7624c1f
Polishing
2017-03-07 15:42:04 +01:00
Juergen Hoeller
8992f5924f
AnnotationUtils makes use of Java 8 getDeclaredAnnotation method
...
Issue: SPR-15287
2017-02-28 13:07:03 +01:00
Juergen Hoeller
cbd19153c4
Polishing
2017-02-22 16:53:54 +01:00
Juergen Hoeller
f4de1ea147
Polishing
2017-02-22 15:32:19 +01:00
Juergen Hoeller
6108ab1c31
Test for expected behavior of getAllMergedAnnotations vs findAllMergedAnnotations
...
Issue: SPR-15271
2017-02-22 15:28:34 +01:00
stonio
7d062df992
Use String#isEmpty()
...
Closes gh-1335
2017-02-22 11:55:17 +01:00
Stephane Nicoll
598d9a4b05
Add test to reproduce SPR-15271
2017-02-20 11:34:08 +01:00
Juergen Hoeller
45df1d9fea
Javadoc fixes
2017-02-18 01:43:30 +01:00
Juergen Hoeller
9543384d9e
Avoid deprecated comparators in tests
...
Issue: SPR-14779
2017-02-16 15:36:27 +01:00
Juergen Hoeller
f90cd7705f
Consistent ordering of Assert variants
...
Issue: SPR-15196
2017-02-16 15:32:07 +01:00
Juergen Hoeller
22322fde26
Revised isInstanceOf/isAssignable message concatenation
...
Issue: SPR-15196
2017-02-16 13:13:20 +01:00
Juergen Hoeller
50d93d3794
Consistently support CompletionStage next to CompletableFuture
...
Issue: SPR-15258
2017-02-15 23:16:11 +01:00
Juergen Hoeller
5f531a7a7d
Comparators entry point with generically typed factory methods
...
Issue: SPR-14779
2017-02-15 18:05:32 +01:00
Juergen Hoeller
44ec6e0037
Polishing
2017-02-13 15:07:07 +01:00
Sebastien Deleuze
ef550c43d6
Flush JSON stream after each element
...
Issue: SPR-15104
2017-02-13 14:20:19 +01:00
Juergen Hoeller
448ea4cdfe
Consistent logging in ignoreResourceNotFound scenarios
...
Issue: SPR-15218
2017-02-10 10:41:10 +01:00
Christoph Dreis
5cfa7e71bb
Use Class.getTypeName() where appropriate
...
Issue: SPR-15237
2017-02-08 20:36:41 +01:00
Juergen Hoeller
acf511ac0e
Polishing
2017-02-02 20:11:06 +01:00
Juergen Hoeller
c9b99daa74
SettableListenableFuture centralizes state in ListenableFutureTask subclass
...
Issue: SPR-15216
2017-02-02 19:54:08 +01:00
Juergen Hoeller
9666fcc41d
SettableListenableFuture consistently tracks cancellation state
...
Issue: SPR-15202
2017-01-31 15:57:52 +01:00
Juergen Hoeller
f84907a1fc
Polishing
2017-01-31 12:00:13 +01:00
Juergen Hoeller
23aac2de8c
Retain single-arg assert methods in deprecated form
...
Issue: SPR-15196
2017-01-31 09:27:55 +01:00
Juergen Hoeller
1b2dc3638f
Revisit Assert to avoid single-arg assert methods (with refined messages)
...
Issue: SPR-15196
2017-01-30 22:15:55 +01:00
Arjen Poutsma
69c16f3821
Add headers in InterceptingClientHttpRequest
...
This commit *adds* the "intercepted" headers to the ClientHttpRequest,
as opposed to replacing them, which is what happened before this commit.
Issue: SPR-15166
2017-01-30 14:18:50 +01:00
Juergen Hoeller
5e946c2700
Consistent type variable resolution for arrays/collections (in particular at field level)
...
Dropping GenericCollectionTypeResolver in favor of direct ResolvableType usage.
Issue: SPR-15160
2017-01-24 18:00:17 +01:00
Juergen Hoeller
ed40b1c8ee
Remove outdated abstractions/delegates from core/util
...
Issue: SPR-15159
2017-01-23 13:41:55 +01:00
Juergen Hoeller
54e2d63d6f
Polishing
2017-01-19 21:21:01 +01:00
Sam Brannen
264edb3fb5
Improve initialization of Assume class
...
Prior to this commit, the org.springframework.tests.Assume class could
fail to load resulting in a NoClassDefFoundError if parsing of the
'testGroups' system property failed. This is because the parsing took
place while initializing a static field.
This commit addresses this issue by moving the 'testGroups' system
property lookup to a dedicated method that is lazily invoked upon
demand instead of eagerly when loading the Assume class itself.
In addition, when an error occurs, TestGroup.parse() now logs the
complete original value of the supplied test groups string instead of
potentially omitting the "all-" prefix. This results in more
informative error messages similar to the following.
java.lang.IllegalStateException: Failed to parse 'testGroups' system
property: Unable to find test group 'bogus' when parsing testGroups
value: 'all-bogus'. Available groups include:
[LONG_RUNNING,PERFORMANCE,JMXMP,CI]
Issue: SPR-15163
2017-01-19 05:58:02 +01:00
Juergen Hoeller
d21b6e596f
Revised Charset handling and common StringUtils.uriDecode delegate
...
Issue: SPR-14492
2017-01-18 00:09:06 +01:00
Arjen Poutsma
88c5f5981f
Added DataBuffer Encoder/Decoder
...
This commit adds a DataBuffer Encoder and Decoder, and uses it in
the annotation-based processing model.
Note that these codecs are not used in the functional processing model,
since the BodyInserter/BodyExtractor already have methods for
writing/reading DataBuffers.
Issue: SPR-15148
2017-01-17 16:46:43 +01:00
Juergen Hoeller
e59f4004eb
Use MockitoJUnitRunner from Mockito 2's preferred location
...
Issue: SPR-14880
2017-01-16 23:08:06 +01:00
Juergen Hoeller
1cb381e9a7
Consistent deprecation markers on JDK 9
2017-01-13 10:53:20 +01:00
Juergen Hoeller
7c05b427a7
MimeTypeUtils constants cleanup: removed web media types
...
Issue: SPR-15137
2017-01-12 23:30:57 +01:00
Juergen Hoeller
743ce2cda6
Polishing
2017-01-12 23:30:38 +01:00
Juergen Hoeller
e19dff179e
Polishing
2017-01-12 21:18:01 +01:00
Juergen Hoeller
50e5a65b2d
LinkedCaseInsensitiveMap provides case-insensitive keySet again
...
Issue: SPR-15026
2017-01-12 21:14:07 +01:00
Juergen Hoeller
0403fe340d
Merge pull request #1287 from markhobson/SPR-15109
...
Introduce mime/media types for application/rss+xml
2017-01-12 20:24:27 +01:00
Juergen Hoeller
31f7860a40
Merge pull request #1285 from dreis2211/SPR-15094
...
Improve performance of StringUtils.capitalize()
2017-01-12 20:22:26 +01:00
Mark Hobson
2ce2f7d9a5
Introduce mime/media types for application/rss+xml
...
Issue: SPR-15109
2017-01-07 17:13:32 +00:00
Sam Brannen
9ed66bf2eb
Clean up warnings across code base
2017-01-07 01:54:38 +01:00
Christoph Dreis
83929b2b98
Improve performance of StringUtils.capitalize()
...
Issue: SPR-15094
2017-01-04 19:23:08 +01:00
Juergen Hoeller
ccabff6ba3
Upgrade to ASM 5.2
...
Issue: SPR-15071
2016-12-30 11:20:54 +01:00
Juergen Hoeller
e38c020535
TypeDescriptor efficiently matches equal annotations as well
...
Issue: SPR-15060
2016-12-28 22:51:29 +01:00
Juergen Hoeller
7818c650ba
Cache ASM metadata at the context level (if supported)
...
Includes streamlined ClassPathBeanDefinitionScanner setup.
Issue: SPR-14654
2016-12-27 13:38:24 +01:00
Juergen Hoeller
f805427629
Detect generic type match behind interface-based proxy as well
...
Issue: SPR-14097
2016-12-26 11:23:07 +01:00
Juergen Hoeller
8147c112f5
LinkedCaseInsensitiveMap delegates to LinkedHashMap instead of extending it
...
Issue: SPR-15026
2016-12-23 18:57:50 +01:00
Juergen Hoeller
82c1c859d9
Polishing
...
(cherry picked from commit 9cb4de8
)
2016-12-20 21:17:48 +01:00
Juergen Hoeller
154ef8bf10
Polishing
2016-12-20 19:57:52 +01:00
Juergen Hoeller
12aa14ddbc
Support @Nullable annotations as indicators for optional injection points
...
Issue: SPR-15028
2016-12-18 21:04:08 +01:00
Juergen Hoeller
8a7467020f
Polishing
2016-12-15 15:44:16 +01:00
Juergen Hoeller
39d2769bd0
Autodetect Kotlin nullability for optional injection points (analogous to java.util.Optional)
...
Built-in support in MethodParameter and DependencyDescriptor supersedes our separate KotlinUtils helper.
Issue: SPR-14951
2016-12-13 17:38:58 +01:00
Juergen Hoeller
e49813f2c4
Polishing
2016-12-12 22:49:40 +01:00
Juergen Hoeller
aef1460a64
TypeDescriptor properly narrows ResolvableType for non-typed collection elements
...
Issue: SPR-14971
2016-12-12 22:28:48 +01:00
Juergen Hoeller
7714eeccf3
MimeType parsing properly handles quoted semicolons
...
Issue: SPR-14986
2016-12-09 15:04:26 +01:00