From 66c366df02880d1d425a83e5ad1bca65963948ad Mon Sep 17 00:00:00 2001 From: serega6531 Date: Fri, 26 Apr 2019 03:26:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- build.gradle | 1 - .../controller/ServicesController.java | 37 +++++++++++++++++++ .../controller/StreamsController.java | 26 +++++++++++++ .../ru/serega6531/packmate/model/Service.java | 16 ++++++++ .../ru/serega6531/packmate/model/Stream.java | 25 +++++++++++++ .../repository/ServiceRepository.java | 7 ++++ .../packmate/repository/StreamRepository.java | 7 ++++ src/main/resources/application.yml | 5 ++- 9 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 src/main/java/ru/serega6531/packmate/controller/ServicesController.java create mode 100644 src/main/java/ru/serega6531/packmate/controller/StreamsController.java create mode 100644 src/main/java/ru/serega6531/packmate/model/Service.java create mode 100644 src/main/java/ru/serega6531/packmate/model/Stream.java create mode 100644 src/main/java/ru/serega6531/packmate/repository/ServiceRepository.java create mode 100644 src/main/java/ru/serega6531/packmate/repository/StreamRepository.java diff --git a/.gitignore b/.gitignore index 63177e3..46826b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ HELP.md .gradle /build/ -!gradle/wrapper/gradle-wrapper.jar +/gradle/ +/gradlew* ### STS ### .apt_generated diff --git a/build.gradle b/build.gradle index 153e94a..a228936 100644 --- a/build.gradle +++ b/build.gradle @@ -27,5 +27,4 @@ dependencies { runtimeOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.projectlombok:lombok' - testImplementation 'org.springframework.boot:spring-boot-starter-test' } diff --git a/src/main/java/ru/serega6531/packmate/controller/ServicesController.java b/src/main/java/ru/serega6531/packmate/controller/ServicesController.java new file mode 100644 index 0000000..36a92b3 --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/controller/ServicesController.java @@ -0,0 +1,37 @@ +package ru.serega6531.packmate.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import ru.serega6531.packmate.model.Service; +import ru.serega6531.packmate.repository.ServiceRepository; + +import java.util.List; + +@RestController +@RequestMapping("/api/service/manage") +public class ServicesController { + + private final ServiceRepository repository; + + @Autowired + public ServicesController(ServiceRepository repository) { + this.repository = repository; + } + + @GetMapping + public List getServices() { + return repository.findAll(); + } + + @DeleteMapping("/{port}") + public void deleteService(@PathVariable int port) { + repository.deleteById(port); + } + + @PostMapping + public List addService(@RequestBody Service service) { + repository.save(service); + return getServices(); + } + +} diff --git a/src/main/java/ru/serega6531/packmate/controller/StreamsController.java b/src/main/java/ru/serega6531/packmate/controller/StreamsController.java new file mode 100644 index 0000000..4ae3339 --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/controller/StreamsController.java @@ -0,0 +1,26 @@ +package ru.serega6531.packmate.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import ru.serega6531.packmate.model.Stream; + +import java.util.Collections; +import java.util.List; + +@RestController +@RequestMapping("/api/service/") +public class StreamsController { + + @GetMapping("/all") + public List getStreams() { + return Collections.emptyList(); + } + + @GetMapping("/{port}") + public List getStreams(@PathVariable int port) { + return Collections.emptyList(); + } + +} diff --git a/src/main/java/ru/serega6531/packmate/model/Service.java b/src/main/java/ru/serega6531/packmate/model/Service.java new file mode 100644 index 0000000..d76fb67 --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/model/Service.java @@ -0,0 +1,16 @@ +package ru.serega6531.packmate.model; + +import lombok.Data; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Data +@Entity +public class Service { + + @Id + private int port; + private String name; + +} diff --git a/src/main/java/ru/serega6531/packmate/model/Stream.java b/src/main/java/ru/serega6531/packmate/model/Stream.java new file mode 100644 index 0000000..c36b3f1 --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/model/Stream.java @@ -0,0 +1,25 @@ +package ru.serega6531.packmate.model; + +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +@GenericGenerator( + name = "stream_generator", + strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator", + parameters = { + @org.hibernate.annotations.Parameter(name = "sequence_name", value = "stream_seq"), + @org.hibernate.annotations.Parameter(name = "initial_value", value = "1"), + @org.hibernate.annotations.Parameter(name = "increment_size", value = "1") + } +) +public class Stream { + + @Id + @GeneratedValue(generator = "stream_generator") + private Long id; + +} diff --git a/src/main/java/ru/serega6531/packmate/repository/ServiceRepository.java b/src/main/java/ru/serega6531/packmate/repository/ServiceRepository.java new file mode 100644 index 0000000..0f064ee --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/repository/ServiceRepository.java @@ -0,0 +1,7 @@ +package ru.serega6531.packmate.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import ru.serega6531.packmate.model.Service; + +public interface ServiceRepository extends JpaRepository { +} diff --git a/src/main/java/ru/serega6531/packmate/repository/StreamRepository.java b/src/main/java/ru/serega6531/packmate/repository/StreamRepository.java new file mode 100644 index 0000000..91782d3 --- /dev/null +++ b/src/main/java/ru/serega6531/packmate/repository/StreamRepository.java @@ -0,0 +1,7 @@ +package ru.serega6531.packmate.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import ru.serega6531.packmate.model.Stream; + +public interface StreamRepository extends JpaRepository { +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d9b417d..11ba9c6 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,4 +3,7 @@ spring: url: "jdbc:postgresql://localhost/packmate" username: "packmate" password: "123456" - driver-class-name: org.postgresql.Driver \ No newline at end of file + driver-class-name: org.postgresql.Driver + jpa: + hibernate: + ddl-auto: update \ No newline at end of file