From 22265f379381078ac47a3e9e2ebff15a26962354 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Tue, 26 Sep 2017 09:33:51 -0400 Subject: [PATCH 1/5] Adding MapStruct Example --- pom.xml | 242 ++++++++++-------- .../api/v1/mapper/CategoryMapper.java | 18 ++ .../api/v1/model/CategoryDTO.java | 3 + .../api/v1/mapper/CategoryMapperTest.java | 32 +++ 4 files changed, 190 insertions(+), 105 deletions(-) create mode 100644 src/main/java/guru/springfamework/api/v1/mapper/CategoryMapper.java create mode 100644 src/test/java/guru/springfamework/api/v1/mapper/CategoryMapperTest.java diff --git a/pom.xml b/pom.xml index cd11cfffd..84c184a5b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,118 +1,150 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - guru.springfamework - spring5-mvc-rest - 0.0.1-SNAPSHOT - jar + guru.springfamework + spring5-mvc-rest + 0.0.1-SNAPSHOT + jar - spring5-mvc-rest - Demo project for Spring Boot + spring5-mvc-rest + Demo project for Spring Boot - - org.springframework.boot - spring-boot-starter-parent - 2.0.0.M4 - - + + org.springframework.boot + spring-boot-starter-parent + 2.0.0.M4 + + - - UTF-8 - UTF-8 - 1.8 - + + UTF-8 + UTF-8 + 1.8 + 1.2.0.CR2 + - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-data-jpa - - - org.springframework.boot - spring-boot-devtools - runtime - - - com.h2database - h2 - runtime - - - org.projectlombok - lombok - true - - - org.springframework.boot - spring-boot-starter-test - test - - + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-devtools + runtime + + + com.h2database + h2 + runtime + + + org.projectlombok + lombok + provided + + + org.mapstruct + mapstruct-jdk8 + ${org.mapstruct.version} + + + org.springframework.boot + spring-boot-starter-test + test + + - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - html - xml - - - - - - + + + + org.springframework.boot + spring-boot-maven-plugin + + + org.codehaus.mojo + cobertura-maven-plugin + 2.7 + + + html + xml + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.7.0 + + 1.8 + 1.8 + + + org.projectlombok + lombok + ${lombok.version} + + + org.mapstruct + mapstruct-processor + ${org.mapstruct.version} + + + + + -Amapstruct.defaultComponentModel=spring + + + + + + - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + diff --git a/src/main/java/guru/springfamework/api/v1/mapper/CategoryMapper.java b/src/main/java/guru/springfamework/api/v1/mapper/CategoryMapper.java new file mode 100644 index 000000000..7d95449c7 --- /dev/null +++ b/src/main/java/guru/springfamework/api/v1/mapper/CategoryMapper.java @@ -0,0 +1,18 @@ +package guru.springfamework.api.v1.mapper; + +import guru.springfamework.api.v1.model.CategoryDTO; +import guru.springfamework.domain.Category; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * Created by jt on 9/25/17. + */ +@Mapper +public interface CategoryMapper { + + CategoryMapper INSTANCE = Mappers.getMapper(CategoryMapper.class); + + + CategoryDTO categoryToCategoryDTO(Category category); +} diff --git a/src/main/java/guru/springfamework/api/v1/model/CategoryDTO.java b/src/main/java/guru/springfamework/api/v1/model/CategoryDTO.java index 135ca3621..94c0ecb7b 100644 --- a/src/main/java/guru/springfamework/api/v1/model/CategoryDTO.java +++ b/src/main/java/guru/springfamework/api/v1/model/CategoryDTO.java @@ -1,8 +1,11 @@ package guru.springfamework.api.v1.model; +import lombok.Data; + /** * Created by jt on 9/24/17. */ +@Data public class CategoryDTO { private Long id; private String name; diff --git a/src/test/java/guru/springfamework/api/v1/mapper/CategoryMapperTest.java b/src/test/java/guru/springfamework/api/v1/mapper/CategoryMapperTest.java new file mode 100644 index 000000000..30cdd2314 --- /dev/null +++ b/src/test/java/guru/springfamework/api/v1/mapper/CategoryMapperTest.java @@ -0,0 +1,32 @@ +package guru.springfamework.api.v1.mapper; + +import guru.springfamework.api.v1.model.CategoryDTO; +import guru.springfamework.domain.Category; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class CategoryMapperTest { + + public static final String NAME = "Joe"; + public static final long ID = 1L; + + CategoryMapper categoryMapper = CategoryMapper.INSTANCE; + + @Test + public void categoryToCategoryDTO() throws Exception { + + //given + Category category = new Category(); + category.setName(NAME); + category.setId(ID); + + //when + CategoryDTO categoryDTO = categoryMapper.categoryToCategoryDTO(category); + + //then + assertEquals(Long.valueOf(ID), categoryDTO.getId()); + assertEquals(NAME, categoryDTO.getName()); + } + +} \ No newline at end of file From 5852482843dd603ad6b701e0614816ea9c7eea80 Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Tue, 12 Dec 2017 15:34:44 +0530 Subject: [PATCH 2/5] Updated to Spring Boot 2.0.0.M7 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84c184a5b..ac70f6267 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.M4 + 2.0.0.M7 From c4fd9e4845ae05e4b0aa374d60ae62314ba04908 Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Sun, 25 Mar 2018 07:52:49 +0530 Subject: [PATCH 3/5] Updated to Spring Boot 2.0.0.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ac70f6267..bfabedf1e 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.M7 + 2.0.0.RELEASE From b96da3afeaa04c1550760bd6d17609a0644a99a6 Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Mon, 7 Jan 2019 02:00:45 +0530 Subject: [PATCH 4/5] Updated to Spring Boot 2.1.0.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bfabedf1e..f72728ea4 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.RELEASE + 2.1.0.RELEASE From 02cab9e7ee41503f4052297ed376ea09cb7b796d Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Fri, 11 Jan 2019 06:36:18 +0530 Subject: [PATCH 5/5] Fixed Surefire CI test fail in Circle CI issue. --- pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pom.xml b/pom.xml index f72728ea4..251f85ea5 100644 --- a/pom.xml +++ b/pom.xml @@ -105,6 +105,14 @@ + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.1 + + false + +