From a671902f8cd5b9776bbdd804da407d471edbe50f Mon Sep 17 00:00:00 2001 From: Mostafa Ramadan <43143956+MostafaRamadan1@users.noreply.github.com> Date: Sun, 26 Feb 2023 16:53:54 +0200 Subject: [PATCH] Enhancements (#3) * Adding option to generate only controllerDto Adding option to specify dto package name Adding option to specify mapper package name Adding option to exclude generation of CrudController interface Adding option to exclude generation of CrudService interface Fix reading verb in controller Remove extra imports from Dto Remove static project path from setting yaml in testing and update output package * fix yml setting in testing * update demo projects and plugin version * update demo projects * delete wrong files * update jakarta demo folder * update lombok version * update README.md * update demo-jakarta files * update mapstruct version --------- Co-authored-by: MostafaaRamadan --- README.md | 41 +++++----- build.gradle | 4 +- demo-jakarta/build.gradle.kts | 12 ++- .../demo/controller/BookController.java | 10 +-- .../demo/controller/BookControllerDTO.java | 15 ++-- .../demo/controller/CrudController.java | 7 +- .../demo/controller/OrderController.java | 10 +-- .../demo/controller/OrderControllerDTO.java | 15 ++-- .../demo/controller/UserController.java | 10 +-- .../demo/controller/UserControllerDTO.java | 15 ++-- .../example/demo/controller/dto/BookDTO.java | 5 +- .../example/demo/controller/dto/OrderDTO.java | 5 +- .../example/demo/controller/dto/UserDTO.java | 5 +- .../java/com/example/demo/model/Book.java | 2 +- .../java/com/example/demo/model/Order.java | 2 +- .../java/com/example/demo/model/User.java | 2 +- .../demo/repository/BookRepository.java | 2 +- .../demo/repository/OrderRepository.java | 2 +- .../demo/repository/UserRepository.java | 2 +- .../com/example/demo/service/CrudService.java | 20 ----- .../example/demo/service/OrderService.java | 10 --- .../com/example/demo/service/UserService.java | 10 --- .../demo/service/impl/OrderServiceBean.java | 47 ------------ .../demo/service/impl/UserServiceBean.java | 47 ------------ .../demo/service/mapper/BookMapper.java | 17 ----- .../demo/service/mapper/OrderMapper.java | 17 ----- .../demo/service/mapper/UserMapper.java | 17 ----- .../BookService.java | 4 +- .../demo/serviceInterface/CrudService.java | 10 ++- .../demo/serviceInterface}/OrderService.java | 4 +- .../demo/serviceInterface}/UserService.java | 4 +- .../impl/BookServiceBean.java | 16 ++-- .../impl/OrderServiceBean.java | 16 ++-- .../impl/UserServiceBean.java | 16 ++-- .../serviceInterface}/mapper/BookMapper.java | 4 +- .../serviceInterface}/mapper/OrderMapper.java | 4 +- .../serviceInterface}/mapper/UserMapper.java | 4 +- demo/build.gradle | 16 ++-- .../demo/controller/BookController.java | 10 +-- .../demo/controller/BookControllerDTO.java | 15 ++-- .../demo/controller/CrudController.java | 7 +- .../demo/controller/OrderController.java | 10 +-- .../demo/controller/OrderControllerDTO.java | 15 ++-- .../demo/controller/UserController.java | 10 +-- .../demo/controller/UserControllerDTO.java | 15 ++-- .../example/demo/controller/dto/BookDTO.java | 5 +- .../example/demo/controller/dto/OrderDTO.java | 5 +- .../example/demo/controller/dto/UserDTO.java | 5 +- .../demo/repository/BookRepository.java | 2 +- .../demo/repository/OrderRepository.java | 2 +- .../demo/repository/UserRepository.java | 2 +- .../com/example/demo/service/BookService.java | 10 --- .../com/example/demo/service/CrudService.java | 20 ----- .../demo/service/impl/BookServiceBean.java | 47 ------------ .../demo/serviceInterface/BookService.java | 2 +- .../demo/serviceInterface/CrudService.java | 10 ++- .../demo/serviceInterface/OrderService.java | 2 +- .../demo/serviceInterface/UserService.java | 2 +- .../impl/BookServiceBean.java | 12 +-- .../impl/OrderServiceBean.java | 12 +-- .../impl/UserServiceBean.java | 12 +-- .../serviceInterface/mapper/BookMapper.java | 2 +- .../serviceInterface/mapper/OrderMapper.java | 2 +- .../serviceInterface/mapper/UserMapper.java | 2 +- .../gae/piaz/layer3gen/CodeGenerator.java | 75 ++++++++++++------- .../gae/piaz/layer3gen/config/Options.java | 1 + .../piaz/layer3gen/config/OutputPackages.java | 2 + src/main/resources/controller.ftl | 6 +- src/main/resources/controllerdto.ftl | 13 ++-- src/main/resources/crudcontroller.ftl | 5 +- src/main/resources/crudservice.ftl | 8 +- src/main/resources/dto.ftl | 5 +- src/main/resources/mapper.ftl | 4 +- src/main/resources/service.ftl | 10 +-- src/main/resources/serviceBean.ftl | 10 +-- .../resources/3layer-settings-jakarta.yml | 3 +- src/test/resources/3layer-settings.yml | 3 +- 77 files changed, 289 insertions(+), 543 deletions(-) delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/CrudService.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/OrderService.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/UserService.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/impl/OrderServiceBean.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/impl/UserServiceBean.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/mapper/BookMapper.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/mapper/OrderMapper.java delete mode 100644 demo-jakarta/src/main/java/com/example/demo/service/mapper/UserMapper.java rename demo-jakarta/src/main/java/com/example/demo/{service => serviceInterface}/BookService.java (51%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/OrderService.java (52%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/UserService.java (51%) rename demo-jakarta/src/main/java/com/example/demo/{service => serviceInterface}/impl/BookServiceBean.java (66%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/impl/OrderServiceBean.java (66%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/impl/UserServiceBean.java (66%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/mapper/BookMapper.java (67%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/mapper/OrderMapper.java (68%) rename {demo/src/main/java/com/example/demo/service => demo-jakarta/src/main/java/com/example/demo/serviceInterface}/mapper/UserMapper.java (67%) delete mode 100644 demo/src/main/java/com/example/demo/service/BookService.java delete mode 100644 demo/src/main/java/com/example/demo/service/CrudService.java delete mode 100644 demo/src/main/java/com/example/demo/service/impl/BookServiceBean.java diff --git a/README.md b/README.md index aabfd70..1424433 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ Generates the standard SPRING 3 layer CRUD architecture starting from JPA entiti * * * ![sketch](./doc/3layer-sketch.png) * * * + ## How to run as a standalone application: 1. Download and extract the ZIP/TAR file from [releases](https://github.com/GaetanoPiazzolla/Layer3Gen/releases); 2. Edit the file in /bin directory named _3layer-settings.yml_; @@ -14,19 +15,25 @@ Generates the standard SPRING 3 layer CRUD architecture starting from JPA entiti ```groovy buildscript { dependencies { - classpath "gae.piaz:layer3gen:1.8" + classpath "gae.piaz:layer3gen:1.9" } // .... } // ... apply plugin: 'gae.piaz.layer3gen' ``` +or for gradle version above 2.1 -2. Create a file named _3layer-settings.yml_ in the directory src/main/resources/; +```groovy +plugins { + id "gae.piaz.layer3gen" version "1.8" +} +``` +2. Create a file named _3layer-settings.yml_ (you willl find an example below) in the directory src/main/resources/; 3. Run the gradle task. ```shell script -gradlew layer3gen +gradlew clean build layer3gen ``` ## 3layer-settings.yml configuration template: @@ -36,8 +43,9 @@ projectPath: /home/tano/workspace_autogenerate/springboot-3layer-generator/demo classesDirectory: build/classes/java/main outputDirectory : src/main/java options: - dtoLayer : true - serviceInterface: true + dtoLayer : true # generates the dto from entities, controller using dto, and mapper layer + serviceInterface: true # whatever to generate CrudService Interface or not + entityControllers: false # whatever to generate controller using jpa entity or not inputPackages: jpaEntities : com.example.demo.model @@ -46,6 +54,8 @@ outputPackages: repositories : com.example.demo.repository services: com.example.demo.service controllers: com.example.demo.controller + dtos: gae.piaz.layer3gen.output.dtos # if this in not specified the dto package will be under the controllers package + mappers: gae.piaz.layer3gen.output.mappers # if this in not specified the mapper package will be under the services package ``` ## Examples: @@ -77,14 +87,13 @@ public class BooksService implements CrudService { } @Override - public Page read(Books entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public Books readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override @@ -120,20 +129,18 @@ public class BooksControllerDTO implements CrudController> read( - @RequestBody BooksDTO dto, + public ResponseEntity> read( @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - Books entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override - public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - Books entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/build.gradle b/build.gradle index 9439d97..f988e06 100644 --- a/build.gradle +++ b/build.gradle @@ -28,11 +28,11 @@ dependencies { implementation 'org.reflections:reflections:0.9.11' // read classes implementation 'org.freemarker:freemarker:2.3.23'// write classes - compileOnly 'org.projectlombok:lombok:1.18.2' // autogenerate setter getter etc + compileOnly 'org.projectlombok:lombok:1.18.26' // autogenerate setter getter etc compileOnly gradleApi() // gradle plugin annotationProcessor "org.mapstruct:mapstruct-processor:1.3.1.Final" - annotationProcessor 'org.projectlombok:lombok:1.18.12' + annotationProcessor 'org.projectlombok:lombok:1.18.26' testImplementation 'junit:junit:4.12' } diff --git a/demo-jakarta/build.gradle.kts b/demo-jakarta/build.gradle.kts index 46889f9..d6fcbe0 100644 --- a/demo-jakarta/build.gradle.kts +++ b/demo-jakarta/build.gradle.kts @@ -27,15 +27,13 @@ repositories { dependencies { implementation("org.springframework.boot:spring-boot-starter-web") - implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation( "org.springframework.boot:spring-boot-starter-web") - implementation ("org.mapstruct:mapstruct:1.3.1.Final") - compileOnly( "org.projectlombok:lombok:1.18.2") - - annotationProcessor( "org.mapstruct:mapstruct-processor:1.3.1.Final") - annotationProcessor( "org.projectlombok:lombok:1.18.24") - + implementation ("org.mapstruct:mapstruct:1.5.3.Final") + compileOnly( "org.projectlombok:lombok:1.18.26") + runtimeOnly 'com.h2database:h2' + annotationProcessor( "org.projectlombok:lombok:1.18.26") + annotationProcessor( "org.mapstruct:mapstruct-processor:1.5.3.Final") } group = "com.example" diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/BookController.java b/demo-jakarta/src/main/java/com/example/demo/controller/BookController.java index d03e49b..7b36a75 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/BookController.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/BookController.java @@ -1,7 +1,7 @@ package com.example.demo.controller; import com.example.demo.model.Book; -import com.example.demo.service.BookService; +import com.example.demo.serviceInterface.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,9 +9,10 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @RestController @RequestMapping("/book/") @@ -32,16 +33,15 @@ public class BookController implements CrudController{ @Override public ResponseEntity> read( - @RequestBody Book entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/BookControllerDTO.java b/demo-jakarta/src/main/java/com/example/demo/controller/BookControllerDTO.java index 1318e52..d0bf58f 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/BookControllerDTO.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/BookControllerDTO.java @@ -2,8 +2,8 @@ package com.example.demo.controller; import com.example.demo.model.Book; import com.example.demo.controller.dto.BookDTO; -import com.example.demo.service.BookService; -import com.example.demo.service.mapper.BookMapper; +import com.example.demo.serviceInterface.BookService; +import com.example.demo.serviceInterface.mapper.BookMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,9 +11,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @RestController @RequestMapping("/book-dto/") @@ -41,19 +42,17 @@ public class BookControllerDTO implements CrudController> read( - @RequestBody BookDTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - Book entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - Book entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/CrudController.java b/demo-jakarta/src/main/java/com/example/demo/controller/CrudController.java index bc3bab8..7d26e6b 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/CrudController.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/CrudController.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:02 PM */ public interface CrudController{ @@ -18,8 +18,9 @@ public interface CrudController{ @PutMapping ResponseEntity update(O object); - @PostMapping("find") - ResponseEntity> read(O object, Integer page, Integer size); + @GetMapping("list") + ResponseEntity> read(Integer page, Integer size); + @GetMapping("{id}") ResponseEntity readOne(P primaryKey); diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/OrderController.java b/demo-jakarta/src/main/java/com/example/demo/controller/OrderController.java index 37de3dd..06a2cd0 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/OrderController.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/OrderController.java @@ -1,7 +1,7 @@ package com.example.demo.controller; import com.example.demo.model.Order; -import com.example.demo.service.OrderService; +import com.example.demo.serviceInterface.OrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,9 +9,10 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @RestController @RequestMapping("/order/") @@ -32,16 +33,15 @@ public class OrderController implements CrudController{ @Override public ResponseEntity> read( - @RequestBody Order entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/OrderControllerDTO.java b/demo-jakarta/src/main/java/com/example/demo/controller/OrderControllerDTO.java index e0babac..0ef8e85 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/OrderControllerDTO.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/OrderControllerDTO.java @@ -2,8 +2,8 @@ package com.example.demo.controller; import com.example.demo.model.Order; import com.example.demo.controller.dto.OrderDTO; -import com.example.demo.service.OrderService; -import com.example.demo.service.mapper.OrderMapper; +import com.example.demo.serviceInterface.OrderService; +import com.example.demo.serviceInterface.mapper.OrderMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,9 +11,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @RestController @RequestMapping("/order-dto/") @@ -41,19 +42,17 @@ public class OrderControllerDTO implements CrudController> read( - @RequestBody OrderDTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - Order entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - Order entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/UserController.java b/demo-jakarta/src/main/java/com/example/demo/controller/UserController.java index 9834314..a0d36c6 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/UserController.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/UserController.java @@ -1,7 +1,7 @@ package com.example.demo.controller; import com.example.demo.model.User; -import com.example.demo.service.UserService; +import com.example.demo.serviceInterface.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,9 +9,10 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @RestController @RequestMapping("/user/") @@ -32,16 +33,15 @@ public class UserController implements CrudController{ @Override public ResponseEntity> read( - @RequestBody User entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/UserControllerDTO.java b/demo-jakarta/src/main/java/com/example/demo/controller/UserControllerDTO.java index 38b6a9a..49afd1a 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/UserControllerDTO.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/UserControllerDTO.java @@ -2,8 +2,8 @@ package com.example.demo.controller; import com.example.demo.model.User; import com.example.demo.controller.dto.UserDTO; -import com.example.demo.service.UserService; -import com.example.demo.service.mapper.UserMapper; +import com.example.demo.serviceInterface.UserService; +import com.example.demo.serviceInterface.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,9 +11,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @RestController @RequestMapping("/user-dto/") @@ -41,19 +42,17 @@ public class UserControllerDTO implements CrudController> read( - @RequestBody UserDTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - User entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - User entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/dto/BookDTO.java b/demo-jakarta/src/main/java/com/example/demo/controller/dto/BookDTO.java index 8d1d1ee..5a35537 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/dto/BookDTO.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/dto/BookDTO.java @@ -2,11 +2,8 @@ package com.example.demo.controller.dto; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Data public class BookDTO { diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/dto/OrderDTO.java b/demo-jakarta/src/main/java/com/example/demo/controller/dto/OrderDTO.java index 580247f..4552513 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/dto/OrderDTO.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/dto/OrderDTO.java @@ -2,11 +2,8 @@ package com.example.demo.controller.dto; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Data public class OrderDTO { diff --git a/demo-jakarta/src/main/java/com/example/demo/controller/dto/UserDTO.java b/demo-jakarta/src/main/java/com/example/demo/controller/dto/UserDTO.java index d6dac0a..6a39421 100644 --- a/demo-jakarta/src/main/java/com/example/demo/controller/dto/UserDTO.java +++ b/demo-jakarta/src/main/java/com/example/demo/controller/dto/UserDTO.java @@ -2,11 +2,8 @@ package com.example.demo.controller.dto; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Data public class UserDTO { diff --git a/demo-jakarta/src/main/java/com/example/demo/model/Book.java b/demo-jakarta/src/main/java/com/example/demo/model/Book.java index 276fdef..e0cb005 100644 --- a/demo-jakarta/src/main/java/com/example/demo/model/Book.java +++ b/demo-jakarta/src/main/java/com/example/demo/model/Book.java @@ -6,7 +6,7 @@ import java.util.List; /** * The persistent class for the books database table. - * + * */ @Entity @Table(name="books") diff --git a/demo-jakarta/src/main/java/com/example/demo/model/Order.java b/demo-jakarta/src/main/java/com/example/demo/model/Order.java index 2829577..2864f8c 100644 --- a/demo-jakarta/src/main/java/com/example/demo/model/Order.java +++ b/demo-jakarta/src/main/java/com/example/demo/model/Order.java @@ -16,7 +16,7 @@ import java.io.Serializable; /** * The persistent class for the orders database table. - * + * */ @Entity @Table(name="orders") diff --git a/demo-jakarta/src/main/java/com/example/demo/model/User.java b/demo-jakarta/src/main/java/com/example/demo/model/User.java index a49a180..0975a75 100644 --- a/demo-jakarta/src/main/java/com/example/demo/model/User.java +++ b/demo-jakarta/src/main/java/com/example/demo/model/User.java @@ -6,7 +6,7 @@ import java.util.List; /** * The persistent class for the users database table. - * + * */ @Entity @Table(name="users") diff --git a/demo-jakarta/src/main/java/com/example/demo/repository/BookRepository.java b/demo-jakarta/src/main/java/com/example/demo/repository/BookRepository.java index 77c2309..c827fbd 100644 --- a/demo-jakarta/src/main/java/com/example/demo/repository/BookRepository.java +++ b/demo-jakarta/src/main/java/com/example/demo/repository/BookRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Repository public interface BookRepository extends JpaRepository { diff --git a/demo-jakarta/src/main/java/com/example/demo/repository/OrderRepository.java b/demo-jakarta/src/main/java/com/example/demo/repository/OrderRepository.java index 4d355ea..d97d5a1 100644 --- a/demo-jakarta/src/main/java/com/example/demo/repository/OrderRepository.java +++ b/demo-jakarta/src/main/java/com/example/demo/repository/OrderRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Repository public interface OrderRepository extends JpaRepository { diff --git a/demo-jakarta/src/main/java/com/example/demo/repository/UserRepository.java b/demo-jakarta/src/main/java/com/example/demo/repository/UserRepository.java index d81c90f..57c3f23 100644 --- a/demo-jakarta/src/main/java/com/example/demo/repository/UserRepository.java +++ b/demo-jakarta/src/main/java/com/example/demo/repository/UserRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Repository public interface UserRepository extends JpaRepository { diff --git a/demo-jakarta/src/main/java/com/example/demo/service/CrudService.java b/demo-jakarta/src/main/java/com/example/demo/service/CrudService.java deleted file mode 100644 index 980ddc9..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/CrudService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.example.demo.service; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -public interface CrudService { - - E create(E entity); - - E update(E entity); - - Page read(E entity, Pageable pageable); - E readOne(P primaryKey); - - void delete(P primaryKey); - -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/OrderService.java b/demo-jakarta/src/main/java/com/example/demo/service/OrderService.java deleted file mode 100644 index f70700e..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/OrderService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.model.Order; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -public interface OrderService extends CrudService { - -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/UserService.java b/demo-jakarta/src/main/java/com/example/demo/service/UserService.java deleted file mode 100644 index 171a8fb..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/UserService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.model.User; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -public interface UserService extends CrudService { - -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/impl/OrderServiceBean.java b/demo-jakarta/src/main/java/com/example/demo/service/impl/OrderServiceBean.java deleted file mode 100644 index c719bf9..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/impl/OrderServiceBean.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.demo.service.impl; - -import com.example.demo.model.Order; -import com.example.demo.repository.OrderRepository; -import com.example.demo.service.OrderService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Example; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -@Service -public class OrderServiceBean implements OrderService { - - @Autowired - private OrderRepository repository; - - @Override - public Order create(Order entity) { - return repository.save(entity); - } - - @Override - public Order update(Order entity) { - return repository.save(entity); - } - - @Override - public Page read(Order entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); - } - - @Override - public Order readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); - } - - @Override - public void delete(java.lang.Integer primaryKey) { - repository.deleteById(primaryKey); - } -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/impl/UserServiceBean.java b/demo-jakarta/src/main/java/com/example/demo/service/impl/UserServiceBean.java deleted file mode 100644 index ec8f9f5..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/impl/UserServiceBean.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.demo.service.impl; - -import com.example.demo.model.User; -import com.example.demo.repository.UserRepository; -import com.example.demo.service.UserService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Example; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -@Service -public class UserServiceBean implements UserService { - - @Autowired - private UserRepository repository; - - @Override - public User create(User entity) { - return repository.save(entity); - } - - @Override - public User update(User entity) { - return repository.save(entity); - } - - @Override - public Page read(User entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); - } - - @Override - public User readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); - } - - @Override - public void delete(java.lang.Integer primaryKey) { - repository.deleteById(primaryKey); - } -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/mapper/BookMapper.java b/demo-jakarta/src/main/java/com/example/demo/service/mapper/BookMapper.java deleted file mode 100644 index 5b80771..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/mapper/BookMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.demo.service.mapper; - -import com.example.demo.model.Book; -import com.example.demo.controller.dto.BookDTO; -import org.mapstruct.Mapper; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -@Mapper(componentModel = "spring") -public interface BookMapper { - - Book toEntity(BookDTO dto); - - BookDTO toDto(Book entity); - -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/mapper/OrderMapper.java b/demo-jakarta/src/main/java/com/example/demo/service/mapper/OrderMapper.java deleted file mode 100644 index bd66446..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/mapper/OrderMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.demo.service.mapper; - -import com.example.demo.model.Order; -import com.example.demo.controller.dto.OrderDTO; -import org.mapstruct.Mapper; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -@Mapper(componentModel = "spring") -public interface OrderMapper { - - Order toEntity(OrderDTO dto); - - OrderDTO toDto(Order entity); - -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/mapper/UserMapper.java b/demo-jakarta/src/main/java/com/example/demo/service/mapper/UserMapper.java deleted file mode 100644 index d6301a6..0000000 --- a/demo-jakarta/src/main/java/com/example/demo/service/mapper/UserMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.demo.service.mapper; - -import com.example.demo.model.User; -import com.example.demo.controller.dto.UserDTO; -import org.mapstruct.Mapper; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM -*/ -@Mapper(componentModel = "spring") -public interface UserMapper { - - User toEntity(UserDTO dto); - - UserDTO toDto(User entity); - -} \ No newline at end of file diff --git a/demo-jakarta/src/main/java/com/example/demo/service/BookService.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/BookService.java similarity index 51% rename from demo-jakarta/src/main/java/com/example/demo/service/BookService.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/BookService.java index 37d0a24..b60492f 100644 --- a/demo-jakarta/src/main/java/com/example/demo/service/BookService.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/BookService.java @@ -1,9 +1,9 @@ -package com.example.demo.service; +package com.example.demo.serviceInterface; import com.example.demo.model.Book; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ public interface BookService extends CrudService { diff --git a/demo-jakarta/src/main/java/com/example/demo/serviceInterface/CrudService.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/CrudService.java index 9de1927..92e0af2 100644 --- a/demo-jakarta/src/main/java/com/example/demo/serviceInterface/CrudService.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/CrudService.java @@ -2,18 +2,20 @@ package com.example.demo.serviceInterface; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:45:37 AM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:02 PM */ -public interface CrudService { +public interface CrudService { E create(E entity); E update(E entity); - Page read(E entity, Pageable pageable); - E readOne(P primaryKey); + Page read(Pageable pageable); + + Optional readOne(P primaryKey); void delete(P primaryKey); diff --git a/demo/src/main/java/com/example/demo/service/OrderService.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/OrderService.java similarity index 52% rename from demo/src/main/java/com/example/demo/service/OrderService.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/OrderService.java index cb6675f..73896f0 100644 --- a/demo/src/main/java/com/example/demo/service/OrderService.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/OrderService.java @@ -1,9 +1,9 @@ -package com.example.demo.service; +package com.example.demo.serviceInterface; import com.example.demo.model.Order; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ public interface OrderService extends CrudService { diff --git a/demo/src/main/java/com/example/demo/service/UserService.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/UserService.java similarity index 51% rename from demo/src/main/java/com/example/demo/service/UserService.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/UserService.java index 77c4f66..e747685 100644 --- a/demo/src/main/java/com/example/demo/service/UserService.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/UserService.java @@ -1,9 +1,9 @@ -package com.example.demo.service; +package com.example.demo.serviceInterface; import com.example.demo.model.User; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ public interface UserService extends CrudService { diff --git a/demo-jakarta/src/main/java/com/example/demo/service/impl/BookServiceBean.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java similarity index 66% rename from demo-jakarta/src/main/java/com/example/demo/service/impl/BookServiceBean.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java index f163ec4..36d578d 100644 --- a/demo-jakarta/src/main/java/com/example/demo/service/impl/BookServiceBean.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java @@ -1,17 +1,18 @@ -package com.example.demo.service.impl; +package com.example.demo.serviceInterface.impl; import com.example.demo.model.Book; import com.example.demo.repository.BookRepository; -import com.example.demo.service.BookService; +import com.example.demo.serviceInterface.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:19:32 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Service public class BookServiceBean implements BookService { @@ -30,14 +31,13 @@ public class BookServiceBean implements BookService { } @Override - public Page read(Book entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public Book readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/demo/src/main/java/com/example/demo/service/impl/OrderServiceBean.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java similarity index 66% rename from demo/src/main/java/com/example/demo/service/impl/OrderServiceBean.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java index bdd3d09..d6d1284 100644 --- a/demo/src/main/java/com/example/demo/service/impl/OrderServiceBean.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java @@ -1,17 +1,18 @@ -package com.example.demo.service.impl; +package com.example.demo.serviceInterface.impl; import com.example.demo.model.Order; import com.example.demo.repository.OrderRepository; -import com.example.demo.service.OrderService; +import com.example.demo.serviceInterface.OrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Service public class OrderServiceBean implements OrderService { @@ -30,14 +31,13 @@ public class OrderServiceBean implements OrderService { } @Override - public Page read(Order entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public Order readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/demo/src/main/java/com/example/demo/service/impl/UserServiceBean.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java similarity index 66% rename from demo/src/main/java/com/example/demo/service/impl/UserServiceBean.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java index 63f4c6f..acc820c 100644 --- a/demo/src/main/java/com/example/demo/service/impl/UserServiceBean.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java @@ -1,17 +1,18 @@ -package com.example.demo.service.impl; +package com.example.demo.serviceInterface.impl; import com.example.demo.model.User; import com.example.demo.repository.UserRepository; -import com.example.demo.service.UserService; +import com.example.demo.serviceInterface.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Service public class UserServiceBean implements UserService { @@ -30,14 +31,13 @@ public class UserServiceBean implements UserService { } @Override - public Page read(User entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public User readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/demo/src/main/java/com/example/demo/service/mapper/BookMapper.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java similarity index 67% rename from demo/src/main/java/com/example/demo/service/mapper/BookMapper.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java index c2fea76..29d0acf 100644 --- a/demo/src/main/java/com/example/demo/service/mapper/BookMapper.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java @@ -1,11 +1,11 @@ -package com.example.demo.service.mapper; +package com.example.demo.serviceInterface.mapper; import com.example.demo.model.Book; import com.example.demo.controller.dto.BookDTO; import org.mapstruct.Mapper; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Mapper(componentModel = "spring") public interface BookMapper { diff --git a/demo/src/main/java/com/example/demo/service/mapper/OrderMapper.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java similarity index 68% rename from demo/src/main/java/com/example/demo/service/mapper/OrderMapper.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java index e330e52..5758640 100644 --- a/demo/src/main/java/com/example/demo/service/mapper/OrderMapper.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java @@ -1,11 +1,11 @@ -package com.example.demo.service.mapper; +package com.example.demo.serviceInterface.mapper; import com.example.demo.model.Order; import com.example.demo.controller.dto.OrderDTO; import org.mapstruct.Mapper; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Mapper(componentModel = "spring") public interface OrderMapper { diff --git a/demo/src/main/java/com/example/demo/service/mapper/UserMapper.java b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java similarity index 67% rename from demo/src/main/java/com/example/demo/service/mapper/UserMapper.java rename to demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java index 4f56a4c..6432098 100644 --- a/demo/src/main/java/com/example/demo/service/mapper/UserMapper.java +++ b/demo-jakarta/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java @@ -1,11 +1,11 @@ -package com.example.demo.service.mapper; +package com.example.demo.serviceInterface.mapper; import com.example.demo.model.User; import com.example.demo.controller.dto.UserDTO; import org.mapstruct.Mapper; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 22, 2023, 1:38:03 PM */ @Mapper(componentModel = "spring") public interface UserMapper { diff --git a/demo/build.gradle b/demo/build.gradle index 22be3a5..055fd24 100644 --- a/demo/build.gradle +++ b/demo/build.gradle @@ -21,23 +21,17 @@ group = 'com.example' version = '0.0.1-SNAPSHOT' dependencies { - implementation 'org.springframework.boot:spring-boot-starter' - - // needed dependency also for generated classes implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.mapstruct:mapstruct:1.3.1.Final' - compileOnly 'org.projectlombok:lombok:1.18.2' - - annotationProcessor "org.mapstruct:mapstruct-processor:1.3.1.Final" - annotationProcessor 'org.projectlombok:lombok:1.18.12' - - + implementation 'org.mapstruct:mapstruct:1.5.3.Final' + compileOnly 'org.projectlombok:lombok:1.18.26' + runtimeOnly 'com.h2database:h2' + annotationProcessor 'org.projectlombok:lombok:1.18.26' + annotationProcessor "org.mapstruct:mapstruct-processor:1.5.3.Final" testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } - } test { diff --git a/demo/src/main/java/com/example/demo/controller/BookController.java b/demo/src/main/java/com/example/demo/controller/BookController.java index 70b372e..7f961db 100644 --- a/demo/src/main/java/com/example/demo/controller/BookController.java +++ b/demo/src/main/java/com/example/demo/controller/BookController.java @@ -1,7 +1,7 @@ package com.example.demo.controller; import com.example.demo.model.Book; -import com.example.demo.service.BookService; +import com.example.demo.serviceInterface.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,9 +9,10 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @RestController @RequestMapping("/book/") @@ -32,16 +33,15 @@ public class BookController implements CrudController{ @Override public ResponseEntity> read( - @RequestBody Book entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo/src/main/java/com/example/demo/controller/BookControllerDTO.java b/demo/src/main/java/com/example/demo/controller/BookControllerDTO.java index aa23887..505623b 100644 --- a/demo/src/main/java/com/example/demo/controller/BookControllerDTO.java +++ b/demo/src/main/java/com/example/demo/controller/BookControllerDTO.java @@ -2,8 +2,8 @@ package com.example.demo.controller; import com.example.demo.model.Book; import com.example.demo.controller.dto.BookDTO; -import com.example.demo.service.BookService; -import com.example.demo.service.mapper.BookMapper; +import com.example.demo.serviceInterface.BookService; +import com.example.demo.serviceInterface.mapper.BookMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,9 +11,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @RestController @RequestMapping("/book-dto/") @@ -41,19 +42,17 @@ public class BookControllerDTO implements CrudController> read( - @RequestBody BookDTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - Book entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - Book entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo/src/main/java/com/example/demo/controller/CrudController.java b/demo/src/main/java/com/example/demo/controller/CrudController.java index f4c06c9..0e1a410 100644 --- a/demo/src/main/java/com/example/demo/controller/CrudController.java +++ b/demo/src/main/java/com/example/demo/controller/CrudController.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:37 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 7:59:17 AM */ public interface CrudController{ @@ -18,8 +18,9 @@ public interface CrudController{ @PutMapping ResponseEntity update(O object); - @PostMapping("find") - ResponseEntity> read(O object, Integer page, Integer size); + @GetMapping("list") + ResponseEntity> read(Integer page, Integer size); + @GetMapping("{id}") ResponseEntity readOne(P primaryKey); diff --git a/demo/src/main/java/com/example/demo/controller/OrderController.java b/demo/src/main/java/com/example/demo/controller/OrderController.java index 5896aae..19192e7 100644 --- a/demo/src/main/java/com/example/demo/controller/OrderController.java +++ b/demo/src/main/java/com/example/demo/controller/OrderController.java @@ -1,7 +1,7 @@ package com.example.demo.controller; import com.example.demo.model.Order; -import com.example.demo.service.OrderService; +import com.example.demo.serviceInterface.OrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,9 +9,10 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @RestController @RequestMapping("/order/") @@ -32,16 +33,15 @@ public class OrderController implements CrudController{ @Override public ResponseEntity> read( - @RequestBody Order entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo/src/main/java/com/example/demo/controller/OrderControllerDTO.java b/demo/src/main/java/com/example/demo/controller/OrderControllerDTO.java index 97c0faf..4f4b1d3 100644 --- a/demo/src/main/java/com/example/demo/controller/OrderControllerDTO.java +++ b/demo/src/main/java/com/example/demo/controller/OrderControllerDTO.java @@ -2,8 +2,8 @@ package com.example.demo.controller; import com.example.demo.model.Order; import com.example.demo.controller.dto.OrderDTO; -import com.example.demo.service.OrderService; -import com.example.demo.service.mapper.OrderMapper; +import com.example.demo.serviceInterface.OrderService; +import com.example.demo.serviceInterface.mapper.OrderMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,9 +11,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @RestController @RequestMapping("/order-dto/") @@ -41,19 +42,17 @@ public class OrderControllerDTO implements CrudController> read( - @RequestBody OrderDTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - Order entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - Order entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo/src/main/java/com/example/demo/controller/UserController.java b/demo/src/main/java/com/example/demo/controller/UserController.java index e967ab2..e26cd50 100644 --- a/demo/src/main/java/com/example/demo/controller/UserController.java +++ b/demo/src/main/java/com/example/demo/controller/UserController.java @@ -1,7 +1,7 @@ package com.example.demo.controller; import com.example.demo.model.User; -import com.example.demo.service.UserService; +import com.example.demo.serviceInterface.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,9 +9,10 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @RestController @RequestMapping("/user/") @@ -32,16 +33,15 @@ public class UserController implements CrudController{ @Override public ResponseEntity> read( - @RequestBody User entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo/src/main/java/com/example/demo/controller/UserControllerDTO.java b/demo/src/main/java/com/example/demo/controller/UserControllerDTO.java index 96cafca..811eae0 100644 --- a/demo/src/main/java/com/example/demo/controller/UserControllerDTO.java +++ b/demo/src/main/java/com/example/demo/controller/UserControllerDTO.java @@ -2,8 +2,8 @@ package com.example.demo.controller; import com.example.demo.model.User; import com.example.demo.controller.dto.UserDTO; -import com.example.demo.service.UserService; -import com.example.demo.service.mapper.UserMapper; +import com.example.demo.serviceInterface.UserService; +import com.example.demo.serviceInterface.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,9 +11,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @RestController @RequestMapping("/user-dto/") @@ -41,19 +42,17 @@ public class UserControllerDTO implements CrudController> read( - @RequestBody UserDTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - User entity = mapper.toEntity(dto); - Page pages = service.read(entity, pageable).map(mapper::toDto); + Page pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity readOne(@PathVariable("id") java.lang.Integer primaryKey) { - User entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/demo/src/main/java/com/example/demo/controller/dto/BookDTO.java b/demo/src/main/java/com/example/demo/controller/dto/BookDTO.java index 8400d1b..c908435 100644 --- a/demo/src/main/java/com/example/demo/controller/dto/BookDTO.java +++ b/demo/src/main/java/com/example/demo/controller/dto/BookDTO.java @@ -2,11 +2,8 @@ package com.example.demo.controller.dto; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Data public class BookDTO { diff --git a/demo/src/main/java/com/example/demo/controller/dto/OrderDTO.java b/demo/src/main/java/com/example/demo/controller/dto/OrderDTO.java index b8dce6b..ad201b1 100644 --- a/demo/src/main/java/com/example/demo/controller/dto/OrderDTO.java +++ b/demo/src/main/java/com/example/demo/controller/dto/OrderDTO.java @@ -2,11 +2,8 @@ package com.example.demo.controller.dto; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Data public class OrderDTO { diff --git a/demo/src/main/java/com/example/demo/controller/dto/UserDTO.java b/demo/src/main/java/com/example/demo/controller/dto/UserDTO.java index fc700e1..8062e51 100644 --- a/demo/src/main/java/com/example/demo/controller/dto/UserDTO.java +++ b/demo/src/main/java/com/example/demo/controller/dto/UserDTO.java @@ -2,11 +2,8 @@ package com.example.demo.controller.dto; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Data public class UserDTO { diff --git a/demo/src/main/java/com/example/demo/repository/BookRepository.java b/demo/src/main/java/com/example/demo/repository/BookRepository.java index 173c4a8..cc5c960 100644 --- a/demo/src/main/java/com/example/demo/repository/BookRepository.java +++ b/demo/src/main/java/com/example/demo/repository/BookRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Repository public interface BookRepository extends JpaRepository { diff --git a/demo/src/main/java/com/example/demo/repository/OrderRepository.java b/demo/src/main/java/com/example/demo/repository/OrderRepository.java index 36392ad..ed56ae4 100644 --- a/demo/src/main/java/com/example/demo/repository/OrderRepository.java +++ b/demo/src/main/java/com/example/demo/repository/OrderRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Repository public interface OrderRepository extends JpaRepository { diff --git a/demo/src/main/java/com/example/demo/repository/UserRepository.java b/demo/src/main/java/com/example/demo/repository/UserRepository.java index 635695e..7ada121 100644 --- a/demo/src/main/java/com/example/demo/repository/UserRepository.java +++ b/demo/src/main/java/com/example/demo/repository/UserRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:37 PM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Repository public interface UserRepository extends JpaRepository { diff --git a/demo/src/main/java/com/example/demo/service/BookService.java b/demo/src/main/java/com/example/demo/service/BookService.java deleted file mode 100644 index a201cc2..0000000 --- a/demo/src/main/java/com/example/demo/service/BookService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.demo.service; - -import com.example.demo.model.Book; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM -*/ -public interface BookService extends CrudService { - -} \ No newline at end of file diff --git a/demo/src/main/java/com/example/demo/service/CrudService.java b/demo/src/main/java/com/example/demo/service/CrudService.java deleted file mode 100644 index 1248b51..0000000 --- a/demo/src/main/java/com/example/demo/service/CrudService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.example.demo.service; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:37 PM -*/ -public interface CrudService { - - E create(E entity); - - E update(E entity); - - Page read(E entity, Pageable pageable); - E readOne(P primaryKey); - - void delete(P primaryKey); - -} \ No newline at end of file diff --git a/demo/src/main/java/com/example/demo/service/impl/BookServiceBean.java b/demo/src/main/java/com/example/demo/service/impl/BookServiceBean.java deleted file mode 100644 index 9190c45..0000000 --- a/demo/src/main/java/com/example/demo/service/impl/BookServiceBean.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.demo.service.impl; - -import com.example.demo.model.Book; -import com.example.demo.repository.BookRepository; -import com.example.demo.service.BookService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Example; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; - -/** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 12:20:38 PM -*/ -@Service -public class BookServiceBean implements BookService { - - @Autowired - private BookRepository repository; - - @Override - public Book create(Book entity) { - return repository.save(entity); - } - - @Override - public Book update(Book entity) { - return repository.save(entity); - } - - @Override - public Page read(Book entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); - } - - @Override - public Book readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); - } - - @Override - public void delete(java.lang.Integer primaryKey) { - repository.deleteById(primaryKey); - } -} \ No newline at end of file diff --git a/demo/src/main/java/com/example/demo/serviceInterface/BookService.java b/demo/src/main/java/com/example/demo/serviceInterface/BookService.java index 2398129..6ba1995 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/BookService.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/BookService.java @@ -3,7 +3,7 @@ package com.example.demo.serviceInterface; import com.example.demo.model.Book; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ public interface BookService extends CrudService { diff --git a/demo/src/main/java/com/example/demo/serviceInterface/CrudService.java b/demo/src/main/java/com/example/demo/serviceInterface/CrudService.java index 1cd24a7..dff30ee 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/CrudService.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/CrudService.java @@ -2,18 +2,20 @@ package com.example.demo.serviceInterface; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:29 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 7:59:17 AM */ -public interface CrudService { +public interface CrudService { E create(E entity); E update(E entity); - Page read(E entity, Pageable pageable); - E readOne(P primaryKey); + Page read(Pageable pageable); + + Optional readOne(P primaryKey); void delete(P primaryKey); diff --git a/demo/src/main/java/com/example/demo/serviceInterface/OrderService.java b/demo/src/main/java/com/example/demo/serviceInterface/OrderService.java index b5c7000..92d7d37 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/OrderService.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/OrderService.java @@ -3,7 +3,7 @@ package com.example.demo.serviceInterface; import com.example.demo.model.Order; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:29 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ public interface OrderService extends CrudService { diff --git a/demo/src/main/java/com/example/demo/serviceInterface/UserService.java b/demo/src/main/java/com/example/demo/serviceInterface/UserService.java index 5767d91..3509110 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/UserService.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/UserService.java @@ -3,7 +3,7 @@ package com.example.demo.serviceInterface; import com.example.demo.model.User; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ public interface UserService extends CrudService { diff --git a/demo/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java b/demo/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java index 5046fd6..d63f3d0 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/impl/BookServiceBean.java @@ -9,9 +9,10 @@ import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Service public class BookServiceBean implements BookService { @@ -30,14 +31,13 @@ public class BookServiceBean implements BookService { } @Override - public Page read(Book entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public Book readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/demo/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java b/demo/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java index f61f108..a856c1c 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/impl/OrderServiceBean.java @@ -9,9 +9,10 @@ import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:29 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Service public class OrderServiceBean implements OrderService { @@ -30,14 +31,13 @@ public class OrderServiceBean implements OrderService { } @Override - public Page read(Order entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public Order readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/demo/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java b/demo/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java index 5c4c1fa..98c32d4 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/impl/UserServiceBean.java @@ -9,9 +9,10 @@ import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Service public class UserServiceBean implements UserService { @@ -30,14 +31,13 @@ public class UserServiceBean implements UserService { } @Override - public Page read(User entity, Pageable pageable) { - Example example = Example.of(entity); - return repository.findAll(example,pageable); + public Page read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public User readOne(java.lang.Integer primaryKey) { - return repository.getOne(primaryKey); + public Optional readOne(java.lang.Integer primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/demo/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java b/demo/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java index 723c92e..2fae5a1 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/mapper/BookMapper.java @@ -5,7 +5,7 @@ import com.example.demo.controller.dto.BookDTO; import org.mapstruct.Mapper; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Mapper(componentModel = "spring") public interface BookMapper { diff --git a/demo/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java b/demo/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java index dd5ad83..da2ebf1 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/mapper/OrderMapper.java @@ -5,7 +5,7 @@ import com.example.demo.controller.dto.OrderDTO; import org.mapstruct.Mapper; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Mapper(componentModel = "spring") public interface OrderMapper { diff --git a/demo/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java b/demo/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java index 83856cf..9570ba7 100644 --- a/demo/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java +++ b/demo/src/main/java/com/example/demo/serviceInterface/mapper/UserMapper.java @@ -5,7 +5,7 @@ import com.example.demo.controller.dto.UserDTO; import org.mapstruct.Mapper; /** -* Generated by Springboot-3layer-Generator at Jan 23, 2023, 10:35:30 AM +* Generated by Springboot-3layer-Generator at Feb 21, 2023, 6:23:13 AM */ @Mapper(componentModel = "spring") public interface UserMapper { diff --git a/src/main/java/gae/piaz/layer3gen/CodeGenerator.java b/src/main/java/gae/piaz/layer3gen/CodeGenerator.java index 275c41a..bc366c3 100644 --- a/src/main/java/gae/piaz/layer3gen/CodeGenerator.java +++ b/src/main/java/gae/piaz/layer3gen/CodeGenerator.java @@ -3,6 +3,7 @@ package gae.piaz.layer3gen; import freemarker.template.TemplateException; import gae.piaz.layer3gen.config.CodeGeneratorConfig; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.reflections.Reflections; import org.reflections.scanners.FieldAnnotationsScanner; @@ -13,11 +14,18 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; +import java.util.Optional; import java.util.Set; @Slf4j public class CodeGenerator { + // Utility class such CodeGenerator that have all method as static should have private constructor + // Code smell : java:S1118 + private CodeGenerator() { + throw new IllegalStateException("Utility class"); + } + private static CodeGeneratorConfig config; private static URLClassLoader classLoader; @@ -43,16 +51,18 @@ public class CodeGenerator { createRepository(entity); - if (config.getOptions().getServiceInterface()) { + if (Boolean.TRUE.equals(config.getOptions().getServiceInterface())) { createServiceBean(entity); createServiceInterface(entity); } else { createService(entity); } - createController(entity); + if (Boolean.TRUE.equals(config.getOptions().getEntityControllers())){ + createController(entity); + } - if (config.getOptions().getDtoLayer()) { + if (Boolean.TRUE.equals(config.getOptions().getDtoLayer())) { createDto(entity); createMapper(entity); createControllerDTO(entity); @@ -78,8 +88,9 @@ public class CodeGenerator { data.setEntityPackage(entity.getPackageName()); String code = CodeRenderer.render("controllerdto.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getControllers().replaceAll("\\.", "/") + "/" + entity.getSimpleName() + "ControllerDTO.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getControllers().replaceAll("\\.", "/"), + entity.getSimpleName() + "ControllerDTO.java").toString(); writeFile(code, filepath); @@ -87,15 +98,19 @@ public class CodeGenerator { private static void createMapper(Class entity) throws IOException, TemplateException { + if(StringUtils.isBlank(config.getOutputPackages().getMappers())){ + config.getOutputPackages().setMappers(config.getOutputPackages().getServices() + ".mapper"); + } + CodeRenderer.RenderingData data = new CodeRenderer.RenderingData(); data.setConfig(config); data.setEntityClass(entity.getSimpleName()); data.setEntityPackage(entity.getPackageName()); String code = CodeRenderer.render("mapper.ftl", data); - - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getServices().replaceAll("\\.", "/") + "/mapper/" + entity.getSimpleName() + "Mapper.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getMappers().replaceAll("\\.", "/"), + entity.getSimpleName() + "Mapper.java").toString(); writeFile(code, filepath); @@ -103,15 +118,19 @@ public class CodeGenerator { private static void createDto(Class entity) throws IOException, TemplateException { + if(StringUtils.isBlank(config.getOutputPackages().getDtos())){ + config.getOutputPackages().setDtos(config.getOutputPackages().getControllers() + ".dto"); + } + CodeRenderer.RenderingData data = new CodeRenderer.RenderingData(); data.setConfig(config); data.setEntityClass(entity.getSimpleName()); data.setEntityFields(Arrays.asList(entity.getDeclaredFields())); String code = CodeRenderer.render("dto.ftl", data); - - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getControllers().replaceAll("\\.", "/") + "/dto/" + entity.getSimpleName() + "DTO.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getDtos().replaceAll("\\.", "/"), + entity.getSimpleName() + "DTO.java").toString(); writeFile(code, filepath); @@ -126,8 +145,9 @@ public class CodeGenerator { data.setEntityPackage(entity.getPackageName()); String code = CodeRenderer.render("controller.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getControllers().replaceAll("\\.", "/") + "/" + entity.getSimpleName() + "Controller.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getControllers().replaceAll("\\.", "/"), + entity.getSimpleName() + "Controller.java").toString(); writeFile(code, filepath); @@ -143,8 +163,9 @@ public class CodeGenerator { String code = CodeRenderer.render("service.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getServices().replaceAll("\\.", "/") + "/" + entity.getSimpleName() + "Service.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getServices().replaceAll("\\.", "/"), + entity.getSimpleName() + "Service.java").toString(); writeFile(code, filepath); @@ -160,8 +181,9 @@ public class CodeGenerator { String code = CodeRenderer.render("serviceInterface.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getServices().replaceAll("\\.", "/") + "/" + entity.getSimpleName() + "Service.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getServices().replaceAll("\\.", "/"), + entity.getSimpleName() + "Service.java").toString(); writeFile(code, filepath); @@ -177,9 +199,9 @@ public class CodeGenerator { String code = CodeRenderer.render("serviceBean.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getServices().replaceAll("\\.", "/") - + "/impl/" + entity.getSimpleName() + "ServiceBean.java"; + String filepath = Paths.get(config.getProjectPath(), config.getOutputDirectory(), + config.getOutputPackages().getServices().replaceAll("\\.", "/"), + "impl", entity.getSimpleName() + "ServiceBean.java").toString(); writeFile(code, filepath); @@ -191,13 +213,13 @@ public class CodeGenerator { data.setConfig(config); String code = CodeRenderer.render("crudservice.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getServices().replaceAll("\\.", "/") + "/" + "CrudService.java"; + String filepath = Paths.get(config.getProjectPath() , config.getOutputDirectory(), + config.getOutputPackages().getServices().replaceAll("\\.", "/"), "CrudService.java").toString(); writeFile(code, filepath); code = CodeRenderer.render("crudcontroller.ftl", data); - filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getControllers().replaceAll("\\.", "/") + "/" + "CrudController.java"; + filepath = Paths.get(config.getProjectPath() , config.getOutputDirectory() , + config.getOutputPackages().getControllers().replaceAll("\\.", "/"), "CrudController.java").toString(); writeFile(code, filepath); } @@ -211,8 +233,9 @@ public class CodeGenerator { String code = CodeRenderer.render("repository.ftl", data); - String filepath = config.getProjectPath() + "/" + config.getOutputDirectory() + "/" + - config.getOutputPackages().getRepositories().replaceAll("\\.", "/") + "/" + entity.getSimpleName() + "Repository.java"; + String filepath = Paths.get(config.getProjectPath() , config.getOutputDirectory(), + config.getOutputPackages().getRepositories().replaceAll("\\.", "/"), + entity.getSimpleName() + "Repository.java").toString(); writeFile(code, filepath); diff --git a/src/main/java/gae/piaz/layer3gen/config/Options.java b/src/main/java/gae/piaz/layer3gen/config/Options.java index 8e68463..76b5738 100644 --- a/src/main/java/gae/piaz/layer3gen/config/Options.java +++ b/src/main/java/gae/piaz/layer3gen/config/Options.java @@ -6,4 +6,5 @@ import lombok.Data; public class Options { private Boolean dtoLayer; private Boolean serviceInterface; + private Boolean entityControllers; } diff --git a/src/main/java/gae/piaz/layer3gen/config/OutputPackages.java b/src/main/java/gae/piaz/layer3gen/config/OutputPackages.java index 0e0c1c3..7d1b4db 100644 --- a/src/main/java/gae/piaz/layer3gen/config/OutputPackages.java +++ b/src/main/java/gae/piaz/layer3gen/config/OutputPackages.java @@ -7,4 +7,6 @@ public class OutputPackages { private String repositories; private String services; private String controllers; + private String dtos; + private String mappers; } diff --git a/src/main/resources/controller.ftl b/src/main/resources/controller.ftl index 76ad0d5..16d6084 100644 --- a/src/main/resources/controller.ftl +++ b/src/main/resources/controller.ftl @@ -9,6 +9,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** * Generated by Springboot-3layer-Generator at ${dateGen?datetime} @@ -32,16 +33,15 @@ public class ${entityClass}Controller implements CrudController<${entityClass},$ @Override public ResponseEntity> read( - @RequestBody ${entityClass} entity, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - return ResponseEntity.ok(service.read(entity,pageable)); + return ResponseEntity.ok(service.read(pageable)); } @Override public ResponseEntity<${entityClass}> readOne(@PathVariable("id") ${primaryKeyClass} primaryKey) { - return ResponseEntity.ok(service.readOne(primaryKey)); + return service.readOne(primaryKey).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/src/main/resources/controllerdto.ftl b/src/main/resources/controllerdto.ftl index ee737ff..8a4d418 100644 --- a/src/main/resources/controllerdto.ftl +++ b/src/main/resources/controllerdto.ftl @@ -1,9 +1,9 @@ package ${config.outputPackages.controllers}; import ${entityPackage}.${entityClass}; -import ${config.outputPackages.controllers}.dto.${entityClass}DTO; +import ${config.outputPackages.dtos}.${entityClass}DTO; import ${config.outputPackages.services}.${entityClass}Service; -import ${config.outputPackages.services}.mapper.${entityClass}Mapper; +import ${config.outputPackages.mappers}.${entityClass}Mapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; @@ -11,6 +11,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Optional; /** * Generated by Springboot-3layer-Generator at ${dateGen?datetime} @@ -41,19 +42,17 @@ public class ${entityClass}ControllerDTO implements CrudController<${entityClass @Override public ResponseEntity> read( - @RequestBody ${entityClass}DTO dto, @RequestParam("page") Integer page, @RequestParam("size") Integer size) { Pageable pageable = PageRequest.of(page,size); - ${entityClass} entity = mapper.toEntity(dto); - Page<${entityClass}DTO> pages = service.read(entity, pageable).map(mapper::toDto); + Page<${entityClass}DTO> pages = service.read(pageable).map(mapper::toDto); return ResponseEntity.ok(pages); } @Override public ResponseEntity<${entityClass}DTO> readOne(@PathVariable("id") ${primaryKeyClass} primaryKey) { - ${entityClass} entity = service.readOne(primaryKey); - return ResponseEntity.ok(mapper.toDto(entity)); + Optional<${entityClass}> entity = service.readOne(primaryKey); + return entity.map(e -> ResponseEntity.ok(mapper.toDto(e))).orElseGet(() -> ResponseEntity.notFound().build()); } @Override diff --git a/src/main/resources/crudcontroller.ftl b/src/main/resources/crudcontroller.ftl index 45c9122..f85ac83 100644 --- a/src/main/resources/crudcontroller.ftl +++ b/src/main/resources/crudcontroller.ftl @@ -18,8 +18,9 @@ public interface CrudController{ @PutMapping ResponseEntity update(O object); - @PostMapping("find") - ResponseEntity> read(O object, Integer page, Integer size); + @GetMapping("list") + ResponseEntity> read(Integer page, Integer size); + @GetMapping("{id}") ResponseEntity readOne(P primaryKey); diff --git a/src/main/resources/crudservice.ftl b/src/main/resources/crudservice.ftl index 4593681..39c77f3 100644 --- a/src/main/resources/crudservice.ftl +++ b/src/main/resources/crudservice.ftl @@ -2,18 +2,20 @@ package ${config.outputPackages.services}; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import java.util.Optional; /** * Generated by Springboot-3layer-Generator at ${dateGen?datetime} */ -public interface CrudService { +public interface CrudService { E create(E entity); E update(E entity); - Page read(E entity, Pageable pageable); - E readOne(P primaryKey); + Page read(Pageable pageable); + + Optional readOne(P primaryKey); void delete(P primaryKey); diff --git a/src/main/resources/dto.ftl b/src/main/resources/dto.ftl index eb142e5..38f34d7 100644 --- a/src/main/resources/dto.ftl +++ b/src/main/resources/dto.ftl @@ -1,10 +1,7 @@ -package ${config.outputPackages.controllers}.dto; +package ${config.outputPackages.dtos}; import lombok.Data; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - /** * Generated by Springboot-3layer-Generator at ${dateGen?datetime} */ diff --git a/src/main/resources/mapper.ftl b/src/main/resources/mapper.ftl index 43a407f..3b1e1af 100644 --- a/src/main/resources/mapper.ftl +++ b/src/main/resources/mapper.ftl @@ -1,7 +1,7 @@ -package ${config.outputPackages.services}.mapper; +package ${config.outputPackages.mappers}; import ${entityPackage}.${entityClass}; -import ${config.outputPackages.controllers}.dto.${entityClass}DTO; +import ${config.outputPackages.dtos}.${entityClass}DTO; import org.mapstruct.Mapper; /** diff --git a/src/main/resources/service.ftl b/src/main/resources/service.ftl index 26472eb..1b15b9f 100644 --- a/src/main/resources/service.ftl +++ b/src/main/resources/service.ftl @@ -8,6 +8,7 @@ import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** * Generated by Springboot-3layer-Generator at ${dateGen?datetime} @@ -29,14 +30,13 @@ public class ${entityClass}Service implements CrudService<${entityClass},${prima } @Override - public Page<${entityClass}> read(${entityClass} entity, Pageable pageable) { - Example<${entityClass}> example = Example.of(entity); - return repository.findAll(example,pageable); + public Page<${entityClass}> read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public ${entityClass} readOne(${primaryKeyClass} primaryKey) { - return repository.getOne(primaryKey); + public Optional<${entityClass}> readOne(${primaryKeyClass} primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/src/main/resources/serviceBean.ftl b/src/main/resources/serviceBean.ftl index a8d3418..a78cfda 100644 --- a/src/main/resources/serviceBean.ftl +++ b/src/main/resources/serviceBean.ftl @@ -9,6 +9,7 @@ import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.Optional; /** * Generated by Springboot-3layer-Generator at ${dateGen?datetime} @@ -30,14 +31,13 @@ public class ${entityClass}ServiceBean implements ${entityClass}Service { } @Override - public Page<${entityClass}> read(${entityClass} entity, Pageable pageable) { - Example<${entityClass}> example = Example.of(entity); - return repository.findAll(example,pageable); + public Page<${entityClass}> read(Pageable pageable) { + return repository.findAll(pageable); } @Override - public ${entityClass} readOne(${primaryKeyClass} primaryKey) { - return repository.getOne(primaryKey); + public Optional<${entityClass}> readOne(${primaryKeyClass} primaryKey) { + return repository.findById(primaryKey); } @Override diff --git a/src/test/resources/3layer-settings-jakarta.yml b/src/test/resources/3layer-settings-jakarta.yml index 98b4a03..6b9fb4c 100644 --- a/src/test/resources/3layer-settings-jakarta.yml +++ b/src/test/resources/3layer-settings-jakarta.yml @@ -1,9 +1,10 @@ -projectPath: /Users/Gaetano_Piazzolla/Workspaces/workspace_private/Layer3Gen/demo-jakarta +projectPath: demo-jakarta classesDirectory: build/classes/java/main outputDirectory : src/main/java options: dtoLayer: true serviceInterface: true + entityControllers: true inputPackages: jpaEntities: com.example.demo.model diff --git a/src/test/resources/3layer-settings.yml b/src/test/resources/3layer-settings.yml index e555939..6a3bf86 100644 --- a/src/test/resources/3layer-settings.yml +++ b/src/test/resources/3layer-settings.yml @@ -1,9 +1,10 @@ -projectPath: /Users/Gaetano_Piazzolla/Workspaces/workspace_private/Layer3Gen/demo +projectPath: demo classesDirectory: build/classes/java/main outputDirectory : src/main/java options: dtoLayer : true serviceInterface: true + entityControllers: true inputPackages: jpaEntities : com.example.demo.model