shopizer-uncached

Details

pom.xml 5(+3 -2)

diff --git a/pom.xml b/pom.xml
index ec98689..9e64e5a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,7 @@
 				    <groupId>com.fasterxml.jackson.core</groupId>
 				    <artifactId>jackson-databind</artifactId>
 				    <version>${jackson-version}</version>
-				    <exclusions>
+<!-- 				    <exclusions>
 				        <exclusion>
 				            <groupId>com.fasterxml.jackson.core</groupId>
 				            <artifactId>jackson-core</artifactId>
@@ -79,8 +79,9 @@
 				            <groupId>com.fasterxml.jackson.core</groupId>
 				            <artifactId>jackson-annotations</artifactId>
 				        </exclusion>
-				    </exclusions>
+				    </exclusions> -->
 				</dependency>
+				
 				<dependency>
 				    <groupId>com.fasterxml.jackson.core</groupId>
 				    <artifactId>jackson-core</artifactId>
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 3134119..fc17b83 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
-#Tue Nov 15 09:14:26 EST 2016
+#Wed Nov 16 12:04:30 EST 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 89abda5..42a2c87 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
-#Tue Nov 15 13:08:48 EST 2016
+#Wed Nov 16 12:04:29 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=shopizer-shipping-distance-processor
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/order/OrderRepositoryImpl.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/order/OrderRepositoryImpl.java
index feb3544..052fa18 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/order/OrderRepositoryImpl.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/order/OrderRepositoryImpl.java
@@ -26,8 +26,9 @@ public class OrderRepositoryImpl implements OrderRepositoryCustom {
 		StringBuilder countBuilderSelect = new StringBuilder();
 		StringBuilder objectBuilderSelect = new StringBuilder();
 		
-		String baseQuery = "select count(o) from Order as o";
-		countBuilderSelect.append(baseQuery);
+		String countBaseQuery = "select count(o) from Order as o";
+		String baseQuery = "select o from Order as o";
+		countBuilderSelect.append(countBaseQuery);
 		objectBuilderSelect.append(baseQuery);
 		
 		StringBuilder countBuilderWhere = new StringBuilder();
diff --git a/sm-core-model/src/main/java/com/salesmanager/core/model/system/MerchantConfig.java b/sm-core-model/src/main/java/com/salesmanager/core/model/system/MerchantConfig.java
index f29d8aa..2435713 100644
--- a/sm-core-model/src/main/java/com/salesmanager/core/model/system/MerchantConfig.java
+++ b/sm-core-model/src/main/java/com/salesmanager/core/model/system/MerchantConfig.java
@@ -26,6 +26,7 @@ public class MerchantConfig implements Serializable, JSONAware {
 	private boolean allowPurchaseItems = true;
 	private boolean displaySearchBox = true;
 	private boolean testMode = false;
+	private boolean debugMode = false;
 	
 	/** Store default search json config **/
 	private Map<String,Boolean> useDefaultSearchConfig= new HashMap<String,Boolean>();//language code | true or false
@@ -43,6 +44,7 @@ public class MerchantConfig implements Serializable, JSONAware {
 		data.put("allowPurchaseItems", this.isAllowPurchaseItems());
 		data.put("displaySearchBox", this.displaySearchBox);
 		data.put("testMode", this.isTestMode());
+		data.put("debugMode", this.isDebugMode());
 		
 		if(useDefaultSearchConfig!=null) {
 			JSONObject obj = new JSONObject();
@@ -151,4 +153,12 @@ public class MerchantConfig implements Serializable, JSONAware {
 		this.testMode = testMode;
 	}
 
+	public boolean isDebugMode() {
+		return debugMode;
+	}
+
+	public void setDebugMode(boolean debugMode) {
+		this.debugMode = debugMode;
+	}
+
 }
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 ff789a2..6b2de80 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
-#Tue Nov 15 13:08:49 EST 2016
+#Wed Nov 16 12:04:31 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-search
diff --git a/sm-shop/.classpath b/sm-shop/.classpath
index b130f32..fc5f96c 100644
--- a/sm-shop/.classpath
+++ b/sm-shop/.classpath
@@ -27,7 +27,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/sm-shop/SALESMANAGER.h2.db b/sm-shop/SALESMANAGER.h2.db
index ca04170..e63210c 100644
Binary files a/sm-shop/SALESMANAGER.h2.db and b/sm-shop/SALESMANAGER.h2.db differ
diff --git a/sm-shop/SALESMANAGER.lock.db b/sm-shop/SALESMANAGER.lock.db
index 3db2d06..fbaa4eb 100644
--- a/sm-shop/SALESMANAGER.lock.db
+++ b/sm-shop/SALESMANAGER.lock.db
@@ -1,4 +1,4 @@
 #FileLock
-#Tue Nov 15 13:29:13 EST 2016
-id=158693ffec276464d8386afa624f465a867ccf25f21
+#Wed Nov 16 13:12:47 EST 2016
+id=1586e574df2e7d3900bcc6293fa7d3096c3a07037af
 method=file
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/orders/OrdersController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/orders/OrdersController.java
index e5994fe..eb10c1e 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/orders/OrdersController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/orders/OrdersController.java
@@ -1,5 +1,6 @@
 package com.salesmanager.shop.admin.controller.orders;
 
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.salesmanager.core.business.services.order.OrderService;
 import com.salesmanager.core.business.services.system.ModuleConfigurationService;
 import com.salesmanager.core.business.utils.ProductPriceUtils;
@@ -19,6 +20,7 @@ import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -42,6 +44,7 @@ import java.util.Map;
  *
  */
 @Controller
+@JsonAutoDetect(getterVisibility=com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE)
 public class OrdersController {
 	
 	@Inject
@@ -71,19 +74,17 @@ public class OrdersController {
 		
 		
 	}
-	
+
 
 	@PreAuthorize("hasRole('ORDER')")
 	@SuppressWarnings({ "unchecked", "unused"})
-	@RequestMapping(value="/admin/orders/paging.html", method=RequestMethod.POST, produces="application/json;text/plain;charset=UTF-8")
+	//@RequestMapping(value="/admin/orders/paging.html", method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@RequestMapping(value="/admin/orders/paging.html", method=RequestMethod.POST)
 	public @ResponseBody String pageOrders(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 
 
 		AjaxPageableResponse resp = new AjaxPageableResponse();
-		
-		
 
-		
 		try {
 			
 			int startRow = Integer.parseInt(request.getParameter("_startRow"));
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/security/UserServicesImpl.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/security/UserServicesImpl.java
index 4397d53..8d31f0d 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/security/UserServicesImpl.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/security/UserServicesImpl.java
@@ -58,6 +58,8 @@ public class UserServicesImpl implements WebUserServices{
 	@Inject
 	protected GroupService   groupService;
 	
+	public final static String ROLE_PREFIX = "ROLE_";//Spring Security 4
+	
 	
 	
 	public UserDetails loadUserByUsername(String userName)
@@ -74,7 +76,7 @@ public class UserServicesImpl implements WebUserServices{
 				return null;
 			}
 
-			GrantedAuthority role = new SimpleGrantedAuthority(Constants.PERMISSION_AUTHENTICATED);//required to login
+			GrantedAuthority role = new SimpleGrantedAuthority(ROLE_PREFIX + Constants.PERMISSION_AUTHENTICATED);//required to login
 			authorities.add(role);
 	
 			List<Integer> groupsId = new ArrayList<Integer>();
@@ -90,7 +92,7 @@ public class UserServicesImpl implements WebUserServices{
 	    	
 	    	List<Permission> permissions = permissionService.getPermissions(groupsId);
 	    	for(Permission permission : permissions) {
-	    		GrantedAuthority auth = new SimpleGrantedAuthority(permission.getPermissionName());
+	    		GrantedAuthority auth = new SimpleGrantedAuthority(ROLE_PREFIX + permission.getPermissionName());
 	    		authorities.add(auth);
 	    	}
     	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/application/ShopApplicationConfiguration.java b/sm-shop/src/main/java/com/salesmanager/shop/application/ShopApplicationConfiguration.java
index 2cce04f..361f90a 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/application/ShopApplicationConfiguration.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/application/ShopApplicationConfiguration.java
@@ -1,17 +1,23 @@
 package com.salesmanager.shop.application;
 
+import java.util.List;
+
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.ImportResource;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
 import org.springframework.web.servlet.view.tiles3.TilesView;
 import org.springframework.web.servlet.view.tiles3.TilesViewResolver;
 
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.salesmanager.core.business.configuration.CoreApplicationConfiguration;
 
 @Configuration
@@ -44,5 +50,20 @@ public class ShopApplicationConfiguration extends WebMvcConfigurerAdapter{
         resolver.setViewClass(TilesView.class);
         return resolver;
     }
+    
+    /**
+     * Spring 4 JSON converter
+     */
+    @Override
+    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
+        converters.add(mappingJackson2HttpMessageConverter());
+    }
+     
+    @Bean
+    public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
+        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+        converter.setObjectMapper(new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false));
+        return converter;
+    }
 
 }
diff --git a/sm-shop/src/main/resources/spring/shopizer-security.xml b/sm-shop/src/main/resources/spring/shopizer-security.xml
index 9bf53d2..1a6cf7d 100644
--- a/sm-shop/src/main/resources/spring/shopizer-security.xml
+++ b/sm-shop/src/main/resources/spring/shopizer-security.xml
@@ -44,6 +44,9 @@
 	<beans:bean id="servicesAuthenticationEntryPoint" class="com.salesmanager.shop.store.security.ServicesAuthenticationEntryPoint">
 	</beans:bean>
 	
+	<!-- spring security 4 -->
+	<http pattern="/resources/**" security="none" /><!-- remove css and other static resources -->
+	<http pattern="/layout/**" security="none" /><!-- remove css and other static resources -->
 	
 	
 	<http pattern="/admin/**" auto-config="true" use-expressions="true" authentication-manager-ref="adminAuthenticationManager">
@@ -83,6 +86,8 @@
 			logout-success-url="/admin/home.html" 
 			logout-url="/admin/logout" />
 			
+		<csrf disabled="true"/><!-- Spring security 4 -->
+			
 		<access-denied-handler ref="adminAccessDenied"/>
 	</http>
 	
@@ -110,6 +115,8 @@
 			logout-success-url="/shop/" 
 			logout-url="/shop/customer/logout" />
 		<access-denied-handler error-page="/shop/"/>
+		
+		<csrf disabled="true"/><!-- Spring security 4 -->
 	</http>
 	
 	
diff --git a/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml b/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml
index 3fa0e7e..6b44e70 100644
--- a/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml
+++ b/sm-shop/src/main/resources/spring/shopizer-servlet-context.xml
@@ -18,6 +18,16 @@
 	</beans:bean>
 	
 
+<!-- 	<beans:bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></beans:bean>
+	 <beans:bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
+		<beans:property name="messageConverters">
+		  <beans:list>
+		    <beans:ref bean="jacksonMessageConverter"/>
+		  </beans:list>
+		</beans:property>
+	</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"/>
diff --git a/sm-shop/src/main/resources/spring/shopizer-shop-context.xml b/sm-shop/src/main/resources/spring/shopizer-shop-context.xml
index f11485f..c0fd635 100644
--- a/sm-shop/src/main/resources/spring/shopizer-shop-context.xml
+++ b/sm-shop/src/main/resources/spring/shopizer-shop-context.xml
@@ -13,7 +13,7 @@
   
   	<context:annotation-config />
 	
-	    <!-- controllers -->
+	<!-- controllers -->
   	<beans:import resource="classpath:/spring/shopizer-controllers.xml" />
   	<!-- properties -->
   	<beans:import resource="classpath:/spring/shopizer-properties.xml" />
diff --git a/sm-shop/src/main/webapp/pages/admin/components/list.jsp b/sm-shop/src/main/webapp/pages/admin/components/list.jsp
index afc5dda..ba93966 100644
--- a/sm-shop/src/main/webapp/pages/admin/components/list.jsp
+++ b/sm-shop/src/main/webapp/pages/admin/components/list.jsp
@@ -5,11 +5,7 @@
 <%@ page session="false" %>				
 
 			<script>
-			      			     
-							
-
 
-								
 								isc.RestDataSource.create({ 
 									ID:"dataSource", 
 									dataFormat:"json",  
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 fc0fa72..5923c43 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
-#Tue Nov 15 13:08:51 EST 2016
+#Wed Nov 16 12:04:34 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-shop