shopizer-uncached

Fixing admin tool

12/6/2016 3:32:03 PM

Changes

Details

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 4513947..ef02ea7 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
-#Wed Nov 30 12:57:26 EST 2016
+#Tue Dec 06 10:34:23 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 16bc91f..c69da9b 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
-#Thu Dec 01 08:45:42 EST 2016
+#Tue Dec 06 10:34:21 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=shopizer-shipping-distance-processor
diff --git a/sm-core/.classpath b/sm-core/.classpath
index fc5f96c..b130f32 100644
--- a/sm-core/.classpath
+++ b/sm-core/.classpath
@@ -27,7 +27,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductAttributeRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductAttributeRepository.java
index f1420c4..77f287e 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductAttributeRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductAttributeRepository.java
@@ -10,7 +10,7 @@ import com.salesmanager.core.model.catalog.product.attribute.ProductAttribute;
 public interface ProductAttributeRepository extends JpaRepository<ProductAttribute, Long> {
 
 	@Query("select p from ProductAttribute p join fetch p.product pr left join fetch p.productOption po left join fetch p.productOptionValue pov left join fetch po.descriptions pod left join fetch pov.descriptions povd left join fetch po.merchantStore where p.id = ?1")
-	ProductAttribute findById(Long id);
+	ProductAttribute findOne(Long id);
 	
 	@Query("select p from ProductAttribute p join fetch p.product pr left join fetch p.productOption po left join fetch p.productOptionValue pov left join fetch po.descriptions pod left join fetch pov.descriptions povd left join fetch po.merchantStore pom where pom.id = ?1 and po.id = ?2")
 	List<ProductAttribute> findByOptionId(Integer storeId, Long id);
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionRepository.java
index decae9d..1ea57cd 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionRepository.java
@@ -10,7 +10,7 @@ import com.salesmanager.core.model.catalog.product.attribute.ProductOption;
 public interface ProductOptionRepository extends JpaRepository<ProductOption, Long> {
 
 	@Query("select p from ProductOption p join fetch p.merchantStore pm left join fetch p.descriptions pd where p.id = ?1")
-	ProductOption findById(Long id);
+	ProductOption findOne(Long id);
 	
 	@Query("select distinct p from ProductOption p join fetch p.merchantStore pm left join fetch p.descriptions pd where pm.id = ?1 and pd.language.id = ?2")
 	List<ProductOption> findByStoreId(Integer storeId, Integer languageId);
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionValueRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionValueRepository.java
index aff5402..9bee5cf 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionValueRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionValueRepository.java
@@ -10,7 +10,7 @@ import com.salesmanager.core.model.catalog.product.attribute.ProductOptionValue;
 public interface ProductOptionValueRepository extends JpaRepository<ProductOptionValue, Long> {
 
 	@Query("select p from ProductOptionValue p join fetch p.merchantStore pm left join fetch p.descriptions pd where p.id = ?1")
-	ProductOptionValue getById(Long id);
+	ProductOptionValue findOne(Long id);
 	
 	@Query("select distinct p from ProductOptionValue p join fetch p.merchantStore pm left join fetch p.descriptions pd where pm.id = ?1 and pd.language.id = ?2")
 	List<ProductOptionValue> findByStoreId(Integer storeId, Integer languageId);
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/file/DigitalProductRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/file/DigitalProductRepository.java
index ff9131d..c4012f0 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/file/DigitalProductRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/file/DigitalProductRepository.java
@@ -11,7 +11,7 @@ public interface DigitalProductRepository extends JpaRepository<DigitalProduct, 
 	DigitalProduct findByProduct(Integer storeId, Long productId);
 	
 	@Query("select p from DigitalProduct p inner join fetch p.product pp inner join fetch pp.merchantStore ppm where p.id = ?1")
-	DigitalProduct findById(Long id);
+	DigitalProduct findOne(Long id);
 	
 	
 }
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/image/ProductImageRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/image/ProductImageRepository.java
index 998a4cf..f335f52 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/image/ProductImageRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/image/ProductImageRepository.java
@@ -9,7 +9,7 @@ public interface ProductImageRepository extends JpaRepository<ProductImage, Long
 
 
 	@Query("select p from ProductImage p left join fetch p.descriptions pd inner join fetch p.product pp inner join fetch pp.merchantStore ppm where p.id = ?1")
-	ProductImage findById(Long id);
+	ProductImage findOne(Long id);
 	
 	
 }
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/price/ProductPriceRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/price/ProductPriceRepository.java
index 2416311..e3af034 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/price/ProductPriceRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/price/ProductPriceRepository.java
@@ -9,7 +9,7 @@ public interface ProductPriceRepository extends JpaRepository<ProductPrice, Long
 
 
 	@Query("select p from ProductPrice p left join fetch p.descriptions pd inner join fetch p.productAvailability pa inner join fetch pa.product pap inner join fetch pap.merchantStore papm where p.id = ?1")
-	ProductPrice findById(Long id);
+	ProductPrice findOne(Long id);
 	
 	
 }
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/review/ProductReviewRepository.java b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/review/ProductReviewRepository.java
index 8f910ab..742c09a 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/review/ProductReviewRepository.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/review/ProductReviewRepository.java
@@ -11,7 +11,7 @@ public interface ProductReviewRepository extends JpaRepository<ProductReview, Lo
 
 
 	@Query("select p from ProductReview p join fetch p.customer pc join fetch p.product pp join fetch pp.merchantStore ppm left join fetch p.descriptions pd where p.id = ?1")
-	List<ProductReview> findById(Long id);
+	ProductReview findOne(Long id);
 	
 	@Query("select p from ProductReview p join fetch p.customer pc join fetch p.product pp join fetch pp.merchantStore ppm left join fetch p.descriptions pd where pc.id = ?1")
 	List<ProductReview> findByCustomer(Long customerId);
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductAttributeServiceImpl.java b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductAttributeServiceImpl.java
index 219beed..48e646f 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductAttributeServiceImpl.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductAttributeServiceImpl.java
@@ -29,7 +29,7 @@ public class ProductAttributeServiceImpl extends
 	@Override
 	public ProductAttribute getById(Long id) {
 		
-		return productAttributeRepository.findById(id);
+		return productAttributeRepository.findOne(id);
 		
 	}
 	
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/image/ProductImageServiceImpl.java b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/image/ProductImageServiceImpl.java
index 2fdc7db..a584201 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/image/ProductImageServiceImpl.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/image/ProductImageServiceImpl.java
@@ -43,7 +43,7 @@ public class ProductImageServiceImpl extends SalesManagerEntityServiceImpl<Long,
 	public ProductImage getById(Long id) {
 		
 		
-		return productImageRepository.findById(id);
+		return productImageRepository.findOne(id);
 	}
 	
 	
diff --git a/sm-core/src/main/resources/spring/shopizer-core-modules.xml b/sm-core/src/main/resources/spring/shopizer-core-modules.xml
index 412392c..95e2fbd 100644
--- a/sm-core/src/main/resources/spring/shopizer-core-modules.xml
+++ b/sm-core/src/main/resources/spring/shopizer-core-modules.xml
@@ -232,7 +232,7 @@
 	<!-- Email -->
 	<beans:bean id="freemarkerMailConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
                  <!-- Uses HTML with templates and freemarker template engine -->
-                 <beans:property name="templateLoaderPath" value="/templates/email"/>
+                 <beans:property name="templateLoaderPath" value="classpath:/templates/email"/>
     </beans:bean>
 
 
diff --git a/sm-core/target/classes/spring/shopizer-core-modules.xml b/sm-core/target/classes/spring/shopizer-core-modules.xml
index 412392c..95e2fbd 100644
--- a/sm-core/target/classes/spring/shopizer-core-modules.xml
+++ b/sm-core/target/classes/spring/shopizer-core-modules.xml
@@ -232,7 +232,7 @@
 	<!-- Email -->
 	<beans:bean id="freemarkerMailConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
                  <!-- Uses HTML with templates and freemarker template engine -->
-                 <beans:property name="templateLoaderPath" value="/templates/email"/>
+                 <beans:property name="templateLoaderPath" value="classpath:/templates/email"/>
     </beans:bean>
 
 
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 1da573a..981c398 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
-#Thu Dec 01 08:45:43 EST 2016
+#Tue Dec 06 10:34:24 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-search
diff --git a/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.xml b/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.xml
index b2fdf80..7026086 100644
--- a/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.xml
+++ b/sm-search/target/classes/META-INF/maven/com.shopizer/sm-search/pom.xml
@@ -131,6 +131,12 @@
 			<groupId>org.elasticsearch</groupId>
 			<artifactId>elasticsearch</artifactId>
 			<version>${org.elasticsearch-version}</version>
+			<exclusions>
+				<exclusion>
+					<groupId>javax.servlet</groupId>
+					<artifactId>servlet-api</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 
 
@@ -138,6 +144,12 @@
 			<groupId>io.searchbox</groupId>
 			<artifactId>jest</artifactId>
 			<version>${io.searchbox.jest-version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>servlet-api</artifactId>
+                </exclusion>
+            </exclusions>
 		</dependency>
 
 			<dependency>
diff --git a/sm-shop/files/store/StoreRepository.dat b/sm-shop/files/store/StoreRepository.dat
index 6a419b6..6258bac 100644
Binary files a/sm-shop/files/store/StoreRepository.dat and b/sm-shop/files/store/StoreRepository.dat differ
diff --git a/sm-shop/SALESMANAGER.h2.db b/sm-shop/SALESMANAGER.h2.db
index 96d8b1a..0ce7bc0 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 9b2c5e6..1aeaa69 100644
--- a/sm-shop/SALESMANAGER.lock.db
+++ b/sm-shop/SALESMANAGER.lock.db
@@ -1,4 +1,4 @@
 #FileLock
-#Thu Dec 01 12:05:53 EST 2016
-id=158bb59727a6668cac3c45d12871451bd8ffa0c8474
+#Tue Dec 06 12:21:43 EST 2016
+id=158d527bdf6bdd415c1bf92e8cb06c57f285771d503
 method=file
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/CustomProductGroupsController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/CustomProductGroupsController.java
index c97ec08..8a60252 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/CustomProductGroupsController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/CustomProductGroupsController.java
@@ -19,6 +19,10 @@ import org.apache.commons.lang3.StringUtils;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -71,8 +75,8 @@ public class CustomProductGroupsController {
 	
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/groups/paging.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String pageCustomGroups(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/products/groups/paging.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> pageCustomGroups(HttpServletRequest request, HttpServletResponse response) {
 		
 		
 		AjaxResponse resp = new AjaxResponse();
@@ -108,7 +112,9 @@ public class CustomProductGroupsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 
 
 	}
@@ -161,8 +167,8 @@ public class CustomProductGroupsController {
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/groups/remove.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeCustomProductGroup(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/products/groups/remove.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeCustomProductGroup(HttpServletRequest request, HttpServletResponse response) {
 		
 		String groupCode = request.getParameter("code");
 
@@ -180,14 +186,15 @@ public class CustomProductGroupsController {
 		}
 
 		String returnString = resp.toJSONString();
-
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/groups/update.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String activateProductGroup(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/products/groups/update.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> activateProductGroup(HttpServletRequest request, HttpServletResponse response) {
 		String values = request.getParameter("_oldValues");
 		String active = request.getParameter("active");
 		
@@ -224,7 +231,9 @@ public class CustomProductGroupsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
@@ -250,8 +259,8 @@ public class CustomProductGroupsController {
 	
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/group/details/paging.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
-	public @ResponseBody String pageProducts(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/products/group/details/paging.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> pageProducts(HttpServletRequest request, HttpServletResponse response) {
 		
 		String code = request.getParameter("code");
 		AjaxResponse resp = new AjaxResponse();
@@ -298,7 +307,9 @@ public class CustomProductGroupsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 
 
 	}
@@ -306,13 +317,16 @@ public class CustomProductGroupsController {
 	
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/group/details/addItem.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String addItem(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/products/group/details/addItem.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> addItem(HttpServletRequest request, HttpServletResponse response) {
 		
 		String code = request.getParameter("code");
 		String productId = request.getParameter("productId");
 		AjaxResponse resp = new AjaxResponse();
 		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		
 		try {
 			
 
@@ -324,12 +338,14 @@ public class CustomProductGroupsController {
 			
 			if(product==null) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(product.getMerchantStore().getId().intValue()!=store.getId().intValue()) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 
 
@@ -351,18 +367,21 @@ public class CustomProductGroupsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/group/details/removeItem.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeItem(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/products/group/details/removeItem.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeItem(HttpServletRequest request, HttpServletResponse response) {
 		
 		String code = request.getParameter("code");
 		String productId = request.getParameter("productId");
 		AjaxResponse resp = new AjaxResponse();
 		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		
 		try {
 			
 
@@ -374,12 +393,14 @@ public class CustomProductGroupsController {
 			
 			if(product==null) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(product.getMerchantStore().getId().intValue()!=store.getId().intValue()) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			
@@ -395,12 +416,14 @@ public class CustomProductGroupsController {
 			
 			if(relationship==null) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(relationship.getStore().getId().intValue()!=store.getId().intValue()) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 
 
@@ -418,7 +441,7 @@ public class CustomProductGroupsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/DigitalProductController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/DigitalProductController.java
index 035e8c5..f097fed 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/DigitalProductController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/DigitalProductController.java
@@ -15,6 +15,10 @@ import com.salesmanager.shop.constants.Constants;
 import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -116,12 +120,15 @@ public class DigitalProductController {
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/product/removeDigitalProduct.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeFile(@RequestParam("fileId") long fileId, HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/products/product/removeDigitalProduct.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeFile(@RequestParam("fileId") long fileId, HttpServletRequest request, HttpServletResponse response, Locale locale) {
 
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
 		
 		AjaxResponse resp = new AjaxResponse();
+		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 
 		
 		try {
@@ -131,13 +138,15 @@ public class DigitalProductController {
 			//validate store
 			if(digitalProduct==null) {
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			Product product = digitalProduct.getProduct();
 			if(product.getMerchantStore().getId().intValue()!= store.getId().intValue()) {
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			digitalProductService.delete(digitalProduct);
@@ -151,8 +160,7 @@ public class DigitalProductController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/FeaturedItemsController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/FeaturedItemsController.java
index d394019..f80781c 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/FeaturedItemsController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/FeaturedItemsController.java
@@ -16,6 +16,10 @@ import com.salesmanager.shop.admin.model.web.Menu;
 import com.salesmanager.shop.constants.Constants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -66,8 +70,8 @@ public class FeaturedItemsController {
 	
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/catalogue/featured/paging.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
-	public @ResponseBody String pageProducts(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/catalogue/featured/paging.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> pageProducts(HttpServletRequest request, HttpServletResponse response) {
 		
 		
 		AjaxResponse resp = new AjaxResponse();
@@ -114,18 +118,24 @@ public class FeaturedItemsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 
 
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/catalogue/featured/addItem.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String addItem(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/catalogue/featured/addItem.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> addItem(HttpServletRequest request, HttpServletResponse response) {
 		
 		String productId = request.getParameter("productId");
 		AjaxResponse resp = new AjaxResponse();
 		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		
+		
 		try {
 			
 
@@ -137,12 +147,14 @@ public class FeaturedItemsController {
 			
 			if(product==null) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(product.getMerchantStore().getId().intValue()!=store.getId().intValue()) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 
 
@@ -164,17 +176,20 @@ public class FeaturedItemsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/catalogue/featured/removeItem.html&removeEntity=FEATURED", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeItem(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/catalogue/featured/removeItem.html&removeEntity=FEATURED", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeItem(HttpServletRequest request, HttpServletResponse response) {
 		
 		String productId = request.getParameter("productId");
 		AjaxResponse resp = new AjaxResponse();
 		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		
 		try {
 			
 
@@ -186,12 +201,14 @@ public class FeaturedItemsController {
 			
 			if(product==null) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(product.getMerchantStore().getId().intValue()!=store.getId().intValue()) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			
@@ -206,12 +223,14 @@ public class FeaturedItemsController {
 			
 			if(relationship==null) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(relationship.getStore().getId().intValue()!=store.getId().intValue()) {
 				resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 
 
@@ -229,7 +248,7 @@ public class FeaturedItemsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ManufacturerController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ManufacturerController.java
index 0462e9a..267d98d 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ManufacturerController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ManufacturerController.java
@@ -367,20 +367,23 @@ public class ManufacturerController {
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/catalogue/manufacturer/remove.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
-	public @ResponseBody String deleteManufacturer(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/catalogue/manufacturer/remove.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> deleteManufacturer(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		Long sid =  Long.valueOf(request.getParameter("id") );
 	
 	
 		AjaxResponse resp = new AjaxResponse();
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 		
 		try{
 			Manufacturer delManufacturer = manufacturerService.getById( sid  );				
 			if(delManufacturer==null || delManufacturer.getMerchantStore().getId().intValue() != store.getId().intValue()) {
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			} 
 			
 			int count = manufacturerService.getCountManufAttachedProducts( delManufacturer ).intValue();
@@ -388,7 +391,8 @@ public class ManufacturerController {
 			if ( count > 0 ){
 				resp.setStatusMessage(messages.getMessage("message.product.association", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}	
 
 			manufacturerService.delete( delManufacturer );
@@ -403,18 +407,20 @@ public class ManufacturerController {
 		}
 		
 		String returnString = resp.toJSONString();
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 	
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/manufacturer/checkCode.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String checkCode(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/manufacturer/checkCode.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> checkCode(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		String code = request.getParameter("code");
 		String id = request.getParameter("id");
 
 
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
 		
 		
@@ -422,7 +428,8 @@ public class ManufacturerController {
 		
 		if(StringUtils.isBlank(code)) {
 			resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-			return resp.toJSONString();
+			String returnString = resp.toJSONString();
+			return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		}
 
 		
@@ -432,7 +439,8 @@ public class ManufacturerController {
 		
 		if(manufacturer!=null && StringUtils.isBlank(id)) {
 			resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-			return resp.toJSONString();
+			String returnString = resp.toJSONString();
+			return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		}
 		
 		
@@ -442,11 +450,13 @@ public class ManufacturerController {
 				
 				if(manufacturer.getCode().equals(code) && manufacturer.getId().longValue()==lid) {
 					resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-					return resp.toJSONString();
+					String returnString = resp.toJSONString();
+					return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 				}
 			} catch (Exception e) {
 				resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 
 		}
@@ -469,8 +479,7 @@ public class ManufacturerController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductsController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductsController.java
index c5b381f..a8d5ee6 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductsController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductsController.java
@@ -17,7 +17,9 @@ import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
@@ -197,8 +199,8 @@ public class ProductsController {
 	}
 	
 	@PreAuthorize("hasRole('PRODUCTS')")
-	@RequestMapping(value="/admin/products/remove.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
-	public @ResponseBody String deleteProduct(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/products/remove.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> deleteProduct(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		String sid = request.getParameter("productId");
 
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
@@ -232,8 +234,9 @@ public class ProductsController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
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 0ec468d..2d1fb58 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
-#Thu Dec 01 08:45:44 EST 2016
+#Tue Dec 06 10:34:25 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-shop