Skip to content
Snippets Groups Projects
Commit 4f0bc32f authored by Simon Prevost's avatar Simon Prevost
Browse files

tp_ez

parent 6001e98c
No related branches found
No related tags found
No related merge requests found
......@@ -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.
......@@ -58,7 +58,7 @@ public class Main {
public static void main(String[] args) throws IOException {
final HttpServer server = startServer();
System.out.println(String.format("Jersey app started with WADL available at "
+ "%sapplication.wadl\nHit enter to stop it...", BASE_URI));
+ "%s\nHit enter to stop it...", BASE_URI));
System.in.read();
server.shutdownNow();
}
......
package fr.ulille.iut.tva.dto;
import fr.ulille.iut.tva.service.CalculTva;
import fr.ulille.iut.tva.service.TauxTva;
public class InfoDetails {
private String tauxLabel;
private double tauxValue;
private double montantTotal;
private double montantTva;
private double somme;
private CalculTva calculTva = new CalculTva();
public InfoDetails() {}
public InfoDetails(String label, double somme) {
this.tauxLabel = label.toUpperCase();
this.tauxValue = TauxTva.valueOf(label.toUpperCase()).taux;
this.somme = somme;
this.montantTotal = calculTva.calculerMontant(TauxTva.valueOf(label.toUpperCase()),somme);;
this.montantTva = this.montantTotal-somme;
}
public String getTauxLabel() {
return tauxLabel;
}
public void setTauxLabel(String tauxLabel) {
this.tauxLabel = tauxLabel;
}
public double getTauxValue() {
return tauxValue;
}
public void setTauxValue(double tauxValue) {
this.tauxValue = tauxValue;
}
public double getMontantTotal() {
return montantTotal;
}
public void setMontantTotal(double montantTotal) {
this.montantTotal = montantTotal;
}
public double getMontantTva() {
return montantTva;
}
public void setMontantTva(double montantTva) {
this.montantTva = montantTva;
}
public double getSomme() {
return somme;
}
public void setSomme(double somme) {
this.somme = somme;
}
public CalculTva getCalculTva() {
return calculTva;
}
public void setCalculTva(CalculTva calculTva) {
this.calculTva = calculTva;
}
}
package fr.ulille.iut.tva.dto;
import jakarta.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class InfoTauxDto {
private String label;
private double taux;
public InfoTauxDto() {}
public InfoTauxDto(String label, double taux) {
this.label = label;
this.taux = taux;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public double getTaux() {
return taux;
}
public void setTaux(double taux) {
this.taux = taux;
}
}
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\n").build());
}
}
\ No newline at end of file
package fr.ulille.iut.tva.ressource;
import java.util.ArrayList;
import java.util.List;
import fr.ulille.iut.tva.dto.InfoDetails;
import fr.ulille.iut.tva.dto.InfoTauxDto;
import fr.ulille.iut.tva.service.CalculTva;
import fr.ulille.iut.tva.service.TauxTva;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
/**
* TvaRessource
*/
@Path("tva")
public class TvaRessource {
private CalculTva calculTva = new CalculTva();
@GET
@Path("tauxpardefaut")
public double getValeurTauxParDefaut() {
return TauxTva.NORMAL.taux;
}
@GET
@Path("valeur/{niveauTva}")
public double getValeurTaux(@PathParam("niveauTva") String niveau) {
try {
return TauxTva.valueOf(niveau.toUpperCase()).taux;
}catch( Exception ex) {
throw new NiveauTvaInexistantException();
}
}
@GET
@Path("reduit/{somme}")
public double getMontantTotal(@PathParam("somme") Double s) {
try {
return calculTva.calculerMontant(TauxTva.valueOf("REDUIT"),s);
} catch(Exception ex) {
throw new NiveauTvaInexistantException();
}
}
@GET
@Path("lestaux")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public List<InfoTauxDto> getInfoTaux() {
ArrayList<InfoTauxDto> result = new ArrayList<InfoTauxDto>();
for ( TauxTva t : TauxTva.values() ) {
result.add(new InfoTauxDto(t.name(), t.taux));
}
return result;
}
@GET
@Path("details/{taux}/{somme}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public InfoDetails getDetail(@PathParam("taux") String niveau,@PathParam("somme") Double s){
try {
return new InfoDetails(niveau, s);
} catch(Exception ex) {
throw new NiveauTvaInexistantException();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment