From 2d2a9e890963dc4be33f5445c5d0188b4e94703d Mon Sep 17 00:00:00 2001 From: tszyszkowski Date: Fri, 18 Feb 2022 16:02:45 +0100 Subject: [PATCH] init --- .gitignore | 33 +++++++++ pom.xml | 72 +++++++++++++++++++ .../ServiceExternalServerApplication.java | 13 ++++ .../controller/FormSavedController.java | 21 ++++++ .../controller/NotesController.java | 21 ++++++ .../controller/PhotosController.java | 21 ++++++ .../controller/RecipienceController.java | 21 ++++++ .../controller/ServicemanController.java | 21 ++++++ .../controller/StatusController.java | 21 ++++++ .../controller/WarehouseController.java | 21 ++++++ .../controller/WorktimeController.java | 20 ++++++ .../kafka/FormSavedProducer.java | 30 ++++++++ .../kafka/NotesProducer.java | 30 ++++++++ .../kafka/PhotosProducer.java | 30 ++++++++ .../kafka/RecipienceProducer.java | 30 ++++++++ .../kafka/ServicemanProducer.java | 30 ++++++++ .../kafka/StatusProducer.java | 30 ++++++++ .../kafka/WarehouseProducer.java | 30 ++++++++ .../kafka/WorktimeProducer.java | 31 ++++++++ src/main/resources/application.properties | 1 + ...ServiceExternalServerApplicationTests.java | 13 ++++ 21 files changed, 540 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplication.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/FormSavedController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/NotesController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/PhotosController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/RecipienceController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/ServicemanController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/StatusController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WarehouseController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WorktimeController.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/FormSavedProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/NotesProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/PhotosProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/RecipienceProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/ServicemanProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/StatusProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WarehouseProducer.java create mode 100644 src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WorktimeProducer.java create mode 100644 src/main/resources/application.properties create mode 100644 src/test/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplicationTests.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..39b28cc --- /dev/null +++ b/pom.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.3 + + + pl.adaptiveapps + service-external-server + 0.0.1-SNAPSHOT + service-external-server + External Server For Service App + + 11 + + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.kafka + spring-kafka + + + pl.adaptiveapps + service-kafka-model + 0.0.1-SNAPSHOT + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.security + spring-security-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplication.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplication.java new file mode 100644 index 0000000..f915154 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplication.java @@ -0,0 +1,13 @@ +package pl.adaptiveapps.serviceexternalserver; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ServiceExternalServerApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceExternalServerApplication.class, args); + } + +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/FormSavedController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/FormSavedController.java new file mode 100644 index 0000000..9185d72 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/FormSavedController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.FormSavedMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.FormSavedProducer; + +@RequiredArgsConstructor +@RestController("/form") +public class FormSavedController { + + private final FormSavedProducer formSavedProducer; + + @PostMapping("/") + public void postForm(@RequestBody FormSavedMsg formSavedMsg){ + formSavedProducer.sendMessage(formSavedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/NotesController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/NotesController.java new file mode 100644 index 0000000..7489dcc --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/NotesController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.NoteSavedMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.NotesProducer; + +@RequiredArgsConstructor +@RestController("/note") +public class NotesController { + + private final NotesProducer notesProducer; + + @PostMapping("/") + public void postNote(@RequestBody NoteSavedMsg noteSavedMsg){ + notesProducer.sendMessage(noteSavedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/PhotosController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/PhotosController.java new file mode 100644 index 0000000..d12f895 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/PhotosController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.PhotoSavedMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.PhotosProducer; + +@RequiredArgsConstructor +@RestController("/photo") +public class PhotosController { + + private final PhotosProducer photosProducer; + + @PostMapping("/") + public void postPhoto(@RequestBody PhotoSavedMsg photoSavedMsg){ + photosProducer.sendMessage(photoSavedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/RecipienceController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/RecipienceController.java new file mode 100644 index 0000000..6c5d126 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/RecipienceController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.RecipienceLogSavedMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.RecipienceProducer; + +@RequiredArgsConstructor +@RestController("/recipience") +public class RecipienceController { + + private final RecipienceProducer recipienceProducer; + + @PostMapping("/") + public void postRecipience(@RequestBody RecipienceLogSavedMsg recipienceLogSavedMsg){ + recipienceProducer.sendMessage(recipienceLogSavedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/ServicemanController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/ServicemanController.java new file mode 100644 index 0000000..637251e --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/ServicemanController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.ServicemanChangedMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.ServicemanProducer; + +@RequiredArgsConstructor +@RestController("/serviceman") +public class ServicemanController { + + private final ServicemanProducer servicemanProducer; + + @PostMapping("/") + public void postServiceman(@RequestBody ServicemanChangedMsg servicemanChangedMsg){ + servicemanProducer.sendMessage(servicemanChangedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/StatusController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/StatusController.java new file mode 100644 index 0000000..6ac6488 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/StatusController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.StatusChangedMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.StatusProducer; + +@RequiredArgsConstructor +@RestController("/status") +public class StatusController { + + private final StatusProducer statusProducer; + + @PostMapping("/") + public void postStatus(@RequestBody StatusChangedMsg statusChangedMsg){ + statusProducer.sendMessage(statusChangedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WarehouseController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WarehouseController.java new file mode 100644 index 0000000..243468b --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WarehouseController.java @@ -0,0 +1,21 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.WarehouseItemReleaseMsg; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.WarehouseProducer; + +@RequiredArgsConstructor +@RestController("/warehouse") +public class WarehouseController { + + private final WarehouseProducer warehouseProducer; + + @PostMapping("/") + public void postWarehouse(@RequestBody WarehouseItemReleaseMsg warehouseItemReleaseMsg){ + warehouseProducer.sendMessage(warehouseItemReleaseMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WorktimeController.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WorktimeController.java new file mode 100644 index 0000000..abde1f3 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/controller/WorktimeController.java @@ -0,0 +1,20 @@ +package pl.adaptiveapps.serviceexternalserver.controller; + +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; +import pl.adaptiveapps.serviceexternalserver.kafka.WorktimeProducer; + +@RequiredArgsConstructor +@RestController("/worktime") +public class WorktimeController { + + private final WorktimeProducer worktimeProducer; + + @PostMapping("/") + public void postWorktime(@RequestBody WorktimeSavedMsg worktimeSavedMsg){ + worktimeProducer.sendMessage(worktimeSavedMsg); + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/FormSavedProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/FormSavedProducer.java new file mode 100644 index 0000000..f575459 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/FormSavedProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.FormSavedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class FormSavedProducer { + private static final Logger logger = LoggerFactory.getLogger(FormSavedProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(FormSavedMsg formSavedMsg) { + try { + String message = new Gson().toJson(formSavedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.FORM_SAVED, message).get(); + logger.info(String.format("#### -> formSavedMsg message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/NotesProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/NotesProducer.java new file mode 100644 index 0000000..bc50b54 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/NotesProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.NoteSavedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class NotesProducer { + private static final Logger logger = LoggerFactory.getLogger(NotesProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(NoteSavedMsg noteSavedMsg) { + try { + String message = new Gson().toJson(noteSavedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.NOTE_SAVED, message).get(); + logger.info(String.format("#### -> noteSavedMsg message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/PhotosProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/PhotosProducer.java new file mode 100644 index 0000000..252dcb7 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/PhotosProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.PhotoSavedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class PhotosProducer { + private static final Logger logger = LoggerFactory.getLogger(PhotosProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(PhotoSavedMsg photoSavedMsg) { + try { + String message = new Gson().toJson(photoSavedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.PHOTO_SAVED, message).get(); + logger.info(String.format("#### -> photoSavedMsg message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/RecipienceProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/RecipienceProducer.java new file mode 100644 index 0000000..9817805 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/RecipienceProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.RecipienceLogSavedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class RecipienceProducer { + private static final Logger logger = LoggerFactory.getLogger(RecipienceProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(RecipienceLogSavedMsg recipienceLogSavedMsg) { + try { + String message = new Gson().toJson(recipienceLogSavedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.RECIPIENCE, message).get(); + logger.info(String.format("#### -> recipience message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/ServicemanProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/ServicemanProducer.java new file mode 100644 index 0000000..a7f16b8 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/ServicemanProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.ServicemanChangedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class ServicemanProducer { + private static final Logger logger = LoggerFactory.getLogger(ServicemanProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(ServicemanChangedMsg servicemanChangedMsg) { + try { + String message = new Gson().toJson(servicemanChangedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.SERVICEMAN_CHANGE, message).get(); + logger.info(String.format("#### -> serviceman message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/StatusProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/StatusProducer.java new file mode 100644 index 0000000..9678cca --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/StatusProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.StatusChangedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class StatusProducer { + private static final Logger logger = LoggerFactory.getLogger(StatusProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(StatusChangedMsg statusChangedMsg) { + try { + String message = new Gson().toJson(statusChangedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.STATUS_CHANGE, message).get(); + logger.info(String.format("#### -> status message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WarehouseProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WarehouseProducer.java new file mode 100644 index 0000000..458fa08 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WarehouseProducer.java @@ -0,0 +1,30 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.WarehouseItemReleaseMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class WarehouseProducer { + private static final Logger logger = LoggerFactory.getLogger(WarehouseProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(WarehouseItemReleaseMsg warehouseItemReleaseMsg) { + try { + String message = new Gson().toJson(warehouseItemReleaseMsg); + var res = this.kafkaTemplate.send(KafkaTopic.WAREHOUSE_RELEASE, message).get(); + logger.info(String.format("#### -> warehosue message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WorktimeProducer.java b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WorktimeProducer.java new file mode 100644 index 0000000..7b7f397 --- /dev/null +++ b/src/main/java/pl/adaptiveapps/serviceexternalserver/kafka/WorktimeProducer.java @@ -0,0 +1,31 @@ +package pl.adaptiveapps.serviceexternalserver.kafka; + +import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Service; +import pl.adaptiveapps.service.kafkamodel.common.KafkaTopic; +import pl.adaptiveapps.service.kafkamodel.msg.external.ExternalNoteCommand; +import pl.adaptiveapps.service.kafkamodel.msg.external.WorktimeSavedMsg; + +import java.util.concurrent.ExecutionException; + +@Service +@RequiredArgsConstructor +public class WorktimeProducer { + private static final Logger logger = LoggerFactory.getLogger(WorktimeProducer.class); + + private final KafkaTemplate kafkaTemplate; + + public void sendMessage(WorktimeSavedMsg worktimeSavedMsg) { + try { + String message = new Gson().toJson(worktimeSavedMsg); + var res = this.kafkaTemplate.send(KafkaTopic.WORKTIME, message).get(); + logger.info(String.format("#### -> worktime message sent -> %s", res.getRecordMetadata().topic())); + } catch (InterruptedException | ExecutionException e) { + logger.error(e.getMessage(), e); + } + } +} 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/test/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplicationTests.java b/src/test/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplicationTests.java new file mode 100644 index 0000000..b573d73 --- /dev/null +++ b/src/test/java/pl/adaptiveapps/serviceexternalserver/ServiceExternalServerApplicationTests.java @@ -0,0 +1,13 @@ +package pl.adaptiveapps.serviceexternalserver; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ServiceExternalServerApplicationTests { + + @Test + void contextLoads() { + } + +}