From 3a05fc70f6174a1401893dd2cfc797f6b75aa942 Mon Sep 17 00:00:00 2001 From: Cody Dumortier <Cody.dumortier.etu@univ-lille.fr> Date: Thu, 4 Feb 2021 09:47:40 +0100 Subject: [PATCH] =?UTF-8?q?G=C3=A9rer=20les=20erreurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/fr/ulille/iut/tva/Main.java | 2 +- .../NiveauTvaInexistantException.java | 11 +++++++++ .../iut/tva/ressource/TvaRessource.java | 24 ++++++++++++++++++- 4 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 src/main/java/fr/ulille/iut/tva/ressource/NiveauTvaInexistantException.java diff --git a/pom.xml b/pom.xml index 6ac6648..5454bbc 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,5 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> diff --git a/src/main/java/fr/ulille/iut/tva/Main.java b/src/main/java/fr/ulille/iut/tva/Main.java index 62da555..7038335 100644 --- a/src/main/java/fr/ulille/iut/tva/Main.java +++ b/src/main/java/fr/ulille/iut/tva/Main.java @@ -16,7 +16,7 @@ import java.util.logging.Logger; */ public class Main { // Base URI the Grizzly HTTP server will listen on - public static final String BASE_URI = "http://localhost:8080/myapp/"; + public static final String BASE_URI = "http://localhost:8080/api/v1"; /** * Starts Grizzly HTTP server exposing JAX-RS resources defined in this application. diff --git a/src/main/java/fr/ulille/iut/tva/ressource/NiveauTvaInexistantException.java b/src/main/java/fr/ulille/iut/tva/ressource/NiveauTvaInexistantException.java new file mode 100644 index 0000000..3848204 --- /dev/null +++ b/src/main/java/fr/ulille/iut/tva/ressource/NiveauTvaInexistantException.java @@ -0,0 +1,11 @@ +package fr.ulille.iut.tva.ressource; + +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.Response; + +public class NiveauTvaInexistantException extends WebApplicationException { + private static final long serialVersionUID = 939875418210403804L; + + public NiveauTvaInexistantException() { + super(Response.status(Response.Status.NOT_ACCEPTABLE).entity("Niveau de TVA inexistant").build()); + } diff --git a/src/main/java/fr/ulille/iut/tva/ressource/TvaRessource.java b/src/main/java/fr/ulille/iut/tva/ressource/TvaRessource.java index 4c63ca6..8321c1c 100644 --- a/src/main/java/fr/ulille/iut/tva/ressource/TvaRessource.java +++ b/src/main/java/fr/ulille/iut/tva/ressource/TvaRessource.java @@ -6,7 +6,29 @@ import fr.ulille.iut.tva.service.TauxTva; /** * TvaRessource */ +@Path("tva") public class TvaRessource { private CalculTva calculTva = new CalculTva(); - + + @GET + @PATH("valeur/{niveauTVA}") + public double getValeurTauxParDefaut(@PathParam("niveauTVA") String niveau) { + try { + return TauxTva.valueOf((niveau.toUpperCase())).taux; + } + catch(Exception e) { + throw new NiveauTvaInexistantException(); + } + } + + @GET + @PATH("reduit?{somme}") + public double getMontantTotal(@PathParam("somme") double somme) { + try { + return TauxTva.REDUIT.taux * somme; + } + catch (Exception e){ + throw new NiveauTvaInexistantException(); + } + } } -- GitLab