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