shopizer-developers

Details

diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/AbstractController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/AbstractController.java
index 201840d..5bca523 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/AbstractController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/AbstractController.java
@@ -3,20 +3,17 @@
  */
 package com.salesmanager.shop.store.controller;
 
-import javax.servlet.http.HttpServletRequest;
-
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.store.model.paging.PaginationData;
 import org.jopendocument.util.ExceptionUtils;
 import org.springframework.http.HttpStatus;
 import org.springframework.security.access.AccessDeniedException;
-import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.shop.model.paging.PaginationData;
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * @author Umesh A
@@ -33,17 +30,17 @@ public abstract class AbstractController {
      */
     @SuppressWarnings( "unchecked" )
     protected <T> T getSessionAttribute(final String key, HttpServletRequest request) {
-	          return (T) com.salesmanager.web.utils.SessionUtil.getSessionAttribute(key, request);
+	          return (T) com.salesmanager.shop.utils.SessionUtil.getSessionAttribute(key, request);
 
 	}
     
     protected void setSessionAttribute(final String key, final Object value, HttpServletRequest request) {
-    	com.salesmanager.web.utils.SessionUtil.setSessionAttribute(key, value, request);
+    	com.salesmanager.shop.utils.SessionUtil.setSessionAttribute(key, value, request);
 	}
     
     
     protected void removeAttribute(final String key, HttpServletRequest request) {
-    	com.salesmanager.web.utils.SessionUtil.removeSessionAttribute(key, request);
+    	com.salesmanager.shop.utils.SessionUtil.removeSessionAttribute(key, request);
 	}
     
     protected Language getLanguage(HttpServletRequest request) {
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/ControllerConstants.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/ControllerConstants.java
index 47427b4..8524520 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/ControllerConstants.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/ControllerConstants.java
@@ -1,7 +1,7 @@
 /**
  * 
  */
-package com.salesmanager.web.shop.controller;
+package com.salesmanager.shop.store.controller;
 
 /**
  * Interface contain constant for Controller.These constant will be used throughout
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerAccountController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerAccountController.java
index da53175..9bbb02c 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerAccountController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerAccountController.java
@@ -1,20 +1,39 @@
-package com.salesmanager.web.shop.controller.customer;
-
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
+package com.salesmanager.shop.store.controller.customer;
+
+import com.salesmanager.core.business.exception.ServiceException;
+import com.salesmanager.core.business.services.customer.CustomerService;
+import com.salesmanager.core.business.services.customer.attribute.CustomerAttributeService;
+import com.salesmanager.core.business.services.customer.attribute.CustomerOptionService;
+import com.salesmanager.core.business.services.customer.attribute.CustomerOptionSetService;
+import com.salesmanager.core.business.services.customer.attribute.CustomerOptionValueService;
+import com.salesmanager.core.business.services.order.OrderService;
+import com.salesmanager.core.business.services.reference.country.CountryService;
+import com.salesmanager.core.business.services.reference.language.LanguageService;
+import com.salesmanager.core.business.services.reference.zone.ZoneService;
+import com.salesmanager.core.business.utils.ajax.AjaxResponse;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.customer.attribute.CustomerAttribute;
+import com.salesmanager.core.model.customer.attribute.CustomerOptionType;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.country.Country;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.customer.Address;
+import com.salesmanager.shop.model.customer.CustomerEntity;
+import com.salesmanager.shop.model.customer.CustomerPassword;
+import com.salesmanager.shop.model.customer.ReadableCustomer;
+import com.salesmanager.shop.populator.customer.ReadableCustomerPopulator;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.ControllerConstants;
+import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
+import com.salesmanager.shop.store.controller.order.facade.OrderFacade;
+import com.salesmanager.shop.utils.EmailTemplatesUtils;
+import com.salesmanager.shop.utils.LabelUtils;
+import com.salesmanager.shop.utils.LanguageUtils;
+import com.salesmanager.shop.utils.LocaleUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.authentication.encoding.PasswordEncoder;
 import org.springframework.security.core.Authentication;
@@ -23,44 +42,13 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.customer.model.attribute.CustomerAttribute;
-import com.salesmanager.core.business.customer.model.attribute.CustomerOptionType;
-import com.salesmanager.core.business.customer.service.CustomerService;
-import com.salesmanager.core.business.customer.service.attribute.CustomerAttributeService;
-import com.salesmanager.core.business.customer.service.attribute.CustomerOptionService;
-import com.salesmanager.core.business.customer.service.attribute.CustomerOptionSetService;
-import com.salesmanager.core.business.customer.service.attribute.CustomerOptionValueService;
-import com.salesmanager.core.business.generic.exception.ServiceException;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.order.service.OrderService;
-import com.salesmanager.core.business.reference.country.model.Country;
-import com.salesmanager.core.business.reference.country.service.CountryService;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.reference.language.service.LanguageService;
-import com.salesmanager.core.business.reference.zone.service.ZoneService;
-import com.salesmanager.core.utils.ajax.AjaxResponse;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.customer.Address;
-import com.salesmanager.web.entity.customer.CustomerEntity;
-import com.salesmanager.web.entity.customer.CustomerPassword;
-import com.salesmanager.web.entity.customer.ReadableCustomer;
-import com.salesmanager.web.populator.customer.ReadableCustomerPopulator;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.ControllerConstants;
-import com.salesmanager.web.shop.controller.customer.facade.CustomerFacade;
-import com.salesmanager.web.shop.controller.order.facade.OrderFacade;
-import com.salesmanager.web.utils.EmailTemplatesUtils;
-import com.salesmanager.web.utils.LabelUtils;
-import com.salesmanager.web.utils.LanguageUtils;
-import com.salesmanager.web.utils.LocaleUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.*;
 //import com.salesmanager.web.shop.controller.data.CountryData;
 
 /**
@@ -349,8 +337,8 @@ public class CustomerAccountController extends AbstractController {
 			try {
 				
 				String[] parameterKey = parameterName.split("-");
-				com.salesmanager.core.business.customer.model.attribute.CustomerOption customerOption = null;
-				com.salesmanager.core.business.customer.model.attribute.CustomerOptionValue customerOptionValue = null;
+				com.salesmanager.core.model.customer.attribute.CustomerOption customerOption = null;
+				com.salesmanager.core.model.customer.attribute.CustomerOptionValue customerOptionValue = null;
 
 				
 				if(CUSTOMER_ID_PARAMETER.equals(parameterName)) {
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerDashboardController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerDashboardController.java
index 93b99e0..ab9d501 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerDashboardController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerDashboardController.java
@@ -1,15 +1,20 @@
-package com.salesmanager.web.shop.controller.customer;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+package com.salesmanager.shop.store.controller.customer;
 
+import com.salesmanager.core.business.services.customer.attribute.CustomerOptionSetService;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.customer.attribute.CustomerAttribute;
+import com.salesmanager.core.model.customer.attribute.CustomerOptionSet;
+import com.salesmanager.core.model.customer.attribute.CustomerOptionType;
+import com.salesmanager.core.model.customer.attribute.CustomerOptionValueDescription;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.admin.model.customer.attribute.CustomerOption;
+import com.salesmanager.shop.admin.model.customer.attribute.CustomerOptionValue;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.populator.customer.ReadableCustomerOptionPopulator;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.ControllerConstants;
 import org.apache.commons.collections.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.stereotype.Controller;
@@ -17,20 +22,13 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.customer.model.attribute.CustomerAttribute;
-import com.salesmanager.core.business.customer.model.attribute.CustomerOptionSet;
-import com.salesmanager.core.business.customer.model.attribute.CustomerOptionType;
-import com.salesmanager.core.business.customer.model.attribute.CustomerOptionValueDescription;
-import com.salesmanager.core.business.customer.service.attribute.CustomerOptionSetService;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.web.admin.entity.customer.attribute.CustomerOption;
-import com.salesmanager.web.admin.entity.customer.attribute.CustomerOptionValue;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.populator.customer.CustomerOptionPopulator;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.ControllerConstants;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Entry point for logged in customers
@@ -85,7 +83,7 @@ public class CustomerDashboardController extends AbstractController {
 			
 			for(CustomerOptionSet optSet : optionSet) {
 				
-				com.salesmanager.core.business.customer.model.attribute.CustomerOption custOption = optSet.getCustomerOption();
+				com.salesmanager.core.model.customer.attribute.CustomerOption custOption = optSet.getCustomerOption();
 				if(!custOption.isActive() || !custOption.isPublicOption()) {
 					continue;
 				}
@@ -110,7 +108,7 @@ public class CustomerDashboardController extends AbstractController {
 					for(CustomerAttribute customerAttribute : customerAttributes) {
 						if(customerAttribute.getCustomerOption().getId().longValue()==customerOption.getId()){
 							CustomerOptionValue selectedValue = new CustomerOptionValue();
-							com.salesmanager.core.business.customer.model.attribute.CustomerOptionValue attributeValue = customerAttribute.getCustomerOptionValue();
+							com.salesmanager.core.model.customer.attribute.CustomerOptionValue attributeValue = customerAttribute.getCustomerOptionValue();
 							selectedValue.setId(attributeValue.getId());
 							CustomerOptionValueDescription optValue = attributeValue.getDescriptionsSettoList().get(0);
 							selectedValue.setName(optValue.getName());
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerLoginController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerLoginController.java
index 1ade681..e60b8e8 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerLoginController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerLoginController.java
@@ -1,39 +1,34 @@
-package com.salesmanager.web.shop.controller.customer;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+package com.salesmanager.shop.store.controller.customer;
+
+import com.salesmanager.core.business.exception.ConversionException;
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartCalculationService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartService;
+import com.salesmanager.core.business.utils.ajax.AjaxResponse;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.shoppingcart.ShoppingCart;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.customer.SecuredCustomer;
+import com.salesmanager.shop.model.shoppingcart.ShoppingCartData;
+import com.salesmanager.shop.populator.shoppingCart.ShoppingCartDataPopulator;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
+import com.salesmanager.shop.utils.ImageFilePath;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.generic.exception.ConversionException;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCart;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartCalculationService;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartService;
-import com.salesmanager.core.utils.ajax.AjaxResponse;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.customer.SecuredCustomer;
-import com.salesmanager.web.entity.shoppingcart.ShoppingCartData;
-import com.salesmanager.web.populator.shoppingCart.ShoppingCartDataPopulator;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.customer.facade.CustomerFacade;
-import com.salesmanager.web.utils.ImageFilePath;
+import org.springframework.web.bind.annotation.*;
+
+import javax.inject.Inject;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * Custom Spring Security authentication
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerOrdersController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerOrdersController.java
index bb75d6a..e355790 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerOrdersController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerOrdersController.java
@@ -1,16 +1,26 @@
-package com.salesmanager.web.shop.controller.customer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+package com.salesmanager.shop.store.controller.customer;
 
+import com.salesmanager.core.business.services.merchant.MerchantStoreService;
+import com.salesmanager.core.business.services.order.orderproduct.OrderProductDownloadService;
+import com.salesmanager.core.business.services.reference.language.LanguageService;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.order.orderproduct.OrderProductDownload;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.order.ReadableOrder;
+import com.salesmanager.shop.model.order.ReadableOrderList;
+import com.salesmanager.shop.model.order.ReadableOrderProductDownload;
+import com.salesmanager.shop.populator.order.ReadableOrderProductDownloadPopulator;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.ControllerConstants;
+import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
+import com.salesmanager.shop.store.controller.order.facade.OrderFacade;
+import com.salesmanager.shop.store.model.paging.PaginationData;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
@@ -20,23 +30,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.merchant.service.MerchantStoreService;
-import com.salesmanager.core.business.order.model.orderproduct.OrderProductDownload;
-import com.salesmanager.core.business.order.service.orderproduct.OrderProductDownloadService;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.reference.language.service.LanguageService;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.order.ReadableOrder;
-import com.salesmanager.web.entity.order.ReadableOrderList;
-import com.salesmanager.web.entity.order.ReadableOrderProductDownload;
-import com.salesmanager.web.populator.order.ReadableOrderProductDownloadPopulator;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.ControllerConstants;
-import com.salesmanager.web.shop.controller.customer.facade.CustomerFacade;
-import com.salesmanager.web.shop.controller.order.facade.OrderFacade;
-import com.salesmanager.web.shop.model.paging.PaginationData;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 
 @Controller
 @RequestMapping(Constants.SHOP_URI + "/customer")
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerProductReviewController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerProductReviewController.java
index 9bdc49b..2b46b81 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerProductReviewController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerProductReviewController.java
@@ -1,14 +1,29 @@
-package com.salesmanager.web.shop.controller.customer;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+package com.salesmanager.shop.store.controller.customer;
+
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.catalog.product.ProductService;
+import com.salesmanager.core.business.services.catalog.product.review.ProductReviewService;
+import com.salesmanager.core.business.services.customer.CustomerService;
+import com.salesmanager.core.business.services.reference.language.LanguageService;
+import com.salesmanager.core.model.catalog.product.Product;
+import com.salesmanager.core.model.catalog.product.review.ProductReview;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.catalog.product.PersistableProductReview;
+import com.salesmanager.shop.model.catalog.product.ReadableProduct;
+import com.salesmanager.shop.model.catalog.product.ReadableProductReview;
+import com.salesmanager.shop.populator.catalog.PersistableProductReviewPopulator;
+import com.salesmanager.shop.populator.catalog.ReadableProductPopulator;
+import com.salesmanager.shop.populator.catalog.ReadableProductReviewPopulator;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.ControllerConstants;
+import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
+import com.salesmanager.shop.utils.DateUtil;
+import com.salesmanager.shop.utils.ImageFilePath;
+import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
@@ -20,29 +35,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
-import com.salesmanager.core.business.catalog.product.model.Product;
-import com.salesmanager.core.business.catalog.product.model.review.ProductReview;
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.catalog.product.service.ProductService;
-import com.salesmanager.core.business.catalog.product.service.review.ProductReviewService;
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.customer.service.CustomerService;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.reference.language.service.LanguageService;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.catalog.product.PersistableProductReview;
-import com.salesmanager.web.entity.catalog.product.ReadableProduct;
-import com.salesmanager.web.entity.catalog.product.ReadableProductReview;
-import com.salesmanager.web.populator.catalog.PersistableProductReviewPopulator;
-import com.salesmanager.web.populator.catalog.ReadableProductPopulator;
-import com.salesmanager.web.populator.catalog.ReadableProductReviewPopulator;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.ControllerConstants;
-import com.salesmanager.web.shop.controller.customer.facade.CustomerFacade;
-import com.salesmanager.web.utils.DateUtil;
-import com.salesmanager.web.utils.ImageFilePath;
-import com.salesmanager.web.utils.LabelUtils;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
 
 /**
  * Entry point for logged in customers
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerRegistrationController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerRegistrationController.java
index 8ffe286..fb014cb 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerRegistrationController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/CustomerRegistrationController.java
@@ -1,18 +1,37 @@
-package com.salesmanager.web.shop.controller.customer;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
+package com.salesmanager.shop.store.controller.customer;
+
+import com.salesmanager.core.business.exception.ConversionException;
+import com.salesmanager.core.business.exception.ServiceException;
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.reference.country.CountryService;
+import com.salesmanager.core.business.services.reference.language.LanguageService;
+import com.salesmanager.core.business.services.reference.zone.ZoneService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartCalculationService;
+import com.salesmanager.core.business.services.system.EmailService;
+import com.salesmanager.core.business.utils.CoreConfiguration;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.country.Country;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.reference.zone.Zone;
+import com.salesmanager.core.model.shoppingcart.ShoppingCart;
+import com.salesmanager.shop.constants.ApplicationConstants;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.customer.AnonymousCustomer;
+import com.salesmanager.shop.model.customer.CustomerEntity;
+import com.salesmanager.shop.model.customer.SecuredShopPersistableCustomer;
+import com.salesmanager.shop.model.shoppingcart.ShoppingCartData;
+import com.salesmanager.shop.populator.shoppingCart.ShoppingCartDataPopulator;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.ControllerConstants;
+import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
+import com.salesmanager.shop.utils.CaptchaRequestUtils;
+import com.salesmanager.shop.utils.EmailTemplatesUtils;
+import com.salesmanager.shop.utils.ImageFilePath;
+import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.encoding.PasswordEncoder;
@@ -25,36 +44,16 @@ import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.customer.CustomerRegistrationException;
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.generic.exception.ConversionException;
-import com.salesmanager.core.business.generic.exception.ServiceException;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.country.model.Country;
-import com.salesmanager.core.business.reference.country.service.CountryService;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.reference.language.service.LanguageService;
-import com.salesmanager.core.business.reference.zone.model.Zone;
-import com.salesmanager.core.business.reference.zone.service.ZoneService;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCart;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartCalculationService;
-import com.salesmanager.core.business.system.service.EmailService;
-import com.salesmanager.core.utils.CoreConfiguration;
-import com.salesmanager.web.constants.ApplicationConstants;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.customer.AnonymousCustomer;
-import com.salesmanager.web.entity.customer.CustomerEntity;
-import com.salesmanager.web.entity.customer.SecuredShopPersistableCustomer;
-import com.salesmanager.web.entity.shoppingcart.ShoppingCartData;
-import com.salesmanager.web.populator.shoppingCart.ShoppingCartDataPopulator;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.ControllerConstants;
-import com.salesmanager.web.shop.controller.customer.facade.CustomerFacade;
-import com.salesmanager.web.utils.CaptchaRequestUtils;
-import com.salesmanager.web.utils.EmailTemplatesUtils;
-import com.salesmanager.web.utils.ImageFilePath;
-import com.salesmanager.web.utils.LabelUtils;
+import javax.inject.Inject;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
+//import com.salesmanager.core.business.customer.CustomerRegistrationException;
 
 /**
  * Registration of a new customer
@@ -209,7 +208,7 @@ public class CustomerRegistrationController extends AbstractController {
         	customer.setClearPassword(password);
         	customerData = customerFacade.registerCustomer( customer, merchantStore, language );
         }
-        catch ( CustomerRegistrationException cre )
+       /* catch ( CustomerRegistrationException cre )
         {
             LOGGER.error( "Error while registering customer.. ", cre);
         	ObjectError error = new ObjectError("registration",messages.getMessage("registration.failed", locale));
@@ -217,7 +216,7 @@ public class CustomerRegistrationController extends AbstractController {
             StringBuilder template =
                             new StringBuilder().append( ControllerConstants.Tiles.Customer.register ).append( "." ).append( merchantStore.getStoreTemplate() );
              return template.toString();
-        }
+        }*/
         catch ( Exception e )
         {
             LOGGER.error( "Error while registering customer.. ", e);
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacade.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacade.java
index 4f42431..fdf3518 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacade.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacade.java
@@ -1,17 +1,17 @@
 /**
  *
  */
-package com.salesmanager.web.shop.controller.customer.facade;
+package com.salesmanager.shop.store.controller.customer.facade;
 
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.customer.service.CustomerService;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCart;
-import com.salesmanager.web.entity.customer.Address;
-import com.salesmanager.web.entity.customer.CustomerEntity;
-import com.salesmanager.web.entity.customer.PersistableCustomer;
-import com.salesmanager.web.entity.customer.ReadableCustomer;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.business.services.customer.CustomerService;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.shoppingcart.ShoppingCart;
+import com.salesmanager.shop.model.customer.Address;
+import com.salesmanager.shop.model.customer.CustomerEntity;
+import com.salesmanager.shop.model.customer.PersistableCustomer;
+import com.salesmanager.shop.model.customer.ReadableCustomer;
 
 /**
  * <p>Customer facade working as a bridge between {@link CustomerService} and Controller
@@ -31,7 +31,7 @@ public interface CustomerFacade
      * Customer username is unique to each store.
      *
      * @param userName
-     * @param storeCode
+     * @param store
      * @param store
      * @param language
      * @throws Exception
@@ -55,8 +55,7 @@ public interface CustomerFacade
      * <li> Convert Customer to {@link CustomerEntity} </li>
      * </p>
      *
-     * @param userName username of Customer
-     * @param storeCode storeCode to which user is associated/
+     * @param customer username of Customer
      * @param sessionShoppingCartId session shopping cart, if user already have few items in Cart.
      * @throws Exception
      */
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacadeImpl.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacadeImpl.java
index 262a645..ac204ed 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacadeImpl.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/customer/facade/CustomerFacadeImpl.java
@@ -1,67 +1,61 @@
 /**
  *
  */
-package com.salesmanager.web.shop.controller.customer.facade;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
+package com.salesmanager.shop.store.controller.customer.facade;
+
+import com.salesmanager.core.business.exception.ConversionException;
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.catalog.product.ProductService;
+import com.salesmanager.core.business.services.catalog.product.attribute.ProductAttributeService;
+import com.salesmanager.core.business.services.customer.CustomerService;
+import com.salesmanager.core.business.services.customer.attribute.CustomerOptionService;
+import com.salesmanager.core.business.services.customer.attribute.CustomerOptionValueService;
+import com.salesmanager.core.business.services.reference.country.CountryService;
+import com.salesmanager.core.business.services.reference.language.LanguageService;
+import com.salesmanager.core.business.services.reference.zone.ZoneService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartCalculationService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartService;
+import com.salesmanager.core.business.services.system.EmailService;
+import com.salesmanager.core.business.services.user.GroupService;
+import com.salesmanager.core.business.services.user.PermissionService;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.country.Country;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.reference.zone.Zone;
+import com.salesmanager.core.model.shoppingcart.ShoppingCart;
+import com.salesmanager.core.model.user.Group;
+import com.salesmanager.core.model.user.GroupType;
+import com.salesmanager.core.model.user.Permission;
+import com.salesmanager.shop.admin.model.userpassword.UserReset;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.customer.Address;
+import com.salesmanager.shop.model.customer.CustomerEntity;
+import com.salesmanager.shop.model.customer.PersistableCustomer;
+import com.salesmanager.shop.model.customer.ReadableCustomer;
+import com.salesmanager.shop.populator.customer.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.Validate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.authentication.encoding.PasswordEncoder;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.GrantedAuthorityImpl;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.catalog.product.service.ProductService;
-import com.salesmanager.core.business.catalog.product.service.attribute.ProductAttributeService;
-import com.salesmanager.core.business.customer.CustomerRegistrationException;
-import com.salesmanager.core.business.customer.exception.CustomerNotFoundException;
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.customer.service.CustomerService;
-import com.salesmanager.core.business.customer.service.attribute.CustomerOptionService;
-import com.salesmanager.core.business.customer.service.attribute.CustomerOptionValueService;
-import com.salesmanager.core.business.generic.exception.ConversionException;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.country.model.Country;
-import com.salesmanager.core.business.reference.country.service.CountryService;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.reference.language.service.LanguageService;
-import com.salesmanager.core.business.reference.zone.model.Zone;
-import com.salesmanager.core.business.reference.zone.service.ZoneService;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCart;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartCalculationService;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartService;
-import com.salesmanager.core.business.system.service.EmailService;
-import com.salesmanager.core.business.user.model.Group;
-import com.salesmanager.core.business.user.model.GroupType;
-import com.salesmanager.core.business.user.model.Permission;
-import com.salesmanager.core.business.user.service.GroupService;
-import com.salesmanager.core.business.user.service.PermissionService;
-import com.salesmanager.web.admin.entity.userpassword.UserReset;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.customer.Address;
-import com.salesmanager.web.entity.customer.CustomerEntity;
-import com.salesmanager.web.entity.customer.PersistableCustomer;
-import com.salesmanager.web.entity.customer.ReadableCustomer;
-import com.salesmanager.web.populator.customer.CustomerBillingAddressPopulator;
-import com.salesmanager.web.populator.customer.CustomerDeliveryAddressPopulator;
-import com.salesmanager.web.populator.customer.CustomerEntityPopulator;
-import com.salesmanager.web.populator.customer.CustomerPopulator;
-import com.salesmanager.web.populator.customer.PersistableCustomerBillingAddressPopulator;
-import com.salesmanager.web.populator.customer.PersistableCustomerShippingAddressPopulator;
-import com.salesmanager.web.populator.customer.ReadableCustomerPopulator;
+import javax.inject.Inject;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+//import com.salesmanager.core.business.customer.CustomerRegistrationException;
+//import com.salesmanager.core.business.customer.exception.CustomerNotFoundException;
 
 
 /**
@@ -138,7 +132,7 @@ public class CustomerFacadeImpl implements CustomerFacade
      * Customer username is unique to each store.
      *
      * @param userName
-     * @param storeCode
+     * @param store
      * @throws ConversionException
      */
     @Override
@@ -292,7 +286,8 @@ public class CustomerFacadeImpl implements CustomerFacade
         Customer customerModel= getCustomerModel(customer,merchantStore,language);
         if(customerModel == null){
             LOG.equals( "Unable to create customer in system" );
-            throw new CustomerRegistrationException( "Unable to register customer" );
+            //throw new CustomerRegistrationException( "Unable to register customer" );
+            throw new Exception( "Unable to register customer" );
         }
         
         LOG.info( "About to persist customer to database." );
@@ -395,7 +390,7 @@ public class CustomerFacadeImpl implements CustomerFacade
 			Validate.notNull(customer, "Customer cannot be null");
 
         	Collection<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
-			GrantedAuthority role = new GrantedAuthorityImpl(Constants.PERMISSION_CUSTOMER_AUTHENTICATED);//required to login
+			GrantedAuthority role = new SimpleGrantedAuthority(Constants.PERMISSION_CUSTOMER_AUTHENTICATED);//required to login
 			authorities.add(role); 
 			List<Integer> groupsId = new ArrayList<Integer>();
 			List<Group> groups = customer.getGroups();
@@ -407,7 +402,7 @@ public class CustomerFacadeImpl implements CustomerFacade
 				if(groupsId!=null && groupsId.size()>0) {
 			    	List<Permission> permissions = permissionService.getPermissions(groupsId);
 			    	for(Permission permission : permissions) {
-			    		GrantedAuthority auth = new GrantedAuthorityImpl(permission.getPermissionName());
+			    		GrantedAuthority auth = new SimpleGrantedAuthority(permission.getPermissionName());
 			    		authorities.add(auth);
 			    	}
 				}
@@ -433,7 +428,8 @@ public class CustomerFacadeImpl implements CustomerFacade
         
         if(customerModel == null){
             LOG.error( "Customer with ID {} does not exists..", userId);
-            throw new CustomerNotFoundException( "customer with given id does not exists" ); 
+            //throw new CustomerNotFoundException( "customer with given id does not exists" );
+            throw new Exception( "customer with given id does not exists" );
         }
         
        if(isBillingAddress){
@@ -462,7 +458,8 @@ public class CustomerFacadeImpl implements CustomerFacade
       
       if(customerModel ==null){
            LOG.error( "Customer with ID {} does not exists..", userId);
-           throw new CustomerNotFoundException( "customer with given id does not exists" );
+           //throw new CustomerNotFoundException( "customer with given id does not exists" );
+           throw new Exception( "customer with given id does not exists" );
            
        }
        if(address.isBillingAddress()){
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacade.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacade.java
index 7785b9b..4eccd84 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacade.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacade.java
@@ -1,28 +1,27 @@
-package com.salesmanager.web.shop.controller.order.facade;
+package com.salesmanager.shop.store.controller.order.facade;
+
+import com.salesmanager.core.business.exception.ServiceException;
+import com.salesmanager.core.model.customer.Customer;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.order.Order;
+import com.salesmanager.core.model.order.OrderTotalSummary;
+import com.salesmanager.core.model.payments.Transaction;
+import com.salesmanager.core.model.reference.country.Country;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.shipping.ShippingQuote;
+import com.salesmanager.core.model.shipping.ShippingSummary;
+import com.salesmanager.core.model.shoppingcart.ShoppingCart;
+import com.salesmanager.shop.model.customer.PersistableCustomer;
+import com.salesmanager.shop.model.order.PersistableOrder;
+import com.salesmanager.shop.model.order.ReadableOrder;
+import com.salesmanager.shop.model.order.ReadableOrderList;
+import com.salesmanager.shop.model.order.ShopOrder;
+import org.springframework.validation.BindingResult;
 
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
-import org.springframework.validation.BindingResult;
-
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.generic.exception.ServiceException;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.order.model.Order;
-import com.salesmanager.core.business.order.model.OrderTotalSummary;
-import com.salesmanager.core.business.payments.model.Transaction;
-import com.salesmanager.core.business.reference.country.model.Country;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.core.business.shipping.model.ShippingQuote;
-import com.salesmanager.core.business.shipping.model.ShippingSummary;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCart;
-import com.salesmanager.web.entity.customer.PersistableCustomer;
-import com.salesmanager.web.entity.order.PersistableOrder;
-import com.salesmanager.web.entity.order.ReadableOrder;
-import com.salesmanager.web.entity.order.ReadableOrderList;
-import com.salesmanager.web.entity.order.ShopOrder;
-
 
 public interface OrderFacade {
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/model/paging/PaginationData.java b/sm-shop/src/main/java/com/salesmanager/shop/store/model/paging/PaginationData.java
index ded9a7a..9c9dd61 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/model/paging/PaginationData.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/model/paging/PaginationData.java
@@ -1,7 +1,7 @@
 /**
  * 
  */
-package com.salesmanager.web.shop.model.paging;
+package com.salesmanager.shop.store.model.paging;
 
 import java.io.Serializable;
 
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/utils/CaptchaRequestUtils.java b/sm-shop/src/main/java/com/salesmanager/shop/utils/CaptchaRequestUtils.java
index bea06d6..c1a286b 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/utils/CaptchaRequestUtils.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/utils/CaptchaRequestUtils.java
@@ -1,20 +1,28 @@
-package com.salesmanager.web.utils;
+package com.salesmanager.shop.utils;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.PostMethod;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.salesmanager.core.business.utils.CoreConfiguration;
+import com.salesmanager.shop.constants.ApplicationConstants;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
 import org.springframework.stereotype.Component;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.salesmanager.core.utils.CoreConfiguration;
-import com.salesmanager.web.constants.ApplicationConstants;
+import javax.inject.Inject;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Creates a request to reCaptcha 2
@@ -33,33 +41,40 @@ public class CaptchaRequestUtils {
 	private static final String SUCCESS_INDICATOR = "success";
 	
 	public boolean checkCaptcha(String gRecaptchaResponse) throws Exception {
-		
-	    HttpClient client = new HttpClient();
+
+		HttpClient client = HttpClientBuilder.create().build();
 	    
 	    String url = configuration.getProperty(ApplicationConstants.RECAPTCHA_URL);;
 
-        NameValuePair[] data = {
+        List<NameValuePair> data = new ArrayList<NameValuePair>();
+        data.add(new BasicNameValuePair("secret",  configuration.getProperty(ApplicationConstants.RECAPTCHA_PRIVATE_KEY)));
+        data.add(new BasicNameValuePair("response",  gRecaptchaResponse));
+
+    /* NameValuePair[] data = {
                 new NameValuePair("secret", configuration.getProperty(ApplicationConstants.RECAPTCHA_PRIVATE_KEY)),
                 new NameValuePair("response", gRecaptchaResponse)
-              };
+              };*/
 	    
 	    // Create a method instance.
-	    PostMethod post = new PostMethod(url);
-	    post.setRequestBody(data);
+        HttpPost post = new HttpPost(url);
+	    post.setEntity(new UrlEncodedFormEntity(data,StandardCharsets.UTF_8));
 	    
 	    boolean checkCaptcha = false;
 	    
 
 	    try {
 	      // Execute the method.
-	      int statusCode = client.executeMethod(post);
+            HttpResponse httpResponse = client.execute(post);
+            int statusCode = httpResponse.getStatusLine().getStatusCode();
 
 	      if (statusCode != HttpStatus.SC_OK) {
-	    	throw new Exception("Got an invalid response from reCaptcha " + url + " [" + post.getStatusLine() + "]");
+	    	throw new Exception("Got an invalid response from reCaptcha " + url + " [" + httpResponse.getStatusLine() + "]");
 	      }
 
 	      // Read the response body.
-	      byte[] responseBody = post.getResponseBody();
+            HttpEntity entity = httpResponse.getEntity();
+            byte[] responseBody =EntityUtils.toByteArray(entity);
+
 
 	      // Deal with the response.
 	      // Use caution: ensure correct character encoding and is not binary data
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/utils/SessionUtil.java b/sm-shop/src/main/java/com/salesmanager/shop/utils/SessionUtil.java
index 23b5a21..1f681e2 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/utils/SessionUtil.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/utils/SessionUtil.java
@@ -1,7 +1,7 @@
 /**
  *
  */
-package com.salesmanager.web.utils;
+package com.salesmanager.shop.utils;
 
 import javax.servlet.http.HttpServletRequest;