From 421735261cc061793fc540809f4887aae4787aa5 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 17 Aug 2022 09:30:46 +0200 Subject: [PATCH] Consume KeySpace annotation values without synthesizing the annotation. Closes #449 --- .../core/mapping/AnnotationBasedKeySpaceResolver.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/springframework/data/keyvalue/core/mapping/AnnotationBasedKeySpaceResolver.java b/src/main/java/org/springframework/data/keyvalue/core/mapping/AnnotationBasedKeySpaceResolver.java index 3b7dfcc..d4d9c12 100644 --- a/src/main/java/org/springframework/data/keyvalue/core/mapping/AnnotationBasedKeySpaceResolver.java +++ b/src/main/java/org/springframework/data/keyvalue/core/mapping/AnnotationBasedKeySpaceResolver.java @@ -15,8 +15,8 @@ */ package org.springframework.data.keyvalue.core.mapping; -import org.springframework.core.annotation.AnnotatedElementUtils; -import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.core.annotation.MergedAnnotation; +import org.springframework.core.annotation.MergedAnnotations; import org.springframework.data.annotation.Persistent; import org.springframework.data.keyvalue.annotation.KeySpace; import org.springframework.lang.Nullable; @@ -50,10 +50,11 @@ enum AnnotationBasedKeySpaceResolver implements KeySpaceResolver { @Nullable private static Object getKeySpace(Class type) { - KeySpace keyspace = AnnotatedElementUtils.findMergedAnnotation(type, KeySpace.class); + MergedAnnotation annotation = MergedAnnotations + .from(type, MergedAnnotations.SearchStrategy.TYPE_HIERARCHY).get(KeySpace.class); - if (keyspace != null) { - return AnnotationUtils.getValue(keyspace); + if (annotation.isPresent()) { + return annotation.getValue("value").orElse(null); } return null;