shopizer-uncached

Cors filter for /services

3/14/2018 10:23:07 AM
2.2.0

Details

sm-shop/pom.xml 2(+1 -1)

diff --git a/sm-shop/pom.xml b/sm-shop/pom.xml
index de3ab76..0ff567e 100644
--- a/sm-shop/pom.xml
+++ b/sm-shop/pom.xml
@@ -10,7 +10,7 @@
 	</parent>
 
 	<artifactId>sm-shop</artifactId>
-	<packaging>jar</packaging>
+	<packaging>war</packaging>
 
 	<name>sm-shop</name>
 	<url>http://www.shopizer.com</url>
diff --git a/sm-shop/SALESMANAGER.h2.db b/sm-shop/SALESMANAGER.h2.db
index 86cd45b..1572cde 100644
Binary files a/sm-shop/SALESMANAGER.h2.db and b/sm-shop/SALESMANAGER.h2.db differ
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/filter/CorsFilter.java b/sm-shop/src/main/java/com/salesmanager/shop/filter/CorsFilter.java
index 3e892ea..174d3df 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/filter/CorsFilter.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/filter/CorsFilter.java
@@ -8,31 +8,31 @@ import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-public class CorsFilter implements Filter {
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
+public class CorsFilter extends HandlerInterceptorAdapter {
 
-
-		@Override
-		public void destroy() {
-		}
-		@Override
-		public void init(FilterConfig filterConfig) throws ServletException {
-			// TODO Auto-generated method stub
+		public CorsFilter() {
 			
 		}
-		@Override
-		public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-				throws IOException, ServletException {
+
+		/**
+		 * Allows public web services to work from remote hosts
+		 */
+	   public boolean preHandle(
+	            HttpServletRequest request,
+	            HttpServletResponse response,
+	            Object handler) throws Exception {
+		   
         	HttpServletResponse httpResponse = (HttpServletResponse) response;
 	
 	        httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
         	httpResponse.setHeader("Access-Control-Allow-Headers", "X-Auth-Token, Content-Type");
-        	//httpResponse.setHeader("Access-Control-Allow-Credentials", "false");
-	        //httpResponse.setHeader("Access-Control-Max-Age", "4800");
-	        //System.out.println("---CORS Configuration Completed---");
-	        chain.doFilter(request, response);
+	        
+        	return true;
 			
 		}
 }
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/filter/StoreFilter.java b/sm-shop/src/main/java/com/salesmanager/shop/filter/StoreFilter.java
index dd94f7d..c06cde3 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/filter/StoreFilter.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/filter/StoreFilter.java
@@ -625,85 +625,6 @@ public class StoreFilter extends HandlerInterceptorAdapter {
 		
 	}
 
-	/*@SuppressWarnings("unchecked")
-	private void getTopCategories(MerchantStore store, Language language, HttpServletRequest request) throws Exception {
-		   
-
-			*//**
-			 * Top categories
-			 * Top categories are implemented as Category entity
-			 * CategoryDescription will provide attributes name for the
-			 * label to be displayed and seUrl for the friendly url page
-			 *//*
-			
-			//build the key
-			*//**
-			 * The categories is kept as a Map<String,Object>
-			 * The key is <MERCHANT_ID>_CATEGORYLOCALE
-			 * The value is a List of Category object
-			 *//*
-			
-			StringBuilder categoriesKey = new StringBuilder();
-			categoriesKey
-			.append(store.getId())
-			.append("_")
-			.append(Constants.CATEGORIES_CACHE_KEY)
-			.append("-")
-			.append(language.getCode());
-			
-			StringBuilder categoriesKeyMissed = new StringBuilder();
-			categoriesKeyMissed
-			.append(categoriesKey.toString())
-			.append(Constants.MISSED_CACHE_KEY);
-			
-			//Map<String, List<Category>> objects = null;
-			Map<String, List<ReadableCategory>> objects = null;
-			
-			if(store.isUseCache()) {
-			
-				//get from the cache
-				//objects = (Map<String, List<Category>>) cache.getFromCache(categoriesKey.toString());
-				objects = (Map<String, List<ReadableCategory>>) cache.getFromCache(categoriesKey.toString());
-			
-
-				if(objects==null) {
-					//Boolean missedContent = (Boolean)cache.getFromCache(categoriesKeyMissed.toString());
-
-					//if(missedContent==null) {
-	
-						//Get top categories from the database
-						objects = this.getCategories(store, language);
-	
-						if(objects!=null) {
-							//put in cache
-							cache.putInCache(objects, categoriesKey.toString());
-						} else {
-							//put in missed cache
-							//cache.putInCache(new Boolean(true), categoriesKeyMissed.toString());
-						}
-						
-					//} 
-				}
-				
-			} else {
-				objects = this.getCategories(store, language);
-			}
-			
-			if(objects!=null && objects.size()>0) {
-
-				
-				//List<Category> categories = objects.get(categoriesKey.toString());
-				List<ReadableCategory> categories = objects.get(categoriesKey.toString());
-				
-				if(categories!=null) {
-					request.setAttribute(Constants.REQUEST_TOP_CATEGORIES, categories);
-				}
-				
-				
-			}
-		   
-	   }
-*/	
 	
 	   private Map<String, List<ContentDescription>> getContentPagesNames(MerchantStore store, Language language) throws Exception {
 		   
diff --git a/sm-shop/src/main/resources/spring/shopizer-controllers.xml b/sm-shop/src/main/resources/spring/shopizer-controllers.xml
index 60378ba..fb880a1 100644
--- a/sm-shop/src/main/resources/spring/shopizer-controllers.xml
+++ b/sm-shop/src/main/resources/spring/shopizer-controllers.xml
@@ -59,18 +59,25 @@
 		<!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de -->    
 		<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
 		
+		<!-- store web front filter -->
 		 <mvc:interceptor>
   			<mvc:mapping path="/shop/**"/>
   			<bean class="com.salesmanager.shop.filter.StoreFilter"/>
  		</mvc:interceptor>
  		
+ 		<!-- public services cors filter -->
+ 		<mvc:interceptor>
+  			<mvc:mapping path="/services/**"/>
+  			<bean class="com.salesmanager.shop.filter.CorsFilter"/>
+ 		</mvc:interceptor>
  		
+ 		<!-- customer section filter -->
  		<mvc:interceptor>
   			<mvc:mapping path="/customer/**"/>
   			<bean class="com.salesmanager.shop.filter.StoreFilter"/>
  		</mvc:interceptor>
 		
-		
+		<!-- admin panel filter -->
  		<mvc:interceptor>
   			<mvc:mapping path="/admin/**"/>
   			<bean class="com.salesmanager.shop.filter.AdminFilter" />
diff --git a/sm-shop/src/main/webapp/WEB-INF/web.xml b/sm-shop/src/main/webapp/WEB-INF/web.xml
index 64df35f..219455a 100644
--- a/sm-shop/src/main/webapp/WEB-INF/web.xml
+++ b/sm-shop/src/main/webapp/WEB-INF/web.xml
@@ -6,8 +6,7 @@
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
 
-    <!--<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
--->
+
       <!--Start UTF-8 Encoding needed.-->
   <filter>
         <filter-name>encodingFilter</filter-name>