shopizer-developers

refactor shop

11/1/2016 12:42:20 PM

Changes

.project 17(+17 -0)

pom.xml 32(+32 -0)

sm-core/pom.xml 34(+1 -33)

sm-core/target/classes/spring/shopizer-context.xml 43(+0 -43)

sm-shop/pom.xml 57(+14 -43)

Details

.project 17(+17 -0)

diff --git a/.project b/.project
new file mode 100644
index 0000000..9ece14e
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>shopizer</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1

pom.xml 32(+32 -0)

diff --git a/pom.xml b/pom.xml
index fe5d6f5..0ef5e13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,6 +32,8 @@
         <commons-validator.version>1.5.1</commons-validator.version>
         <org.apache.httpcomponent.version>4.5.2</org.apache.httpcomponent.version>
         <infinispan.version>6.0.2.Final</infinispan.version>
+        <javax.inject.version>1</javax.inject.version>
+		<javax.el.version>2.2.4</javax.el.version>
         <!-- DON'T AS IT OVERWRITES SPRING -->
         <!--<spring.version>4.2.1.RELEASE</spring.version>-->
         <!--<spring-data.version>Gosling-RELEASE</spring-data.version>-->
@@ -39,8 +41,38 @@
 
     <dependencies>
     
+		<dependency>
+   			<groupId>javax.el</groupId>
+   			<artifactId>javax.el-api</artifactId>
+   			<version>${javax.el.version}</version>
+		</dependency>
 
+		<!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
+		<dependency>
+		    <groupId>javax.inject</groupId>
+		    <artifactId>javax.inject</artifactId>
+		    <version>${javax.inject.version}</version>
+		</dependency>
 
+		<dependency>
+		    <groupId>javax.validation</groupId>
+		    <artifactId>validation-api</artifactId>
+		    <version>1.1.0.Final</version>
+		</dependency>
+		
+		
+		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
+		<dependency>
+		    <groupId>com.fasterxml.jackson.core</groupId>
+		    <artifactId>jackson-core</artifactId>
+		</dependency>
+		
+		<!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache -->
+		<dependency>
+		    <groupId>net.sf.ehcache</groupId>
+		    <artifactId>ehcache</artifactId>
+		</dependency>
+		
     </dependencies>
 
 	<modules>
diff --git a/shopizer-canadapost/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-canadapost-module/pom.properties b/shopizer-canadapost/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-canadapost-module/pom.properties
index 1887539..95f5cf2 100644
--- a/shopizer-canadapost/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-canadapost-module/pom.properties
+++ b/shopizer-canadapost/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-canadapost-module/pom.properties
@@ -1,5 +1,5 @@
 #Generated by Maven Integration for Eclipse
-#Mon Oct 31 09:31:59 EDT 2016
+#Tue Nov 01 09:22:10 EDT 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=shopizer-canadapost
diff --git a/shopizer-shipping-distance-module/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-distance-processor/pom.properties b/shopizer-shipping-distance-module/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-distance-processor/pom.properties
index 9c22a6f..d0bad99 100644
--- a/shopizer-shipping-distance-module/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-distance-processor/pom.properties
+++ b/shopizer-shipping-distance-module/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-distance-processor/pom.properties
@@ -1,5 +1,5 @@
 #Generated by Maven Integration for Eclipse
-#Mon Oct 31 12:08:47 EDT 2016
+#Tue Nov 01 09:22:09 EDT 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=shopizer-shipping-distance-processor
diff --git a/sm-core/.gitignore b/sm-core/.gitignore
new file mode 100644
index 0000000..62ba893
--- /dev/null
+++ b/sm-core/.gitignore
@@ -0,0 +1,2 @@
+/SALESMANAGER-TEST.h2.db
+/SALESMANAGER-TEST.trace.db
diff --git a/sm-core/files/store/StoreRepository.dat b/sm-core/files/store/StoreRepository.dat
index 8da2fe1..819e524 100644
Binary files a/sm-core/files/store/StoreRepository.dat and b/sm-core/files/store/StoreRepository.dat differ

sm-core/pom.xml 34(+1 -33)

diff --git a/sm-core/pom.xml b/sm-core/pom.xml
index 6f16889..72a0c7f 100644
--- a/sm-core/pom.xml
+++ b/sm-core/pom.xml
@@ -50,7 +50,7 @@
 			<version>${shopizer.search.version}</version>
 		</dependency>
 		
-		    	<!-- shipping rules -->
+		<!-- shipping rules -->
 		<!-- shipping distance pre-processor -->
  		<dependency>
 			<groupId>com.shopizer</groupId>
@@ -65,12 +65,6 @@
 			<version>${shopizer-canadapost.version}</version>
 		</dependency>
 
-		<dependency>
-   			<groupId>javax.el</groupId>
-   			<artifactId>javax.el-api</artifactId>
-   			<version>${javax.el.version}</version>
-		</dependency>
-		
 		<!-- Rules engine -->
 		<dependency>
 			<groupId>org.drools</groupId>
@@ -110,32 +104,6 @@
 			<artifactId>h2</artifactId>
 			<!--<version>${dbh2.version}</version>-->
 		</dependency>	
-		
-		<!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
-		<dependency>
-		    <groupId>javax.inject</groupId>
-		    <artifactId>javax.inject</artifactId>
-		    <version>${javax.inject.version}</version>
-		</dependency>
-		
-		<dependency>
-		    <groupId>javax.validation</groupId>
-		    <artifactId>validation-api</artifactId>
-		    <version>1.1.0.Final</version>
-		</dependency>
-			
-		<!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache -->
-		<dependency>
-		    <groupId>net.sf.ehcache</groupId>
-		    <artifactId>ehcache</artifactId>
-		</dependency>
-
-
-		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
-		<dependency>
-		    <groupId>com.fasterxml.jackson.core</groupId>
-		    <artifactId>jackson-core</artifactId>
-		</dependency>
 
 		<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
 		<dependency>
diff --git a/sm-core/SALESMANAGER-TEST.h2.db b/sm-core/SALESMANAGER-TEST.h2.db
index 9f1f157..7c38236 100644
Binary files a/sm-core/SALESMANAGER-TEST.h2.db and b/sm-core/SALESMANAGER-TEST.h2.db differ
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/configuration/CoreApplicationConfiguration.java b/sm-core/src/main/java/com/salesmanager/core/business/configuration/CoreApplicationConfiguration.java
index c0ac8a0..3177db2 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/configuration/CoreApplicationConfiguration.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/configuration/CoreApplicationConfiguration.java
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.ImportResource;
 @Configuration
 @EnableAutoConfiguration
 @EntityScan(basePackages = {"com.salesmanager.core.model"})
-@ImportResource("spring/shopizer-context.xml")
+@ImportResource("spring/shopizer-core-context.xml")
 public class CoreApplicationConfiguration {
 
 }
diff --git a/sm-core/src/test/resources/spring/test-shopizer-context.xml b/sm-core/src/test/resources/spring/test-shopizer-context.xml
index a5e84d6..5aa64db 100644
--- a/sm-core/src/test/resources/spring/test-shopizer-context.xml
+++ b/sm-core/src/test/resources/spring/test-shopizer-context.xml
@@ -21,7 +21,7 @@
         
         
 
-  <beans:import resource="classpath:/spring/shopizer-context.xml" />
+  <beans:import resource="classpath:/spring/shopizer-core-context.xml" />
 
 
   <beans:bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
diff --git a/sm-core/target/test-classes/spring/test-shopizer-context.xml b/sm-core/target/test-classes/spring/test-shopizer-context.xml
index a5e84d6..5aa64db 100644
--- a/sm-core/target/test-classes/spring/test-shopizer-context.xml
+++ b/sm-core/target/test-classes/spring/test-shopizer-context.xml
@@ -21,7 +21,7 @@
         
         
 
-  <beans:import resource="classpath:/spring/shopizer-context.xml" />
+  <beans:import resource="classpath:/spring/shopizer-core-context.xml" />
 
 
   <beans:bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
diff --git a/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.properties b/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.properties
index 25ae38b..f71f9e4 100644
--- a/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.properties
+++ b/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.properties
@@ -1,5 +1,5 @@
 #Generated by Maven Integration for Eclipse
-#Mon Oct 31 12:08:48 EDT 2016
+#Tue Nov 01 09:22:10 EDT 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-search

sm-shop/pom.xml 57(+14 -43)

diff --git a/sm-shop/pom.xml b/sm-shop/pom.xml
index 8a05dfb..8d3d264 100644
--- a/sm-shop/pom.xml
+++ b/sm-shop/pom.xml
@@ -19,8 +19,6 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<!-- testing properties -->
 		<!--<dbh2.version>1.4.187</dbh2.version>-->
-		<javax.inject.version>1</javax.inject.version>
-		<javax.el.version>2.2.4</javax.el.version>
 	</properties>
 
 	<dependencies>
@@ -46,26 +44,13 @@
 			<artifactId>sm-search</artifactId>
 			<version>${shopizer.search.version}</version>
 		</dependency>
-		
-
 
-		<dependency>
-   			<groupId>javax.el</groupId>
-   			<artifactId>javax.el-api</artifactId>
-   			<version>${javax.el.version}</version>
-		</dependency>
-		
     	<!--  Spring boot  -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
-        
-        <!-- Spring JDBC -->
-        <dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-jdbc</artifactId>
-		</dependency>
+
         
  		<dependency>
 	        <groupId>org.springframework.boot</groupId>
@@ -73,11 +58,18 @@
 	    </dependency>
 
 
-			<dependency>
-				<groupId>org.springframework.mobile</groupId>
-				<artifactId>spring-mobile-device</artifactId>
-				<version>${spring-mobile-device-version}</version>
-			</dependency>
+		<dependency>
+			<groupId>org.springframework.mobile</groupId>
+			<artifactId>spring-mobile-device</artifactId>
+			<version>${spring-mobile-device-version}</version>
+		</dependency>
+		
+		<!-- Add Apache Tiles into the mix -->
+        <dependency>
+            <groupId>org.apache.tiles</groupId>
+            <artifactId>tiles-jsp</artifactId>
+            <version>3.0.4</version>
+        </dependency>
 
 
         <!-- H2 session -->
@@ -85,34 +77,13 @@
 			<groupId>com.h2database</groupId>
 			<artifactId>h2</artifactId>
 		</dependency>	
-		
-		<!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
-		<dependency>
-		    <groupId>javax.inject</groupId>
-		    <artifactId>javax.inject</artifactId>
-		    <version>${javax.inject.version}</version>
-		</dependency>
-		
+
 		<dependency>
 		    <groupId>javax.validation</groupId>
 		    <artifactId>validation-api</artifactId>
 		    <version>1.1.0.Final</version>
 		</dependency>
-			
-		<!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache -->
-		<dependency>
-		    <groupId>net.sf.ehcache</groupId>
-		    <artifactId>ehcache</artifactId>
-		</dependency>
-
-
-		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
-		<dependency>
-		    <groupId>com.fasterxml.jackson.core</groupId>
-		    <artifactId>jackson-core</artifactId>
-		</dependency>
 
-	
 		<!-- Servlet -->
 		<dependency>
 			<groupId>javax.servlet</groupId>
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/configuration/ShopApplicationConfiguration.java b/sm-shop/src/main/java/com/salesmanager/shop/configuration/ShopApplicationConfiguration.java
new file mode 100644
index 0000000..53f74f6
--- /dev/null
+++ b/sm-shop/src/main/java/com/salesmanager/shop/configuration/ShopApplicationConfiguration.java
@@ -0,0 +1,16 @@
+package com.salesmanager.shop.configuration;
+
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.ImportResource;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+
+@Configuration
+@ComponentScan("com.salesmanager.shop.*")
+@EnableWebMvc
+@EnableAutoConfiguration
+@ImportResource({"spring/shopizer-shop-context.xml","spring/shopizer-core-context.xml"})
+public class ShopApplicationConfiguration {
+
+}
diff --git a/sm-shop/src/main/resources/spring/shopizer-controllers.xml b/sm-shop/src/main/resources/spring/shopizer-controllers.xml
new file mode 100644
index 0000000..e531001
--- /dev/null
+++ b/sm-shop/src/main/resources/spring/shopizer-controllers.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:mvc="http://www.springframework.org/schema/mvc"
+	xmlns:task="http://www.springframework.org/schema/task"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+		http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
+		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
+
+	
+	<context:annotation-config />
+	<!--
+	<context:component-scan base-package="com.salesmanager.shop" />
+	<context:component-scan base-package="com.salesmanager.core.business" />
+	<context:component-scan base-package="com.salesmanager.core.utils" />
+	-->
+	
+	<!-- Async -->
+	<bean id="executorService" class="java.util.concurrent.Executors"
+    	factory-method="newFixedThreadPool">
+    	<constructor-arg value="10" />
+	</bean>
+	
+	
+	<task:executor id="threadPoolTaskExecutor" pool-size="10" />
+	<task:annotation-driven executor="executorService" />
+	
+	<!-- Spring 3.2 content negociation 406 error issue (NOT WORKING) -->
+	<!--
+	<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/>
+	<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
+	    <property name="favorPathExtension" value="false" />
+	    <property name="mediaTypes" >
+        	<value>
+            	json=application/json
+         	</value>
+    	</property>
+	</bean>
+	-->
+	
+	<!-- Maps '/' requests to the 'home' view -->
+	<mvc:view-controller path="/" view-name="shop"/>
+	
+
+	<mvc:interceptors>     
+		<!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de -->    
+		<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
+		
+		 <mvc:interceptor>
+  			<mvc:mapping path="/shop/**"/>
+  			<bean class="com.salesmanager.web.filter.StoreFilter"/>
+ 		</mvc:interceptor>
+ 		
+ 		
+ 		<mvc:interceptor>
+  			<mvc:mapping path="/customer/**"/>
+  			<bean class="com.salesmanager.web.filter.StoreFilter"/>
+ 		</mvc:interceptor>
+		
+		
+ 		<mvc:interceptor>
+  			<mvc:mapping path="/admin/**"/>
+  			<bean class="com.salesmanager.web.filter.AdminFilter" />
+ 		</mvc:interceptor>
+	</mvc:interceptors>
+	
+
+	 
+</beans>
\ No newline at end of file
diff --git a/sm-shop/src/main/resources/spring/shopizer-properties.xml b/sm-shop/src/main/resources/spring/shopizer-properties.xml
new file mode 100644
index 0000000..4fd2d1d
--- /dev/null
+++ b/sm-shop/src/main/resources/spring/shopizer-properties.xml
@@ -0,0 +1,75 @@
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"
+	xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task"
+	xmlns:util="http://www.springframework.org/schema/util"
+	xsi:schemaLocation="
+   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
+   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+   http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
+   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
+   http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
+   http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+
+	
+	<!-- 
+		image template bootstrap 350 x 376
+		image template bootstrap3 350 x 376
+		image template exotica 400 x 400
+	 -->
+
+
+	<util:properties id="shopizer-properties">
+    			<prop key="MULTIPLE_PRICE_AVAILABILITY">false</prop>
+    			<prop key="INDEX_PRODUCTS">true</prop>
+				<!-- Images -->
+				<prop key="PRODUCT_IMAGE_WIDTH_SIZE">400</prop>
+				<prop key="PRODUCT_IMAGE_HEIGHT_SIZE">400</prop>
+				<prop key="CROP_UPLOADED_IMAGES">false</prop>
+				
+				<!-- upload image validations -->
+				<prop key="PRODUCT_IMAGE_MAX_HEIGHT_SIZE">2000</prop>
+				<prop key="PRODUCT_IMAGE_MAX_WIDTH_SIZE">4000</prop>
+				<prop key="PRODUCT_IMAGE_MAX_SIZE">9000000</prop>
+				<prop key="IMAGE_FORMATS">jpg|png|gif</prop>
+				
+				<prop key="POPULATE_TEST_DATA">false</prop>
+				<prop key="SHOP_SCHEME">http</prop>
+				<!-- when removing the context path from the url put that value to blank (nothing) -->
+				<prop key="CONTEXT_PATH">/sm-shop</prop>
+				<prop key="URL_EXTENSION">.html</prop>
+				<!-- Google maps key -->
+				<prop key="shopizer.googlemaps_key">YOUR-KEY-HERE</prop>
+				<!-- #https://www.google.com/recaptcha/admin/create -->
+				<!-- to be used with localhost
+				<prop key="shopizer.recapatcha_public_key">6LefQwsTAAAAAJWgJfNq_LgUwYunqct2x-EBr_CY</prop>
+				<prop key="shopizer.recapatcha_private_key">6LefQwsTAAAAAM667PyQxTLkSfQ4P0YYeN5DQDTc</prop>
+				<prop key="shopizer.recapatcha_url"><![CDATA[https://www.google.com/recaptcha/api/siteverify]]></prop>
+				-->
+				<!-- express checkout url -->
+				<prop key="PAYPAL_EXPRESSCHECKOUT_SANDBOX"><![CDATA[https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=]]></prop>
+				<prop key="PAYPAL_EXPRESSCHECKOUT_PRODUCTION"><![CDATA[https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=]]></prop>
+				<prop key="PAYPAL_EXPRESSCHECKOUT_REGULAR"><![CDATA[_express-checkout&token=]]></prop>
+				<prop key="PAYPAL_EXPRESSCHECKOUT_MOBILE"><![CDATA[_express-checkout-mobile&token=]]></prop>
+	</util:properties>
+	
+	
+	<!-- templates -->
+	<!-- Add new templates in the list, should point to pages/shop/templates and resources/templates -->
+	<util:list id="templates" value-type="java.lang.String">
+		<value>bootstrap</value>
+		<value>bootstrap3</value>
+		<value>exoticamobilia</value>
+    </util:list>
+    
+    <bean id="initData" class="com.salesmanager.web.init.data.InitStoreData"/>
+
+	
+ 
+ 
+ 
+	
+ 
+
+	
+	
+</beans>
\ No newline at end of file
diff --git a/sm-shop/src/main/resources/spring/shopizer-security.xml b/sm-shop/src/main/resources/spring/shopizer-security.xml
new file mode 100644
index 0000000..ba8e66d
--- /dev/null
+++ b/sm-shop/src/main/resources/spring/shopizer-security.xml
@@ -0,0 +1,129 @@
+<beans:beans xmlns="http://www.springframework.org/schema/security"
+	xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+	http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+	http://www.springframework.org/schema/jdbc
+	http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
+	http://www.springframework.org/schema/security
+	http://www.springframework.org/schema/security/spring-security-3.1.xsd">
+
+
+	<global-method-security secured-annotations="enabled" jsr250-annotations="enabled" pre-post-annotations="enabled"/>
+
+	<beans:bean id="customerFacade" class="com.salesmanager.web.shop.controller.customer.facade.CustomerFacadeImpl">
+	</beans:bean>
+	
+	<!-- JDBC Customer details -->
+	<beans:bean id="customerDetailsService"
+		class="com.salesmanager.web.services.security.CustomerServicesImpl">
+	</beans:bean>
+
+	<!-- JDBC User details -->
+	<beans:bean id="userDetailsService"
+		class="com.salesmanager.web.admin.security.UserServicesImpl">
+	</beans:bean>
+	
+	<beans:bean id="passwordEncoder"
+		class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
+	</beans:bean>
+	
+	<beans:bean id="adminAccessDenied"
+		class="com.salesmanager.web.utils.AdminAccessDeniedHandler">
+		<beans:property name="accessDeniedUrl" value="/admin/denied.html" />
+	</beans:bean>
+
+	
+	<!-- updates last user logon timestamp -->
+	<beans:bean id="userAuthenticationSuccessHandler" class="com.salesmanager.web.admin.security.UserAuthenticationSuccessHandler">
+	</beans:bean>
+	
+	
+	<beans:bean id="servicesAuthenticationSuccessHandler" class="com.salesmanager.web.services.security.ServicesAuthenticationSuccessHandler">
+	</beans:bean>
+	
+	<beans:bean id="servicesAuthenticationEntryPoint" class="com.salesmanager.web.services.security.ServicesAuthenticationEntryPoint">
+	</beans:bean>
+	
+	
+	
+	<http pattern="/admin/**" auto-config="true" use-expressions="true" authentication-manager-ref="userAuthenticationManager">
+		<intercept-url pattern="/admin/logon.html*" access="permitAll" />
+		<intercept-url pattern="/admin/denied.html" access="permitAll" />
+		<intercept-url pattern="/admin/unauthorized.html" access="permitAll" />
+		<intercept-url pattern="/admin/users/resetPassword.html*" access="permitAll" />
+		<intercept-url pattern="/admin/users/resetPasswordSecurityQtn.html*" access="permitAll" /> 
+		<intercept-url pattern="/admin" access="hasRole('AUTH')" />
+		<intercept-url pattern="/admin/" access="hasRole('AUTH')" />
+		<intercept-url pattern="/admin/*.html*" access="hasRole('AUTH')" />
+		<intercept-url pattern="/admin/*/*.html*" access="hasRole('AUTH')" />
+		<intercept-url pattern="/admin/*/*/*.html*" access="hasRole('AUTH')" />
+
+		
+		<form-login 
+			login-processing-url="/admin/j_spring_security_check" 
+			login-page="/admin/logon.html"
+			authentication-success-handler-ref="userAuthenticationSuccessHandler"
+			authentication-failure-url="/admin/logon.html?login_error=true"
+			default-target-url="/admin/home.html" />
+			
+			
+		<logout invalidate-session="true" 
+			logout-success-url="/admin/home.html" 
+			logout-url="/admin/j_spring_security_logout" />
+		<access-denied-handler ref="adminAccessDenied"/>
+	</http>
+	
+
+	
+	<http pattern="/shop/**" auto-config="true" use-expressions="true" authentication-manager-ref="customerAuthenticationManager">
+
+		<intercept-url pattern="/shop" access="permitAll" />
+		<intercept-url pattern="/shop/" access="permitAll" />
+		<intercept-url pattern="/shop/**" access="permitAll" />
+		<intercept-url pattern="/shop/customer/logon.html*" access="permitAll" />
+		<intercept-url pattern="/shop/customer/registration.html*" access="permitAll" />
+		<intercept-url pattern="/shop/customer/customLogon.html*" access="permitAll" />
+		<intercept-url pattern="/shop/customer/denied.html" access="permitAll" />
+		<intercept-url pattern="/shop/customer/j_spring_security_check" access="permitAll" />
+		<intercept-url pattern="/shop/customer" access="hasRole('AUTH_CUSTOMER')" />
+		<intercept-url pattern="/shop/customer/" access="hasRole('AUTH_CUSTOMER')" />
+		<intercept-url pattern="/shop/customer/*.html*" access="hasRole('AUTH_CUSTOMER')" />
+		<intercept-url pattern="/shop/customer/*.html*" access="hasRole('AUTH_CUSTOMER')" />
+		<intercept-url pattern="/shop/customer/*/*.html*" access="hasRole('AUTH_CUSTOMER')" />
+		<intercept-url pattern="/shop/customer/*/*/*.html*" access="hasRole('AUTH_CUSTOMER')" />
+
+			
+		<logout invalidate-session="false" 
+			logout-success-url="/shop/" 
+			logout-url="/shop/customer/j_spring_security_logout" />
+		<access-denied-handler error-page="/shop/"/>
+	</http>
+	
+	
+	<!-- REST services -->
+	<http pattern="/services/**" create-session="stateless" use-expressions="true" authentication-manager-ref="userAuthenticationManager" entry-point-ref="servicesAuthenticationEntryPoint">
+      <intercept-url pattern="/services/private/**" access="hasRole('AUTH')"/>
+      <intercept-url pattern="/services/public/**" access="permitAll"/>
+      <form-login authentication-success-handler-ref="servicesAuthenticationSuccessHandler" />
+      <http-basic />
+    </http>
+   
+	
+	
+	<authentication-manager id="userAuthenticationManager">
+		<authentication-provider user-service-ref="userDetailsService">
+			<password-encoder hash="sha" />
+		</authentication-provider>
+		
+	</authentication-manager>
+	
+	<authentication-manager id="customerAuthenticationManager">
+		<authentication-provider user-service-ref="customerDetailsService">
+			<password-encoder hash="sha" />
+		</authentication-provider>
+		
+	</authentication-manager>
+
+
+
+</beans:beans>
\ No newline at end of file
diff --git a/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml b/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml
new file mode 100644
index 0000000..63df941
--- /dev/null
+++ b/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans:beans xmlns="http://www.springframework.org/schema/mvc"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:beans="http://www.springframework.org/schema/beans"
+	xmlns:task="http://www.springframework.org/schema/task"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xsi:schemaLocation="
+        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+
+	<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
+
+	<!-- Enables the Spring MVC @Controller programming model -->
+	<annotation-driven>
+
+		<!-- Device object in controller method -->
+		<argument-resolvers>
+        	<beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
+    	</argument-resolvers>
+		
+		<message-converters >
+	        <beans:bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter">
+	            <beans:property name="supportedMediaTypes">
+	                <beans:list>
+	                    <beans:value>image/jpeg</beans:value>
+	                    <beans:value>image/gif</beans:value>
+	                    <beans:value>image/png</beans:value>
+	                </beans:list>
+	            </beans:property>
+	        </beans:bean>
+    	</message-converters>
+
+	</annotation-driven>
+
+	<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources/ directory -->
+	<resources mapping="/resources/**" location="/resources/" />
+	
+	<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
+ 		<beans:property name="viewClass">
+  			<beans:value>org.springframework.web.servlet.view.tiles2.TilesView</beans:value> 
+  		</beans:property>
+  	</beans:bean>
+
+
+	<beans:bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
+ 			<beans:property name="definitions">
+ 				<beans:list>
+  					<beans:value>/WEB-INF/tiles/tiles-admin.xml</beans:value>
+  					<beans:value>/WEB-INF/tiles/tiles-shop.xml</beans:value>
+  				</beans:list>
+  			</beans:property>
+  	</beans:bean>
+
+	<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
+	<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
+		<beans:property name="prefix" value="/WEB-INF/views/" />
+		<beans:property name="suffix" value=".jsp" />
+	</beans:bean>
+	
+
+	<!-- Only needed because we require fileupload in the org.springframework.samples.mvc.fileupload package -->
+	<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
+		<beans:property name="maxUploadSize" value="10000000"/>
+	</beans:bean>
+	
+	
+	<beans:bean id="localeResolver"
+        class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
+        <beans:property name="defaultLocale" value="en"></beans:property>
+    </beans:bean>
+	
+	<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
+		<beans:property name="basenames">
+			<beans:list>
+  				<beans:value>classpath:bundles/shopizer</beans:value>
+  				<beans:value>classpath:bundles/messages</beans:value>
+  				<beans:value>classpath:bundles/shipping</beans:value>
+  				<beans:value>classpath:bundles/payment</beans:value>    
+  			</beans:list>
+  		</beans:property>
+  		<beans:property name="defaultEncoding" value="UTF-8"/>
+  	</beans:bean>
+
+	
+	<beans:bean id="messages" class="com.salesmanager.shop.utils.LabelUtils">
+	</beans:bean>
+	
+	<!-- load images from local web server [com.salesmanager.web.utils.LocalImageFilePathUtils] -->
+	<beans:bean id="img" class="com.salesmanager.shop.utils.LocalImageFilePathUtils">
+		<beans:property name="basePath" value="/sm-shop/static" />
+		<!-- /static --><!-- /sm-shop/static -->
+	</beans:bean>
+	
+
+	<beans:import resource="controllers.xml" />
+	
+</beans:beans>
\ No newline at end of file
diff --git a/sm-shop/src/main/resources/spring/shopizer-shop-context.xml b/sm-shop/src/main/resources/spring/shopizer-shop-context.xml
new file mode 100644
index 0000000..57eca12
--- /dev/null
+++ b/sm-shop/src/main/resources/spring/shopizer-shop-context.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans 
+  http://www.springframework.org/schema/beans/spring-beans.xsd"> 	
+  
+    <!-- controllers -->
+  	<beans:import resource="classpath:/spring/shopizer-controllers.xml" />
+  	<!-- properties -->
+  	<beans:import resource="classpath:/spring/shopizer-properties.xml" />
+  	<!-- security -->
+<!--   	<beans:import resource="classpath:/spring/shopizer-security.xml" /> -->
+  	<!-- servlet-context -->
+  	<beans:import resource="classpath:/spring/shopizer-servlet-context.xml" />
+	
+</beans:beans>
diff --git a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerBillingAddressPopulator.class b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerBillingAddressPopulator.class
index 8f1d36d..78fda20 100644
Binary files a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerBillingAddressPopulator.class and b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerBillingAddressPopulator.class differ
diff --git a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerDeliveryAddressPopulator.class b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerDeliveryAddressPopulator.class
index e812413..80b4d9a 100644
Binary files a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerDeliveryAddressPopulator.class and b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerDeliveryAddressPopulator.class differ
diff --git a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerEntityPopulator.class b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerEntityPopulator.class
index 603320f..2750625 100644
Binary files a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerEntityPopulator.class and b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerEntityPopulator.class differ
diff --git a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerOptionPopulator.class b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerOptionPopulator.class
index f3be656..153010d 100644
Binary files a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerOptionPopulator.class and b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerOptionPopulator.class differ
diff --git a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerPopulator.class b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerPopulator.class
index 3b97392..75db926 100644
Binary files a/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerPopulator.class and b/sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerPopulator.class differ
diff --git a/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties b/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties
index dd865a5..3b9a5e3 100644
--- a/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties
+++ b/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties
@@ -1,5 +1,5 @@
 #Generated by Maven Integration for Eclipse
-#Mon Oct 31 12:27:50 EDT 2016
+#Tue Nov 01 10:41:25 EDT 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-shop