85 Commits

Author SHA1 Message Date
Phillip Webb
913e831f4e Merge '1.5.x' into 2.0.x 2019-07-24 11:39:58 +01:00
Phillip Webb
cfeb0239b7 Merge branch '1.5.x' into 2.0.x 2019-06-28 23:28:34 -07:00
Andy Wilkinson
c6c139d980 Merge branch '1.5.x' into 2.0.x 2019-06-07 10:46:31 +01:00
Phillip Webb
b442d3b906 Merge branch '1.5.x' into 2.0.x 2019-06-04 01:49:03 -07:00
Andy Wilkinson
ba4671f0ab Merge branch '1.5.x' into 2.0.x 2019-03-27 19:59:36 +00:00
Andy Wilkinson
fedb40a2bf Merge branch '1.5.x' into 2.0.x 2019-03-26 13:48:32 +00:00
Andy Wilkinson
9fbd38ab3c Merge branch '1.5.x' into 2.0.x 2019-03-20 16:45:26 +00:00
Spring Operator
3e2b6ac8ed Update build and setup configuration to use HTTPS
See gh-16246
2019-03-19 16:58:31 +00:00
dreis2211
27e89bbb8a Optimize StringSequence
Closes gh-15473
2018-12-20 17:55:30 +01:00
Stephane Nicoll
c0b07a9429 Polish "Fix StringSequence.equals() for different lengths"
Closes gh-15465
2018-12-17 18:24:08 +01:00
dreis2211
2a0680c2ba Fix StringSequence.equals() for different lengths
See gh-15465
2018-12-17 18:20:09 +01:00
dreis2211
d864b427eb Remove unused ByteArrayStartsWith matcher
Closes gh-15386
2018-12-05 15:52:42 +01:00
Phillip Webb
2e2f91d4a0 Merge branch '1.5.x' into 2.0.x 2018-08-30 15:59:02 -07:00
Andy Wilkinson
29e38f4af8 Merge branch '1.5.x' into 2.0.x 2018-08-13 11:35:46 +01:00
Stephane Nicoll
21691f0b20 Merge branch '1.5.x' into 2.0.x 2018-08-08 14:46:55 +02:00
Phillip Webb
0ec22c8bf9 Polish copyright date on changed files 2018-07-29 09:29:29 +01:00
Phillip Webb
aeb885192e Polish ternary expressions 2018-07-29 09:24:46 +01:00
Phillip Webb
63b609827e Fix checkstyle method order issues
Fix checkstyle issues with method ordering following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:53 +01:00
Phillip Webb
e6a68b39a3 Fix checkstyle javadoc issues
Fix checkstyle issues in javadoc following the spring-javaformat
upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Phillip Webb
7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Johnny Lim
6b0ce46491 Polish
Closes gh-13320
2018-06-01 09:22:20 +02:00
Phillip Webb
3751968ecd Add missing ExpectedException rule
Add ExpectedException rule which was missed from the 1.5.x merge.
2018-05-30 22:52:25 -07:00
Phillip Webb
bdd541b2cc Merge branch '1.5.x' into 2.0.x 2018-05-30 20:29:03 -07:00
Phillip Webb
5ae061f491 Merge branch '1.5.x' into 2.0.x 2018-05-30 20:27:19 -07:00
Johnny Lim
3dd2f5bb05 Polish
See gh-13148
2018-05-14 08:19:10 +02:00
Johnny Lim
75e591e76e Polish
Closes gh-13130
2018-05-11 10:00:15 +02:00
Phillip Webb
5b3cb8a698 Update copyright header year for changed files 2018-05-04 15:59:26 -07:00
Phillip Webb
6e09e497f2 Formatting 2018-05-04 12:06:19 -07:00
Phillip Webb
41efea51a7 Polish ternary expressions
Consistently format ternary expressions and always favor `!=` as the
the check.
2018-05-03 22:43:12 -07:00
Phillip Webb
e125085993 Merge branch '1.5.x' into 2.0.x 2018-05-03 12:43:50 -07:00
Madhura Bhave
aad279208e Throw exception if RandomAccessData tries to read beyond EOF
Fixes gh-12986
2018-05-01 16:35:43 -07:00
Johnny Lim
a723ac95a9 Polish
Closes gh-12999
2018-04-30 16:44:46 +02:00
Andy Wilkinson
f335ec00bf Polish 2018-04-05 09:31:17 +01:00
Phillip Webb
696aedaef8 Merge branch '1.5.x' 2018-04-04 14:51:16 -07:00
Phillip Webb
9a64d3bf3f Fix AsciiBytes unicode decoding
Fix the decoding logic in the AsciiBytes `hashCode` and `matches` to
correctly deal with multi-byte encodings.

Fixes gh-12504
2018-03-29 14:00:13 -07:00
Phillip Webb
79ad03b584 Merge branch '1.5.x' 2018-03-16 15:06:08 -07:00
Andy Wilkinson
36ea387a67 Close RandomAccessDataFile when direct JarFile is closed
Previously, the underlying RandomAccessDataFile was not closed when
the JarFile that was using it was closed. This causes a problem on
Windows as the open file handle prevents the file from being deleted.

This commit updates JarFile to close the underlying
RandomAccessDataFile when it is closed and has a JarFileType of
DIRECT.

Previously, when accessing the manifest of a jar file that maps to a
nested directory (BOOT-INF/classes) a new JarFile was created from the
root jar file, the manifest was retrieved, and the new JarFile was
closed. This could lead to the underlying RandomAccessDataFile being
closed while it was still in use.

This commit improves JarFile to retrieve the manifest from the
existing outer JarFile, thereby avoiding the need to create and close
a new JarFile.

Unfortunately, PropertiesLauncher creates a number of scenarios where
a JarFile with a type of direct is closed while it’s still being used.
To accommodate this behaviour, RandomAccessDataFile has been updated
so that it can re-open the underlying RandomAccessFile if it is used
after it has been closed.

Closes gh-12296
2018-03-16 15:58:50 +00:00
Andy Wilkinson
f918e0eb6a Merge branch '1.5.x' 2018-03-05 11:55:18 +00:00
Phillip Webb
7bc535e4fa Polish 2018-02-28 10:59:26 -08:00
Stephane Nicoll
4180762d6d Polish contribution
Closes gh-12236
2018-02-28 09:01:59 +01:00
igor-suhorukov
56cbc65e7b Polish
See gh-12236
2018-02-28 08:58:46 +01:00
Andy Wilkinson
60ac2e5c09 Reduce the amount of garbage produced by JarFile
Previously, working with a JarFile created a large amount of garbage
that was allocated on the thread local allocation buffer (TLAB).
The TLAB allocations made a significant contribution to GC pressure
and slowed down startup. This commit reduces the amount of garbage
by making a number of changes.

Reading from a RandomAccessDataFile has been reworked to avoid
creating new RandomAccessFile instances. A single RandomAccessFile
is now created for an entire jar file and it is used to read data from
anywhere in that jar file, including entries in nested jar files. To
ensure that reads remain thread-safe, a lock is taken on the
RandomAccessFile that is shared by all RandomAccessDataFile instances
that are provided access to (portions of) the same jar file.

Reading all of the bytes from a RandomAccessData has been reworked to
avoid the use of an InputStream that was created, used to read the
data, and then thrown away. In place of the InputStream-based
mechanism a method has been introduced that returns all of the
RandomAccessData as a byte[]. Building on this change, a method has
also been introduced to read a portion of a RandomAccessData as a
byte[]. This avoids the need to create a new RandomAccessData
subsection where the subsection was only used to read its entire
contents and then thrown away.

Decoding of an MS-DOS datetime has been reworked to use LocalDataTime
rather than GregorianCalendar. The former produces less garbage than
the latter.

Closes gh-12226
2018-02-27 10:48:15 +00:00
Phillip Webb
29c3be3590 Polish 2018-02-26 10:26:02 -08:00
Stephane Nicoll
306c79f0de Merge branch '1.5.x' 2018-02-26 18:03:32 +01:00
Andy Wilkinson
85c7ed2746 Merge branch '1.5.x' 2018-02-23 17:15:23 +00:00
Phillip Webb
4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
2018-02-22 21:11:30 -08:00
igor-suhorukov
fe023817c7 Polish static finals
Closes gh-12083
2018-02-19 20:10:58 -08:00
Andy Wilkinson
76a450dfba Format with Eclipse Oxygen SR2 2018-02-08 10:53:53 +00:00
Andy Wilkinson
8b15bbf702 Polish 2018-02-05 16:12:23 +00:00
Andy Wilkinson
76ed52c2f5 Polish "Support nested jar paths in loader.path"
Closes gh-11121
2018-02-05 16:06:07 +00:00