Commit Graph

1166 Commits

Author SHA1 Message Date
Brian Clozel
54d24abbb7 Remove remaining Concourse tasks for CI publish build
Closes gh-939
2024-03-28 16:59:18 +01:00
Brian Clozel
61f6afa80b Remove offending property from docs zip publishing
See gh-939
2024-03-28 16:49:25 +01:00
Brian Clozel
181fabc5c0 Fix deployment repository property name in publish action
See gh-939
2024-03-28 16:42:17 +01:00
Brian Clozel
9298ef5323 Add GitHub action for building and deploying SNAPSHOTs
See gh-939
2024-03-28 16:31:05 +01:00
Spring Builds
b9d4cbcc83 Next development version (v1.2.7-SNAPSHOT) 2024-03-28 13:27:23 +00:00
Brian Clozel
f21db214c5 Upgrade to Spring Framework 6.0.18
Closes gh-938
2024-03-28 14:17:27 +01:00
Brian Clozel
e7840e418b Upgrade to GraphQL Java 20.9
Closes gh-936
2024-03-28 09:27:16 +01:00
rstoyanchev
b1aa0c67ed Use 0-based offset values for pagination
This is a temporary workaround to fix off-by-1 misalignment with
Spring Data, which uses 1-based offset values. Once the changes
in Spring Data become clear, we'll also adjust accordingly.

Closes gh-925
2024-03-27 17:40:17 +00:00
rstoyanchev
bb734bf894 Remove session state from onClose only
Doing the same eagerly from onError has the side effect of not being able
to delegate handleConnectionClosed to interceptors.

Closes gh-872
2024-03-27 11:50:26 +00:00
rstoyanchev
ce7f77c585 Improve logic to resolve pagination arguments
The presence of either "after" or "first" leads to forward pagination.
Else if either "before" or "last" leads to backward pagination.
Fall back on forward if none are provided at all.

In addition, a small adjustment to backward pagination. If a count
is not provided, use 1 rather than 0, to advance to previous item.

Closes gh-929
2024-03-26 20:34:52 +00:00
rstoyanchev
1a3ae735c1 Add Thread Model section to documentation
Closes gh-907
2024-03-22 17:51:51 +00:00
rstoyanchev
7140e6cbae Avoid AssertException for persisted query
Closes gh-930
2024-03-22 13:37:28 +00:00
Brian Clozel
0fa2c4f104 Do not override custom local context in observation instrumentation
Prior to this commit, the `GraphQlObservationInstrumentation` would
always assume that local context instances are of type `GraphQLContext`.
This means that a custom context type would be overwritten with a
`GraphQLContext` that contains the current observation.

Instead, this commit ensures that a local context is contributed only if
none was present, or that we wrap the existing one only if it is a
`GraphQLContext` in the first place. If the parent data fetcher
contributes a custom context, the current observation will not be added.

Fixes gh-918
2024-03-08 09:49:20 +01:00
Spring Builds
9d735b9c94 Next development version (v1.2.6-SNAPSHOT) 2024-02-21 08:55:43 +00:00
rstoyanchev
248cfe22ba Revise default ScrollSubrange for QueryDsl and QBE
The QueryDsl and QBE data fetcher builders now accept a default count
and a function for a default position with awareness of the scroll
direction.

Closes gh-917
2024-02-20 23:19:48 +00:00
rstoyanchev
9817230638 Adapt offset scroll from inclusive to exclusive
Both forward and backward scrolling needed adjustment.
For forward, we were not advancing by 1.
For backward, we were advancing by the count and 1 more than necessary.

Closes gh-916
2024-02-20 23:19:26 +00:00
Brian Clozel
53108d0c8d Fix ControllerAdvice ordering support
Prior to this commit, the `ControllerAdvice` support would detect all
beans and exception handler methods, to put them in an ordered `TreeMap`
using the `OrderComparator.INSTANCE`. Doing so would naturally consider
beans with the same order as duplicates and would write a single entry
in the map. This effectively ignored many `ControllerAdvice` beans with
the same order (but one).

This commit removes the use of a `TreeMap` and instead uses a
`LinkedHashMap` and the insertion order for proper ordering.

Fixes gh-901
2024-02-20 10:57:26 +01:00
rstoyanchev
43a76c487a Polishing
See gh-915
2024-02-20 07:20:54 +00:00
rstoyanchev
3381774fb9 Improve check whether to create DataLoaderRegistry
Closes gh-915
2024-02-20 07:18:34 +00:00
Brian Clozel
c72415f361 Upgrade optional dependencies 2024-02-17 19:08:59 +01:00
Brian Clozel
05947f92e0 Upgrade to Spring Security 6.1.7
Closes gh-913
2024-02-17 19:08:37 +01:00
Brian Clozel
5b1be8f556 Upgrade to Spring Data 2023.0.9
Closes gh-912
2024-02-17 19:08:05 +01:00
Brian Clozel
ad63bad767 Upgrade to Micrometer 1.11.9 and Tracing 1.1.10
Closes gh-911
2024-02-17 19:05:46 +01:00
Brian Clozel
375c26598c Upgrade to Reactor 2022.0.16
Closes gh-910
2024-02-17 19:03:57 +01:00
Brian Clozel
f054149e35 Upgrade to Spring Framework 6.0.17
Closes gh-909
2024-02-17 19:01:25 +01:00
Brian Clozel
698ca0356c Upgrade to Kotlin 1.9.22
Closes gh-908
2024-02-17 19:00:27 +01:00
rstoyanchev
dab10e7383 Apply default ScrollSubrange correctly
The defaults are now applied before the call to ScrollSubrange#create.
After is too late given that for offset positions, the direction may
switch from backward to forward.

Closes gh-900
2024-02-14 13:17:26 +00:00
Brian Clozel
5248a3253b Polish SerializableGraphQlRequest for GraalVM support
This commit improves the `SerializableGraphQlRequest` by declaring its
reflection usage for GraalVM native applications.

See gh-905
2024-02-14 14:05:36 +01:00
rstoyanchev
fb1f0ee0e7 Deserialize HTTP request body to POJO
Closes gh-905
2024-02-08 20:54:55 +00:00
rstoyanchev
1736d2abf0 WebMvc handler skips ASYNC if possible
Closes gh-904
2024-02-08 11:14:38 +00:00
rstoyanchev
3279332901 SchemaMappingInspector accepts Map of registrations
Closes gh-894
2024-01-31 20:02:20 +00:00
rstoyanchev
78f7df2736 Consistently check errors in GraphQlTester
Closes gh-891
2024-01-30 09:24:26 +00:00
Nils Hartmann
b37a06bf59 ExecutionGraphQlService instead of GraphqlService
See gh-877
2024-01-26 09:59:53 +00:00
Brian Clozel
e3f672e019 Track 1.2.x branch in CI pipeline 2024-01-26 10:09:53 +01:00
Brian Clozel
311e5647b4 Upgrade CI to JDK 17.0.10+13 and 21.0.2+14 2024-01-26 10:06:06 +01:00
Brian Clozel
9908707430 Upgrade CI to Docker 25.0.1 2024-01-26 10:05:06 +01:00
Brian Clozel
5b07edc81d Upgrade CI to Ubunutu Jammy 20240111 2024-01-26 10:04:38 +01:00
rstoyanchev
1126893f72 SchemaMappingInspector is public
Closes gh-881
2024-01-23 19:24:49 +00:00
Eric Haag
4ccf8fa84d Add Revved up by Develocity badge 2024-01-23 18:46:23 +00:00
rstoyanchev
b7842ff72f Fix count and offset calculations for backwards pagination
Closes gh-873
2024-01-19 21:19:09 +00:00
rstoyanchev
5fcf803680 AbstractGraphQlSourceBuilder is public
Builder implementations are intended to be package private and exposed
through interface methods, but the abstract class needs to be public
for alternative implementations.
2024-01-18 08:35:43 +00:00
rstoyanchev
e798a00d48 Refactor how SchemaGenerator is invoked
Closes gh-878
2024-01-17 17:30:24 +00:00
Brian Clozel
e054fe13cf Unwrap Optional types for schema inspection
Prior to this commit, return types declared by controller handlers that
were wrapped with `Optional` were not considered during the schema
analysis and would result in false positives in the schema inspection
report, stating that relevant fields were unmapped.
This is especially relevant for controller handlers returning optional
values from Spring Data repositories.

This commit ensures that `java.util.Optional` types are unwrapped and
that wrapped types are considered during the analysis.

Fixes gh-875
2024-01-12 12:27:43 +01:00
rstoyanchev
b326771f9e Update section on code generation
Closes gh-847
2023-12-07 10:16:40 +00:00
Brian Clozel
9fee07989d Fix ConnectionFieldTypeVisitor traversal control
Prior to this commit, the `ConnectionFieldTypeVisitor` would return
`TraversalControl.ABORT` when a field with a parent Subscription type is
encountered. This is done because this visitor should not consider
fields under Subscription types as they are not candidates for
pagination. This would also completely abort the visiting of all fields
under Subscription types, for all other visitors. As a result, this
prevents the decoration of data fetchers by the `ContextTypeVisitor` and
leads to missing context information (security or observability).

This only applies to 21.x GraphQL Java versions, as a bug was hiding
this behavior in previous versions.

This commit ensures that the `ConnectionFieldTypeVisitor` ignores fields
located under Subscription operations but always return
`TraversalControl.CONTINUE` to not completely ignore this part of the
schema.

Fixes gh-861
2023-12-04 13:58:56 +01:00
Spring Builds
d7606f9b92 Next development version (v1.2.5-SNAPSHOT) 2023-11-21 13:43:41 +00:00
Brian Clozel
84c4b4f6dd Fix JDK script in CI pipeline 2023-11-21 11:38:42 +01:00
Brian Clozel
44e8811a29 Upgrade to Context Propagation 1.0.6
Closes gh-857
2023-11-21 11:35:38 +01:00
Brian Clozel
08a5ea41bf Upgrade to Spring Security 6.1.5
Closes gh-856
2023-11-21 11:35:05 +01:00
Brian Clozel
45f579f68e Upgrade to Spring Data 2023.0.6
Closes gh-855
2023-11-21 11:34:41 +01:00