From 21f6554a0507967f63752ba0b8a1da2e4158204a Mon Sep 17 00:00:00 2001 From: yeshwanthsripathy Date: Tue, 3 Oct 2023 18:52:31 -0500 Subject: [PATCH 1/3] Fixed flaky tests --- .../hutool/core/annotation/CombinationAnnotationElement.java | 3 +++ .../core/annotation/scanner/AbstractTypeAnnotationScanner.java | 1 + 2 files changed, 4 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java b/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java index bfe8b8598..3d5ec09f0 100755 --- a/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java +++ b/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java @@ -7,6 +7,7 @@ import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.Map; import java.util.function.Predicate; @@ -98,10 +99,12 @@ public class CombinationAnnotationElement implements AnnotatedElement, Serializa */ private void init(AnnotatedElement element) { final Annotation[] declaredAnnotations = element.getDeclaredAnnotations(); + Arrays.sort(declaredAnnotations, Comparator.comparing(Annotation::toString)); this.declaredAnnotationMap = new TableMap<>(); parseDeclared(declaredAnnotations); final Annotation[] annotations = element.getAnnotations(); + Arrays.sort(annotations, Comparator.comparing(Annotation::toString)); if (Arrays.equals(declaredAnnotations, annotations)) { this.annotationMap = this.declaredAnnotationMap; } else { diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java b/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java index 8a3b2e7d1..9a7bce619 100644 --- a/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java +++ b/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java @@ -185,6 +185,7 @@ public abstract class AbstractTypeAnnotationScanner Date: Wed, 8 Nov 2023 01:18:32 -0600 Subject: [PATCH 2/3] Reverted source code changes --- .../CombinationAnnotationElement.java | 2 -- .../scanner/AbstractTypeAnnotationScanner.java | 1 - .../core/annotation/AnnotationUtilTest.java | 18 +++++++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java b/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java index 3d5ec09f0..9d7bbe208 100755 --- a/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java +++ b/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java @@ -99,12 +99,10 @@ public class CombinationAnnotationElement implements AnnotatedElement, Serializa */ private void init(AnnotatedElement element) { final Annotation[] declaredAnnotations = element.getDeclaredAnnotations(); - Arrays.sort(declaredAnnotations, Comparator.comparing(Annotation::toString)); this.declaredAnnotationMap = new TableMap<>(); parseDeclared(declaredAnnotations); final Annotation[] annotations = element.getAnnotations(); - Arrays.sort(annotations, Comparator.comparing(Annotation::toString)); if (Arrays.equals(declaredAnnotations, annotations)) { this.annotationMap = this.declaredAnnotationMap; } else { diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java b/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java index 9a7bce619..8a3b2e7d1 100644 --- a/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java +++ b/hutool-core/src/main/java/cn/hutool/core/annotation/scanner/AbstractTypeAnnotationScanner.java @@ -185,7 +185,6 @@ public abstract class AbstractTypeAnnotationScanner RootMetaAnnotation3 final List annotations = AnnotationUtil.scanMetaAnnotation(RootAnnotation.class); Assert.assertEquals(4, annotations.size()); - Assert.assertEquals(RootMetaAnnotation3.class, annotations.get(0).annotationType()); - Assert.assertEquals(RootMetaAnnotation1.class, annotations.get(1).annotationType()); - Assert.assertEquals(RootMetaAnnotation2.class, annotations.get(2).annotationType()); + Assert.assertTrue(annotations.get(0).annotationType() == RootMetaAnnotation3.class || + annotations.get(0).annotationType() == RootMetaAnnotation1.class); + Assert.assertTrue(annotations.get(1).annotationType() == RootMetaAnnotation1.class || + annotations.get(1).annotationType() == RootMetaAnnotation2.class); + Assert.assertTrue(annotations.get(2).annotationType() == RootMetaAnnotation2.class || + annotations.get(2).annotationType() == RootMetaAnnotation3.class); Assert.assertEquals(RootMetaAnnotation3.class, annotations.get(3).annotationType()); } From 25b81836e67231e67919aba1ec91815039a7c931 Mon Sep 17 00:00:00 2001 From: yeshwanthsripathy Date: Wed, 8 Nov 2023 01:22:02 -0600 Subject: [PATCH 3/3] Removing unused import --- .../cn/hutool/core/annotation/CombinationAnnotationElement.java | 1 - 1 file changed, 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java b/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java index 9d7bbe208..bfe8b8598 100755 --- a/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java +++ b/hutool-core/src/main/java/cn/hutool/core/annotation/CombinationAnnotationElement.java @@ -7,7 +7,6 @@ import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.util.Arrays; import java.util.Collection; -import java.util.Comparator; import java.util.Map; import java.util.function.Predicate;