shopizer-developers
Changes
.project 17(+17 -0)
.settings/org.eclipse.m2e.core.prefs 4(+4 -0)
pom.xml 32(+32 -0)
shopizer-canadapost/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-canadapost-module/pom.properties 2(+1 -1)
shopizer-shipping-distance-module/target/classes/META-INF/maven/com.shopizer/shopizer-shipping-distance-processor/pom.properties 2(+1 -1)
sm-core/.gitignore 2(+2 -0)
sm-core/pom.xml 34(+1 -33)
sm-core/SALESMANAGER-TEST.h2.db 0(+0 -0)
sm-core/src/main/java/com/salesmanager/core/business/configuration/CoreApplicationConfiguration.java 2(+1 -1)
sm-shop/pom.xml 57(+14 -43)
sm-shop/src/main/java/com/salesmanager/shop/configuration/ShopApplicationConfiguration.java 16(+16 -0)
sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerBillingAddressPopulator.class 0(+0 -0)
sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerDeliveryAddressPopulator.class 0(+0 -0)
sm-shop/target/classes/com/salesmanager/shop/populator/customer/CustomerEntityPopulator.class 0(+0 -0)
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
.settings/org.eclipse.m2e.core.prefs 4(+4 -0)
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
sm-core/.gitignore 2(+2 -0)
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>
sm-core/SALESMANAGER-TEST.h2.db 0(+0 -0)
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