shopizer-developers

Changes

.gitignore 2(+2 -0)

pom.xml 2(+1 -1)

sm-core/target/classes/META-INF/maven/com.shopizer/sm-core/pom.properties 7(+0 -7)

sm-core-modules/target/classes/META-INF/MANIFEST.MF 9(+0 -9)

sm-core-modules/target/classes/META-INF/maven/com.shopizer/sm-core-modules/pom.properties 7(+0 -7)

sm-core-modules/target/classes/META-INF/maven/com.shopizer/sm-core-modules/pom.xml 35(+0 -35)

sm-shop/pom.xml 9(+8 -1)

Details

.gitignore 2(+2 -0)

diff --git a/.gitignore b/.gitignore
index 1f34ffb..c7e0f47 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,5 @@
 *.iml
 
 .idea/workspace.xml
+
+*.class

pom.xml 2(+1 -1)

diff --git a/pom.xml b/pom.xml
index 8a4cbf0..fe5d6f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
 		<shopizer-shipping-distance.version>2.5.0-SNAPSHOT</shopizer-shipping-distance.version>	
         
         
-        
+        <spring-mobile-device-version>1.1.4.RELEASE</spring-mobile-device-version>
         <commons-collections4.version>4.0</commons-collections4.version>
         <commons-validator.version>1.5.1</commons-validator.version>
         <org.apache.httpcomponent.version>4.5.2</org.apache.httpcomponent.version>

sm-shop/pom.xml 9(+8 -1)

diff --git a/sm-shop/pom.xml b/sm-shop/pom.xml
index d3e460e..8a05dfb 100644
--- a/sm-shop/pom.xml
+++ b/sm-shop/pom.xml
@@ -72,7 +72,14 @@
 	        <artifactId>spring-boot-starter-security</artifactId>
 	    </dependency>
 
-        
+
+			<dependency>
+				<groupId>org.springframework.mobile</groupId>
+				<artifactId>spring-mobile-device</artifactId>
+				<version>${spring-mobile-device-version}</version>
+			</dependency>
+
+
         <!-- H2 session -->
         <dependency>
 			<groupId>com.h2database</groupId>
diff --git a/sm-shop/sm-shop.iml b/sm-shop/sm-shop.iml
index a5c0c65..ab3231c 100644
--- a/sm-shop/sm-shop.iml
+++ b/sm-shop/sm-shop.iml
@@ -201,10 +201,15 @@
     <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:4.0.4.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:4.0.4.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:4.0.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.mobile:spring-mobile-device:1.1.4.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: com.h2database:h2:1.4.191" level="project" />
     <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
     <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
     <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache:2.10.2" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.6" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:servlet-api:2.5" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet.jsp:jsp-api:2.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.servlet.jsp.jstl:jstl-api:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.web:jstl-impl:1.2" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/content/ShopContentController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/content/ShopContentController.java
index 4afacb7..b42d087 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/content/ShopContentController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/content/ShopContentController.java
@@ -1,23 +1,21 @@
-package com.salesmanager.web.shop.controller.content;
-
-import java.util.Locale;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.springframework.beans.factory.annotation.Autowired;
+package com.salesmanager.shop.store.controller.content;
+
+import com.salesmanager.core.business.services.content.ContentService;
+import com.salesmanager.core.model.content.ContentDescription;
+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.shop.PageInformation;
+import com.salesmanager.shop.store.controller.ControllerConstants;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import com.salesmanager.core.business.content.model.ContentDescription;
-import com.salesmanager.core.business.content.service.ContentService;
-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.entity.shop.PageInformation;
-import com.salesmanager.web.shop.controller.ControllerConstants;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Locale;
 
 @Controller
 public class ShopContentController {
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacade.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacade.java
index 8366435..eb76427 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacade.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacade.java
@@ -1,8 +1,8 @@
-package com.salesmanager.web.shop.controller.items.facade;
+package com.salesmanager.shop.store.controller.items.facade;
 
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.web.entity.catalog.product.ReadableProductList;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.model.catalog.product.ReadableProductList;
 
 public interface ProductItemsFacade {
 	
@@ -10,7 +10,6 @@ public interface ProductItemsFacade {
 	 * List items attached to a Manufacturer
 	 * @param store
 	 * @param language
-	 * @param code
 	 * @return
 	 */
 	ReadableProductList listItemsByManufacturer(MerchantStore store, Language language, Long manufacturerId, int startCount, int maxCount) throws Exception;
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacadeImpl.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacadeImpl.java
index df7c878..bf99eaf 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacadeImpl.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/facade/ProductItemsFacadeImpl.java
@@ -1,20 +1,19 @@
-package com.salesmanager.web.shop.controller.items.facade;
-
-import javax.inject.Inject;
+package com.salesmanager.shop.store.controller.items.facade;
 
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.catalog.product.ProductService;
+import com.salesmanager.core.model.catalog.product.Product;
+import com.salesmanager.core.model.catalog.product.ProductCriteria;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.shop.model.catalog.product.ReadableProduct;
+import com.salesmanager.shop.model.catalog.product.ReadableProductList;
+import com.salesmanager.shop.populator.catalog.ReadableProductPopulator;
+import com.salesmanager.shop.utils.ImageFilePath;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
-import com.salesmanager.core.business.catalog.product.model.Product;
-import com.salesmanager.core.business.catalog.product.model.ProductCriteria;
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.catalog.product.service.ProductService;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.reference.language.model.Language;
-import com.salesmanager.web.entity.catalog.product.ReadableProduct;
-import com.salesmanager.web.entity.catalog.product.ReadableProductList;
-import com.salesmanager.web.populator.catalog.ReadableProductPopulator;
-import com.salesmanager.web.utils.ImageFilePath;
+import javax.inject.Inject;
 
 @Component
 public class ProductItemsFacadeImpl implements ProductItemsFacade {
@@ -41,7 +40,7 @@ public class ProductItemsFacadeImpl implements ProductItemsFacade {
 		
 
 		productCriteria.setManufacturerId(manufacturerId);
-		com.salesmanager.core.business.catalog.product.model.ProductList products = productService.listByStore(store, language, productCriteria);
+		com.salesmanager.core.model.catalog.product.ProductList products = productService.listByStore(store, language, productCriteria);
 
 		
 		ReadableProductPopulator populator = new ReadableProductPopulator();
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/ListItemsController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/ListItemsController.java
index 210e927..8e396fc 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/ListItemsController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/items/ListItemsController.java
@@ -1,11 +1,15 @@
-package com.salesmanager.web.shop.controller.items;
-
-import java.util.Locale;
-
-import javax.inject.Inject;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+package com.salesmanager.shop.store.controller.items;
 
+import com.salesmanager.core.business.services.catalog.product.manufacturer.ManufacturerService;
+import com.salesmanager.core.model.catalog.product.manufacturer.Manufacturer;
+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.manufacturer.ReadableManufacturer;
+import com.salesmanager.shop.model.shop.PageInformation;
+import com.salesmanager.shop.populator.manufacturer.ReadableManufacturerPopulator;
+import com.salesmanager.shop.store.controller.ControllerConstants;
+import com.salesmanager.shop.utils.PageBuilderUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
@@ -13,16 +17,10 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import com.salesmanager.core.business.catalog.product.model.manufacturer.Manufacturer;
-import com.salesmanager.core.business.catalog.product.service.manufacturer.ManufacturerService;
-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.entity.catalog.manufacturer.ReadableManufacturer;
-import com.salesmanager.web.entity.shop.PageInformation;
-import com.salesmanager.web.populator.manufacturer.ReadableManufacturerPopulator;
-import com.salesmanager.web.shop.controller.ControllerConstants;
-import com.salesmanager.web.utils.PageBuilderUtils;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Locale;
 
 /**
  * Drives various product listings
@@ -44,9 +42,9 @@ public class ListItemsController {
 		
 		Language language = (Language)request.getAttribute("LANGUAGE");
 		
-		Manufacturer manufacturer = manufacturerService.getByUrl(store, language, url);
-		
-		
+		//Manufacturer manufacturer = manufacturerService.getByUrl(store, language, url); // this needs to be checked
+
+		Manufacturer manufacturer =null;
 		
 		if(manufacturer==null) {
 			LOGGER.error("No manufacturer found for url " + url);
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacadeImpl.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacadeImpl.java
index 06131ba..a89d28d 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacadeImpl.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/facade/OrderFacadeImpl.java
@@ -1,89 +1,67 @@
-package com.salesmanager.web.shop.controller.order.facade;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
+package com.salesmanager.shop.store.controller.order.facade;
+
+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.catalog.product.ProductService;
+import com.salesmanager.core.business.services.catalog.product.attribute.ProductAttributeService;
+import com.salesmanager.core.business.services.catalog.product.file.DigitalProductService;
+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.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.services.shipping.ShippingService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartService;
+import com.salesmanager.core.business.utils.CreditCardUtils;
+import com.salesmanager.core.model.common.Billing;
+import com.salesmanager.core.model.common.Delivery;
+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.*;
+import com.salesmanager.core.model.order.orderproduct.OrderProduct;
+import com.salesmanager.core.model.order.orderstatus.OrderStatus;
+import com.salesmanager.core.model.order.payment.CreditCard;
+import com.salesmanager.core.model.payments.*;
+import com.salesmanager.core.model.reference.country.Country;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.shipping.ShippingProduct;
+import com.salesmanager.core.model.shipping.ShippingQuote;
+import com.salesmanager.core.model.shipping.ShippingSummary;
+import com.salesmanager.core.model.shoppingcart.ShoppingCart;
+import com.salesmanager.core.model.shoppingcart.ShoppingCartItem;
+import com.salesmanager.shop.model.customer.Address;
+import com.salesmanager.shop.model.customer.PersistableCustomer;
+import com.salesmanager.shop.model.customer.ReadableCustomer;
+import com.salesmanager.shop.model.order.*;
+import com.salesmanager.shop.model.order.OrderTotal;
+import com.salesmanager.shop.populator.customer.CustomerPopulator;
+import com.salesmanager.shop.populator.customer.PersistableCustomerPopulator;
+import com.salesmanager.shop.populator.order.OrderProductPopulator;
+import com.salesmanager.shop.populator.order.ReadableOrderPopulator;
+import com.salesmanager.shop.populator.order.ReadableOrderProductPopulator;
+import com.salesmanager.shop.populator.order.ShoppingCartItemPopulator;
+import com.salesmanager.shop.store.controller.customer.facade.CustomerFacade;
+import com.salesmanager.shop.utils.ImageFilePath;
+import com.salesmanager.shop.utils.LabelUtils;
+import com.salesmanager.shop.utils.LocaleUtils;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.Validate;
 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.stereotype.Service;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
 import org.springframework.validation.ObjectError;
 
-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.catalog.product.service.file.DigitalProductService;
-import com.salesmanager.core.business.common.model.Billing;
-import com.salesmanager.core.business.common.model.Delivery;
-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.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.OrderCriteria;
-import com.salesmanager.core.business.order.model.OrderList;
-import com.salesmanager.core.business.order.model.OrderSummary;
-import com.salesmanager.core.business.order.model.OrderTotalSummary;
-import com.salesmanager.core.business.order.model.orderproduct.OrderProduct;
-import com.salesmanager.core.business.order.model.orderstatus.OrderStatus;
-import com.salesmanager.core.business.order.model.payment.CreditCard;
-import com.salesmanager.core.business.order.service.OrderService;
-import com.salesmanager.core.business.payments.model.CreditCardPayment;
-import com.salesmanager.core.business.payments.model.CreditCardType;
-import com.salesmanager.core.business.payments.model.Payment;
-import com.salesmanager.core.business.payments.model.PaymentType;
-import com.salesmanager.core.business.payments.model.Transaction;
-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.business.shipping.model.ShippingProduct;
-import com.salesmanager.core.business.shipping.model.ShippingQuote;
-import com.salesmanager.core.business.shipping.model.ShippingSummary;
-import com.salesmanager.core.business.shipping.service.ShippingService;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCart;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartService;
-import com.salesmanager.core.utils.CreditCardUtils;
-import com.salesmanager.web.entity.customer.Address;
-import com.salesmanager.web.entity.customer.PersistableCustomer;
-import com.salesmanager.web.entity.customer.ReadableCustomer;
-import com.salesmanager.web.entity.order.OrderEntity;
-import com.salesmanager.web.entity.order.OrderTotal;
-import com.salesmanager.web.entity.order.PersistableOrder;
-import com.salesmanager.web.entity.order.PersistableOrderProduct;
-import com.salesmanager.web.entity.order.ReadableOrder;
-import com.salesmanager.web.entity.order.ReadableOrderList;
-import com.salesmanager.web.entity.order.ReadableOrderProduct;
-import com.salesmanager.web.entity.order.ShopOrder;
-import com.salesmanager.web.populator.customer.CustomerPopulator;
-import com.salesmanager.web.populator.customer.PersistableCustomerPopulator;
-import com.salesmanager.web.populator.order.OrderProductPopulator;
-import com.salesmanager.web.populator.order.ReadableOrderPopulator;
-import com.salesmanager.web.populator.order.ReadableOrderProductPopulator;
-import com.salesmanager.web.populator.order.ShoppingCartItemPopulator;
-import com.salesmanager.web.shop.controller.customer.facade.CustomerFacade;
-import com.salesmanager.web.utils.ImageFilePath;
-import com.salesmanager.web.utils.LabelUtils;
-import com.salesmanager.web.utils.LocaleUtils;
-
-import edu.emory.mathcs.backport.java.util.Collections;
+import javax.inject.Inject;
+import java.util.*;
 
 @Service("orderFacade")
 public class OrderFacadeImpl implements OrderFacade {
@@ -237,8 +215,8 @@ public class OrderFacadeImpl implements OrderFacade {
 	private void setOrderTotals(OrderEntity order, OrderTotalSummary summary) {
 		
 		List<OrderTotal> totals = new ArrayList<OrderTotal>();
-		List<com.salesmanager.core.business.order.model.OrderTotal> orderTotals = summary.getTotals();
-		for(com.salesmanager.core.business.order.model.OrderTotal t : orderTotals) {
+		List<com.salesmanager.core.model.order.OrderTotal> orderTotals = summary.getTotals();
+		for(com.salesmanager.core.model.order.OrderTotal t : orderTotals) {
 			OrderTotal total = new OrderTotal();
 			total.setCode(t.getOrderTotalCode());
 			total.setTitle(t.getTitle());
@@ -312,13 +290,13 @@ public class OrderFacadeImpl implements OrderFacade {
 			modelOrder.setOrderProducts(orderProducts);
 			
 			OrderTotalSummary summary = order.getOrderTotalSummary();
-			List<com.salesmanager.core.business.order.model.OrderTotal> totals = summary.getTotals();
+			List<com.salesmanager.core.model.order.OrderTotal> totals = summary.getTotals();
 
 			//re-order totals
 			Collections.sort(
 					totals,
-					new Comparator<com.salesmanager.core.business.order.model.OrderTotal>() {
-					       public int compare(com.salesmanager.core.business.order.model.OrderTotal x, com.salesmanager.core.business.order.model.OrderTotal y) {
+					new Comparator<com.salesmanager.core.model.order.OrderTotal>() {
+					       public int compare(com.salesmanager.core.model.order.OrderTotal x, com.salesmanager.core.model.order.OrderTotal y) {
 					            if(x.getSortOrder()==y.getSortOrder())
 					            	return 0;
 					            return x.getSortOrder() < y.getSortOrder() ? -1 : 1;
@@ -326,8 +304,8 @@ public class OrderFacadeImpl implements OrderFacade {
 				
 			});
 			
-			Set<com.salesmanager.core.business.order.model.OrderTotal> modelTotals = new LinkedHashSet<com.salesmanager.core.business.order.model.OrderTotal>();
-			for(com.salesmanager.core.business.order.model.OrderTotal total : totals) {
+			Set<com.salesmanager.core.model.order.OrderTotal> modelTotals = new LinkedHashSet<com.salesmanager.core.model.order.OrderTotal>();
+			for(com.salesmanager.core.model.order.OrderTotal total : totals) {
 				total.setOrder(modelOrder);
 				modelTotals.add(total);
 			}
@@ -414,10 +392,10 @@ public class OrderFacadeImpl implements OrderFacade {
 					throw new ServiceException("payment.error");
 				}
 				
-				payment = new com.salesmanager.core.business.payments.model.PaypalPayment();
+				payment = new com.salesmanager.core.model.payments.PaypalPayment();
 				
-				((com.salesmanager.core.business.payments.model.PaypalPayment)payment).setPayerId(transaction.getTransactionDetails().get("PAYERID"));
-				((com.salesmanager.core.business.payments.model.PaypalPayment)payment).setPaymentToken(transaction.getTransactionDetails().get("TOKEN"));
+				((com.salesmanager.core.model.payments.PaypalPayment)payment).setPayerId(transaction.getTransactionDetails().get("PAYERID"));
+				((com.salesmanager.core.model.payments.PaypalPayment)payment).setPaymentToken(transaction.getTransactionDetails().get("TOKEN"));
 				
 				
 			}
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderConfirmationController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderConfirmationController.java
index 269feee..fb6cf31 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderConfirmationController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderConfirmationController.java
@@ -1,47 +1,45 @@
-package com.salesmanager.web.shop.controller.order;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+package com.salesmanager.shop.store.controller.order;
+
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.catalog.product.ProductService;
+import com.salesmanager.core.business.services.order.OrderService;
+import com.salesmanager.core.business.services.order.orderproduct.OrderProductDownloadService;
+import com.salesmanager.core.business.services.payments.PaymentService;
+import com.salesmanager.core.business.services.reference.country.CountryService;
+import com.salesmanager.core.business.services.reference.zone.ZoneService;
+import com.salesmanager.core.business.services.shipping.ShippingService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartService;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.order.Order;
+import com.salesmanager.core.model.order.orderproduct.OrderProductDownload;
+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.shop.constants.Constants;
+import com.salesmanager.shop.model.order.ReadableOrder;
+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.controller.shoppingCart.facade.ShoppingCartFacade;
+import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.catalog.product.service.ProductService;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.order.model.Order;
-import com.salesmanager.core.business.order.model.orderproduct.OrderProductDownload;
-import com.salesmanager.core.business.order.service.OrderService;
-import com.salesmanager.core.business.order.service.orderproduct.OrderProductDownloadService;
-import com.salesmanager.core.business.payments.service.PaymentService;
-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.zone.model.Zone;
-import com.salesmanager.core.business.reference.zone.service.ZoneService;
-import com.salesmanager.core.business.shipping.service.ShippingService;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartService;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.order.ReadableOrder;
-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.controller.shoppingCart.facade.ShoppingCartFacade;
-import com.salesmanager.web.utils.LabelUtils;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
 
 @Controller
 @RequestMapping(Constants.SHOP_URI+"/order")
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderController.java
index dac2bdb..7bd194e 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderController.java
@@ -1,23 +1,61 @@
-package com.salesmanager.web.shop.controller.order;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+package com.salesmanager.shop.store.controller.order;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.salesmanager.core.business.exception.ServiceException;
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+import com.salesmanager.core.business.services.catalog.product.ProductService;
+import com.salesmanager.core.business.services.customer.CustomerService;
+import com.salesmanager.core.business.services.order.OrderService;
+import com.salesmanager.core.business.services.order.orderproduct.OrderProductDownloadService;
+import com.salesmanager.core.business.services.payments.PaymentService;
+import com.salesmanager.core.business.services.reference.country.CountryService;
+import com.salesmanager.core.business.services.reference.zone.ZoneService;
+import com.salesmanager.core.business.services.shipping.ShippingService;
+import com.salesmanager.core.business.services.shoppingcart.ShoppingCartService;
+import com.salesmanager.core.model.catalog.product.Product;
+import com.salesmanager.core.model.common.Billing;
+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.OrderTotal;
+import com.salesmanager.core.model.order.OrderTotalSummary;
+import com.salesmanager.core.model.order.orderproduct.OrderProductDownload;
+import com.salesmanager.core.model.payments.PaymentMethod;
+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.reference.zone.Zone;
+import com.salesmanager.core.model.shipping.ShippingMetaData;
+import com.salesmanager.core.model.shipping.ShippingOption;
+import com.salesmanager.core.model.shipping.ShippingQuote;
+import com.salesmanager.core.model.shipping.ShippingSummary;
+import com.salesmanager.core.model.shoppingcart.ShoppingCartItem;
+import com.salesmanager.shop.admin.model.userpassword.UserReset;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.customer.AnonymousCustomer;
+import com.salesmanager.shop.model.customer.PersistableCustomer;
+import com.salesmanager.shop.model.customer.ReadableDelivery;
+import com.salesmanager.shop.model.order.ReadableOrderTotal;
+import com.salesmanager.shop.model.order.ReadableShippingSummary;
+import com.salesmanager.shop.model.order.ReadableShopOrder;
+import com.salesmanager.shop.model.order.ShopOrder;
+import com.salesmanager.shop.model.shoppingcart.ShoppingCartData;
+import com.salesmanager.shop.populator.customer.ReadableCustomerDeliveryAddressPopulator;
+import com.salesmanager.shop.populator.order.ReadableOrderTotalPopulator;
+import com.salesmanager.shop.populator.order.ReadableShippingSummaryPopulator;
+import com.salesmanager.shop.populator.order.ReadableShopOrderPopulator;
+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.controller.shoppingCart.facade.ShoppingCartFacade;
+import com.salesmanager.shop.utils.EmailTemplatesUtils;
+import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.Validate;
 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.authentication.AuthenticationManager;
 import org.springframework.security.authentication.encoding.PasswordEncoder;
 import org.springframework.security.core.Authentication;
@@ -25,63 +63,13 @@ import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.CookieValue;
-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.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.salesmanager.core.business.catalog.product.model.Product;
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-import com.salesmanager.core.business.catalog.product.service.ProductService;
-import com.salesmanager.core.business.common.model.Billing;
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.customer.service.CustomerService;
-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.OrderTotal;
-import com.salesmanager.core.business.order.model.OrderTotalSummary;
-import com.salesmanager.core.business.order.model.orderproduct.OrderProductDownload;
-import com.salesmanager.core.business.order.service.OrderService;
-import com.salesmanager.core.business.order.service.orderproduct.OrderProductDownloadService;
-import com.salesmanager.core.business.payments.model.PaymentMethod;
-import com.salesmanager.core.business.payments.model.Transaction;
-import com.salesmanager.core.business.payments.service.PaymentService;
-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.zone.model.Zone;
-import com.salesmanager.core.business.reference.zone.service.ZoneService;
-import com.salesmanager.core.business.shipping.model.ShippingMetaData;
-import com.salesmanager.core.business.shipping.model.ShippingOption;
-import com.salesmanager.core.business.shipping.model.ShippingQuote;
-import com.salesmanager.core.business.shipping.model.ShippingSummary;
-import com.salesmanager.core.business.shipping.service.ShippingService;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartService;
-import com.salesmanager.web.admin.entity.userpassword.UserReset;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.customer.AnonymousCustomer;
-import com.salesmanager.web.entity.customer.PersistableCustomer;
-import com.salesmanager.web.entity.customer.ReadableDelivery;
-import com.salesmanager.web.entity.order.ReadableOrderTotal;
-import com.salesmanager.web.entity.order.ReadableShippingSummary;
-import com.salesmanager.web.entity.order.ReadableShopOrder;
-import com.salesmanager.web.entity.order.ShopOrder;
-import com.salesmanager.web.entity.shoppingcart.ShoppingCartData;
-import com.salesmanager.web.populator.customer.ReadableCustomerDeliveryAddressPopulator;
-import com.salesmanager.web.populator.order.ReadableOrderTotalPopulator;
-import com.salesmanager.web.populator.order.ReadableShippingSummaryPopulator;
-import com.salesmanager.web.populator.order.ReadableShopOrderPopulator;
-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.controller.shoppingCart.facade.ShoppingCartFacade;
-import com.salesmanager.web.utils.EmailTemplatesUtils;
-import com.salesmanager.web.utils.LabelUtils;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.*;
 
 
 /**
@@ -171,7 +159,7 @@ public class ShoppingOrderController extends AbstractController {
 	
 		//Get the cart from the DB
 		String shoppingCartCode  = (String)request.getSession().getAttribute(Constants.SHOPPING_CART);
-		com.salesmanager.core.business.shoppingcart.model.ShoppingCart cart = null;
+		com.salesmanager.core.model.shoppingcart.ShoppingCart cart = null;
 	
 	    if(StringUtils.isBlank(shoppingCartCode)) {
 				
@@ -195,10 +183,10 @@ public class ShoppingOrderController extends AbstractController {
 	    }
 	    boolean allAvailables = true;
 	    //Filter items, delete unavailable
-        Set<com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem> availables = new HashSet<ShoppingCartItem>();
+        Set<com.salesmanager.core.model.shoppingcart.ShoppingCartItem> availables = new HashSet<ShoppingCartItem>();
         //Take out items no more available
-        Set<com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem> items = cart.getLineItems();
-        for(com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem item : items) {
+        Set<com.salesmanager.core.model.shoppingcart.ShoppingCartItem> items = cart.getLineItems();
+        for(com.salesmanager.core.model.shoppingcart.ShoppingCartItem item : items) {
         	
         	Long id = item.getProduct().getId();
         	Product p = productService.getById(id);
@@ -660,7 +648,7 @@ public class ShoppingOrderController extends AbstractController {
 					}
 					shoppingCartCode = merchantCookie[1];
 				}
-				com.salesmanager.core.business.shoppingcart.model.ShoppingCart cart = null;
+				com.salesmanager.core.model.shoppingcart.ShoppingCart cart = null;
 			
 			    if(StringUtils.isBlank(shoppingCartCode)) {
 					StringBuilder template = new StringBuilder().append(ControllerConstants.Tiles.Pages.timeout).append(".").append(store.getStoreTemplate());
@@ -927,7 +915,7 @@ public class ShoppingOrderController extends AbstractController {
 		try {
 
 			//re-generate cart
-			com.salesmanager.core.business.shoppingcart.model.ShoppingCart cart = shoppingCartFacade.getShoppingCartModel(shoppingCartCode, store);
+			com.salesmanager.core.model.shoppingcart.ShoppingCart cart = shoppingCartFacade.getShoppingCartModel(shoppingCartCode, store);
 	
 			
 			
@@ -1128,7 +1116,7 @@ public class ShoppingOrderController extends AbstractController {
 		try {
 
 			//re-generate cart
-			com.salesmanager.core.business.shoppingcart.model.ShoppingCart cart = shoppingCartFacade.getShoppingCartModel(shoppingCartCode, store);
+			com.salesmanager.core.model.shoppingcart.ShoppingCart cart = shoppingCartFacade.getShoppingCartModel(shoppingCartCode, store);
 
 			ReadableShopOrderPopulator populator = new ReadableShopOrderPopulator();
 			populator.populate(order, readableOrder, store, language);
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderDownloadController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderDownloadController.java
index 3b14018..368d94a 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderDownloadController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderDownloadController.java
@@ -1,11 +1,18 @@
-package com.salesmanager.web.shop.controller.order;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+package com.salesmanager.shop.store.controller.order;
 
+import com.salesmanager.core.business.services.content.ContentService;
+import com.salesmanager.core.business.services.order.OrderService;
+import com.salesmanager.core.business.services.order.orderproduct.OrderProductDownloadService;
+import com.salesmanager.core.model.content.FileContentType;
+import com.salesmanager.core.model.content.OutputContentFile;
+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.orderproduct.OrderProductDownload;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.store.controller.AbstractController;
 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.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -13,17 +20,9 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import com.salesmanager.core.business.content.model.FileContentType;
-import com.salesmanager.core.business.content.model.OutputContentFile;
-import com.salesmanager.core.business.content.service.ContentService;
-import com.salesmanager.core.business.customer.model.Customer;
-import com.salesmanager.core.business.merchant.model.MerchantStore;
-import com.salesmanager.core.business.order.model.Order;
-import com.salesmanager.core.business.order.model.orderproduct.OrderProductDownload;
-import com.salesmanager.core.business.order.service.OrderService;
-import com.salesmanager.core.business.order.service.orderproduct.OrderProductDownloadService;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.shop.controller.AbstractController;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 
 @Controller
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderPaymentController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderPaymentController.java
index d273cc3..ed0eb29 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderPaymentController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/order/ShoppingOrderPaymentController.java
@@ -1,61 +1,48 @@
-package com.salesmanager.web.shop.controller.order;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
+package com.salesmanager.shop.store.controller.order;
+
+import com.salesmanager.core.business.modules.integration.payment.impl.PayPalExpressCheckoutPayment;
+import com.salesmanager.core.business.services.catalog.product.PricingService;
+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.order.OrderService;
+import com.salesmanager.core.business.services.payments.PaymentService;
+import com.salesmanager.core.business.services.payments.TransactionService;
+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.ShoppingCartService;
+import com.salesmanager.core.business.utils.CoreConfiguration;
+import com.salesmanager.core.business.utils.ajax.AjaxResponse;
+import com.salesmanager.core.model.merchant.MerchantStore;
+import com.salesmanager.core.model.order.OrderTotalSummary;
+import com.salesmanager.core.model.payments.PaypalPayment;
+import com.salesmanager.core.model.payments.Transaction;
+import com.salesmanager.core.model.reference.language.Language;
+import com.salesmanager.core.model.shipping.ShippingSummary;
+import com.salesmanager.core.model.shoppingcart.ShoppingCartItem;
+import com.salesmanager.core.model.system.IntegrationConfiguration;
+import com.salesmanager.core.model.system.IntegrationModule;
+import com.salesmanager.core.modules.integration.payment.model.PaymentModule;
+import com.salesmanager.shop.constants.Constants;
+import com.salesmanager.shop.model.order.ShopOrder;
+import com.salesmanager.shop.store.controller.AbstractController;
+import com.salesmanager.shop.store.controller.order.facade.OrderFacade;
+import com.salesmanager.shop.store.controller.shoppingCart.facade.ShoppingCartFacade;
+import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.Validate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.mobile.device.Device;
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.BeanPropertyBindingResult;
-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.ResponseBody;
-
-import com.salesmanager.core.business.catalog.product.service.PricingService;
-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.merchant.model.MerchantStore;
-import com.salesmanager.core.business.order.model.OrderTotalSummary;
-import com.salesmanager.core.business.order.service.OrderService;
-import com.salesmanager.core.business.payments.model.PaypalPayment;
-import com.salesmanager.core.business.payments.model.Transaction;
-import com.salesmanager.core.business.payments.service.PaymentService;
-import com.salesmanager.core.business.payments.service.TransactionService;
-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.business.shipping.model.ShippingMetaData;
-import com.salesmanager.core.business.shipping.model.ShippingSummary;
-import com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem;
-import com.salesmanager.core.business.shoppingcart.service.ShoppingCartService;
-import com.salesmanager.core.business.system.model.IntegrationConfiguration;
-import com.salesmanager.core.business.system.model.IntegrationModule;
-import com.salesmanager.core.modules.integration.payment.impl.PayPalExpressCheckoutPayment;
-import com.salesmanager.core.modules.integration.payment.model.PaymentModule;
-import com.salesmanager.core.utils.CoreConfiguration;
-import com.salesmanager.core.utils.ajax.AjaxResponse;
-import com.salesmanager.web.constants.Constants;
-import com.salesmanager.web.entity.order.ShopOrder;
-import com.salesmanager.web.shop.controller.AbstractController;
-import com.salesmanager.web.shop.controller.order.facade.OrderFacade;
-import com.salesmanager.web.shop.controller.shoppingCart.facade.ShoppingCartFacade;
-import com.salesmanager.web.utils.LabelUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.mobile.device.Device;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.*;
 
 @Controller
 @RequestMapping(Constants.SHOP_URI)
@@ -136,7 +123,7 @@ public class ShoppingOrderPaymentController extends AbstractController {
 		try {
 			
 
-			com.salesmanager.core.business.shoppingcart.model.ShoppingCart cart = shoppingCartFacade.getShoppingCartModel(shoppingCartCode, store);
+			com.salesmanager.core.model.shoppingcart.ShoppingCart cart = shoppingCartFacade.getShoppingCartModel(shoppingCartCode, store);
 			
 			Set<ShoppingCartItem> items = cart.getLineItems();
 			List<ShoppingCartItem> cartItems = new ArrayList<ShoppingCartItem>(items);
@@ -214,7 +201,7 @@ public class ShoppingOrderPaymentController extends AbstractController {
 						
 						
 						
-						if(config.getEnvironment().equals(com.salesmanager.core.constants.Constants.PRODUCTION_ENVIRONMENT)) {
+						if(config.getEnvironment().equals(com.salesmanager.core.business.constants.Constants.PRODUCTION_ENVIRONMENT)) {
 							StringBuilder url = new StringBuilder().append(coreConfiguration.getProperty("PAYPAL_EXPRESSCHECKOUT_PRODUCTION")).append(urlAppender.toString());
 							ajaxResponse.addEntry("url", url.toString());
 						} else {
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/shoppingCart/facade/ShoppingCartFacade.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/shoppingCart/facade/ShoppingCartFacade.java
index 0e59f54..9e36367 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/shoppingCart/facade/ShoppingCartFacade.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/shoppingCart/facade/ShoppingCartFacade.java
@@ -1,16 +1,16 @@
 /**
  *
  */
-package com.salesmanager.web.shop.controller.shoppingCart.facade;
+package com.salesmanager.shop.store.controller.shoppingCart.facade;
 
-import java.util.List;
+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.model.shoppingcart.ShoppingCartData;
+import com.salesmanager.shop.model.shoppingcart.ShoppingCartItem;
 
-import com.salesmanager.core.business.customer.model.Customer;
-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.shoppingcart.ShoppingCartData;
-import com.salesmanager.web.entity.shoppingcart.ShoppingCartItem;
+import java.util.List;
 
 /**
  * </p>Shopping cart Facade which provide abstraction layer between