public void makeCustomerAddressDefault(Long customerAddressId, Long customerId) { List<CustomerAddress> customerAddresses = readActiveCustomerAddressesByCustomerId(customerId); for (CustomerAddress customerAddress : customerAddresses) { customerAddress.getAddress().setDefault(customerAddress.getId().equals(customerAddressId)); em.merge(customerAddress); } }
public String viewCustomerAddress(HttpServletRequest request, Model model, Long customerAddressId) { CustomerAddress customerAddress = customerAddressService.readCustomerAddressById(customerAddressId); if (customerAddress == null) { throw new IllegalArgumentException("Customer Address not found with the specified customerAddressId"); } validateCustomerOwnedData(customerAddress); CustomerAddressForm form = new CustomerAddressForm(); form.setAddress(customerAddress.getAddress()); form.setAddressName(customerAddress.getAddressName()); form.setCustomerAddressId(customerAddress.getId()); model.addAttribute("customerAddressForm", form); return getCustomerAddressesView(); }
@Override @Transactional(TransactionUtils.DEFAULT_TRANSACTION_MANAGER) public CustomerAddress saveCustomerAddress(CustomerAddress customerAddress) { // if parameter address is set as default, unset all other default addresses List<CustomerAddress> activeCustomerAddresses = readActiveCustomerAddressesByCustomerId(customerAddress.getCustomer().getId()); if (activeCustomerAddresses != null && activeCustomerAddresses.isEmpty()) { customerAddress.getAddress().setDefault(true); } else { if (customerAddress.getAddress().isDefault()) { for (CustomerAddress activeCustomerAddress : activeCustomerAddresses) { if (!activeCustomerAddress.getId().equals(customerAddress.getId()) && activeCustomerAddress.getAddress().isDefault()) { activeCustomerAddress.getAddress().setDefault(false); customerAddressDao.save(activeCustomerAddress); } } } } return customerAddressDao.save(customerAddress); }
public String addCustomerAddress(HttpServletRequest request, Model model, CustomerAddressForm form, BindingResult result, RedirectAttributes redirectAttributes) throws ServiceException { addressService.populateAddressISOCountrySub(form.getAddress()); customerAddressValidator.validate(form, result); if (result.hasErrors()) { return getCustomerAddressesView(); } removeUnusedPhones(form); Address address = addressService.saveAddress(form.getAddress()); CustomerAddress customerAddress = customerAddressService.create(); customerAddress.setAddress(address); customerAddress.setAddressName(form.getAddressName()); customerAddress.setCustomer(CustomerState.getCustomer()); customerAddress = customerAddressService.saveCustomerAddress(customerAddress); if (form.getAddress().isDefault()) { customerAddressService.makeCustomerAddressDefault(customerAddress.getId(), customerAddress.getCustomer().getId()); } form.setCustomerAddressId(customerAddress.getId()); if (!isAjaxRequest(request)) { List<CustomerAddress> addresses = customerAddressService.readActiveCustomerAddressesByCustomerId(CustomerState.getCustomer().getId()); model.addAttribute("addresses", addresses); } redirectAttributes.addFlashAttribute("successMessage", getAddressAddedMessage()); return getCustomerAddressesRedirect(); }
@Test(groups = "testCustomerAddress") @Transactional public void createNewDefaultAddress() { Customer customer = createCustomerWithAddresses(); CustomerAddress ca = new CustomerAddressImpl(); Address address = new AddressImpl(); address.setAddressLine1("123 Main"); address.setCity("Dallas"); address.setPostalCode("75201"); address.setDefault(true); ca.setAddress(address); ca.setCustomer(customer); ca.setAddressName("address3"); CustomerAddress savedAddress = saveCustomerAddress(ca); List<CustomerAddress> customerAddressList = customerAddressService.readActiveCustomerAddressesByCustomerId(customer.getId()); for (CustomerAddress customerAddress : customerAddressList) { if (customerAddress.getId().equals(savedAddress.getId())) { assert customerAddress.getAddress().isDefault(); } else { assert !customerAddress.getAddress().isDefault(); } } }
customerAddress = customerAddressService.saveCustomerAddress(customerAddress); if (form.getAddress().isDefault()) { customerAddressService.makeCustomerAddressDefault(customerAddress.getId(), customerAddress.getCustomer().getId());
/** * This method only exists because so many other tests depend on it, but should be removed once tests are more isolated * @param customerAddress */ @Deprecated @Test(groups = "createCustomerAddress", dataProvider = "setupCustomerAddress", dataProviderClass = CustomerAddressDataProvider.class, dependsOnGroups = {"readCustomer", "createCountry", "createState"}) @Transactional @Rollback(false) public void createCustomerAddress(CustomerAddress customerAddress) { userName = "customer1"; Customer customer = customerService.readCustomerByUsername(userName); assert customerAddress.getId() == null; customerAddress.setCustomer(customer); State state = stateService.findStateByAbbreviation("KY"); customerAddress.getAddress().setState(state); Country country = countryService.findCountryByAbbreviation("US"); customerAddress.getAddress().setCountry(country); customerAddress.getAddress().setIsoCountrySubdivision("US-KY"); ISOCountry isoCountry = isoService.findISOCountryByAlpha2Code("US"); customerAddress.getAddress().setIsoCountryAlpha2(isoCountry); customerAddress = customerAddressService.saveCustomerAddress(customerAddress); assert customer.equals(customerAddress.getCustomer()); userId = customerAddress.getCustomer().getId(); }
customerAddress.setCustomer(customer); customerAddress = customerAddressService.saveCustomerAddress(customerAddress); customerAddressService.makeCustomerAddressDefault(customerAddress.getId(), customer.getId());