diff --git a/archunit/src/main/java/com/tngtech/archunit/library/GeneralCodingRules.java b/archunit/src/main/java/com/tngtech/archunit/library/GeneralCodingRules.java index 4666bc71f..2c4280ec4 100644 --- a/archunit/src/main/java/com/tngtech/archunit/library/GeneralCodingRules.java +++ b/archunit/src/main/java/com/tngtech/archunit/library/GeneralCodingRules.java @@ -515,12 +515,12 @@ public void check(JavaClass implementationClass, ConditionEvents events) { */ @PublicAPI(usage = ACCESS) public static final ArchRule OLD_DATE_AND_TIME_CLASSES_SHOULD_NOT_BE_USED = - noClasses() - .should().dependOnClassesThat().haveFullyQualifiedName("java.sql.Date") - .orShould().dependOnClassesThat().haveFullyQualifiedName("java.sql.Time") - .orShould().dependOnClassesThat().haveFullyQualifiedName("java.sql.Timestamp") - .orShould().dependOnClassesThat().haveFullyQualifiedName("java.util.Calendar") - .orShould().dependOnClassesThat().haveFullyQualifiedName("java.util.Date") - .as("since Java 8 (and JavaEE 7 if JPA is needed) java.time-API should be used.") - .because("since Java 8 (and JavaEE 7 if JPA is needed) java.time-API should be used."); -} + noClasses() + .should().dependOnClassesThat().haveFullyQualifiedName("java.sql.Date") + .orShould().dependOnClassesThat().haveFullyQualifiedName("java.sql.Time") + .orShould().dependOnClassesThat().haveFullyQualifiedName("java.sql.Timestamp") + .orShould().dependOnClassesThat().haveFullyQualifiedName("java.util.Calendar") + .orShould().dependOnClassesThat().haveFullyQualifiedName("java.util.Date") + .as("java.time API should be used") + .because("legacy date/time APIs have been replaced since Java 8 (JSR 310)"); +} \ No newline at end of file diff --git a/archunit/src/test/java/com/tngtech/archunit/library/GeneralCodingRulesTest.java b/archunit/src/test/java/com/tngtech/archunit/library/GeneralCodingRulesTest.java index bc756adfa..16faf91ae 100644 --- a/archunit/src/test/java/com/tngtech/archunit/library/GeneralCodingRulesTest.java +++ b/archunit/src/test/java/com/tngtech/archunit/library/GeneralCodingRulesTest.java @@ -187,45 +187,43 @@ void origin() { private @interface DeprecatedAnnotation { } - - @Test public void OLD_DATE_AND_TIME_CLASSES_SHOULD_NOT_BE_USED_should_fail_when_class_uses_java_util_date() { assertThatRule(OLD_DATE_AND_TIME_CLASSES_SHOULD_NOT_BE_USED) - .hasDescriptionContaining("since Java 8 (and JavaEE 7 if JPA is needed) java.time-API should be used.") - .checking(new ClassFileImporter().importClasses(UsesJavaUtilDate.class)) - .hasViolationContaining("calls method