[pal-cvs 3070] [806] updated methods.

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 2月 11日 (月) 08:11:33 JST


Revision: 806
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=806
Author:   shinsuke
Date:     2008-02-11 08:11:33 +0900 (Mon, 11 Feb 2008)

Log Message:
-----------
updated methods.

Modified Paths:
--------------
    pompei/libraries/pompei-db/trunk/src/main/java/jp/sf/pal/pompei/service/impl/CustomerServiceImpl.java
    pompei/libraries/pompei-db/trunk/src/test/java/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest.java
    pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest.xls
    pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest_getCustomerList_Expected.xls

Added Paths:
-----------
    pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest_getAddressBookList_Expected.xls


-------------- next part --------------
Modified: pompei/libraries/pompei-db/trunk/src/main/java/jp/sf/pal/pompei/service/impl/CustomerServiceImpl.java
===================================================================
--- pompei/libraries/pompei-db/trunk/src/main/java/jp/sf/pal/pompei/service/impl/CustomerServiceImpl.java	2008-02-10 22:33:49 UTC (rev 805)
+++ pompei/libraries/pompei-db/trunk/src/main/java/jp/sf/pal/pompei/service/impl/CustomerServiceImpl.java	2008-02-10 23:11:33 UTC (rev 806)
@@ -1,13 +1,18 @@
 package jp.sf.pal.pompei.service.impl;
 
 import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.util.Calendar;
 import java.util.List;
 import java.util.Map;
 
 import jp.sf.pal.pompei.PompeiDBConstants;
 import jp.sf.pal.pompei.PompeiDBException;
+import jp.sf.pal.pompei.cbean.AddressBookCB;
+import jp.sf.pal.pompei.cbean.BasketCB;
 import jp.sf.pal.pompei.cbean.CustomerCB;
 import jp.sf.pal.pompei.exbhv.AddressBookBhv;
+import jp.sf.pal.pompei.exbhv.BasketBhv;
 import jp.sf.pal.pompei.exbhv.CustomerBhv;
 import jp.sf.pal.pompei.exentity.AddressBook;
 import jp.sf.pal.pompei.exentity.Basket;
@@ -22,6 +27,8 @@
 
     private AddressBookBhv addressBookBhv;
 
+    private BasketBhv basketBhv;
+
     public List<Customer> getCustomerList() {
         CustomerCB customerCB = new CustomerCB();
         customerCB.query().addOrderBy_LastnameDescription_Asc();
@@ -34,8 +41,8 @@
         getAddressBookBhv().insert(addressBook);
     }
 
-    public void addBasket(Basket customerBaskets) {
-        // TODO Auto-generated method stub
+    public void addBasket(Basket basket) {
+        getBasketBhv().insert(basket);
 
     }
 
@@ -51,42 +58,260 @@
 
     public void addCustomer(Map<String, String> userInfo, Customer customers,
             AddressBook addressBook) throws PompeiDBException {
-        // TODO Auto-generated method stub
-
+        //                String password = userInfo.remove(PompeiDBConstants.USER_PASSWORD);
+        //                String verifyPassword = userInfo
+        //                        .remove(PompeiDBConstants.USER_VERIFY_PASSWORD);
+        //                if (!UserRegistrationUtil
+        //                        .getBoolean(PompeiDBConstants.FORCE_GENERATED_PASSWORD)) {
+        //                    if (password == null || password.equals("")) {
+        //                        throw new PompeiDBException("error.lacking.password",
+        //                                "The password is null.");
+        //                    }
+        //                }
+        //    
+        //                if (UserRegistrationUtil
+        //                        .getBoolean(PompeiDBConstants.FORCE_USE_EMAIL_AS_USERNAME)) {
+        //                    // force user.name to be same as email
+        //                    userInfo.put(PompeiDBConstants.USER_NAME, userInfo
+        //                            .get(PompeiDBConstants.USER_BUSINESS_INFO_ONLINE_EMAIL));
+        //                }
+        //    
+        //                boolean userIdExistsFlag = true;
+        //                try {
+        //                    SystemUtil.getUserManager().getUser(
+        //                            userInfo.get(PompeiDBConstants.USER_NAME));
+        //                } catch (org.apache.jetspeed.security.SecurityException e) {
+        //                    userIdExistsFlag = false;
+        //                }
+        //    
+        //                if (userIdExistsFlag) {
+        //                    throw new PompeiDBException("error.userid_already_exists",
+        //                            "The user id already exists.");
+        //                }
+        //    
+        //                if (UserRegistrationUtil.getBoolean(PompeiDBConstants.FORCE_UNIQUE_EMAIL)) {
+        //                    boolean emailExistsFlag = true;
+        //                    User user = null;
+        //                    try {
+        //                        user = SystemUtil
+        //                                .getPortalAdministration()
+        //                                .lookupUserFromEmail(
+        //                                        userInfo
+        //                                                .get(PompeiDBConstants.USER_BUSINESS_INFO_ONLINE_EMAIL));
+        //                    } catch (AdministrationEmailException e) {
+        //                        emailExistsFlag = false;
+        //                    }
+        //                    if ((emailExistsFlag) || (user != null)) {
+        //                        throw new PompeiDBException("error.email_already_exists",
+        //                                "The email already exists.");
+        //                    }
+        //    
+        //                }
+        //    
+        //                if (UserRegistrationUtil
+        //                        .getBoolean(PompeiDBConstants.FORCE_GENERATED_PASSWORD)) {
+        //                    try {
+        //                        password = SystemUtil.getPortalAdministration()
+        //                                .generatePassword();
+        //                    } catch (Exception e) {
+        //                        throw new PompeiDBException("error.failed_to_generate_password",
+        //                                "Could not create password.", e);
+        //                    }
+        //                } else {
+        //                    if (verifyPassword == null || !verifyPassword.equals(password)) {
+        //                        throw new PompeiDBException("error.two_passwords_do_not_match",
+        //                                "Two passwords do not match.");
+        //                    }
+        //                }
+        //    
+        //                String userName = userInfo.get(PompeiDBConstants.USER_NAME);
+        //                Customer c=getCustomerByPortalId(userName);
+        //                if(c!=null){
+        //                    deleteCustomer(c.getCustomerId());
+        //                }
+        //                
+        //                try {
+        //                    SystemUtil.getPortalAdministration().registerUser(
+        //                            userName,
+        //                            password,
+        //                            UserRegistrationUtil.getStringList(PompeiDBConstants.ROLES),
+        //                            UserRegistrationUtil.getStringList(PompeiDBConstants.GROUPS),
+        //                            userInfo, // note use of only
+        //                            // PLT.D values here.
+        //                            UserRegistrationUtil.getStringMap(PompeiDBConstants.RULES),
+        //                            PompeiDBConstants.DEFAULT_USER_TEMPLATE_FOLDER); // TODO default template path
+        //                } catch (Exception e) {
+        //                    cancelToAddCustomer(userInfo, customer, addressBook);
+        //                    throw new PompeiDBException("error.failed_to_add",
+        //                            "Could not register a user.", e);
+        //                }
+        //    
+        //                // set security constraint
+        //                String userhome = Folder.USER_FOLDER + userName;
+        //                try {
+        //                    PageManager pageManager = SystemUtil.getPageManager();
+        //                    SecurityConstraint sc = pageManager.newPageSecurityConstraint();
+        //                    sc.setUsers(parseCSVList(userName));
+        //                    List<String> permissions = new ArrayList<String>();
+        //                    permissions.add(JetspeedActions.VIEW);
+        //                    permissions.add(JetspeedActions.EDIT);
+        //                    permissions.add(JetspeedActions.HELP);
+        //                    sc.setPermissions(permissions);
+        //                    Folder userFolder = pageManager.getFolder(userhome);
+        //    
+        //                    if (userFolder.getSecurityConstraints() == null) {
+        //                        userFolder.setSecurityConstraints(pageManager
+        //                                .newSecurityConstraints());
+        //                    }
+        //                    userFolder.getSecurityConstraints().getSecurityConstraints()
+        //                            .add(sc);
+        //    
+        //                    pageManager.updateFolder(userFolder);
+        //                    pageManager.reset();
+        //                } catch (Exception e) {
+        //                    cancelToAddCustomer(userInfo, customer, addressBook);
+        //                    throw new PompeiDBException("could.not.access.folder",
+        //                            "Could not access a folder: " + userhome, e);
+        //                }
+        //    
+        //                // set portal id
+        //                customer.setPortalId(userName);
+        //    
+        //                try {
+        //                    // create customer
+        //                    getCustomerBhv().insert(customer);
+        //                    addressBook.setCustomerId(customer.getCustomerId());
+        //                    getAddressBookBhv().insert(addressBook);
+        //                } catch (Exception e) {
+        //                    cancelToAddCustomer(userInfo, customer, addressBook);
+        //                    throw new PompeiDBException("could.not.insert.customer.data",
+        //                            "Could not insert customer data. ", e);
+        //                }
+        //    
+        //                if (UserRegistrationUtil.getBoolean(PompeiDBConstants.SEND_MAIL)) {
+        //                    if (password != null) {
+        //                        userInfo.put("password", password);
+        //                    }
+        //    
+        //                    try {
+        //                        // template
+        //                        //                String templ = getTemplatePath(FacesContext
+        //                        //                        .getCurrentInstance());
+        //                        //
+        //                        //                if (templ == null) {
+        //                        //                    cancelToAddCustomer(userInfo, customer, addressBook);
+        //                        //                    throw new PompeiDBException(
+        //                        //                            "error.registration_completed_but_could_not_find_template",
+        //                        //                            "Email template is not available.");
+        //                        //                }
+        //                        //                SystemUtil
+        //                        //                        .getPortalAdministration()
+        //                        //                        .sendEmail(
+        //                        //                                (PortletConfig) FacesContext
+        //                        //                                        .getCurrentInstance()
+        //                        //                                        .getExternalContext().getRequestMap()
+        //                        //                                        .get("javax.portlet.PortletConfig"),
+        //                        //                                userInfo
+        //                        //                                        .get(PompeiDBConstants.USER_BUSINESS_INFO_ONLINE_EMAIL),
+        //                        //                                emailSubject, templ, userInfo);
+        //                        //TODO move user-signup.vm to init-param
+        ////                        sendSignupMail(userInfo, userInfo
+        ////                                .get(PompeiDBConstants.USER_BUSINESS_INFO_ONLINE_EMAIL),
+        ////                                SystemUtil.getAdministratorEmail(), "user-signup.vm");
+        //                    } catch (Exception e) {
+        //                        cancelToAddCustomer(userInfo, customer, addressBook);
+        //                        throw new PompeiDBException(
+        //                                "error.registration_completed_but_could_not_send",
+        //                                "Could not send a registration mail.", e);
+        //                    }
+        //                }
     }
 
     public void cleanupBasket(BigDecimal customerId) {
-        // TODO Auto-generated method stub
+        // TODO set expire time
+        Calendar yesterday = Calendar.getInstance();
+        yesterday.add(Calendar.DATE, -1);
 
+        BasketCB basketCB = new BasketCB();
+        basketCB.query().setCustomerId_Equal(customerId);
+        basketCB.query().setUpdatedDate_LessEqual(
+                new Timestamp(yesterday.getTimeInMillis()));
+        List<Basket> basketList = getBasketBhv().selectList(basketCB);
+        if (basketList.size() > 0) {
+            getBasketBhv().delegateDeleteList(basketList);
+        }
     }
 
     public void deleteAddressBook(AddressBook addressBook) {
         getAddressBookBhv().delete(addressBook);
     }
 
-    public void deleteBasket(BigDecimal customerBasketId) {
-        // TODO Auto-generated method stub
+    public void deleteBasket(Basket basket) {
+        getBasketBhv().delete(basket);
 
     }
 
+    public void deleteBasket(BigDecimal basketId) {
+        BasketCB cb = new BasketCB();
+        cb.query().setBasketId_Equal(basketId);
+        Basket basket = getBasketBhv().selectEntity(cb);
+        getBasketBhv().delete(basket);
+
+    }
+
     public void deleteCustomer(BigDecimal customersId) {
-        // TODO Auto-generated method stub
+        Customer customer = getCustomer(customersId);
 
+        // address book
+        AddressBookCB addressBookCB = new AddressBookCB();
+        addressBookCB.query().setCustomerId_Equal(customer.getCustomerId());
+        List<AddressBook> addressBookList = addressBookBhv
+                .selectList(addressBookCB);
+        if (addressBookList != null && !addressBookList.isEmpty()) {
+            addressBookBhv.delegateDeleteList(addressBookList);
+        }
+
+        // basket
+        BasketCB basketCB = new BasketCB();
+        basketCB.query().setCustomerId_Equal(customer.getCustomerId());
+        List<Basket> basketList = getBasketBhv().selectList(basketCB);
+        if (basketList != null && !basketList.isEmpty()) {
+            getBasketBhv().delegateDeleteList(basketList);
+        }
+
+        customerBhv.delete(customer);
     }
 
     public AddressBook getAddressBook(BigDecimal addressBookId) {
-        // TODO Auto-generated method stub
-        return null;
+        AddressBookCB cb = new AddressBookCB();
+        cb.setupSelect_Customer();
+        //TODO needed?
+        cb.setupSelect_Country();
+        // needed(for tax)
+        cb.setupSelect_DeliveryZone();
+        cb.query().setAddressBookId_Equal(addressBookId);
+        return getAddressBookBhv().selectEntity(cb);
     }
 
     public List<AddressBook> getAddressBookList(BigDecimal customerId) {
-        // TODO Auto-generated method stub
-        return null;
+        AddressBookCB cb = new AddressBookCB();
+        cb.setupSelect_Customer();
+        //TODO needed?
+        cb.setupSelect_Country();
+        // needed(for tax)
+        cb.setupSelect_DeliveryZone();
+        cb.query().setCustomerId_Equal(customerId);
+        return getAddressBookBhv().selectList(cb);
     }
 
     public Basket getBasket(BigDecimal customerId, BigDecimal productId) {
         // TODO Auto-generated method stub
-        return null;
+        BasketCB cb = new BasketCB();
+        cb.setupSelect_Customer();
+        cb.setupSelect_Product();
+        cb.query().setCustomerId_Equal(customerId);
+        cb.query().setProductId_Equal(productId);
+        return getBasketBhv().selectEntity(cb);
     }
 
     public List<Basket> getBasketList(BigDecimal customerId) {
@@ -95,28 +320,53 @@
     }
 
     public Customer getCustomer(BigDecimal customersId) {
-        // TODO Auto-generated method stub
-        return null;
+        CustomerCB cb = new CustomerCB();
+        cb.query().setCustomerId_Equal(customersId);
+        Customer customers = customerBhv.selectEntity(cb);
+        return customers;
     }
 
     public Customer getCustomerByPortalId(String portalId) {
-        // TODO Auto-generated method stub
-        return null;
+        CustomerCB cb = new CustomerCB();
+        //        cb.setupSelect_CustomerInfoAsOne();
+        cb.query().setPortalId_Equal(portalId);
+        List<Customer> customers = customerBhv.selectList(cb);
+        if (customers.isEmpty()) {
+            return null;
+        }
+        return customers.get(0);
     }
 
     public AddressBook getDefaultAddressBook(BigDecimal customerId) {
-        // TODO Auto-generated method stub
+        AddressBookCB cb = new AddressBookCB();
+        //TODO needed?
+        cb.setupSelect_Customer();
+        //TODO needed?
+        cb.setupSelect_Country();
+        // needed(for tax)
+        cb.setupSelect_DeliveryZone();
+        //TODO needed?
+
+        cb.query().setCustomerId_Equal(customerId);
+        for (AddressBook ab : getAddressBookBhv().selectList(cb)) {
+            if (PompeiDBConstants.TRUE.equals(ab.getDefaultAddress())) {
+                return ab;
+            }
+        }
         return null;
     }
 
-    public void updateBasket(Basket customerBasket) {
-        // TODO Auto-generated method stub
+    public void updateBasket(Basket basket) {
+        getBasketBhv().update(basket);
 
     }
 
     public void updateCustomer(Customer customer, AddressBook addressBook) {
-        // TODO Auto-generated method stub
+        getCustomerBhv().update(customer);
 
+        if (addressBook != null) {
+            getAddressBookBhv().update(addressBook);
+        }
     }
 
     public CustomerBhv getCustomerBhv() {
@@ -134,4 +384,13 @@
     public void setAddressBookBhv(AddressBookBhv addressBookBhv) {
         this.addressBookBhv = addressBookBhv;
     }
+
+    public BasketBhv getBasketBhv() {
+        return basketBhv;
+    }
+
+    public void setBasketBhv(BasketBhv basketBhv) {
+        this.basketBhv = basketBhv;
+    }
+
 }

Modified: pompei/libraries/pompei-db/trunk/src/test/java/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest.java
===================================================================
--- pompei/libraries/pompei-db/trunk/src/test/java/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest.java	2008-02-10 22:33:49 UTC (rev 805)
+++ pompei/libraries/pompei-db/trunk/src/test/java/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest.java	2008-02-10 23:11:33 UTC (rev 806)
@@ -2,8 +2,10 @@
 
 import static org.seasar.framework.unit.S2Assert.assertEquals;
 
+import java.math.BigDecimal;
 import java.util.List;
 
+import jp.sf.pal.pompei.exentity.AddressBook;
 import jp.sf.pal.pompei.exentity.Customer;
 import jp.sf.pal.pompei.service.CustomerService;
 
@@ -21,4 +23,10 @@
         List<Customer> customerList = customerService.getCustomerList();
         assertEquals("1", ctx.getExpected(), customerList);
     }
+
+    public void getAddressBookList() throws Exception {
+        List<AddressBook> addressBookList = customerService
+                .getAddressBookList(BigDecimal.ONE);
+        assertEquals("1", ctx.getExpected(), addressBookList);
+    }
 }

Modified: pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest.xls
===================================================================
(Binary files differ)

Added: pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest_getAddressBookList_Expected.xls
===================================================================
(Binary files differ)


Property changes on: pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest_getAddressBookList_Expected.xls
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: pompei/libraries/pompei-db/trunk/src/test/resources/jp/sf/pal/pompei/service/impl/CustomerServiceImplTest_getCustomerList_Expected.xls
===================================================================
(Binary files differ)


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