CheckException dans ShoppingCartController

Modérateurs : graffiop, jmdouin, agoncal, mlebihan

kagans_a
Messages : 18
Inscription : 20 oct. 2019 23:42

CheckException dans ShoppingCartController

Message par kagans_a » 15 janv. 2020 14:34

Bonjour,

J'utilise la methode
public Long createOrder(String customerId, Map<String,Integer> shoppingCart) throws CreateException, CheckException { ... } de OrderServiceImpl pour créer une commande dans ShoppingCartCheckoutController.

Je récupère CustomerId par Authentification et ShoppingCart par le bean.
En testant sur le site, j'obtiens CheckException.

J'ai testé avec des valeurs en dur:
Map<String, Integer> myCart = new HashMap<String, Integer>();
myCart.put("EST10", 2);
Long orderId = orderService.createOrder("bill000", myCart);

L'exception est toujours lévé.
J'ai aucune erreur dans les tests et je ne sais plus par où regarder...

Est ce que quelqu'un pourrait aider?

En vous remerciant,

Asya

harrak_z
Messages : 66
Inscription : 19 oct. 2019 20:15

Re: CheckException dans ShoppingCartController

Message par harrak_z » 15 janv. 2020 18:53

Pour pouvoir t'aider Peux tu poster la trace d'erreur stp...

harrak_z
Messages : 66
Inscription : 19 oct. 2019 20:15

Re: CheckException dans ShoppingCartController

Message par harrak_z » 15 janv. 2020 18:59

Quand tu appelle la méthode createOrder(userId, shoppingCart) si ton panier est vide une exception : CheckException va être lancée (Voir laligne 129 de la classe OrderServiceImp :
throw new CheckException("There are no order lines"); donc il faut gérer cette exception

bruye_st
Messages : 11
Inscription : 27 nov. 2019 15:14

Re: CheckException dans ShoppingCartController

Message par bruye_st » 15 janv. 2020 19:05

Effectivement, il faut bien utiliser la classe Authentication, en conjonction avec la classe UserDetails, pour récupérer le username :
(...)
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
String username = userDetails.getUsername();
Long orderId=null;
try {
orderId = orderService.createOrder(username, ...
(...)
Pensez à vider le panier avec la génération de la commande.
Le panier doit être récupérer à partir du bean ShoppingCartService.

Bonne fin de TP,

Stéphane

kagans_a
Messages : 18
Inscription : 20 oct. 2019 23:42

Re: CheckException dans ShoppingCartController

Message par kagans_a » 15 janv. 2020 23:37

Merci à tous

kagans_a
Messages : 18
Inscription : 20 oct. 2019 23:42

Re: CheckException dans ShoppingCartController

Message par kagans_a » 16 janv. 2020 0:38

Bonjour,

L'erreur vient de la base de données fourni.

La carte de crédit de l'utilisateur bill000 expire le 02/14 du coup, il est rejetté et l'exeption se leve.

Bon courage à tous

harrak_z
Messages : 66
Inscription : 19 oct. 2019 20:15

Re: CheckException dans ShoppingCartController

Message par harrak_z » 16 janv. 2020 0:41

Bravo ! :-)

Répondre