protected void validateCustomerOwnedData(CustomerAddress customerAddress) { if (validateCustomerOwnedData) { Customer activeCustomer = CustomerState.getCustomer(); if (activeCustomer != null && !(activeCustomer.equals(customerAddress.getCustomer()))) { throw new SecurityException("The active customer does not own the object that they are trying to view, edit, or remove."); } if (activeCustomer == null && customerAddress.getCustomer() != null) { throw new SecurityException("The active customer does not own the object that they are trying to view, edit, or remove."); } } }
@Override public void afterCommit() { ApplicationContextHolder.getApplicationContext().publishEvent(new CustomerPersistedEvent(((CustomerAddress) entity).getCustomer())); } });
@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); }
/** * 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 = customerAddressService.saveCustomerAddress(customerAddress); if (form.getAddress().isDefault()) { customerAddressService.makeCustomerAddressDefault(customerAddress.getId(), customerAddress.getCustomer().getId());
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(); }
CustomerAddress caResult = createCustomerWithAddress(ca1); assert caResult != null; assert caResult.getCustomer() != null; Customer customer = caResult.getCustomer();