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/dataaccess/violations/ThirdPartyDataMappingPersistanceNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceNotOk.java new file mode 100644 index 0000000..a73ff45 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceNotOk.java @@ -0,0 +1,8 @@ +package com.devonfw.sample.archunit.general.dataaccess.violations; + +import javax.persistence.Convert; // Noncompliant + +@Convert +public class ThirdPartyDataMappingPersistanceNotOk { + +} 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 new file mode 100644 index 0000000..0380842 --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyDataMappingPersistanceOk.java @@ -0,0 +1,10 @@ +package com.devonfw.sample.archunit.general.dataaccess.violations; + +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 { + +} diff --git a/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaNotOk.java b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaNotOk.java new file mode 100644 index 0000000..01cf93f --- /dev/null +++ b/src/main/java/com/devonfw/sample/archunit/general/dataaccess/violations/ThirdPartyMysemaNotOk.java @@ -0,0 +1,9 @@ +package com.devonfw.sample.archunit.general.dataaccess.violations; + +import com.mysema.query.jpa.impl.JPAQuery; // Noncompliant + +public class ThirdPartyMysemaNotOk { + + 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