[pal-cvs 2743] [475] updated cart handling.

Back to archive index

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>


pal-cvs メーリングリストの案内
Back to archive index