Bonjour,
J'ai quelques questions sur le tp11 et notamment sur la gestion du panier.
1) OrderServiceBean
Dans la méthode CreateOrder, comment parcourir la map shoppingCart comme elle n'implémente pas une hashmap par exemple? as-ton le droit de la passer en hashmap<string,int>?
2) Shoppingcartbean et shoppingcartdelegate
Quelle différence entre les 2? Dans le sujet, il est indiqué que la méthode getitems renvoie une liste de ShoppingCartDTO, ce serait pas plutot une liste de ShoppingCartItemDTO? Cette méthode doit récupérer le nom de l'article, sa description et prix depuis la base de données?
Merci
[TP11] Plusieurs questions
Modérateurs : graffiop, jmdouin, agoncal, mlebihan
Re: [TP11] Plusieurs questions
Salut Payneauj,
Pour répondre à tes questions:
1) Une Map peut se déclarer comme ceci: Une Map n'implémente peut-être pas une HashMap, mais l'inverse est possible. Dans la JavaDoc (https://docs.oracle.com/javase/7/docs/a ... shMap.html), on peut trouver:
Tu peux parcourir la Map exactement comme une HashMap, c'est la même chose. Par itération (Iterator, boucle for, ...).
2) "ShoppingCartBean" et "ShoppingCartDelegate", la différence entre les deux est:
- "ShoppingCartDelegate": C'est la classe par laquelle tu accéderas aux méthodes de "ShoppingCartBean" (getCart(), getItems(), etc ...).
- "ShoppingCartBean": Ben c'est la classe dans laquelle tu devras développer ce que fait chaque méthodes (getCart(), getItems(), addItem(String itemId), removeItem(String itemId), updateItemQuantity(String itemId, int newQty), getTotal(), empty()), elle implémente "ShoppingCart".
C'est bien une liste de "ShoppingCartItemDTO" qui est retournée par getItems(). Cette méthode doit:
- Récupérer chaque item par l'id stocké dans la "shopping cart" (Map).
- Créer un "ShoppingCartItemDTO" en passant en paramètre les infos (id, name, product, quantity, cost) réccupérées à partir de l'item récupéré précédemment.
- Renvoyer la liste des "ShoppingCartItemDTO".
Voilà, bon courage.
Cordialement,
Pour répondre à tes questions:
1) Une Map peut se déclarer comme ceci:
Code : Tout sélectionner
Map<String, Integer> cart = new HashMap<String, Integer>();
Code : Tout sélectionner
public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable
2) "ShoppingCartBean" et "ShoppingCartDelegate", la différence entre les deux est:
- "ShoppingCartDelegate": C'est la classe par laquelle tu accéderas aux méthodes de "ShoppingCartBean" (getCart(), getItems(), etc ...).
- "ShoppingCartBean": Ben c'est la classe dans laquelle tu devras développer ce que fait chaque méthodes (getCart(), getItems(), addItem(String itemId), removeItem(String itemId), updateItemQuantity(String itemId, int newQty), getTotal(), empty()), elle implémente "ShoppingCart".
C'est bien une liste de "ShoppingCartItemDTO" qui est retournée par getItems(). Cette méthode doit:
- Récupérer chaque item par l'id stocké dans la "shopping cart" (Map).
- Créer un "ShoppingCartItemDTO" en passant en paramètre les infos (id, name, product, quantity, cost) réccupérées à partir de l'item récupéré précédemment.
- Renvoyer la liste des "ShoppingCartItemDTO".
Voilà, bon courage.
Cordialement,