From 5977b2d8b7bb4f296e148d8026f0fa7c6b29cced Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Fri, 19 Apr 2024 18:18:09 +0200 Subject: [PATCH] Register runtime hints for @EntityMapping methods Since the introduction of `@EntityMapping` support on controller handlers, we need to support such variants for the GraalVM Native case. This commit registers the relevant hints for runtime reflection support with GraalVM Native. Closes gh-928 --- ...BeanFactoryInitializationAotProcessor.java | 10 +- ...actoryInitializationAotProcessorTests.java | 110 +++++++++++++++++- 2 files changed, 115 insertions(+), 5 deletions(-) diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingBeanFactoryInitializationAotProcessor.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingBeanFactoryInitializationAotProcessor.java index 397e9daa..518c6fbc 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingBeanFactoryInitializationAotProcessor.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingBeanFactoryInitializationAotProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2020-2023 the original author or authors. + * Copyright 2020-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,6 +44,7 @@ import org.springframework.core.annotation.MergedAnnotations; import org.springframework.data.projection.SpelAwareProxyProjectionFactory; import org.springframework.data.projection.TargetAware; import org.springframework.graphql.data.ArgumentValue; +import org.springframework.graphql.data.federation.EntityMapping; import org.springframework.graphql.data.method.HandlerMethodArgumentResolver; import org.springframework.graphql.data.method.HandlerMethodArgumentResolverComposite; import org.springframework.graphql.data.method.annotation.BatchMapping; @@ -58,8 +59,8 @@ import org.springframework.web.bind.annotation.ControllerAdvice; * {@link BeanFactoryInitializationAotProcessor} implementation for registering * runtime hints discoverable through GraphQL controllers, such as: *