CheckException dans ShoppingCartController
Modérateurs : graffiop, jmdouin, agoncal, mlebihan
CheckException dans ShoppingCartController
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
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
Re: CheckException dans ShoppingCartController
Pour pouvoir t'aider Peux tu poster la trace d'erreur stp...
Re: CheckException dans ShoppingCartController
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
throw new CheckException("There are no order lines"); donc il faut gérer cette exception
Re: CheckException dans ShoppingCartController
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
(...)
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
Re: CheckException dans ShoppingCartController
Merci à tous
Re: CheckException dans ShoppingCartController
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
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
Re: CheckException dans ShoppingCartController
Bravo ! :-)