CPD Results

The following document contains the results of PMD's CPD 6.49.0.

Duplications

File Line
org/woehlke/greenshop/oodm/checkout/model/AddressBean.java 244
org/woehlke/greenshop/oodm/customer/model/CustomerAddressBean.java 176
} else if (!countryName.equals(other.countryName))
			return false;
		if (firstname == null) {
			if (other.firstname != null)
				return false;
		} else if (!firstname.equals(other.firstname))
			return false;
		if (gender == null) {
			if (other.gender != null)
				return false;
		} else if (!gender.equals(other.gender))
			return false;
		if (lastname == null) {
			if (other.lastname != null)
				return false;
		} else if (!lastname.equals(other.lastname))
			return false;
		if (postcode == null) {
			if (other.postcode != null)
				return false;
		} else if (!postcode.equals(other.postcode))
			return false;
		if (state == null) {
			if (other.state != null)
				return false;
		} else if (!state.equals(other.state))
			return false;
		if (streetAddress == null) {
			if (other.streetAddress != null)
				return false;
		} else if (!streetAddress.equals(other.streetAddress))
			return false;
		if (suburb == null) {
			if (other.suburb != null)
				return false;
		} else if (!suburb.equals(other.suburb))
			return false;
		return true;
	}
File Line
org/woehlke/greenshop/frontend/CatalogController.java 220
org/woehlke/greenshop/frontend/CatalogController.java 294
public String writeReviewForProduct(@PathVariable long productId,
										HttpServletRequest request,
										HttpServletResponse response,
										Model model){
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		SpecialProduct thisProduct = specialService.findSpecialProductById(productId, language);
		model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree =
                categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		ShareProductBean shareProductBean = getShareProductBean(request, thisProduct.getProductDescription());
		model.addAttribute("shareProductBean", shareProductBean);
File Line
org/woehlke/greenshop/oodm/checkout/model/AddressBean.java 97
org/woehlke/greenshop/oodm/customer/model/CustomerAddressBean.java 56
public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public String getFirstname() {
		return firstname;
	}

	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public String getLastname() {
		return lastname;
	}

	public void setLastname(String lastname) {
		this.lastname = lastname;
	}

	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public String getStreetAddress() {
		return streetAddress;
	}

	public void setStreetAddress(String streetAddress) {
		this.streetAddress = streetAddress;
	}

	public String getSuburb() {
		return suburb;
	}

	public void setSuburb(String suburb) {
		this.suburb = suburb;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public long getCountryId() {
File Line
org/woehlke/greenshop/frontend/CartController.java 64
org/woehlke/greenshop/frontend/CartController.java 91
public String addToBasket(
			@ModelAttribute("transientBasket") TransientBasket transientBasket,
			HttpServletRequest request,  
            HttpServletResponse response,
			@PathVariable long productId, Model model){	
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		SpecialProduct thisProduct = specialService.findSpecialProductById(productId, language);
		model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree = categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
		Map<Long,Long> optionsAndValues = getOptionsAndValuesFromRequest(request);
		transientBasket = cartService.addProductToCart(transientBasket,productId,optionsAndValues,language);
File Line
org/woehlke/greenshop/oodm/checkout/model/AddressBean.java 205
org/woehlke/greenshop/oodm/customer/model/CustomerAddressBean.java 142
+ ((countryName == null) ? 0 : countryName.hashCode());
		result = prime * result
				+ ((firstname == null) ? 0 : firstname.hashCode());
		result = prime * result + ((gender == null) ? 0 : gender.hashCode());
		result = prime * result
				+ ((lastname == null) ? 0 : lastname.hashCode());
		result = prime * result
				+ ((postcode == null) ? 0 : postcode.hashCode());
		result = prime * result + ((state == null) ? 0 : state.hashCode());
		result = prime * result
				+ ((streetAddress == null) ? 0 : streetAddress.hashCode());
		result = prime * result + ((suburb == null) ? 0 : suburb.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
File Line
org/woehlke/greenshop/oodm/catalog/service/CategoryServiceImpl.java 216
org/woehlke/greenshop/oodm/catalog/service/CategoryServiceImpl.java 247
List<ProductDescription> productDescriptions=productDescriptionRepositoryDao.findByCategoryAndManufacturer(category,manufacturer,language);
        for(ProductDescription productDescription:productDescriptions){
            SpecialProduct specialProduct = new SpecialProduct();
            specialProduct.setProductDescription(productDescription);
            Special special = specialRepository.findByProduct(productDescription.getProduct());
            specialProduct.setSpecial(special);
            products.add(specialProduct);
        }
        productsByCategory.setProducts(products);
        List<Manufacturer> manufacturers = new ArrayList<Manufacturer>();
        for(ProductDescription pd:productDescriptions){
            if(!manufacturers.contains(pd.getProduct().getManufacturer())){
                manufacturers.add(pd.getProduct().getManufacturer());
            }
        }
        productsByCategory.setManufacturers(manufacturers);
        CategoryDescriptionId categoryDescriptionId = new CategoryDescriptionId();
        categoryDescriptionId.setLanguage(language);
        categoryDescriptionId.setCategory(category);
        CategoryDescription thisCategory = categoryDescriptionRepository.getOne(categoryDescriptionId);
        productsByCategory.setThisCategory(thisCategory);
        List<CategoryDescription> childCategories = categoryDescriptionRepositoryDao.findCategoriesByParentId(categoryId, language);
        productsByCategory.setChildCategories(childCategories);
        return productsByCategory;
    }
File Line
org/woehlke/greenshop/frontend/CartController.java 68
org/woehlke/greenshop/frontend/CartController.java 95
org/woehlke/greenshop/frontend/CatalogController.java 222
org/woehlke/greenshop/frontend/CatalogController.java 296
@PathVariable long productId, Model model){	
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		SpecialProduct thisProduct = specialService.findSpecialProductById(productId, language);
		model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree = categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
File Line
org/woehlke/greenshop/oodm/customer/model/CreateNewCustomerFormBean.java 118
org/woehlke/greenshop/oodm/customer/model/CustomerAddressBean.java 78
}
	public String getCompany() {
		return company;
	}
	public void setCompany(String company) {
		this.company = company;
	}
	public String getStreetAddress() {
		return streetAddress;
	}
	public void setStreetAddress(String streetAddress) {
		this.streetAddress = streetAddress;
	}
	public String getSuburb() {
		return suburb;
	}
	public void setSuburb(String suburb) {
		this.suburb = suburb;
	}
	public String getPostcode() {
		return postcode;
	}
	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
	public long getCountry() {
		return country;
	}
	public void setCountry(long country) {
		this.country = country;
	}
File Line
org/woehlke/greenshop/frontend/CatalogController.java 228
org/woehlke/greenshop/frontend/CatalogController.java 302
org/woehlke/greenshop/frontend/CatalogController.java 344
model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		SpecialProduct thisProduct = specialService.findSpecialProductById(productId, language);
		model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree =
                categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		ShareProductBean shareProductBean = getShareProductBean(request, thisProduct.getProductDescription());
		model.addAttribute("shareProductBean", shareProductBean);
File Line
org/woehlke/greenshop/frontend/CatalogController.java 230
org/woehlke/greenshop/frontend/CatalogController.java 266
org/woehlke/greenshop/frontend/CatalogController.java 304
org/woehlke/greenshop/frontend/CatalogController.java 346
model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree =
                categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		ShareProductBean shareProductBean = getShareProductBean(request, thisProduct.getProductDescription());
		model.addAttribute("shareProductBean", shareProductBean);
File Line
org/woehlke/greenshop/oodm/catalog/service/ProductServiceImpl.java 140
org/woehlke/greenshop/oodm/catalog/service/ProductServiceImpl.java 168
List<ProductDescription> products = productDescriptionRepositoryDao.findByManufacturer(manufacturer, language);
        ProductsByManufacturer productsByManufacturer = new ProductsByManufacturer();
        productsByManufacturer.setProducts(products);
        List<Category> categories = new ArrayList<Category>();
        for(ProductDescription product:products){
            List<Category> categoriesOfOneProduct = product.getProduct().getCategories();
            for(Category categoryOfOneProduct:categoriesOfOneProduct){
                if(!categories.contains(categoryOfOneProduct)){
                    categories.add(categoryOfOneProduct);
                }
            }
        }
        List<CategoryDescription> categoriesOfProducts=new ArrayList<CategoryDescription>();
        for(Category category:categories){
            CategoryDescriptionId id = new CategoryDescriptionId();
            id.setCategory(category);
            id.setLanguage(language);
            CategoryDescription cd = categoryDescriptionRepository.getOne(id);
            categoriesOfProducts.add(cd);
        }
        productsByManufacturer.setCategoriesOfProducts(categoriesOfProducts);
        return productsByManufacturer;
    }
File Line
org/woehlke/greenshop/oodm/checkout/model/AddressBean.java 119
org/woehlke/greenshop/oodm/customer/model/CreateNewCustomerFormBean.java 118
}

	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public String getStreetAddress() {
		return streetAddress;
	}

	public void setStreetAddress(String streetAddress) {
		this.streetAddress = streetAddress;
	}

	public String getSuburb() {
		return suburb;
	}

	public void setSuburb(String suburb) {
		this.suburb = suburb;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public long getCountryId() {
File Line
org/woehlke/greenshop/oodm/catalog/entities/Category.java 129
org/woehlke/greenshop/oodm/catalog/entities/Manufacturer.java 43
Category other = (Category) obj;
		if (dateAdded == null) {
			if (other.dateAdded != null)
				return false;
		} else if (!dateAdded.equals(other.dateAdded))
			return false;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (image == null) {
			if (other.image != null)
				return false;
		} else if (!image.equals(other.image))
			return false;
		if (lastModified == null) {
			if (other.lastModified != null)
				return false;
		} else if (!lastModified.equals(other.lastModified))
			return false;
		if (parentId != other.parentId)
File Line
org/woehlke/greenshop/backend/taxes/ZoneController.java 87
org/woehlke/greenshop/backend/taxes/ZoneController.java 124
public String zonesInsertPerform(@RequestParam(value="page",defaultValue=FIRST_PAGE) int page,
                                     @Valid Zone thisZone, BindingResult result, Model model){
        logger.info("Zone: "+thisZone.toString());
        if(result.hasErrors()){
            int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
            model.addAttribute("menuCategory",menuCategory);
            Pageable pageRequest = PageRequest.of(page,PAGE_SIZE, Sort.Direction.ASC, "country.name","name");
            Page<Zone> zones = zoneService.findAll(pageRequest);
            model.addAttribute("zones",zones);
            model.addAttribute("thisZone",thisZone);
            List<Country> countries = countryService.findAllCountriesOrderByName();
            model.addAttribute("countries", countries);
            return "admin/taxes/countriesInsertForm";
File Line
org/woehlke/greenshop/backend/taxes/CountryController.java 87
org/woehlke/greenshop/backend/taxes/CountryController.java 124
public String countriesInsertPerform(@RequestParam(value="page",defaultValue=FIRST_PAGE) int page,
                                         @Valid Country thisCountry, BindingResult result, Model model){
        logger.info("Country: "+thisCountry.toString());
        if(result.hasErrors()){
            int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
            model.addAttribute("menuCategory",menuCategory);
            Pageable pageRequest = PageRequest.of(page,PAGE_SIZE, Sort.Direction.ASC, "name");
            Page<Country> countries = countryService.findAllCountriesOrderByName(pageRequest);
            model.addAttribute("countries",countries);
            model.addAttribute("thisCountry",thisCountry);
            List<AddressFormat> addressFormats = addressFormatService.findAllAddressFormat();
            model.addAttribute("addressFormats",addressFormats);
            return "admin/taxes/countriesInsertForm";
File Line
org/woehlke/greenshop/frontend/CatalogController.java 120
org/woehlke/greenshop/frontend/CatalogController.java 347
model.addAttribute("numberOfReviews", numberOfReviews);
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree = categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		ShareProductBean shareProductBean = getShareProductBean(request,thisProduct.getProductDescription());
		model.addAttribute("shareProductBean", shareProductBean);
		return "product";
File Line
org/woehlke/greenshop/frontend/CatalogController.java 120
org/woehlke/greenshop/frontend/CatalogController.java 231
org/woehlke/greenshop/frontend/CatalogController.java 267
org/woehlke/greenshop/frontend/CatalogController.java 305
model.addAttribute("numberOfReviews", numberOfReviews);
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree = categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		ShareProductBean shareProductBean = getShareProductBean(request,thisProduct.getProductDescription());
		model.addAttribute("shareProductBean", shareProductBean);
File Line
org/woehlke/greenshop/frontend/CatalogController.java 51
org/woehlke/greenshop/frontend/CatalogController.java 84
public String category(@PathVariable long categoryId,Model model){
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		List<SpecialProduct> newProducts = productService.recommenderNewProducts(language);
		model.addAttribute("newProducts", newProducts);
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		CategoryTree categoryTree = categoryService.getCategoriesTree(categoryId, language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		ProductsByCategory productsByCategory = categoryService.getProductsByCategory(categoryId, language);
File Line
org/woehlke/greenshop/frontend/CartController.java 73
org/woehlke/greenshop/frontend/CartController.java 100
org/woehlke/greenshop/frontend/CatalogController.java 344
model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		SpecialProduct thisProduct = specialService.findSpecialProductById(productId, language);
		model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree = categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
File Line
org/woehlke/greenshop/frontend/CatalogController.java 142
org/woehlke/greenshop/frontend/CatalogController.java 179
public String manufacturer(@PathVariable long manufacturerId,Model model){
		logger.info("manufacturers_id="+manufacturerId);
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		List<SpecialProduct> newProducts = productService.recommenderNewProducts(language);
		model.addAttribute("newProducts", newProducts);
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		manufacturers.setManufacturerId(manufacturerId);
		model.addAttribute("manufacturers", manufacturers);
		Manufacturer manufacturer=manufacturerService.findManufacturerById(manufacturerId);
		model.addAttribute("manufacturer", manufacturer);
		ProductsByManufacturer products = productService.findProductsByManufacturer(manufacturer, language);
File Line
org/woehlke/greenshop/frontend/CheckoutController.java 101
org/woehlke/greenshop/frontend/CheckoutController.java 153
public String checkoutShippingAddress(
			@ModelAttribute("checkout") CheckoutBean checkout,
			@ModelAttribute("transientBasket") TransientBasket transientBasket, Model model){
		super.getDefaultBoxContent(model);
		if (transientBasket.isEmptyCart()){
			return "redirect:/shoppingCart";
		} else {
			Customer customer = super.getLoggedInCustomer();
			List<AddressBook> addressBook = super.customerService.findAddressBookForCustomer(customer);
			model.addAttribute("addressBook", addressBook);
			AddressBean newAddress = new AddressBean();
			newAddress.setChoosenAddressId(customer.getDefaultAddress().getId());
			model.addAttribute("newAddress", newAddress);
			List<Country> allCountriesOrderByName = countryService.findAllCountriesOrderByName();
			model.addAttribute("allCountriesOrderByName", allCountriesOrderByName);
			return "checkoutShippingAddress";
File Line
org/woehlke/greenshop/frontend/UserController.java 153
org/woehlke/greenshop/frontend/UserController.java 199
Country country = countryService.findCountryById(customersAddress.getCountry());
			persistentAddress.setCity(customersAddress.getCity());
			persistentAddress.setCompany(customersAddress.getCompany());
			persistentAddress.setCountry(country);
			persistentAddress.setFirstname(customersAddress.getFirstname());
			persistentAddress.setGender(customersAddress.getGender());
			persistentAddress.setLastname(customersAddress.getLastname());
			persistentAddress.setPostcode(customersAddress.getPostcode());
			persistentAddress.setState(customersAddress.getState());
			persistentAddress.setStreetAddress(customersAddress.getStreetAddress());
			persistentAddress.setSuburb(customersAddress.getSuburb());
			customerService.updateAddressBook(persistentAddress);
			customerService.updateCustomer(customer);
			return "redirect:/addressBook";
		}	
	}
	
	@RequestMapping(value = "/addressBook/add", method = RequestMethod.GET)
File Line
org/woehlke/greenshop/oodm/checkout/model/AddressBean.java 127
org/woehlke/greenshop/oodm/customer/entities/AddressBook.java 121
org/woehlke/greenshop/oodm/customer/model/CreateNewCustomerFormBean.java 124
org/woehlke/greenshop/oodm/customer/model/CustomerAddressBean.java 86
}

	public String getStreetAddress() {
		return streetAddress;
	}

	public void setStreetAddress(String streetAddress) {
		this.streetAddress = streetAddress;
	}

	public String getSuburb() {
		return suburb;
	}

	public void setSuburb(String suburb) {
		this.suburb = suburb;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public long getCountryId() {
File Line
org/woehlke/greenshop/backend/taxes/TaxZoneController.java 73
org/woehlke/greenshop/backend/taxes/TaxZoneController.java 121
org/woehlke/greenshop/backend/taxes/TaxZoneController.java 154
public String taxZoneId(@RequestParam(value="page",defaultValue=FIRST_PAGE) int page,
                            @PathVariable long taxZoneId, Model model){
        int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
        model.addAttribute("menuCategory",menuCategory);
        Pageable pageRequest = PageRequest.of(page,PAGE_SIZE, Sort.Direction.ASC, "name");
        Page<TaxZone> taxZones = taxZoneService.findAllTaxZones(pageRequest);
        model.addAttribute("taxZones",taxZones);
        TaxZone thisTaxZone = taxZoneService.findTaxZoneById(taxZoneId);
        int numberOfZones = taxZone2ZoneService.getNumberOfZonesForTaxZone(thisTaxZone);
        model.addAttribute("numberOfZones",numberOfZones);
        model.addAttribute("thisTaxZone",thisTaxZone);
        return "admin/taxes/taxZones";
File Line
org/woehlke/greenshop/oodm/catalog/entities/ProductOption.java 61
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionValue.java 62
return "ProductOption [id=" + id + ", language=" + language + ", name="
				+ name + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result
				+ ((language == null) ? 0 : language.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
File Line
org/woehlke/greenshop/frontend/CheckoutController.java 132
org/woehlke/greenshop/frontend/CheckoutController.java 184
checkout.setShippingAddress(shippingAddress);
		} else {
			newAddress.validate(result,"newAddress");
			if(result.hasErrors()){
				List<AddressBook> addressBook = super.customerService.findAddressBookForCustomer(customer);
				model.addAttribute("addressBook", addressBook);
				List<Country> allCountriesOrderByName = countryService.findAllCountriesOrderByName();
				model.addAttribute("allCountriesOrderByName",allCountriesOrderByName);
				return "checkoutShippingAddress";
			} else {
				Country country = countryService.findCountryById(newAddress.getCountryId());
				newAddress.setCountryName(country.getName());
				AddressBook a = checkoutService.transformBeanToPersistentAddress(newAddress,country,customer);
				super.customerService.addAddress(a);
				checkout.setShippingAddress(newAddress);
File Line
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionId.java 32
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionValueId.java 24
return "ProductOptionId [id=" + id + ", language=" + language + "]";
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result
				+ ((language == null) ? 0 : language.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
File Line
org/woehlke/greenshop/frontend/CatalogController.java 383
org/woehlke/greenshop/frontend/CatalogController.java 403
public String specials(HttpServletRequest request,
							 HttpServletResponse response,
							 Model model) {
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		CategoryTree categoryTree = categoryService.getCategoriesTree(0L, language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		List<SpecialProduct> specialProducts = specialService.getSpecialProducts(language);
File Line
org/woehlke/greenshop/frontend/CartController.java 75
org/woehlke/greenshop/frontend/CartController.java 102
org/woehlke/greenshop/frontend/CatalogController.java 266
model.addAttribute("product", thisProduct);
		logger.info(thisProduct.toString());
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		ProductAttributes productAttributes = catalogService.findProductOptionsByProduct(thisProduct.getProductDescription());
		logger.info(productAttributes.toString());
		model.addAttribute("productAttributes", productAttributes);
		CategoryTree categoryTree = categoryService.getCategoriesTree(thisProduct.getProductDescription().getProduct().getCategories().iterator().next().getId(), language);
		model.addAttribute("categoryTree", categoryTree);
File Line
org/woehlke/greenshop/frontend/CatalogController.java 363
org/woehlke/greenshop/frontend/CatalogController.java 383
org/woehlke/greenshop/frontend/CatalogController.java 403
public String reviews(HttpServletRequest request,
						   HttpServletResponse response,
						   Model model) {
		Language language = languageService.findLanguageByCode("en");
		ReviewDescription randomReview = reviewService.getRandomReview(language);
		model.addAttribute("randomReview", randomReview);
		SpecialProduct randomSpecialProduct = specialService.getRandomSpecial(language);
		model.addAttribute("randomSpecialProduct", randomSpecialProduct);
		Manufacturers manufacturers=manufacturerService.findManufacturers();
		model.addAttribute("manufacturers", manufacturers);
		CategoryTree categoryTree = categoryService.getCategoriesTree(0L, language);
		model.addAttribute("categoryTree", categoryTree);
		SpecialProduct randomNewProduct = productService.getRandomNewProduct(language);
		model.addAttribute("randomNewProduct", randomNewProduct);
		List<ReviewProduct> reviews = reviewService.getAllReviews(language);
File Line
org/woehlke/greenshop/oodm/catalog/entities/Category.java 106
org/woehlke/greenshop/oodm/catalog/entities/Manufacturer.java 21
@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((dateAdded == null) ? 0 : dateAdded.hashCode());
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((image == null) ? 0 : image.hashCode());
		result = prime * result
				+ ((lastModified == null) ? 0 : lastModified.hashCode());
		result = prime * result + (int) (parentId ^ (parentId >>> 32));
File Line
org/woehlke/greenshop/oodm/catalog/entities/Category.java 133
org/woehlke/greenshop/oodm/catalog/entities/Manufacturer.java 47
org/woehlke/greenshop/oodm/catalog/entities/Product.java 238
} else if (!dateAdded.equals(other.dateAdded))
			return false;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (image == null) {
			if (other.image != null)
				return false;
		} else if (!image.equals(other.image))
			return false;
		if (lastModified == null) {
			if (other.lastModified != null)
				return false;
		} else if (!lastModified.equals(other.lastModified))
			return false;
		if (parentId != other.parentId)
File Line
org/woehlke/greenshop/oodm/catalog/entities/ProductOption.java 62
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionId.java 32
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionValue.java 63
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionValueId.java 25
+ name + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result
				+ ((language == null) ? 0 : language.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
File Line
org/woehlke/greenshop/oodm/cart/entities/CustomersBasket.java 154
org/woehlke/greenshop/oodm/cart/entities/CustomersBasketAttribute.java 139
CustomersBasket other = (CustomersBasket) obj;
		if (customer == null) {
			if (other.customer != null)
				return false;
		} else if (!customer.equals(other.customer))
			return false;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (productId == null) {
			if (other.productId != null)
				return false;
		} else if (!productId.equals(other.productId))
			return false;
		if (quantity != other.quantity)
File Line
org/woehlke/greenshop/oodm/catalog/entities/ProductOption.java 63
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionId.java 33
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionValue.java 64
org/woehlke/greenshop/oodm/catalog/entities/ProductOptionValueId.java 26
org/woehlke/greenshop/oodm/checkout/entities/OrderStatusId.java 26
}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result
				+ ((language == null) ? 0 : language.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
File Line
org/woehlke/greenshop/backend/taxes/TaxZoneController.java 189
org/woehlke/greenshop/backend/taxes/TaxZoneController.java 218
public String taxZone(@PathVariable long taxZoneId, Model model){
        int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
        model.addAttribute("menuCategory",menuCategory);
        TaxZone thisTaxZone = taxZoneService.findTaxZoneById(taxZoneId);
        model.addAttribute("thisTaxZone",thisTaxZone);
        List<TaxZone2Zone> zones = taxZone2ZoneService.findZonesByTaxZone(thisTaxZone);
        model.addAttribute("zones",zones);
        TaxZone2Zone thisZone = null;
        if(zones.size()>0){
            thisZone = zones.iterator().next();
        }
        model.addAttribute("thisZone", thisZone);
File Line
org/woehlke/greenshop/backend/taxes/ZoneController.java 107
org/woehlke/greenshop/backend/taxes/ZoneController.java 145
public String zonesEditForm(@PathVariable long zoneId,
                                @RequestParam(value="page",defaultValue=FIRST_PAGE) int page,
                                Model model){
        int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
        model.addAttribute("menuCategory",menuCategory);
        Zone thisZone = zoneService.findById(zoneId);
        model.addAttribute("thisZone",thisZone);
        Pageable pageRequest = PageRequest.of(page,PAGE_SIZE, Sort.Direction.ASC, "country.name","name");
        Page<Zone> zones = zoneService.findAll(pageRequest);
        model.addAttribute("zones",zones);