From 14eb076c6801c3a9ccaab7f9bf78c2d3e978da5f Mon Sep 17 00:00:00 2001 From: dendmicap Date: Wed, 8 Mar 2023 10:02:33 +0100 Subject: [PATCH 1/3] third party E2, E5, E6 violations --- pom.xml | 7 +++++++ .../ThirdPartyDataMappingPersistanceNotOk.java | 8 ++++++++ .../violations/ThirdPartyDataMappingPersistanceOk.java | 8 ++++++++ .../general/violations/ThirdPartyMysemaNotOk.java | 9 +++++++++ .../archunit/general/violations/ThirdPartyMysemaOk.java | 9 +++++++++ .../general/violations/ThirdPartyObjectNotOk.java | 9 +++++++++ .../archunit/general/violations/ThirdPartyObjectOK.java | 9 +++++++++ 7 files changed, 59 insertions(+) create mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java diff --git a/pom.xml b/pom.xml index d6dcca8..fcb4743 100644 --- a/pom.xml +++ b/pom.xml @@ -102,6 +102,13 @@ ${querydsl.version} + + + com.mysema.querydsl + querydsl-jpa + 3.2.4 + + io.quarkus diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java new file mode 100644 index 0000000..e2f70f6 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java @@ -0,0 +1,8 @@ +package com.devonfw.sample.archunit.general.violations; + +import javax.persistence.Convert; // Noncompliant + +@Convert +public class ThirdPartyDataMappingPersistanceNotOk { + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java new file mode 100644 index 0000000..20c522b --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java @@ -0,0 +1,8 @@ +package com.devonfw.sample.archunit.general.violations; + +import javax.persistence.Converter; // compliant + +@Converter +public class ThirdPartyDataMappingPersistanceOk { + +} \ No newline at end of file diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java new file mode 100644 index 0000000..80ceed3 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.violations; + +import com.mysema.query.jpa.impl.JPAQuery; // Noncompliant + +public class ThirdPartyMysemaNotOk { + + JPAQuery jpaQuery = new JPAQuery(); + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java new file mode 100644 index 0000000..3b5e813 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.violations; + +import com.querydsl.jpa.impl.JPAQuery; // compliant + +public class ThirdPartyMysemaOk { + + JPAQuery jpaQuery = new JPAQuery<>(); + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java new file mode 100644 index 0000000..9d55fdb --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.violations; + +import static com.google.common.base.Objects.equal;; + +public class ThirdPartyObjectNotOk { + + boolean result = equal(1, 1); + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java new file mode 100644 index 0000000..d394f16 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.violations; + +// compliant: standard java object method equals() +public class ThirdPartyObjectOK { + + Integer one = 1; + boolean result = one.equals((Integer) 1); + +} \ No newline at end of file From 3df609bf7d7517531e5af06ea0e62f77e0a7274d Mon Sep 17 00:00:00 2001 From: dendmicap Date: Wed, 22 Mar 2023 12:04:59 +0100 Subject: [PATCH 2/3] moved violations and fixed mysema violation --- .../ThirdPartyDataMappingPersistanceNotOk.java | 2 +- .../violations/ThirdPartyDataMappingPersistanceOk.java | 2 +- .../violations/ThirdPartyMysemaNotOk.java | 4 ++-- .../dataaccess/violations/ThirdPartyMysemaOk.java | 9 +++++++++ .../dataaccess/violations/ThirdPartyObjectNotOk.java | 9 +++++++++ .../dataaccess/violations/ThirdPartyObjectOK.java | 8 ++++++++ .../archunit/general/violations/ThirdPartyMysemaOk.java | 9 --------- .../general/violations/ThirdPartyObjectNotOk.java | 9 --------- .../archunit/general/violations/ThirdPartyObjectOK.java | 9 --------- 9 files changed, 30 insertions(+), 31 deletions(-) rename src/main/java/com/devonfw/sample/archunit/general/{ => dataaccess}/violations/ThirdPartyDataMappingPersistanceNotOk.java (64%) rename src/main/java/com/devonfw/sample/archunit/general/{ => dataaccess}/violations/ThirdPartyDataMappingPersistanceOk.java (62%) rename src/main/java/com/devonfw/sample/archunit/general/{ => dataaccess}/violations/ThirdPartyMysemaNotOk.java (51%) create mode 100644 src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectNotOk.java create mode 100644 src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectOK.java delete mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java delete mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java delete mode 100644 src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceNotOk.java similarity index 64% rename from src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java rename to src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceNotOk.java index e2f70f6..a73ff45 100644 --- a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceNotOk.java +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceNotOk.java @@ -1,4 +1,4 @@ -package com.devonfw.sample.archunit.general.violations; +package com.devonfw.sample.archunit.general.dataaccess.violations; import javax.persistence.Convert; // Noncompliant diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java similarity index 62% rename from src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java rename to src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java index 20c522b..1fa6dec 100644 --- a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyDataMappingPersistanceOk.java +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java @@ -1,4 +1,4 @@ -package com.devonfw.sample.archunit.general.violations; +package com.devonfw.sample.archunit.general.dataaccess.violations; import javax.persistence.Converter; // compliant diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaNotOk.java similarity index 51% rename from src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java rename to src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaNotOk.java index 80ceed3..01cf93f 100644 --- a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaNotOk.java +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaNotOk.java @@ -1,9 +1,9 @@ -package com.devonfw.sample.archunit.general.violations; +package com.devonfw.sample.archunit.general.dataaccess.violations; import com.mysema.query.jpa.impl.JPAQuery; // Noncompliant public class ThirdPartyMysemaNotOk { - JPAQuery jpaQuery = new JPAQuery(); + JPAQuery jpaQuery; } diff --git a/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaOk.java new file mode 100644 index 0000000..1e65306 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaOk.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.dataaccess.violations; + +import com.querydsl.jpa.impl.JPAQuery; // compliant + +public class ThirdPartyMysemaOk { + + JPAQuery jpaQuery; + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectNotOk.java new file mode 100644 index 0000000..1c412ba --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectNotOk.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.dataaccess.violations; + +import static com.google.common.base.Objects.equal; // Noncompliant + +public class ThirdPartyObjectNotOk { + + boolean result = equal(1, 1); + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectOK.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectOK.java new file mode 100644 index 0000000..b0f64dd --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyObjectOK.java @@ -0,0 +1,8 @@ +package com.devonfw.sample.archunit.general.dataaccess.violations; + +// compliant: standard java object method equals() +public class ThirdPartyObjectOK { + + boolean result1 = java.util.Objects.equals(1, 1); + +} \ No newline at end of file diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java deleted file mode 100644 index 3b5e813..0000000 --- a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyMysemaOk.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.devonfw.sample.archunit.general.violations; - -import com.querydsl.jpa.impl.JPAQuery; // compliant - -public class ThirdPartyMysemaOk { - - JPAQuery jpaQuery = new JPAQuery<>(); - -} diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java deleted file mode 100644 index 9d55fdb..0000000 --- a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectNotOk.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.devonfw.sample.archunit.general.violations; - -import static com.google.common.base.Objects.equal;; - -public class ThirdPartyObjectNotOk { - - boolean result = equal(1, 1); - -} diff --git a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java b/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java deleted file mode 100644 index d394f16..0000000 --- a/src/main/java/com/devonfw/sample/archunit/general/violations/ThirdPartyObjectOK.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.devonfw.sample.archunit.general.violations; - -// compliant: standard java object method equals() -public class ThirdPartyObjectOK { - - Integer one = 1; - boolean result = one.equals((Integer) 1); - -} \ No newline at end of file From 251ed7eaba189f5ff9e3b2271529806c81411dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Hohwiller?= Date: Tue, 25 Apr 2023 10:35:46 +0200 Subject: [PATCH 3/3] Update ThirdPartyDataMappingPersistanceOk.java --- .../violations/ThirdPartyDataMappingPersistanceOk.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java index 1fa6dec..0380842 100644 --- a/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java @@ -3,6 +3,8 @@ import javax.persistence.Converter; // compliant @Converter +// OK - just for demonstration purpose. A reasonable example can be found here: +// https://github.com/devonfw/devon4j/blob/master/documentation/guide-jpa.asciidoc#entities-and-datatypes public class ThirdPartyDataMappingPersistanceOk { -} \ No newline at end of file +}