diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryMethod.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryMethod.java index da5e5bc20..f7aabe8d8 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryMethod.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryMethod.java @@ -143,7 +143,7 @@ public class CassandraQueryMethod extends QueryMethod { * Returns whether the method has an annotated query. */ public boolean hasAnnotatedQuery() { - return (getAnnotatedQuery() != null); + return findAnnotatedQuery().isPresent(); } /** @@ -153,8 +153,16 @@ public class CassandraQueryMethod extends QueryMethod { * @return */ public String getAnnotatedQuery() { - String query = (String) AnnotationUtils.getValue(getQueryAnnotation()); - return (StringUtils.hasText(query) ? query : null); + return findAnnotatedQuery().orElse(null); + } + + private Optional findAnnotatedQuery() { + + Optional queryAnnotation = Optional.ofNullable(getQueryAnnotation()); + + return queryAnnotation.map(AnnotationUtils::getValue) // + .map(it -> (String) it) // + .filter(StringUtils::hasText); } /**