From aeb11f95081c281efbac305609c06b7913b8efa7 Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen <135582318+cs168898@users.noreply.github.com> Date: Fri, 29 Aug 2025 12:55:31 +0000 Subject: [PATCH 1/9] Refactored entity classes to align with ReadME annotations This commit refactors several entity classes to ensure they accurately reflect the specifications outlined in the project's README file --- ...notationTest3.java => DocumentEntity.java} | 5 +-- ...otaion3Dao.java => DocumentEntityDao.java} | 2 +- .../{AnnotationTest.java => DogEntity.java} | 2 +- .../{AnnotaionDao.java => DogEntityDao.java} | 2 +- ...AnnotationTest2.java => PersonEntity.java} | 2 +- ...nnotaion2Dao.java => PersonEntityDao.java} | 2 +- .../test/drm/ApplicationIntegrationTest.java | 30 +++++++------- .../at/test/drm/RelationDaoFactoryTest.java | 30 +++++++------- .../java/at/test/drm/RelationServiceTest.java | 24 +++++------ .../test/java/at/test/drm/RelationTest.java | 41 ++++++++++--------- 10 files changed, 71 insertions(+), 69 deletions(-) rename testing/src/main/java/at/test/drm/{AnnotationTest3.java => DocumentEntity.java} (86%) rename testing/src/main/java/at/test/drm/{Annotaion3Dao.java => DocumentEntityDao.java} (64%) rename testing/src/main/java/at/test/drm/{AnnotationTest.java => DogEntity.java} (86%) rename testing/src/main/java/at/test/drm/{AnnotaionDao.java => DogEntityDao.java} (65%) rename testing/src/main/java/at/test/drm/{AnnotationTest2.java => PersonEntity.java} (86%) rename testing/src/main/java/at/test/drm/{Annotaion2Dao.java => PersonEntityDao.java} (65%) diff --git a/testing/src/main/java/at/test/drm/AnnotationTest3.java b/testing/src/main/java/at/test/drm/DocumentEntity.java similarity index 86% rename from testing/src/main/java/at/test/drm/AnnotationTest3.java rename to testing/src/main/java/at/test/drm/DocumentEntity.java index 7d48327..cc4eaaa 100644 --- a/testing/src/main/java/at/test/drm/AnnotationTest3.java +++ b/testing/src/main/java/at/test/drm/DocumentEntity.java @@ -2,17 +2,16 @@ import at.drm.annotation.Relation; import at.drm.model.RelationIdentity; -import lombok.Data; - import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import lombok.Data; @Relation @Entity @Data -public class AnnotationTest3 implements RelationIdentity { +public class DocumentEntity implements RelationIdentity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/testing/src/main/java/at/test/drm/Annotaion3Dao.java b/testing/src/main/java/at/test/drm/DocumentEntityDao.java similarity index 64% rename from testing/src/main/java/at/test/drm/Annotaion3Dao.java rename to testing/src/main/java/at/test/drm/DocumentEntityDao.java index 7671eb2..f0ea58e 100644 --- a/testing/src/main/java/at/test/drm/Annotaion3Dao.java +++ b/testing/src/main/java/at/test/drm/DocumentEntityDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface Annotaion3Dao extends CrudRepository { +public interface DocumentEntityDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/AnnotationTest.java b/testing/src/main/java/at/test/drm/DogEntity.java similarity index 86% rename from testing/src/main/java/at/test/drm/AnnotationTest.java rename to testing/src/main/java/at/test/drm/DogEntity.java index 657731c..dad00cc 100644 --- a/testing/src/main/java/at/test/drm/AnnotationTest.java +++ b/testing/src/main/java/at/test/drm/DogEntity.java @@ -12,7 +12,7 @@ @Relation @Entity @Data -public class AnnotationTest implements RelationIdentity { +public class DogEntity implements RelationIdentity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/testing/src/main/java/at/test/drm/AnnotaionDao.java b/testing/src/main/java/at/test/drm/DogEntityDao.java similarity index 65% rename from testing/src/main/java/at/test/drm/AnnotaionDao.java rename to testing/src/main/java/at/test/drm/DogEntityDao.java index 3ae2fac..c10c891 100644 --- a/testing/src/main/java/at/test/drm/AnnotaionDao.java +++ b/testing/src/main/java/at/test/drm/DogEntityDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface AnnotaionDao extends CrudRepository { +public interface DogEntityDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/AnnotationTest2.java b/testing/src/main/java/at/test/drm/PersonEntity.java similarity index 86% rename from testing/src/main/java/at/test/drm/AnnotationTest2.java rename to testing/src/main/java/at/test/drm/PersonEntity.java index 736267b..954b7c6 100644 --- a/testing/src/main/java/at/test/drm/AnnotationTest2.java +++ b/testing/src/main/java/at/test/drm/PersonEntity.java @@ -12,7 +12,7 @@ @Relation @Entity @Data -public class AnnotationTest2 implements RelationIdentity { +public class PersonEntity implements RelationIdentity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/testing/src/main/java/at/test/drm/Annotaion2Dao.java b/testing/src/main/java/at/test/drm/PersonEntityDao.java similarity index 65% rename from testing/src/main/java/at/test/drm/Annotaion2Dao.java rename to testing/src/main/java/at/test/drm/PersonEntityDao.java index 4aebc30..df556b5 100644 --- a/testing/src/main/java/at/test/drm/Annotaion2Dao.java +++ b/testing/src/main/java/at/test/drm/PersonEntityDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface Annotaion2Dao extends CrudRepository { +public interface PersonEntityDao extends CrudRepository { } diff --git a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java index c6a9066..deb5566 100644 --- a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java +++ b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java @@ -21,11 +21,11 @@ class ApplicationIntegrationTest { @Autowired - private AnnotaionDao dao; + private PersonEntityDao dao; @Autowired - private Annotaion2Dao dao2; + private DogEntityDao dao2; @Autowired - private Annotaion3Dao dao3; + private DocumentEntityDao dao3; @Autowired private RelationService relationService; @Autowired @@ -33,9 +33,9 @@ class ApplicationIntegrationTest { @Test void shouldFindRelationBySourceObject() { - var first = new AnnotationTest(); - var second = new AnnotationTest2(); - var third = new AnnotationTest3(); + var first = new PersonEntity(); + var second = new DogEntity(); + var third = new DocumentEntity(); dao.save(first); dao2.save(second); dao3.save(third); @@ -55,9 +55,9 @@ void shouldFindRelationBySourceObject() { @Test void shouldFindRelationByTarget() { - var first = new AnnotationTest(); - var second = new AnnotationTest2(); - var third = new AnnotationTest3(); + var first = new PersonEntity(); + var second = new DogEntity(); + var third = new DocumentEntity(); dao.save(first); dao2.save(second); dao3.save(third); @@ -78,9 +78,9 @@ void shouldFindRelationByTarget() { @Test void shouldFindRelationBySourceObjectAndIdentity() { - var first = new AnnotationTest(); - var second = new AnnotationTest2(); - var third = new AnnotationTest3(); + var first = new PersonEntity(); + var second = new DogEntity(); + var third = new DocumentEntity(); dao.save(first); dao2.save(second); dao3.save(third); @@ -99,9 +99,9 @@ void shouldFindRelationBySourceObjectAndIdentity() { @Test void shouldDeleteRelation() { - var first = new AnnotationTest(); - var second = new AnnotationTest2(); - var third = new AnnotationTest3(); + var first = new PersonEntity(); + var second = new DogEntity(); + var third = new DocumentEntity(); dao.save(first); dao2.save(second); dao3.save(third); diff --git a/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java b/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java index 559852d..177670a 100644 --- a/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java +++ b/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java @@ -1,21 +1,23 @@ package at.test.drm; -import at.drm.dao.RelationDao; -import at.drm.exception.NoRelationDaoFoundException; -import at.drm.factory.RelationDaoFactory; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import static org.mockito.ArgumentMatchers.any; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.context.ApplicationContext; -import java.util.*; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -import static org.mockito.ArgumentMatchers.any; +import at.drm.dao.RelationDao; +import at.drm.exception.NoRelationDaoFoundException; +import at.drm.factory.RelationDaoFactory; @ExtendWith(MockitoExtension.class) @@ -25,7 +27,7 @@ class RelationDaoFactoryTest { private ApplicationContext applicationContext; @Mock - private AnnotationTest2RelationDao annotationTest2RelationDao; + private DogEntityDao dogEntityDao; @Mock private RelationDao relationDao; @@ -36,20 +38,20 @@ class RelationDaoFactoryTest { @Test void getDaoFromSourceObjectClass() { Mockito.when(applicationContext.getBeansOfType(any(Class.class))) - .thenReturn(Map.ofEntries(Map.entry("testDao", annotationTest2RelationDao))); + .thenReturn(Map.ofEntries(Map.entry("testDao", dogEntityDao))); RelationDao daoFromSourceObjectClass = relationDaoFactoryUnderTest.getDaoFromSourceObjectClass( - AnnotationTest2.class); + DogEntity.class); assertThat(daoFromSourceObjectClass).isNotNull(); - assertThat(daoFromSourceObjectClass).isInstanceOf(annotationTest2RelationDao.getClass()); + assertThat(daoFromSourceObjectClass).isInstanceOf(dogEntityDao.getClass()); } @Test void getDaoFromSourceObjectClassShouldThrowNoDaoFoundException() { Mockito.when(applicationContext.getBeansOfType(any(Class.class))) - .thenReturn(Map.ofEntries(Map.entry("testDao", annotationTest2RelationDao))); + .thenReturn(Map.ofEntries(Map.entry("testDao", dogEntityDao))); NoRelationDaoFoundException exception = Assertions.assertThrows(NoRelationDaoFoundException.class, () -> { relationDaoFactoryUnderTest.getDaoFromSourceObjectClass( - AnnotationTest.class); + PersonEntity.class); }); assertThat(exception).isNotNull(); } @@ -61,7 +63,7 @@ void getDaoFromSourceObjectClassShouldThrowRuntimeException() { .thenReturn(Map.ofEntries(Map.entry("wrongTestDao", relationDao))); RuntimeException exception = Assertions.assertThrows(RuntimeException.class, () -> { relationDaoFactoryUnderTest.getDaoFromSourceObjectClass( - AnnotaionDao.class); + PersonEntity.class); }); assertThat(exception).isNotNull(); } diff --git a/testing/src/test/java/at/test/drm/RelationServiceTest.java b/testing/src/test/java/at/test/drm/RelationServiceTest.java index 4b9fe78..a46355f 100644 --- a/testing/src/test/java/at/test/drm/RelationServiceTest.java +++ b/testing/src/test/java/at/test/drm/RelationServiceTest.java @@ -32,11 +32,11 @@ public class RelationServiceTest { void createRelation() { Mockito.when(relationDaoFactory.getDaoFromSourceObjectClass(any(Class.class))) .thenReturn(annotationTestRelationDao); - AnnotationTest annotationTest = new AnnotationTest(); - annotationTest.setId(1L); - AnnotationTest2 annotationTest2 = new AnnotationTest2(); - annotationTest2.setId(1L); - relationService.createRelation(annotationTest, annotationTest2); + PersonEntity PersonEntity = new PersonEntity(); + PersonEntity.setId(1L); + DogEntity DogEntity = new DogEntity(); + DogEntity.setId(1L); + relationService.createRelation(PersonEntity, DogEntity); } @Test @@ -44,7 +44,7 @@ void deleteRelation() { Mockito.when(relationDaoFactory.getDaoFromSourceObjectClass(any(Class.class))) .thenReturn(annotationTestRelationDao); AnnotationTestRelation annotationTestRelation = new AnnotationTestRelation(); - annotationTestRelation.setSourceObject(new AnnotationTest()); + annotationTestRelation.setSourceObject(new PersonEntity()); relationService.deleteRelation(annotationTestRelation); } @@ -52,18 +52,18 @@ void deleteRelation() { void findRelationBySourceObject() { Mockito.when(relationDaoFactory.getDaoFromSourceObjectClass(any(Class.class))) .thenReturn(annotationTestRelationDao); - AnnotationTest annotationTest = new AnnotationTest(); - annotationTest.setId(1L); - List relationBySourceObject = relationService.findRelationBySourceObject(annotationTest); + PersonEntity PersonEntity = new PersonEntity(); + PersonEntity.setId(1L); + List relationBySourceObject = relationService.findRelationBySourceObject(PersonEntity); } @Test void findRelationByTargetRelationIdentity() { Mockito.when(relationDaoFactory.getAllDaos()) .thenReturn(Collections.singleton(annotationTestRelationDao)); - AnnotationTest annotationTest = new AnnotationTest(); - annotationTest.setId(1L); - Set relationByTargetRelationIdentity = relationService.findRelationByTargetRelationIdentity(annotationTest); + PersonEntity PersonEntity = new PersonEntity(); + PersonEntity.setId(1L); + Set relationByTargetRelationIdentity = relationService.findRelationByTargetRelationIdentity(PersonEntity); } } diff --git a/testing/src/test/java/at/test/drm/RelationTest.java b/testing/src/test/java/at/test/drm/RelationTest.java index 44b72bd..2b2f16f 100644 --- a/testing/src/test/java/at/test/drm/RelationTest.java +++ b/testing/src/test/java/at/test/drm/RelationTest.java @@ -1,17 +1,18 @@ package at.test.drm; -import at.drm.factory.RelationDaoFactory; -import at.drm.model.RelationLink; -import at.drm.service.RelationService; +import java.util.List; +import java.util.Set; + import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; -import java.util.List; -import java.util.Set; +import at.drm.factory.RelationDaoFactory; +import at.drm.model.RelationLink; +import at.drm.service.RelationService; @SpringBootTest @Disabled @@ -19,13 +20,13 @@ class RelationTest { @Autowired - private AnnotaionDao annotaionDao; + private PersonEntityDao personEntityDao; @Autowired - private Annotaion2Dao annotaion2Dao; + private DogEntityDao dogEntityDao; @Autowired - private Annotaion3Dao annotaion3Dao; + private DocumentEntityDao documentEntityDao; private final RelationDaoFactory relationDaoFactory; @@ -41,23 +42,23 @@ public RelationTest(ApplicationContext applicationContext) { @Test void testCreateRelation() { - AnnotationTest annotationTest = new AnnotationTest(); - annotaionDao.save(annotationTest); + PersonEntity personEntity = new PersonEntity(); + personEntityDao.save(personEntity); - AnnotationTest2 annotationTest2 = new AnnotationTest2(); - annotaion2Dao.save(annotationTest2); + DogEntity dogEntity = new DogEntity(); + dogEntityDao.save(dogEntity); - AnnotationTest3 annotationTest3 = new AnnotationTest3(); - annotaion3Dao.save(annotationTest3); + DocumentEntity documentEntity = new DocumentEntity(); + documentEntityDao.save(documentEntity); - RelationLink test = relationService.createRelation(annotationTest, annotationTest2); - RelationLink test2 = relationService.createRelation(annotationTest, annotationTest3); - RelationLink test3 = relationService.createRelation(annotationTest2, annotationTest3); + RelationLink test = relationService.createRelation(personEntity, dogEntity); + RelationLink test2 = relationService.createRelation(personEntity, documentEntity); + RelationLink test3 = relationService.createRelation(dogEntity, documentEntity); - RelationLink relationLink = relationService.findRelationBySourceObjectAndRelationIdentity(annotationTest, annotationTest2); + RelationLink relationLink = relationService.findRelationBySourceObjectAndRelationIdentity(personEntity, dogEntity); - List relationBySourceObject = relationService.findRelationBySourceObject(annotationTest); - Set relationByTargetRelationIdentity = relationService.findRelationByTargetRelationIdentity(annotationTest3); + List relationBySourceObject = relationService.findRelationBySourceObject(personEntity); + Set relationByTargetRelationIdentity = relationService.findRelationByTargetRelationIdentity(documentEntity); relationService.deleteRelation(test); System.out.println(); From 45a8730b8582b945d3ec49b39b80fa2a054ebde0 Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen <135582318+cs168898@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:12:30 +0000 Subject: [PATCH 2/9] refactor: Missed a few lines Missed out a few lines in ApplicationIntegrationTest where it was not refactored and still using AnnotationTest1, AnnotationTest2, AnnotationTest3 --- .../test/drm/ApplicationIntegrationTest.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java index deb5566..cb76215 100644 --- a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java +++ b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java @@ -1,19 +1,21 @@ package at.test.drm; -import at.drm.EnableDynamicRelation; -import at.drm.model.RelationLink; -import at.drm.service.DynamicRelationsPrintService; -import at.drm.service.RelationService; -import io.zonky.test.db.AutoConfigureEmbeddedDatabase; -import io.zonky.test.db.AutoConfigureEmbeddedDatabase.DatabaseProvider; import java.util.List; import java.util.Set; + import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; +import at.drm.EnableDynamicRelation; +import at.drm.model.RelationLink; +import at.drm.service.DynamicRelationsPrintService; +import at.drm.service.RelationService; +import io.zonky.test.db.AutoConfigureEmbeddedDatabase; +import io.zonky.test.db.AutoConfigureEmbeddedDatabase.DatabaseProvider; + @SpringBootTest @ActiveProfiles("integration") @EnableDynamicRelation @@ -120,9 +122,9 @@ void shouldDeleteRelation() { @Test void shouldPrintRelations() { - var first = new AnnotationTest(); - var second = new AnnotationTest2(); - var third = new AnnotationTest3(); + var first = new PersonEntity(); + var second = new DogEntity(); + var third = new DocumentEntity(); dao.save(first); dao2.save(second); dao3.save(third); @@ -140,9 +142,9 @@ void shouldPrintRelations() { } @Test void shouldPrintRelationsWithCyclicRelations() { - var first = new AnnotationTest(); - var second = new AnnotationTest2(); - var third = new AnnotationTest3(); + var first = new PersonEntity(); + var second = new DogEntity(); + var third = new DocumentEntity(); dao.save(first); dao2.save(second); dao3.save(third); From 8a6c44ad05d0c132df63056cb90d79a4936455dc Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen Date: Sat, 30 Aug 2025 11:54:19 +0800 Subject: [PATCH 3/9] added lombok plugins added the @Getter for the 3 refactored classes as well as adding the lombok plugin for the main project structure as the @RequiredArgsConstructor in RelationDaoFactory.java of the main project file could not intiliaze variable applicationContext in the default constructor --- dynamic-relations/pom.xml | 18 ++++++++++++++++++ testing/pom.xml | 15 +++++++++++++++ .../main/java/at/test/drm/DocumentEntity.java | 2 ++ .../src/main/java/at/test/drm/DogEntity.java | 2 ++ .../main/java/at/test/drm/PersonEntity.java | 3 +++ .../db/migration/V1_0_0__init_schema.sql | 12 ++++++------ 6 files changed, 46 insertions(+), 6 deletions(-) diff --git a/dynamic-relations/pom.xml b/dynamic-relations/pom.xml index d17669e..d80959c 100644 --- a/dynamic-relations/pom.xml +++ b/dynamic-relations/pom.xml @@ -34,4 +34,22 @@ + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.14.0 + + + + org.projectlombok + lombok + 1.18.30 + + + + + + diff --git a/testing/pom.xml b/testing/pom.xml index 71d6d78..70a733a 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -58,6 +58,21 @@ public + + + org.apache.maven.plugins + maven-compiler-plugin + 3.14.0 + + + + org.projectlombok + lombok + 1.18.30 + + + + diff --git a/testing/src/main/java/at/test/drm/DocumentEntity.java b/testing/src/main/java/at/test/drm/DocumentEntity.java index cc4eaaa..ffa431a 100644 --- a/testing/src/main/java/at/test/drm/DocumentEntity.java +++ b/testing/src/main/java/at/test/drm/DocumentEntity.java @@ -7,7 +7,9 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.Data; +import lombok.Getter; +@Getter @Relation @Entity @Data diff --git a/testing/src/main/java/at/test/drm/DogEntity.java b/testing/src/main/java/at/test/drm/DogEntity.java index dad00cc..934d923 100644 --- a/testing/src/main/java/at/test/drm/DogEntity.java +++ b/testing/src/main/java/at/test/drm/DogEntity.java @@ -8,7 +8,9 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import lombok.Getter; +@Getter @Relation @Entity @Data diff --git a/testing/src/main/java/at/test/drm/PersonEntity.java b/testing/src/main/java/at/test/drm/PersonEntity.java index 954b7c6..13bc249 100644 --- a/testing/src/main/java/at/test/drm/PersonEntity.java +++ b/testing/src/main/java/at/test/drm/PersonEntity.java @@ -8,7 +8,9 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import lombok.Getter; +@Getter @Relation @Entity @Data @@ -17,4 +19,5 @@ public class PersonEntity implements RelationIdentity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + } diff --git a/testing/src/main/resources/db/migration/V1_0_0__init_schema.sql b/testing/src/main/resources/db/migration/V1_0_0__init_schema.sql index c6a68c8..68104a0 100644 --- a/testing/src/main/resources/db/migration/V1_0_0__init_schema.sql +++ b/testing/src/main/resources/db/migration/V1_0_0__init_schema.sql @@ -1,30 +1,30 @@ -CREATE TABLE ANNOTATION_TEST ( +CREATE TABLE PERSON_ENTITY ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY ); -CREATE TABLE ANNOTATION_TEST2 ( +CREATE TABLE DOG_ENTITY ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY ); -CREATE TABLE ANNOTATION_TEST3 ( +CREATE TABLE DOCUMENT_ENTITY ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY ); -CREATE TABLE ANNOTATION_TEST_RELATION ( +CREATE TABLE PERSON_ENTITY_RELATION ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, target_id BIGINT NOT NULL, target_type VARCHAR(255) NOT NULL, source_object BIGINT ); -CREATE TABLE ANNOTATION_TEST2RELATION ( +CREATE TABLE DOG_ENTITY_RELATION ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, target_id BIGINT NOT NULL, target_type VARCHAR(255) NOT NULL, source_object BIGINT ); -CREATE TABLE ANNOTATION_TEST3RELATION ( +CREATE TABLE DOCUMENT_ENTITY_RELATION ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, target_id BIGINT NOT NULL, target_type VARCHAR(255) NOT NULL, From fa9d0e8cdc54e5738a5eaacca8c1d13a8a0ad923 Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen Date: Sun, 31 Aug 2025 20:54:57 +0800 Subject: [PATCH 4/9] Change of file names and removal of unrequired code - Removed @Getter annotation from entity files , renamed and refactored DAO files --- .../at/test/drm/AnnotationTestRelation.java | 30 ++++++++++++++++++ .../test/drm/AnnotationTestRelationDao.java | 31 +++++++++++++++++++ ...{PersonEntityDao.java => DocumentDao.java} | 2 +- .../main/java/at/test/drm/DocumentEntity.java | 1 - .../{DocumentEntityDao.java => DogDao.java} | 2 +- .../src/main/java/at/test/drm/DogEntity.java | 1 - .../drm/{DogEntityDao.java => PersonDao.java} | 2 +- .../main/java/at/test/drm/PersonEntity.java | 1 - 8 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 testing/src/main/java/at/test/drm/AnnotationTestRelation.java create mode 100644 testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java rename testing/src/main/java/at/test/drm/{PersonEntityDao.java => DocumentDao.java} (65%) rename testing/src/main/java/at/test/drm/{DocumentEntityDao.java => DogDao.java} (64%) rename testing/src/main/java/at/test/drm/{DogEntityDao.java => PersonDao.java} (70%) diff --git a/testing/src/main/java/at/test/drm/AnnotationTestRelation.java b/testing/src/main/java/at/test/drm/AnnotationTestRelation.java new file mode 100644 index 0000000..8cd01a4 --- /dev/null +++ b/testing/src/main/java/at/test/drm/AnnotationTestRelation.java @@ -0,0 +1,30 @@ +package at.test.drm; + +import at.drm.annotation.Relation; +import at.drm.model.RelationLink; +import at.drm.model.RelationIdentity; +import lombok.Data; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.JoinColumn; + +@Relation +@Entity +@Data +public class AnnotationTestRelation implements RelationLink { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne + @JoinColumn(name = "source_object_id") + private RelationIdentity sourceObject; + + private Long targetId; + + private String targetType; +} diff --git a/testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java b/testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java new file mode 100644 index 0000000..096c54b --- /dev/null +++ b/testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java @@ -0,0 +1,31 @@ +package at.test.drm; + +import at.drm.dao.RelationDao; +import at.drm.model.RelationIdentity; +import at.drm.model.RelationLink; +import org.springframework.stereotype.Repository; +import org.springframework.data.repository.CrudRepository; + +import java.util.List; + +@Repository +public interface AnnotationTestRelationDao extends RelationDao { + + @Override + default RelationLink findBySourceObjectAndTargetIdAndTargetType(RelationIdentity sourceObject, Long targetId, String targetType) { + + return null; + } + + @Override + default List findBySourceObject(RelationIdentity sourceObject) { + + return List.of(); + } + + @Override + default List findByTargetIdAndTargetType(Long targetId, String targetType) { + + return List.of(); + } +} diff --git a/testing/src/main/java/at/test/drm/PersonEntityDao.java b/testing/src/main/java/at/test/drm/DocumentDao.java similarity index 65% rename from testing/src/main/java/at/test/drm/PersonEntityDao.java rename to testing/src/main/java/at/test/drm/DocumentDao.java index df556b5..c59fbc9 100644 --- a/testing/src/main/java/at/test/drm/PersonEntityDao.java +++ b/testing/src/main/java/at/test/drm/DocumentDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface PersonEntityDao extends CrudRepository { +public interface DocumentDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/DocumentEntity.java b/testing/src/main/java/at/test/drm/DocumentEntity.java index ffa431a..b50b144 100644 --- a/testing/src/main/java/at/test/drm/DocumentEntity.java +++ b/testing/src/main/java/at/test/drm/DocumentEntity.java @@ -9,7 +9,6 @@ import lombok.Data; import lombok.Getter; -@Getter @Relation @Entity @Data diff --git a/testing/src/main/java/at/test/drm/DocumentEntityDao.java b/testing/src/main/java/at/test/drm/DogDao.java similarity index 64% rename from testing/src/main/java/at/test/drm/DocumentEntityDao.java rename to testing/src/main/java/at/test/drm/DogDao.java index f0ea58e..9f40394 100644 --- a/testing/src/main/java/at/test/drm/DocumentEntityDao.java +++ b/testing/src/main/java/at/test/drm/DogDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface DocumentEntityDao extends CrudRepository { +public interface DogDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/DogEntity.java b/testing/src/main/java/at/test/drm/DogEntity.java index 934d923..e6a4ca4 100644 --- a/testing/src/main/java/at/test/drm/DogEntity.java +++ b/testing/src/main/java/at/test/drm/DogEntity.java @@ -10,7 +10,6 @@ import jakarta.persistence.Id; import lombok.Getter; -@Getter @Relation @Entity @Data diff --git a/testing/src/main/java/at/test/drm/DogEntityDao.java b/testing/src/main/java/at/test/drm/PersonDao.java similarity index 70% rename from testing/src/main/java/at/test/drm/DogEntityDao.java rename to testing/src/main/java/at/test/drm/PersonDao.java index c10c891..f405fa8 100644 --- a/testing/src/main/java/at/test/drm/DogEntityDao.java +++ b/testing/src/main/java/at/test/drm/PersonDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface DogEntityDao extends CrudRepository { +public interface PersonDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/PersonEntity.java b/testing/src/main/java/at/test/drm/PersonEntity.java index 13bc249..5182acb 100644 --- a/testing/src/main/java/at/test/drm/PersonEntity.java +++ b/testing/src/main/java/at/test/drm/PersonEntity.java @@ -10,7 +10,6 @@ import jakarta.persistence.Id; import lombok.Getter; -@Getter @Relation @Entity @Data From 45ccd47e76854a4c835242038e01f829b02517c9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 31 Aug 2025 19:13:25 +0200 Subject: [PATCH 5/9] fixed compile errors --- dynamic-relations/pom.xml | 32 +++++++++---------- testing/pom.xml | 28 ++++++++-------- .../main/java/at/test/drm/DocumentEntity.java | 2 -- .../src/main/java/at/test/drm/DogEntity.java | 1 - .../main/java/at/test/drm/PersonEntity.java | 1 - .../java/at/test/drm/RelationServiceTest.java | 16 +++++----- 6 files changed, 38 insertions(+), 42 deletions(-) diff --git a/dynamic-relations/pom.xml b/dynamic-relations/pom.xml index d80959c..df2cf6b 100644 --- a/dynamic-relations/pom.xml +++ b/dynamic-relations/pom.xml @@ -35,21 +35,21 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - 3.14.0 - - - - org.projectlombok - lombok - 1.18.30 - - - - - + + + + + + + + + + + + + + + + diff --git a/testing/pom.xml b/testing/pom.xml index 70a733a..4445164 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -59,20 +59,20 @@ - - org.apache.maven.plugins - maven-compiler-plugin - 3.14.0 - - - - org.projectlombok - lombok - 1.18.30 - - - - + + + + + + + + + + + + + + diff --git a/testing/src/main/java/at/test/drm/DocumentEntity.java b/testing/src/main/java/at/test/drm/DocumentEntity.java index ffa431a..cc4eaaa 100644 --- a/testing/src/main/java/at/test/drm/DocumentEntity.java +++ b/testing/src/main/java/at/test/drm/DocumentEntity.java @@ -7,9 +7,7 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.Data; -import lombok.Getter; -@Getter @Relation @Entity @Data diff --git a/testing/src/main/java/at/test/drm/DogEntity.java b/testing/src/main/java/at/test/drm/DogEntity.java index 934d923..e6a4ca4 100644 --- a/testing/src/main/java/at/test/drm/DogEntity.java +++ b/testing/src/main/java/at/test/drm/DogEntity.java @@ -10,7 +10,6 @@ import jakarta.persistence.Id; import lombok.Getter; -@Getter @Relation @Entity @Data diff --git a/testing/src/main/java/at/test/drm/PersonEntity.java b/testing/src/main/java/at/test/drm/PersonEntity.java index 13bc249..5182acb 100644 --- a/testing/src/main/java/at/test/drm/PersonEntity.java +++ b/testing/src/main/java/at/test/drm/PersonEntity.java @@ -10,7 +10,6 @@ import jakarta.persistence.Id; import lombok.Getter; -@Getter @Relation @Entity @Data diff --git a/testing/src/test/java/at/test/drm/RelationServiceTest.java b/testing/src/test/java/at/test/drm/RelationServiceTest.java index a46355f..7abe0a5 100644 --- a/testing/src/test/java/at/test/drm/RelationServiceTest.java +++ b/testing/src/test/java/at/test/drm/RelationServiceTest.java @@ -23,7 +23,7 @@ public class RelationServiceTest { private RelationDaoFactory relationDaoFactory; @Mock - private AnnotationTestRelationDao annotationTestRelationDao; + private PersonEntityRelationDao personEntityRelationDao; @InjectMocks private RelationService relationService; @@ -31,7 +31,7 @@ public class RelationServiceTest { @Test void createRelation() { Mockito.when(relationDaoFactory.getDaoFromSourceObjectClass(any(Class.class))) - .thenReturn(annotationTestRelationDao); + .thenReturn(personEntityRelationDao); PersonEntity PersonEntity = new PersonEntity(); PersonEntity.setId(1L); DogEntity DogEntity = new DogEntity(); @@ -42,16 +42,16 @@ void createRelation() { @Test void deleteRelation() { Mockito.when(relationDaoFactory.getDaoFromSourceObjectClass(any(Class.class))) - .thenReturn(annotationTestRelationDao); - AnnotationTestRelation annotationTestRelation = new AnnotationTestRelation(); - annotationTestRelation.setSourceObject(new PersonEntity()); - relationService.deleteRelation(annotationTestRelation); + .thenReturn(personEntityRelationDao); + PersonEntityRelation personEntityRelation = new PersonEntityRelation(); + personEntityRelation.setSourceObject(new PersonEntity()); + relationService.deleteRelation(personEntityRelation); } @Test void findRelationBySourceObject() { Mockito.when(relationDaoFactory.getDaoFromSourceObjectClass(any(Class.class))) - .thenReturn(annotationTestRelationDao); + .thenReturn(personEntityRelationDao); PersonEntity PersonEntity = new PersonEntity(); PersonEntity.setId(1L); List relationBySourceObject = relationService.findRelationBySourceObject(PersonEntity); @@ -60,7 +60,7 @@ void findRelationBySourceObject() { @Test void findRelationByTargetRelationIdentity() { Mockito.when(relationDaoFactory.getAllDaos()) - .thenReturn(Collections.singleton(annotationTestRelationDao)); + .thenReturn(Collections.singleton(personEntityRelationDao)); PersonEntity PersonEntity = new PersonEntity(); PersonEntity.setId(1L); Set relationByTargetRelationIdentity = relationService.findRelationByTargetRelationIdentity(PersonEntity); From f4ed6b0c6e34ccf280eae13c947133ffa747a983 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 31 Aug 2025 19:18:32 +0200 Subject: [PATCH 6/9] fixed failing tests --- .../src/test/java/at/test/drm/RelationDaoFactoryTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java b/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java index 177670a..0981c10 100644 --- a/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java +++ b/testing/src/test/java/at/test/drm/RelationDaoFactoryTest.java @@ -27,7 +27,7 @@ class RelationDaoFactoryTest { private ApplicationContext applicationContext; @Mock - private DogEntityDao dogEntityDao; + private DogEntityRelationDao dogEntityRelationDao; @Mock private RelationDao relationDao; @@ -38,17 +38,17 @@ class RelationDaoFactoryTest { @Test void getDaoFromSourceObjectClass() { Mockito.when(applicationContext.getBeansOfType(any(Class.class))) - .thenReturn(Map.ofEntries(Map.entry("testDao", dogEntityDao))); + .thenReturn(Map.ofEntries(Map.entry("testDao", dogEntityRelationDao))); RelationDao daoFromSourceObjectClass = relationDaoFactoryUnderTest.getDaoFromSourceObjectClass( DogEntity.class); assertThat(daoFromSourceObjectClass).isNotNull(); - assertThat(daoFromSourceObjectClass).isInstanceOf(dogEntityDao.getClass()); + assertThat(daoFromSourceObjectClass).isInstanceOf(dogEntityRelationDao.getClass()); } @Test void getDaoFromSourceObjectClassShouldThrowNoDaoFoundException() { Mockito.when(applicationContext.getBeansOfType(any(Class.class))) - .thenReturn(Map.ofEntries(Map.entry("testDao", dogEntityDao))); + .thenReturn(Map.ofEntries(Map.entry("testDao", dogEntityRelationDao))); NoRelationDaoFoundException exception = Assertions.assertThrows(NoRelationDaoFoundException.class, () -> { relationDaoFactoryUnderTest.getDaoFromSourceObjectClass( PersonEntity.class); From 929c1460a87114b6ed911d4a3f083ab7652b00c7 Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen Date: Mon, 1 Sep 2025 20:58:57 +0800 Subject: [PATCH 7/9] Refactored entity names to match README examples Removed lombok dependencies from all pom.xml, removed AnnotationTestRelation.java and AnnotationTestRelationDao.java, Renamed entity files from PersonDao > PersonEntityDao , DogDao > DogEntityDao, DocumentDao > DocumentEntityDao --- dynamic-relations/pom.xml | 18 ----------- pom.xml | 12 ------- testing/pom.xml | 15 --------- .../at/test/drm/AnnotationTestRelation.java | 30 ------------------ .../test/drm/AnnotationTestRelationDao.java | 31 ------------------- .../{DogDao.java => DocumentEntityDao.java} | 2 +- .../src/main/java/at/test/drm/DogEntity.java | 1 - .../drm/{PersonDao.java => DogEntityDao.java} | 2 +- ...{DocumentDao.java => PersonEntityDao.java} | 2 +- .../test/drm/ApplicationIntegrationTest.java | 18 +++++------ 10 files changed, 12 insertions(+), 119 deletions(-) delete mode 100644 testing/src/main/java/at/test/drm/AnnotationTestRelation.java delete mode 100644 testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java rename testing/src/main/java/at/test/drm/{DogDao.java => DocumentEntityDao.java} (64%) rename testing/src/main/java/at/test/drm/{PersonDao.java => DogEntityDao.java} (70%) rename testing/src/main/java/at/test/drm/{DocumentDao.java => PersonEntityDao.java} (65%) diff --git a/dynamic-relations/pom.xml b/dynamic-relations/pom.xml index df2cf6b..d17669e 100644 --- a/dynamic-relations/pom.xml +++ b/dynamic-relations/pom.xml @@ -34,22 +34,4 @@ - - - - - - - - - - - - - - - - - - diff --git a/pom.xml b/pom.xml index dc7b14f..cd07639 100644 --- a/pom.xml +++ b/pom.xml @@ -261,18 +261,6 @@ - - - - - - - - - - - - org.apache.maven.plugins maven-compiler-plugin diff --git a/testing/pom.xml b/testing/pom.xml index 4445164..71d6d78 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -58,21 +58,6 @@ public - - - - - - - - - - - - - - - diff --git a/testing/src/main/java/at/test/drm/AnnotationTestRelation.java b/testing/src/main/java/at/test/drm/AnnotationTestRelation.java deleted file mode 100644 index 8cd01a4..0000000 --- a/testing/src/main/java/at/test/drm/AnnotationTestRelation.java +++ /dev/null @@ -1,30 +0,0 @@ -package at.test.drm; - -import at.drm.annotation.Relation; -import at.drm.model.RelationLink; -import at.drm.model.RelationIdentity; -import lombok.Data; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.JoinColumn; - -@Relation -@Entity -@Data -public class AnnotationTestRelation implements RelationLink { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @ManyToOne - @JoinColumn(name = "source_object_id") - private RelationIdentity sourceObject; - - private Long targetId; - - private String targetType; -} diff --git a/testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java b/testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java deleted file mode 100644 index 096c54b..0000000 --- a/testing/src/main/java/at/test/drm/AnnotationTestRelationDao.java +++ /dev/null @@ -1,31 +0,0 @@ -package at.test.drm; - -import at.drm.dao.RelationDao; -import at.drm.model.RelationIdentity; -import at.drm.model.RelationLink; -import org.springframework.stereotype.Repository; -import org.springframework.data.repository.CrudRepository; - -import java.util.List; - -@Repository -public interface AnnotationTestRelationDao extends RelationDao { - - @Override - default RelationLink findBySourceObjectAndTargetIdAndTargetType(RelationIdentity sourceObject, Long targetId, String targetType) { - - return null; - } - - @Override - default List findBySourceObject(RelationIdentity sourceObject) { - - return List.of(); - } - - @Override - default List findByTargetIdAndTargetType(Long targetId, String targetType) { - - return List.of(); - } -} diff --git a/testing/src/main/java/at/test/drm/DogDao.java b/testing/src/main/java/at/test/drm/DocumentEntityDao.java similarity index 64% rename from testing/src/main/java/at/test/drm/DogDao.java rename to testing/src/main/java/at/test/drm/DocumentEntityDao.java index 9f40394..f0ea58e 100644 --- a/testing/src/main/java/at/test/drm/DogDao.java +++ b/testing/src/main/java/at/test/drm/DocumentEntityDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface DogDao extends CrudRepository { +public interface DocumentEntityDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/DogEntity.java b/testing/src/main/java/at/test/drm/DogEntity.java index e6a4ca4..dad00cc 100644 --- a/testing/src/main/java/at/test/drm/DogEntity.java +++ b/testing/src/main/java/at/test/drm/DogEntity.java @@ -8,7 +8,6 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; -import lombok.Getter; @Relation @Entity diff --git a/testing/src/main/java/at/test/drm/PersonDao.java b/testing/src/main/java/at/test/drm/DogEntityDao.java similarity index 70% rename from testing/src/main/java/at/test/drm/PersonDao.java rename to testing/src/main/java/at/test/drm/DogEntityDao.java index f405fa8..c10c891 100644 --- a/testing/src/main/java/at/test/drm/PersonDao.java +++ b/testing/src/main/java/at/test/drm/DogEntityDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface PersonDao extends CrudRepository { +public interface DogEntityDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/DocumentDao.java b/testing/src/main/java/at/test/drm/PersonEntityDao.java similarity index 65% rename from testing/src/main/java/at/test/drm/DocumentDao.java rename to testing/src/main/java/at/test/drm/PersonEntityDao.java index c59fbc9..df556b5 100644 --- a/testing/src/main/java/at/test/drm/DocumentDao.java +++ b/testing/src/main/java/at/test/drm/PersonEntityDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface DocumentDao extends CrudRepository { +public interface PersonEntityDao extends CrudRepository { } diff --git a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java index 05b0c0d..2778a5f 100644 --- a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java +++ b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java @@ -136,10 +136,10 @@ void shouldPrintRelations() { String actual = dynamicRelationsPrintService.printRelations(first); System.out.println(actual); Assertions.assertThat(actual).isEqualTo(""" - AnnotationTestType - AnnotationTest3Type - AnnotationTest2Type - AnnotationTest3Type + PersonEntityType + DocumentEntityType + DogEntityType + DocumentEntityType """); } @@ -158,11 +158,11 @@ void shouldPrintRelationsWithCyclicRelations() { relationService.createRelation(third, second); Assertions.assertThat(dynamicRelationsPrintService.printRelations(first)).isEqualTo(""" - AnnotationTestType - AnnotationTest3Type - AnnotationTest2Type - AnnotationTest2Type - AnnotationTest3Type + PersonEntityType + DocumentEntityType + DogEntityType + DogEntityType + DocumentEntityType """); } } From 809234cae5cd232d868bbd36c6f82f2d5639aad7 Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen Date: Mon, 1 Sep 2025 21:26:24 +0800 Subject: [PATCH 8/9] updated Contributing.md updated Contributing.md to include a 'Set Up' section, where it shows the user specific things to check during the set up of the project. --- Contributing.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Contributing.md b/Contributing.md index 04eb2e7..9880ed0 100644 --- a/Contributing.md +++ b/Contributing.md @@ -6,6 +6,7 @@ We encourage and appreciate feedback and contribution from the community! - [Issue and Feature Requests](#issue) - [PR Submission Guidelines](#submit-pr) - [Coding Rules](#rules) +- [Set Up](#setup) ## Question or Problem? @@ -32,4 +33,13 @@ Please follow the rules as you work on the code: - Leave the code better than you find it. - Use the given Style Guide [Style Guide](https://github.com/Mom0aut/DynamicRelations/blob/master/StyleGuide.xml) +## Set Up +When starting out, make sure to check these few things before building the project: + +- Ensure that Annotation Processor is enabled in your IDE. +- Ensure that the processor FQ name is added and set to: + ```at.drm.processor.RelationProcessor```. +- For IntelliJ, ensure you use the inbuilt Build tool found at the 'Build' tab. Running ```mvn clean install``` +in the CLI will NOT have Annotation Processors activated which is required for this project. + Happy contributing :smiley: From d9e2e8136eb498f38d0381055dad837178ab4370 Mon Sep 17 00:00:00 2001 From: Samuel Yew Han Sen Date: Tue, 2 Sep 2025 19:34:02 +0800 Subject: [PATCH 9/9] renamed Dao interfaces PersonEntityDao > PersonDao , DogEntityDao > DogDao, DocumentEntityDao > DocumentDao --- .../at/test/drm/{PersonEntityDao.java => DocumentDao.java} | 2 +- .../at/test/drm/{DocumentEntityDao.java => DogDao.java} | 2 +- .../java/at/test/drm/{DogEntityDao.java => PersonDao.java} | 2 +- .../test/java/at/test/drm/ApplicationIntegrationTest.java | 6 +++--- testing/src/test/java/at/test/drm/RelationTest.java | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) rename testing/src/main/java/at/test/drm/{PersonEntityDao.java => DocumentDao.java} (65%) rename testing/src/main/java/at/test/drm/{DocumentEntityDao.java => DogDao.java} (64%) rename testing/src/main/java/at/test/drm/{DogEntityDao.java => PersonDao.java} (70%) diff --git a/testing/src/main/java/at/test/drm/PersonEntityDao.java b/testing/src/main/java/at/test/drm/DocumentDao.java similarity index 65% rename from testing/src/main/java/at/test/drm/PersonEntityDao.java rename to testing/src/main/java/at/test/drm/DocumentDao.java index df556b5..c59fbc9 100644 --- a/testing/src/main/java/at/test/drm/PersonEntityDao.java +++ b/testing/src/main/java/at/test/drm/DocumentDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface PersonEntityDao extends CrudRepository { +public interface DocumentDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/DocumentEntityDao.java b/testing/src/main/java/at/test/drm/DogDao.java similarity index 64% rename from testing/src/main/java/at/test/drm/DocumentEntityDao.java rename to testing/src/main/java/at/test/drm/DogDao.java index f0ea58e..9f40394 100644 --- a/testing/src/main/java/at/test/drm/DocumentEntityDao.java +++ b/testing/src/main/java/at/test/drm/DogDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface DocumentEntityDao extends CrudRepository { +public interface DogDao extends CrudRepository { } diff --git a/testing/src/main/java/at/test/drm/DogEntityDao.java b/testing/src/main/java/at/test/drm/PersonDao.java similarity index 70% rename from testing/src/main/java/at/test/drm/DogEntityDao.java rename to testing/src/main/java/at/test/drm/PersonDao.java index c10c891..f405fa8 100644 --- a/testing/src/main/java/at/test/drm/DogEntityDao.java +++ b/testing/src/main/java/at/test/drm/PersonDao.java @@ -4,6 +4,6 @@ import org.springframework.stereotype.Repository; @Repository -public interface DogEntityDao extends CrudRepository { +public interface PersonDao extends CrudRepository { } diff --git a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java index 2778a5f..27489f2 100644 --- a/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java +++ b/testing/src/test/java/at/test/drm/ApplicationIntegrationTest.java @@ -23,11 +23,11 @@ class ApplicationIntegrationTest { @Autowired - private PersonEntityDao dao; + private PersonDao dao; @Autowired - private DogEntityDao dao2; + private DogDao dao2; @Autowired - private DocumentEntityDao dao3; + private DocumentDao dao3; @Autowired private RelationService relationService; @Autowired diff --git a/testing/src/test/java/at/test/drm/RelationTest.java b/testing/src/test/java/at/test/drm/RelationTest.java index 2b2f16f..f2e7e3d 100644 --- a/testing/src/test/java/at/test/drm/RelationTest.java +++ b/testing/src/test/java/at/test/drm/RelationTest.java @@ -20,13 +20,13 @@ class RelationTest { @Autowired - private PersonEntityDao personEntityDao; + private PersonDao personEntityDao; @Autowired - private DogEntityDao dogEntityDao; + private DogDao dogEntityDao; @Autowired - private DocumentEntityDao documentEntityDao; + private DocumentDao documentEntityDao; private final RelationDaoFactory relationDaoFactory;