From 3195881b2a7d5eb81fd3fa955297e7e678bca88a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Fri, 21 Oct 2022 15:24:59 +0200 Subject: [PATCH] incidents are now fetched from a remote rest api --- .gitignore | 1 + pom.xml | 8 ++--- src/main/java/org/sebi/incident/Incident.java | 8 ++--- .../org/sebi/incident/IncidentResource.java | 12 +++++++- .../org/sebi/incident/IncidentService.java | 18 ++++++++++++ .../org/sebi/incident/IncidentStartup.java | 29 ------------------- src/main/resources/application.properties | 7 ++--- 7 files changed, 39 insertions(+), 44 deletions(-) create mode 100644 .gitignore create mode 100644 src/main/java/org/sebi/incident/IncidentService.java delete mode 100644 src/main/java/org/sebi/incident/IncidentStartup.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eb5a316 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target diff --git a/pom.xml b/pom.xml index 0a66db5..5eacb8f 100644 --- a/pom.xml +++ b/pom.xml @@ -46,19 +46,19 @@ io.quarkus - quarkus-jdbc-h2 + quarkus-resteasy-jsonb io.quarkus - quarkus-resteasy-jsonb + quarkus-smallrye-openapi io.quarkus - quarkus-hibernate-orm-panache + quarkus-rest-client-jackson io.quarkus - quarkus-smallrye-openapi + quarkus-rest-client io.quarkus diff --git a/src/main/java/org/sebi/incident/Incident.java b/src/main/java/org/sebi/incident/Incident.java index 1cde532..9d861dd 100644 --- a/src/main/java/org/sebi/incident/Incident.java +++ b/src/main/java/org/sebi/incident/Incident.java @@ -2,13 +2,9 @@ package org.sebi.incident; import java.util.Date; -import javax.persistence.Entity; - -import io.quarkus.hibernate.orm.panache.PanacheEntity; - -@Entity -public class Incident extends PanacheEntity { +public class Incident { + public int id; public String description; public Date date; public boolean status; diff --git a/src/main/java/org/sebi/incident/IncidentResource.java b/src/main/java/org/sebi/incident/IncidentResource.java index dc7b9a5..286f97c 100644 --- a/src/main/java/org/sebi/incident/IncidentResource.java +++ b/src/main/java/org/sebi/incident/IncidentResource.java @@ -4,12 +4,22 @@ import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; +import javax.inject.Inject; +import org.eclipse.microprofile.rest.client.inject.RestClient; +import org.eclipse.microprofile.config.inject.ConfigProperty; @Path("rest/incidents") public class IncidentResource { + @Inject + @RestClient + IncidentService incidentService; + + @ConfigProperty(name = "apikey") + String apiKey; + @GET public List getIncidents(){ - return Incident.listAll(); + return incidentService.getIncidents(apiKey); } } diff --git a/src/main/java/org/sebi/incident/IncidentService.java b/src/main/java/org/sebi/incident/IncidentService.java new file mode 100644 index 0000000..2bb4f5b --- /dev/null +++ b/src/main/java/org/sebi/incident/IncidentService.java @@ -0,0 +1,18 @@ +package org.sebi.incident; + +import org.eclipse.microprofile.rest.client.annotation.RegisterProvider; +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; +import org.jboss.resteasy.annotations.jaxrs.QueryParam; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; + +import java.util.List; + +@Path("/rest/incidents") +@RegisterRestClient(configKey = "incident-service") +public interface IncidentService { + + @GET + List getIncidents(@QueryParam("api_key") String apikey); +} diff --git a/src/main/java/org/sebi/incident/IncidentStartup.java b/src/main/java/org/sebi/incident/IncidentStartup.java deleted file mode 100644 index 01e3450..0000000 --- a/src/main/java/org/sebi/incident/IncidentStartup.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.sebi.incident; - -import java.util.Date; - -import javax.enterprise.context.ApplicationScoped; -import javax.enterprise.event.Observes; -import javax.transaction.Transactional; - -import io.quarkus.runtime.StartupEvent; - -@ApplicationScoped -public class IncidentStartup { - - @Transactional - void onStart(@Observes StartupEvent ev) { - Incident incident = new Incident(); - incident.date = new Date(); - incident.description = "coupure fibre"; - incident.status = false; - incident.persist(); - - Incident incident1 = new Incident(); - incident1.date = new Date(); - incident1.description = "Panne émetteur"; - incident1.status = true; - incident1.persist(); - } - -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2799950..ceeaf31 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,3 @@ -quarkus.datasource.jdbc.url=jdbc:h2:mem:myDB -quarkus.datasource.jdbc.min-size=3 -quarkus.datasource.jdbc.max-size=13 -quarkus.hibernate-orm.database.generation=update +%dev.quarkus.rest-client.incident-service.url=http://localhost:8081 +quarkus.rest-client.incident-service.scope=javax.inject.Singleton +%dev.apikey=mysecret