Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit cf9f7fe

Browse files
authored
fixed NPE for enum & log cleanup (#51)
1 parent 1571c93 commit cf9f7fe

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/constraints/ConstraintAndGroupDescriptionResolver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ private String resolvePlainDescription(Constraint constraint) {
9595
try {
9696
return delegate.resolveDescription(constraint);
9797
} catch (MissingResourceException e) {
98-
log.info("No description found for constraint {}", constraint.getName(), e);
98+
log.warn("No description found for constraint {}: {}", constraint.getName(),
99+
e.getMessage());
99100
return "";
100101
}
101102
}

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/constraints/ConstraintReaderImpl.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import static org.apache.commons.lang3.StringUtils.isBlank;
2828
import static org.springframework.util.ReflectionUtils.findField;
2929

30+
import java.lang.reflect.Field;
3031
import java.util.ArrayList;
3132
import java.util.List;
3233

@@ -76,10 +77,16 @@ public List<String> getConstraintMessages(MethodParameter param) {
7677

7778
private List<String> getEnumConstraintMessage(Class<?> javaBaseClass, String javaFieldName) {
7879
// could be getter actually
79-
Class<?> rawClass = findField(javaBaseClass, javaFieldName).getType();
80-
if (rawClass == null || !rawClass.isEnum()) {
80+
Field field = findField(javaBaseClass, javaFieldName);
81+
if (field == null) {
8182
return emptyList();
8283
}
84+
85+
Class<?> rawClass = field.getType();
86+
if (!rawClass.isEnum()) {
87+
return emptyList();
88+
}
89+
8390
Class<Enum> enumClass = (Class<Enum>) rawClass;
8491

8592
String value = arrayToString(enumClass.getEnumConstants());

0 commit comments

Comments
 (0)