diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..612d19c --- /dev/null +++ b/.gitignore @@ -0,0 +1,130 @@ +# Directories # +/build/ +bin/ +repos/ +/repos/ +doc/ +/doc/ +.gradle/ +/bin/ +target/ + +# OS Files # +.DS_Store + +# JetBrain's Idea specific stuff # + +.idea* +*.iml + + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + + +*.class +browscap.csv +gradle/wrapper +gradlew.bat +gradlew + +# Package Files # +*.jar +*.war +*.ear +*.db + +###################### +# Windows +###################### + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + +###################### +# OSX +###################### + +.DS_Store +.svn + +# Thumbnails +._* + +# Files that might appear on external disk +.Spotlight-V100 +.Trashes + + +###################### +# Eclipse +###################### + +*.pydevproject +.project +.metadata +bin/** +tmp/** +tmp/**/* +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath +/src/main/resources/rebel.xml +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..47cd2f2 --- /dev/null +++ b/build.gradle @@ -0,0 +1,36 @@ +plugins { + id 'org.springframework.boot' version '2.3.4.RELEASE' + id 'io.spring.dependency-management' version '1.0.10.RELEASE' + id 'io.freefair.lombok' version "4.1.6" //questo + id 'java' +} + +group = 'com.gae.piaz' +version = '0.0.1-SNAPSHOT' +sourceCompatibility = '11' + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // questo + implementation 'org.springframework.boot:spring-boot-starter-web' // questo + implementation 'org.mapstruct:mapstruct:1.3.1.Final' // questo + + compileOnly 'org.projectlombok:lombok:1.18.2' // questo + + annotationProcessor "org.mapstruct:mapstruct-processor:1.3.1.Final" + annotationProcessor 'org.projectlombok:lombok:1.18.12' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' + } + + +} + +test { + useJUnitPlatform() +} diff --git a/lombok.config b/lombok.config new file mode 100644 index 0000000..6aa51d7 --- /dev/null +++ b/lombok.config @@ -0,0 +1,2 @@ +# This file is generated by the 'io.freefair.lombok' Gradle plugin +config.stopBubbling = true diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..e9a10fc --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'autogen' diff --git a/src/main/java/com/gae/piaz/autogen/AutogenApplication.java b/src/main/java/com/gae/piaz/autogen/AutogenApplication.java new file mode 100644 index 0000000..1d4fc00 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/AutogenApplication.java @@ -0,0 +1,13 @@ +package com.gae.piaz.autogen; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class AutogenApplication { + + public static void main(String[] args) { + SpringApplication.run(AutogenApplication.class, args); + } + +} diff --git a/src/main/java/com/gae/piaz/autogen/controller/BooksController.java b/src/main/java/com/gae/piaz/autogen/controller/BooksController.java new file mode 100644 index 0000000..755f5aa --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/controller/BooksController.java @@ -0,0 +1,47 @@ +package com.gae.piaz.autogen.controller; + +import com.gae.piaz.autogen.model.Books; +import com.gae.piaz.autogen.service.BooksService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/books/") +public class BooksController implements CrudController{ + + @Autowired + private BooksService booksService; + + @Override + public ResponseEntity create(@RequestBody Books entity) { + return ResponseEntity.ok(booksService.create(entity)); + } + + @Override + public ResponseEntity update(@RequestBody Books entity) { + return ResponseEntity.ok(booksService.update(entity)); + } + + @Override + public ResponseEntity> read( + @RequestBody Books entity, + @RequestParam("page") Integer page, + @RequestParam("size") Integer size) { + Pageable pageable = PageRequest.of(page,size); + return ResponseEntity.ok(booksService.read(entity,pageable)); + } + + @Override + public ResponseEntity readOne(@PathVariable("id") Integer primaryKey) { + return ResponseEntity.ok(booksService.readOne(primaryKey)); + } + + @Override + public void delete(Integer primaryKey) { + booksService.delete(primaryKey); + } +} diff --git a/src/main/java/com/gae/piaz/autogen/controller/BooksDTOController.java b/src/main/java/com/gae/piaz/autogen/controller/BooksDTOController.java new file mode 100644 index 0000000..f91e554 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/controller/BooksDTOController.java @@ -0,0 +1,59 @@ +package com.gae.piaz.autogen.controller; + +import com.gae.piaz.autogen.controller.dto.BooksDTO; +import com.gae.piaz.autogen.mapper.BooksMapper; +import com.gae.piaz.autogen.model.Books; +import com.gae.piaz.autogen.service.BooksService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/books-dto/") +public class BooksDTOController implements CrudController{ + + @Autowired + private BooksService booksService; + + @Autowired + private BooksMapper booksMapper; + + @Override + public ResponseEntity create(@RequestBody BooksDTO dto) { + Books entity = booksMapper.toEntity(dto); + entity = booksService.create(entity); + return ResponseEntity.ok(booksMapper.toDto(entity)); + } + + @Override + public ResponseEntity update(@RequestBody BooksDTO dto) { + Books entity = booksMapper.toEntity(dto); + entity = booksService.update(entity); + return ResponseEntity.ok(booksMapper.toDto(entity)); + } + + @Override + public ResponseEntity> read( + @RequestBody BooksDTO dto, + @RequestParam("page") Integer page, + @RequestParam("size") Integer size) { + Pageable pageable = PageRequest.of(page,size); + Books entity = booksMapper.toEntity(dto); + Page pages = booksService.read(entity, pageable).map(booksMapper::toDto); + return ResponseEntity.ok(pages); + } + + @Override + public ResponseEntity readOne(@PathVariable("id") Integer primaryKey) { + Books entity = booksService.readOne(primaryKey); + return ResponseEntity.ok(booksMapper.toDto(entity)); + } + + @Override + public void delete(Integer primaryKey) { + booksService.delete(primaryKey); + } +} diff --git a/src/main/java/com/gae/piaz/autogen/controller/CrudController.java b/src/main/java/com/gae/piaz/autogen/controller/CrudController.java new file mode 100644 index 0000000..00a81f1 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/controller/CrudController.java @@ -0,0 +1,26 @@ +package com.gae.piaz.autogen.controller; + +import org.springframework.data.domain.Page; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; + +public interface CrudController{ + + @PostMapping + ResponseEntity create(O object); + + @PutMapping + ResponseEntity update(O object); + + @PostMapping("find") + ResponseEntity> read(O object, Integer page, Integer size); + @GetMapping("{id}") + ResponseEntity readOne(P primaryKey); + + @DeleteMapping + void delete(P primaryKey); + +} diff --git a/src/main/java/com/gae/piaz/autogen/controller/dto/BooksDTO.java b/src/main/java/com/gae/piaz/autogen/controller/dto/BooksDTO.java new file mode 100644 index 0000000..96f53b3 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/controller/dto/BooksDTO.java @@ -0,0 +1,18 @@ +package com.gae.piaz.autogen.controller.dto; + +import lombok.Data; + +@Data +public class BooksDTO { + + private Integer bookId; + + private String title; + + private String author; + + private String isbn; + + private Integer year; + +} \ No newline at end of file diff --git a/src/main/java/com/gae/piaz/autogen/mapper/BooksMapper.java b/src/main/java/com/gae/piaz/autogen/mapper/BooksMapper.java new file mode 100644 index 0000000..177af27 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/mapper/BooksMapper.java @@ -0,0 +1,14 @@ +package com.gae.piaz.autogen.mapper; + +import com.gae.piaz.autogen.controller.dto.BooksDTO; +import com.gae.piaz.autogen.model.Books; +import org.mapstruct.Mapper; + +@Mapper(componentModel = "spring") +public interface BooksMapper { + + Books toEntity(BooksDTO dto); + + BooksDTO toDto(Books entity); + +} diff --git a/src/main/java/com/gae/piaz/autogen/model/Books.java b/src/main/java/com/gae/piaz/autogen/model/Books.java new file mode 100644 index 0000000..36a2e0b --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/model/Books.java @@ -0,0 +1,24 @@ +package com.gae.piaz.autogen.model; + +import javax.persistence.*; +import lombok.Data; + +@Data +@Entity(name = "com.gae.piaz.autogen.entities.Books") +@Table(name = "books") +public class Books { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "\"book_id\"", nullable = false) + private Integer bookId; + @Column(name = "\"title\"", nullable = false) + private String title; + @Column(name = "\"author\"", nullable = false) + private String author; + @Column(name = "\"isbn\"", nullable = false) + private String isbn; + @Column(name = "\"year\"", nullable = false) + private Integer year; + +} \ No newline at end of file diff --git a/src/main/java/com/gae/piaz/autogen/model/Carts.java b/src/main/java/com/gae/piaz/autogen/model/Carts.java new file mode 100644 index 0000000..28d58fe --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/model/Carts.java @@ -0,0 +1,27 @@ +package com.gae.piaz.autogen.model; + +import javax.persistence.*; +import lombok.Data; + +import java.io.Serializable; + +@Data +@Entity(name = "com.gae.piaz.autogen.entities.Carts") +@Table(name = "carts") +@IdClass(Carts.PrimaryKeys.class) +public class Carts { + @Data + public static class PrimaryKeys implements Serializable { + private Integer userId; + private Integer bookId; + } + + @Id + @Column(name = "\"user_id\"", nullable = false) + private Integer userId; + @Id + @Column(name = "\"book_id\"", nullable = false) + private Integer bookId; + @Column(name = "\"quantity\"", nullable = false) + private Integer quantity; +} \ No newline at end of file diff --git a/src/main/java/com/gae/piaz/autogen/model/Orders.java b/src/main/java/com/gae/piaz/autogen/model/Orders.java new file mode 100644 index 0000000..4a8970a --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/model/Orders.java @@ -0,0 +1,21 @@ +package com.gae.piaz.autogen.model; + +import javax.persistence.*; +import lombok.Data; + +@Data +@Entity(name = "com.gae.piaz.autogen.entities.Orders") +@Table(name = "orders") +public class Orders { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "\"order_id\"", nullable = false) + private Integer orderId; + @Column(name = "\"user_id\"", nullable = false) + private Integer userId; + @Column(name = "\"book_id\"", nullable = false) + private Integer bookId; + @Column(name = "\"quantity\"", nullable = false) + private Integer quantity; +} \ No newline at end of file diff --git a/src/main/java/com/gae/piaz/autogen/model/Personphone.java b/src/main/java/com/gae/piaz/autogen/model/Personphone.java new file mode 100644 index 0000000..295f8c3 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/model/Personphone.java @@ -0,0 +1,21 @@ +package com.gae.piaz.autogen.model; + +import java.sql.*; +import javax.persistence.*; +import lombok.Data; + +@Data +@Entity(name = "com.gae.piaz.autogen.entities.Personphone") +@Table(name = "personphone") +public class Personphone { + + @Column(name = "\"businessentityid\"", nullable = false) + private Integer businessentityid; + @Id + @Column(name = "\"phonenumber\"", nullable = false) + private Integer phonenumber; + @Column(name = "\"phonenumbertypeid\"", nullable = false) + private Integer phonenumbertypeid; + @Column(name = "\"modifieddate\"", nullable = false) + private Timestamp modifieddate; +} \ No newline at end of file diff --git a/src/main/java/com/gae/piaz/autogen/model/Users.java b/src/main/java/com/gae/piaz/autogen/model/Users.java new file mode 100644 index 0000000..c631265 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/model/Users.java @@ -0,0 +1,19 @@ +package com.gae.piaz.autogen.model; + +import javax.persistence.*; +import lombok.Data; + +@Data +@Entity(name = "com.gae.piaz.autogen.entities.Users") +@Table(name = "users") +public class Users { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "\"user_id\"", nullable = false) + private Integer userId; + @Column(name = "\"first_name\"", nullable = false) + private String firstName; + @Column(name = "\"last_name\"", nullable = false) + private String lastName; +} \ No newline at end of file diff --git a/src/main/java/com/gae/piaz/autogen/repository/BooksRepository.java b/src/main/java/com/gae/piaz/autogen/repository/BooksRepository.java new file mode 100644 index 0000000..c9dc557 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/repository/BooksRepository.java @@ -0,0 +1,10 @@ +package com.gae.piaz.autogen.repository; + +import com.gae.piaz.autogen.model.Books; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface BooksRepository extends JpaRepository { + +} diff --git a/src/main/java/com/gae/piaz/autogen/service/BooksService.java b/src/main/java/com/gae/piaz/autogen/service/BooksService.java new file mode 100644 index 0000000..1c0e7f6 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/service/BooksService.java @@ -0,0 +1,42 @@ +package com.gae.piaz.autogen.service; + +import com.gae.piaz.autogen.model.Books; +import com.gae.piaz.autogen.repository.BooksRepository; +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; + +@Service +public class BooksService implements CrudService { + + @Autowired + private BooksRepository repository; + + @Override + public Books create(Books entity) { + return repository.save(entity); + } + + @Override + public Books update(Books entity) { + return repository.save(entity); + } + + @Override + public Page read(Books entity, Pageable pageable) { + Example booksExample = Example.of(entity); + return repository.findAll(booksExample,pageable); + } + + @Override + public Books readOne(Integer primaryKey) { + return repository.getOne(primaryKey); + } + + @Override + public void delete(Integer primaryKey) { + repository.deleteById(primaryKey); + } +} diff --git a/src/main/java/com/gae/piaz/autogen/service/CrudService.java b/src/main/java/com/gae/piaz/autogen/service/CrudService.java new file mode 100644 index 0000000..6cff474 --- /dev/null +++ b/src/main/java/com/gae/piaz/autogen/service/CrudService.java @@ -0,0 +1,17 @@ +package com.gae.piaz.autogen.service; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; + +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); + +} diff --git a/src/main/java/gae/piaz/spring3layergen/Main.java b/src/main/java/gae/piaz/spring3layergen/Main.java new file mode 100644 index 0000000..a791208 --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/Main.java @@ -0,0 +1,16 @@ +package gae.piaz.spring3layergen; + +import gae.piaz.spring3layergen.config.CodeGeneratorConfig; + +import java.io.IOException; + +public class Main { + + public static void main(String[] args) throws IOException { + + CodeGeneratorConfig config = CodeGeneratorConfig.load(args[0]); + System.out.println(config); + + } + +} diff --git a/src/main/java/gae/piaz/spring3layergen/ResourceReader.java b/src/main/java/gae/piaz/spring3layergen/ResourceReader.java new file mode 100644 index 0000000..8878c31 --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/ResourceReader.java @@ -0,0 +1,25 @@ +package gae.piaz.spring3layergen; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * Utility to reader classpath resources. + */ +public class ResourceReader { + + private ResourceReader() { + } + + public static InputStream getResourceAsStream(String path) throws IOException { + InputStream classPathResource = ResourceReader.class.getClassLoader().getResourceAsStream(path); + if (classPathResource != null) { + return classPathResource; + } + InputStream fileResource = new FileInputStream(new File(path)); + return fileResource; + } + +} diff --git a/src/main/java/gae/piaz/spring3layergen/YMLSettings.java b/src/main/java/gae/piaz/spring3layergen/YMLSettings.java new file mode 100644 index 0000000..2d2415f --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/YMLSettings.java @@ -0,0 +1,4 @@ +package gae.piaz.spring3layergen; + +public class YMLSettings { +} diff --git a/src/main/java/gae/piaz/spring3layergen/config/CodeGeneratorConfig.java b/src/main/java/gae/piaz/spring3layergen/config/CodeGeneratorConfig.java new file mode 100644 index 0000000..186928e --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/config/CodeGeneratorConfig.java @@ -0,0 +1,45 @@ +package gae.piaz.spring3layergen.config; + +import gae.piaz.spring3layergen.ResourceReader; +import lombok.Data; +import org.yaml.snakeyaml.Yaml; + +import java.io.*; + +/** + * projectPath: /home/tano/workspace_autogenerate/autogen + * outputDirectory: /src/main/java + * + * options: + * dtoLayer : true + * + * inputPackages: + * jpaEntities : com.gae.piaz.autogen.model + * + * outputPackages: + * repositories : com.gae.piaz.autogen.repository + * services: com.gae.piaz.autogen.service + * controllers: com.gae.piaz.autogen.controller + * + */ +@Data +public class CodeGeneratorConfig implements Serializable { + + private String projectPath; + private String outputDirectory; + private Options options; + private InputPackages inputPackages; + private OutputPackages outputPackages; + + private static final Yaml YAML = new Yaml(); + + public static CodeGeneratorConfig load(String path) throws IOException { + try (InputStream is = ResourceReader.getResourceAsStream(path)) { + try (Reader reader = new InputStreamReader(is)) { + return YAML.loadAs(reader, CodeGeneratorConfig.class); + } + } + } + + +} diff --git a/src/main/java/gae/piaz/spring3layergen/config/InputPackages.java b/src/main/java/gae/piaz/spring3layergen/config/InputPackages.java new file mode 100644 index 0000000..d892d81 --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/config/InputPackages.java @@ -0,0 +1,8 @@ +package gae.piaz.spring3layergen.config; + +import lombok.Data; + +@Data +public class InputPackages { + private String jpaEntities; +} diff --git a/src/main/java/gae/piaz/spring3layergen/config/Options.java b/src/main/java/gae/piaz/spring3layergen/config/Options.java new file mode 100644 index 0000000..9450875 --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/config/Options.java @@ -0,0 +1,8 @@ +package gae.piaz.spring3layergen.config; + +import lombok.Data; + +@Data +public class Options { + private Boolean dtoLayer; +} diff --git a/src/main/java/gae/piaz/spring3layergen/config/OutputPackages.java b/src/main/java/gae/piaz/spring3layergen/config/OutputPackages.java new file mode 100644 index 0000000..d687c64 --- /dev/null +++ b/src/main/java/gae/piaz/spring3layergen/config/OutputPackages.java @@ -0,0 +1,10 @@ +package gae.piaz.spring3layergen.config; + +import lombok.Data; + +@Data +public class OutputPackages { + private String repositories; + private String services; + private String controllers; +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/src/main/resources/entityGenConfig.yml b/src/main/resources/entityGenConfig.yml new file mode 100644 index 0000000..cfdf587 --- /dev/null +++ b/src/main/resources/entityGenConfig.yml @@ -0,0 +1,7 @@ +jdbcSettings: + url: "jdbc:postgresql://localhost:5432/postgres" + username: "postgres" + password: "postgres" + driverClassName: "org.postgresql.Driver" + +packageName: "com.gae.piaz.autogen.model" \ No newline at end of file diff --git a/src/main/resources/settings.yml b/src/main/resources/settings.yml new file mode 100644 index 0000000..ab46a3f --- /dev/null +++ b/src/main/resources/settings.yml @@ -0,0 +1,16 @@ +projectPath: /home/tano/workspace_autogenerate/autogen +outputDirectory : /src/main/java +options: + dtoLayer : true + +inputPackages: + jpaEntities : com.gae.piaz.autogen.model + +outputPackages: + repositories : com.gae.piaz.autogen.repository + services: com.gae.piaz.autogen.service + controllers: com.gae.piaz.autogen.controller + + + + diff --git a/src/test/java/com/gae/piaz/autogen/AutogenApplicationTests.java b/src/test/java/com/gae/piaz/autogen/AutogenApplicationTests.java new file mode 100644 index 0000000..b2839e7 --- /dev/null +++ b/src/test/java/com/gae/piaz/autogen/AutogenApplicationTests.java @@ -0,0 +1,13 @@ +package com.gae.piaz.autogen; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class AutogenApplicationTests { + + @Test + void contextLoads() { + } + +}