Skip to content

Commit 67b1df9

Browse files
committed
fix check to work for all classes extending SortMappings
1 parent dd97568 commit 67b1df9

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

src/main/java/it/aboutbits/archunit/toolbox/rule/common/SortMappingsExhaustiveArchRule.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.tngtech.archunit.lang.ConditionEvents;
99
import com.tngtech.archunit.lang.SimpleConditionEvent;
1010
import lombok.extern.slf4j.Slf4j;
11-
import org.jspecify.annotations.NonNull;
1211
import org.jspecify.annotations.NullMarked;
1312

1413
import java.util.HashMap;
@@ -49,14 +48,14 @@ public void check(JavaClass javaClass, ConditionEvents events) {
4948
validateSortMappings(javaClass, events, mappings);
5049
}
5150

52-
private static @NonNull DetectedSortField detectSortMappings(JavaClass javaClass) {
51+
private static DetectedSortField detectSortMappings(JavaClass javaClass) {
5352
// Read SortMappings static fields, resolve their enum type, and collect key names
5453
var fieldToKeyNames = new HashMap<String, Set<String>>();
5554
var fieldToEnumClassName = new HashMap<String, String>();
5655
try {
5756
var runtimeClass = Class.forName(javaClass.getFullName());
5857
for (var field : javaClass.getFields()) {
59-
if (field.getRawType().getFullName().equals(
58+
if (field.getRawType().isAssignableTo(
6059
"it.aboutbits.springboot.toolbox.persistence.SortMappings")) {
6160
String enumClassName = null;
6261

@@ -157,8 +156,7 @@ private static void validateSortMappings(
157156
var fieldLine = javaClass.getFields().stream()
158157
.filter(f -> f.getName().equals(fieldName))
159158
.filter(f -> f.getRawType()
160-
.getFullName()
161-
.equals("it.aboutbits.springboot.toolbox.persistence.SortMappings"))
159+
.isAssignableTo("it.aboutbits.springboot.toolbox.persistence.SortMappings"))
162160
.findFirst()
163161
.map(f -> f.getSourceCodeLocation().getLineNumber())
164162
.orElse(-1);

0 commit comments

Comments
 (0)