svnno****@sourc*****
svnno****@sourc*****
2007年 8月 24日 (金) 17:15:29 JST
Revision: 475 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=475 Author: shinsuke Date: 2007-08-24 17:15:29 +0900 (Fri, 24 Aug 2007) Log Message: ----------- updated cart handling. Modified Paths: -------------- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/dxo/ProductDxo.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListAction.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListPage.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/CheckoutEditService.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/impl/CheckoutEditServiceImpl.java pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductDetailsAction.java pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/cart/productList.html Added Paths: ----------- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/entity/Cart.java Removed Paths: ------------- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/Cart.java -------------- next part -------------- Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/dxo/ProductDxo.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/dxo/ProductDxo.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/dxo/ProductDxo.java 2007-08-24 08:15:29 UTC (rev 475) @@ -12,32 +12,39 @@ public interface ProductDxo { - ProductsDescription convert(ProductEditPage productEditPage); + ProductsDescription convert(ProductEditPage productEditPage); - Products convertProducts(ProductEditPage productEditPage); + Products convertProducts(ProductEditPage productEditPage); - @ConversionRule("productsId : productsId" + - ",productsModel : productsModel" + - ",productsImage : productsImage" + - ",productsPrice : productsPrice" + - ",productsStatus : productsStatus" + - ",manufacturersName : manufacturers.manufacturersName" + - ",productsDateAdded : productsDateAdded" + - ",descriptionList : productsDescriptionList") - void convert(List<Products> list, List<Map> list2); + @ConversionRule("productsId : productsId" + + ",productsModel : productsModel" + + ",productsImage : productsImage" + + ",productsPrice : productsPrice" + + ",productsStatus : productsStatus" + + ",manufacturersName : manufacturers.manufacturersName" + + ",productsDateAdded : productsDateAdded" + + ",descriptionList : productsDescriptionList") + void convert(List<Products> list, List<Map> list2); - @ConversionRule("productsId : productsId" + - ",productsModel : products.productsModel" + - ",productsImage : products.productsImage" + - ",productsPrice : products.productsPrice" + - ",productsStatus : products.productsStatus" + - ",manufacturersId : products.manufacturersId" + - ",productsName : productsName") - void convert(ProductsDescription description, ProductEditPage productEditPage); + @ConversionRule("productsId : productsId" + + ",productsModel : products.productsModel" + + ",productsImage : products.productsImage" + + ",productsPrice : products.productsPrice" + + ",productsStatus : products.productsStatus" + + ",manufacturersId : products.manufacturersId" + + ",productsName : productsName") + void convert(ProductsDescription description, + ProductEditPage productEditPage); - void convertPageToDescription(ProductEditPage productEditPage, ProductsDescription description); - void convertPageToProducts(ProductEditPage productEditPage, Products products); + void convertPageToDescription(ProductEditPage productEditPage, + ProductsDescription description); - void convert(ProductsDescription description, ProductDetailsPage productDetailsPage); + void convertPageToProducts(ProductEditPage productEditPage, + Products products); + void convert(ProductsDescription description, + ProductDetailsPage productDetailsPage); + + void convert(ProductsDescription description, Map<String, Object> map); + } Added: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/entity/Cart.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/entity/Cart.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/entity/Cart.java 2007-08-24 08:15:29 UTC (rev 475) @@ -0,0 +1,46 @@ +package jp.sf.pal.pompei.entity; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +import jp.sf.pal.pompei.exentity.ProductsDescription; + +/** + * カート情報を表すクラスです。 + * @author takeharu + * + */ +public class Cart implements Serializable { + + /** + * シリアルバージョンID + */ + private static final long serialVersionUID = 1L; + + private Map<ProductsDescription, Integer> orderdetails; + + /** + * コンストラクタ + */ + public Cart() { + orderdetails = new HashMap<ProductsDescription, Integer>(); + } + + public void addDescription(ProductsDescription pd) { + Integer count = orderdetails.get(pd); + if (count == null) { + orderdetails.put(pd, new Integer(1)); + } else { + orderdetails.put(pd, count + 1); + } + } + + public Map<ProductsDescription, Integer> getOrderdetails() { + return orderdetails; + } + + public void setOrderdetails(Map<ProductsDescription, Integer> details) { + this.orderdetails = details; + } +} Property changes on: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/entity/Cart.java ___________________________________________________________________ Name: svn:eol-style + native Deleted: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/Cart.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/Cart.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/Cart.java 2007-08-24 08:15:29 UTC (rev 475) @@ -1,46 +0,0 @@ -package jp.sf.pal.pompei.web.user.cart; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.seasar.framework.container.annotation.tiger.Component; -import org.seasar.framework.container.annotation.tiger.InstanceType; - -/** - * カート情報を表すクラスです。 - * @author takeharu - * - */ - @ Component(instance=InstanceType.SESSION) -public class Cart implements Serializable { - - /** - * シリアルバージョンID - */ - private static final long serialVersionUID = 1L; - - private List<Map<String, ?>> orderdetails; - - /** - * コンストラクタ - */ - public Cart() { - orderdetails = new ArrayList<Map<String,?>>(); - } - - public void addDescription(Map detail) { - orderdetails.add(detail); - } - - public List<Map<String,?>> getOrderdetails() { - return orderdetails; - } - - public void setOrderdetails(List<Map<String,?>> details) { - this.orderdetails = details; - } -} - Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListAction.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListAction.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListAction.java 2007-08-24 08:15:29 UTC (rev 475) @@ -1,5 +1,17 @@ package jp.sf.pal.pompei.web.user.cart; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import jp.sf.pal.pompei.dxo.ProductDxo; +import jp.sf.pal.pompei.entity.Cart; +import jp.sf.pal.pompei.exentity.ProductsDescription; +import jp.sf.pal.pompei.util.SessionUtil; + /** * カート画面でのアクション処理を記述します。 * TODO セッション内のカート情報を表示 @@ -7,13 +19,49 @@ * @author takeharu * */ -public class ProductListAction { +public class ProductListAction implements Serializable { - public Class initialize() { + /** + * + */ + private static final long serialVersionUID = -7622016737871221829L; + + private ProductDxo productDxo; + + /** + * @return productDxo + */ + public ProductDxo getProductDxo() { + return productDxo; + } + + /** + * @param productDxo 設定する productDxo + */ + public void setProductDxo(ProductDxo productDxo) { + this.productDxo = productDxo; + } + + public Class<?> initialize() { return null; } - public Class prerender() { + public Class<?> prerender() { + Cart cart = (Cart) SessionUtil.getFromApplicationScope("cart"); + List<Map<String, Object>> products = new ArrayList<Map<String, Object>>(); + if (cart != null) { + Map<ProductsDescription, Integer> details = cart.getOrderdetails(); + for (Iterator<Map.Entry<ProductsDescription, Integer>> itr = details + .entrySet().iterator(); itr.hasNext();) { + Map.Entry<ProductsDescription, Integer> entry = itr.next(); + Map<String, Object> map = new HashMap<String, Object>(); + getProductDxo().convert(entry.getKey(), map); + map.put("itemCount", entry.getValue()); + products.add(map); + } + } + getProductListPage().setProductsItems(products); + return null; } @@ -22,7 +70,7 @@ */ private ProductListPage productListPage; - public Class doAdd() { + public Class<?> doAdd() { return null; } @@ -40,11 +88,11 @@ this.productListPage = productListPage; } - public String doJumpProductList(){ + public String doJumpProductList() { return "../product/productList"; } - public String doJumpCheckoutEdit(){ + public String doJumpCheckoutEdit() { return "../checkout/checkoutEdit"; } Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListPage.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListPage.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/cart/ProductListPage.java 2007-08-24 08:15:29 UTC (rev 475) @@ -1,16 +1,23 @@ package jp.sf.pal.pompei.web.user.cart; +import java.io.Serializable; import java.util.List; +import java.util.Map; -public class ProductListPage { +public class ProductListPage implements Serializable { - private String itemCount; + /** + * + */ + private static final long serialVersionUID = 5628720748778592569L; + private Integer itemCount; + private String manufacturersId; private String productsIndex; - private List productsItems; + private List<Map<String, Object>> productsItems; private String productsModel; @@ -22,11 +29,11 @@ private String totalPrice; - public String getItemCount() { + public Integer getItemCount() { return itemCount; } - public void setItemCount(String itemCount) { + public void setItemCount(Integer itemCount) { this.itemCount = itemCount; } @@ -46,11 +53,11 @@ this.productsIndex = productsIndex; } - public List getProductsItems() { + public List<Map<String, Object>> getProductsItems() { return productsItems; } - public void setProductsItems(List productsItems) { + public void setProductsItems(List<Map<String, Object>> productsItems) { this.productsItems = productsItems; } Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/CheckoutEditService.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/CheckoutEditService.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/CheckoutEditService.java 2007-08-24 08:15:29 UTC (rev 475) @@ -1,6 +1,6 @@ package jp.sf.pal.pompei.web.user.checkout.service; -import jp.sf.pal.pompei.web.user.cart.Cart; +import jp.sf.pal.pompei.entity.Cart; public interface CheckoutEditService { Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/impl/CheckoutEditServiceImpl.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/impl/CheckoutEditServiceImpl.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/checkout/service/impl/CheckoutEditServiceImpl.java 2007-08-24 08:15:29 UTC (rev 475) @@ -1,6 +1,6 @@ package jp.sf.pal.pompei.web.user.checkout.service.impl; -import jp.sf.pal.pompei.web.user.cart.Cart; +import jp.sf.pal.pompei.entity.Cart; import jp.sf.pal.pompei.web.user.checkout.service.CheckoutEditService; public class CheckoutEditServiceImpl implements CheckoutEditService { Modified: pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductDetailsAction.java =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductDetailsAction.java 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/java/jp/sf/pal/pompei/web/user/product/ProductDetailsAction.java 2007-08-24 08:15:29 UTC (rev 475) @@ -2,11 +2,11 @@ import jp.sf.pal.common.util.FacesMessageUtil; import jp.sf.pal.pompei.dxo.ProductDxo; +import jp.sf.pal.pompei.entity.Cart; import jp.sf.pal.pompei.exentity.Manufacturers; import jp.sf.pal.pompei.exentity.ProductsDescription; import jp.sf.pal.pompei.util.SessionUtil; import jp.sf.pal.pompei.web.admin.product.service.ProductService; -import jp.sf.pal.pompei.web.user.cart.Cart; import org.seasar.framework.log.Logger; @@ -57,7 +57,7 @@ ProductsDescription description = productService .getProdcutsDescription(productDetailsPage.getProductsId()); - //cart.addDescription(description); + cart.addDescription(description); logger.debug("カートに追加しました"); FacesMessageUtil.addInfoMessage("added.product.to.cart"); return null; Modified: pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/cart/productList.html =================================================================== --- pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/cart/productList.html 2007-08-24 05:22:32 UTC (rev 474) +++ pompei/portlets/pompei-core/trunk/src/main/webapp/view/user/cart/productList.html 2007-08-24 08:15:29 UTC (rev 475) @@ -27,7 +27,7 @@ <td><span id="productsName">XXX 01MAX</span></td> <td><span id="productsModel">MX-XXX</span></td> <td><span id="manufacturersId">アディダス</span></td> - <td><input size="2" id="itemCount" value="1"/></td> + <td><input size="2" id="itemCount" type="text" value="1"/></td> <td><span id="productsPrice">30,000</span></td> <td> <a id="goProductDelete" href="./productList.html?productsIndex=0" onClick="this.href=this.href+'&delete=true'">削除</a>