Juergen Hoeller
63d6215247
Polishing
2018-07-04 19:23:27 +02:00
Juergen Hoeller
5dc8b5de6d
Polishing
2018-07-04 15:07:17 +02:00
Juergen Hoeller
4ff1e3e74b
Consistent abstract declaration for utility classes (plus polishing)
...
Issue: SPR-16968
2018-07-01 02:31:20 +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
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
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
866e9d702e
Use consistent block style
...
Update all code to use a consistent block style.
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
7bce7504c7
JdbcTemplate consistently exposes first value of equally named columns
...
Issue: SPR-16578
2018-06-11 14:17:03 +02:00
Juergen Hoeller
25559b9e44
Polishing
2018-06-06 21:31:24 +02:00
Juergen Hoeller
0941081b0a
Upgrade to HSQLDB 2.4.1, Derby 10.14.2.0, HtmlUnit 2.31, Selenium 3.12
2018-06-06 21:24:53 +02:00
Juergen Hoeller
d9c63182d9
MapSqlParameterSource.addValue declares nullable value parameter
...
Issue: SPR-16843
2018-05-18 22:20:29 +02:00
nkjackzhang
a1fa0daad5
Fix a typo in javadoc
...
Closes gh-1824
2018-05-10 17:32:21 +02:00
Johnny Lim
fb898e1727
Remove inconsistent spaces
2018-05-05 11:07:35 +02:00
Johnny Lim
8f21cb1a7c
Polish DatabaseStartupValidator
2018-05-05 11:07:20 +02:00
Juergen Hoeller
e170cb0f79
Upgrade framework build to JPA 2.2 and JTA 1.3
...
Issue: SPR-16685
2018-04-11 16:06:10 +02:00
Juergen Hoeller
ff53d78e96
Remove bogus DataSource test from JpaTransactionManagerTests
2018-04-10 00:40:51 +02:00
Juergen Hoeller
475c4d4425
Polishing
2018-04-03 12:24:00 +02:00
Juergen Hoeller
0bc01fcd55
Polishing
2018-03-30 13:42:23 +02:00
Johnny Lim
8dd0974e2f
Rename SingleColumnRowMapperTest to align with the other tests
2018-03-30 12:28:16 +02:00
Juergen Hoeller
9a722b4558
Pass type name into PreparedStatement.setNull in case of Types.OTHER
...
Issue: SPR-16669
2018-03-29 23:43:53 +02:00
nkjackzhang
82cb5dbf2b
NamedParameterUtils.parseSqlStatement should parse :{x} style parameter correctly
...
In my opinion, we should parse ":{x}" style parameter as "x" is parameter using "NamedParameterUtils.parseSqlStatement",
so the condition "j - i > 2" is the correct condition, not "j - i > 3", because if "i" is the index of
":" in ":{x}", and "j" is the index of "}" in ":{x}", "j - i == 3" is true.
Also add a test case for SPR-16663.
2018-03-29 15:00:25 +02:00
Juergen Hoeller
b2d87abcbb
Polishing
2018-03-28 12:06:38 +02: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
Juergen Hoeller
c441d60d1d
Upgrade to Kotlin 1.2.31 and RxJava 2.1.12
...
Includes H2 1.4.197 and Selenium HtmlUnit Driver 2.29.3 as well.
2018-03-24 16:48:53 +01:00
Juergen Hoeller
702b27e1e4
Polishing
2018-03-19 12:05:04 +01:00
Juergen Hoeller
2c7efbb9d0
Deprecate TableMetaDataContext.getSimulationQueryForGetGeneratedKey
2018-03-19 12:04:51 +01:00
Juergen Hoeller
b7c423813d
CallMetaDataContext handles 'procedureColumnResult' as return parameter
...
Issue: SPR-16611
2018-03-19 12:04:15 +01:00
Juergen Hoeller
4fef1fe820
Polishing
2018-03-16 18:49:12 +01:00
igor-suhorukov
2f9d0a7de8
simplify boolean NOT operation
2018-03-08 23:44:15 +01:00
igor-suhorukov
32b689a994
use StringBuilder for complex string concatenation
2018-03-08 21:25:47 +01:00
igor-suhorukov
407ecf7334
to get rid of "magic" time constants
2018-03-08 20:37:48 +01:00
Juergen Hoeller
50253f670e
Quick access to volatile field (full synchronization only for lazy init)
...
Issue: SPR-16570
2018-03-08 18:13:00 +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
Juergen Hoeller
20287e0cb0
Polishing
2018-03-07 17:09:09 +01:00
Juergen Hoeller
82515a3f01
Consistent incrementer arrangement for PostgreSQL, DB2 and SAP HANA
...
Includes related polishing in core.metadata and datasource.embedded and a revision of the corresponding database definitions in sql-error-codes.
Issue: SPR-16558
2018-03-06 13:36:15 +01:00
Juergen Hoeller
4a4f2c2f08
Drop version check in isGetGeneratedKeysSimulated (for PostgreSQL 10)
...
Issue: SPR-16556
2018-03-06 13:31:26 +01:00
igor-suhorukov
49fd724d8f
Polish: String function use should be optimized for single characters
2018-02-25 20:48:47 +01:00
Juergen Hoeller
3732032ee4
Customizable PreparedStatementCreator in NamedParameterJdbcTemplate
...
Issue: SPR-16050
2018-02-25 18:23:00 +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
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
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
766e6028d7
Defensively handle DatabaseMetaData.getConnection() returning null
...
Issue: SPR-16495
2018-02-14 14:40:52 +01:00
Kazuki Shimizu
8c623c8a42
Supports ConversionService on SingleColumnRowMapper
...
Issue: SPR-16483
2018-02-11 22:36:50 +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
9a6fbf59c5
Polish: follow name convention - make immutable fields final
2018-02-10 12:09:19 +01:00
Juergen Hoeller
fc93f99f53
Relaxed procedure existence check on Oracle (for non-exposed synonyms)
...
Issue: SPR-16478
2018-02-09 13:30:31 +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
Juergen Hoeller
ac7a699356
NamedParameterUtils.isParameterSeparator checks for non-ASCII characters
...
Issue: SPR-16472
2018-02-07 14:10:39 +01:00
Johnny Lim
df3241e072
Polish SqlParameter.sqlTypesToAnonymousParameterList()
...
Closes gh-1657
2018-02-01 09:14:56 +01:00
Juergen Hoeller
9d0e62ef68
Javadoc format and related polishing
2018-01-22 11:43:21 +01:00
Juergen Hoeller
572c668726
Polishing
2018-01-19 21:30:37 +01:00
Juergen Hoeller
44fd2d96cc
Restore original separator set (but keep new isParameterSeparator impl)
...
Issue: SPR-16340
2018-01-14 17:57:32 +01:00
Philippe Marschall
91e39d558f
Use ArrayList instead of LinkedList for known size
...
Spring JDBC unlike other modules uses LinkedList instead of ArrayList
in several places. There is a large body of evidence suggesting that on
contemporary hardware ArrayList is both faster and has less overhead
than even in degenerate cases of empty lists [3] or unknown size.
There are two places in Spring JDBC where the size of the list is known
in advance and an ArrayList of the correct final size can be created
[1] https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8011200
[2] http://cliffc.org/blog/2017/11/05/modern-hardware-performance-cache-lines/
[3] https://bugs.openjdk.java.net/browse/JDK-8011200
Issue: SPR-16378
2018-01-14 17:45:32 +01:00
Juergen Hoeller
c8bdb3c602
Polishing
2018-01-09 22:20:22 +01:00
Juergen Hoeller
e43439c6c3
SqlParameterSource interface exposes parameter names
...
Includes default implementations of getSqlType and getTypeName.
Issue: SPR-16361
2018-01-09 22:19:46 +01:00
Juergen Hoeller
b2322e58d9
Support for PostgreSQL array syntax
...
Includes efficient separator determination.
Issue: SPR-16340
2018-01-09 22:19:05 +01:00
Christoph Dreis
260ebeca3a
Improve performance of some string operations
...
Issue: SPR-16293
2017-12-12 17:14:24 +01:00
Juergen Hoeller
b55a2631ba
NamedParameterJdbcTemplate provides accessor for classic JdbcTemplate
...
Issue: SPR-16241
2017-11-29 15:38:21 +01:00
Juergen Hoeller
b1c657fa4b
Consistent nullability in DataAccessUtils through nullableSingleResult
...
Issue: SPR-16225
2017-11-26 17:16:39 +01:00
sdeleuze
9f1d8517ba
Polish Kotlin source code style
2017-11-21 15:59:23 +01:00
Juergen Hoeller
a8b48848b9
SqlParameterSourceUtils.createBatch with Collection support
...
Issue: SPR-16215
2017-11-19 21:17:24 +01:00
benoit
667e0341fa
Improve memory allocations when substituting named parameters.
...
Create the buffer with at least the original sql length to avoid
multiple re-allocations
Add a fast path if the original sql doesn't contain any parameters
2017-11-08 23:45:53 +01:00
Juergen Hoeller
db050ac38c
Polishing
2017-11-04 01:07:09 +01:00
jmaxwell
e4c5b77de7
SPR-16154 - Correctly handle NVARCHAR, LONGNVARCHAR and NCLOBs
2017-11-03 14:49:32 -05:00
Juergen Hoeller
ee7b928300
Upgrade to Derby 10.14.1.0
2017-10-26 21:26:31 +02:00
Juergen Hoeller
75bd516251
Refined TemporaryLobCreator null handling (from 4.3.x)
...
Issue: SPR-15656
2017-09-27 15:40:13 +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
Juergen Hoeller
215e5f5682
Defensively call getParameterType (which might fail for certain statements)
...
Issue: SPR-15977
2017-09-20 10:54:49 +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
Sam Brannen
4e81ee5fdf
Verify support for H2 database aliases in SQL scripts
...
This commit introduces a test to demonstrate how to define an alias in
an SQL script executed against an embedded H2 database.
Issue: SPR-15896
2017-08-26 15:04:48 +01: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
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
Stephane Nicoll
f6e7fef236
Polish
2017-08-19 10:50:41 +02:00
Juergen Hoeller
47a7475898
Resolve remaining nullability warnings
...
Issue: SPR-15869
2017-08-18 00:15:46 +02:00
Sebastien Deleuze
73cf07e9a4
Fix overridden methods nullability
...
Issue: SPR-15869
2017-08-17 15:02:59 +02:00
Juergen Hoeller
6d6d772f31
Polishing
2017-07-20 00:14:56 +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
7a171c6ae9
Fix Kotlin return types to match @Nullable annotations
2017-07-04 11:27:54 +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
Sebastien Deleuze
04d5a2951c
Remove KClass based Kotlin extensions
...
Issue: SPR-15660
2017-06-13 18:43:59 +02:00
Stephane Nicoll
1ab678a2a3
Polish "Refactor iterator of Map with Java8's Map.forEach"
...
Closes gh-1459
2017-06-13 16:06:20 +02:00
diguage
1ef5f61ab2
Refactor iterator of Map with Java8's Map.forEach
...
See gh-1459
2017-06-13 16:06:20 +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
c1d44d9a34
Use the diamond syntax
...
Closes gh-1450
2017-06-12 09:19:06 +02:00
Sebastien Deleuze
86580b2358
Polishing
2017-06-09 01:49:56 +03:00
Sebastien Deleuze
8579ae66fc
Add comprehensive tests of Kotlin extensions
...
This commit also removes extensions hidden by Java API (varargs).
2017-06-09 01:01:16 +03:00