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); } }
@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); }
@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(); } } }
cloned.setCompanyName(companyName); cloned.setCounty(county); cloned.setDefault(isDefault); cloned.setEmailAddress(emailAddress); cloned.setFirstName(firstName);
address1.setDefault(true); address1.setFirstName("John"); address1.setLastName("Tester"); address2.setDefault(true); address2.setFirstName("John"); address2.setLastName("Tester");
address1.setDefault(true); address1.setFirstName("John"); address1.setLastName("Tester"); address2.setDefault(true); address2.setFirstName("John"); address2.setLastName("Tester");