shopizer-uncached
Changes
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/.classpath 2(+1 -1)
sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionRepository.java 3(+3 -0)
sm-core/src/main/java/com/salesmanager/core/business/repositories/catalog/product/attribute/ProductOptionValueRepository.java 3(+3 -0)
sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionService.java 2(+2 -0)
sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionServiceImpl.java 5(+5 -0)
sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueService.java 3(+3 -0)
sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueServiceImpl.java 6(+6 -0)
sm-shop/SALESMANAGER.h2.db 0(+0 -0)
sm-shop/SALESMANAGER.lock.db 4(+4 -0)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsController.java 2(+1 -1)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsValueController.java 6(+3 -3)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductPriceController.java 32(+20 -12)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductReviewController.java 30(+19 -11)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/RelatedItemsController.java 60(+40 -20)
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 ef02ea7..136681d 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 Dec 06 10:34:23 EST 2016
+#Wed Dec 07 12:22:33 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 aea9afe..29893e7 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
-#Wed Dec 07 08:47:11 EST 2016
+#Wed Dec 07 12:22:33 EST 2016
version=2.5.0-SNAPSHOT
groupId=com.shopizer
m2e.projectName=shopizer-shipping-distance-processor
sm-core/.classpath 2(+1 -1)
diff --git a/sm-core/.classpath b/sm-core/.classpath
index b130f32..fc5f96c 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">
+ <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-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 1ea57cd..bd8030f 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
@@ -12,6 +12,9 @@ public interface ProductOptionRepository extends JpaRepository<ProductOption, Lo
@Query("select p from ProductOption p join fetch p.merchantStore pm left join fetch p.descriptions pd where p.id = ?1")
ProductOption findOne(Long id);
+ @Query("select p from ProductOption p join fetch p.merchantStore pm left join fetch p.descriptions pd where p.id = ?2 and pm.id = ?1")
+ ProductOption findOne(Integer storeId, 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 9bee5cf..e34f83d 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
@@ -12,6 +12,9 @@ public interface ProductOptionValueRepository extends JpaRepository<ProductOptio
@Query("select p from ProductOptionValue p join fetch p.merchantStore pm left join fetch p.descriptions pd where p.id = ?1")
ProductOptionValue findOne(Long id);
+ @Query("select p from ProductOptionValue p join fetch p.merchantStore pm left join fetch p.descriptions pd where p.id = ?2 and pm.id = ?1")
+ ProductOptionValue findOne(Integer storeId, 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/services/catalog/product/attribute/ProductOptionService.java b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionService.java
index eee20b2..7e0abd4 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionService.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionService.java
@@ -26,6 +26,8 @@ public interface ProductOptionService extends SalesManagerEntityService<Long, Pr
ProductOption getByCode(MerchantStore store, String optionCode);
+ ProductOption getById(MerchantStore store, Long optionId);
+
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionServiceImpl.java b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionServiceImpl.java
index bb12952..6e6127a 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionServiceImpl.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionServiceImpl.java
@@ -96,6 +96,11 @@ public class ProductOptionServiceImpl extends
public ProductOption getByCode(MerchantStore store, String optionCode) {
return productOptionRepository.findByCode(store.getId(), optionCode);
}
+
+ @Override
+ public ProductOption getById(MerchantStore store, Long optionId) {
+ return productOptionRepository.findOne(store.getId(), optionId);
+ }
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueService.java b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueService.java
index d9e745b..ba51bb9 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueService.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueService.java
@@ -4,6 +4,7 @@ import java.util.List;
import com.salesmanager.core.business.exception.ServiceException;
import com.salesmanager.core.business.services.common.generic.SalesManagerEntityService;
+import com.salesmanager.core.model.catalog.product.attribute.ProductOption;
import com.salesmanager.core.model.catalog.product.attribute.ProductOptionValue;
import com.salesmanager.core.model.merchant.MerchantStore;
import com.salesmanager.core.model.reference.language.Language;
@@ -23,5 +24,7 @@ public interface ProductOptionValueService extends SalesManagerEntityService<Lon
Language language) throws ServiceException;
ProductOptionValue getByCode(MerchantStore store, String optionValueCode);
+
+ ProductOptionValue getById(MerchantStore store, Long optionValueId);
}
diff --git a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueServiceImpl.java b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueServiceImpl.java
index 9b4c64b..97f64c6 100644
--- a/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueServiceImpl.java
+++ b/sm-core/src/main/java/com/salesmanager/core/business/services/catalog/product/attribute/ProductOptionValueServiceImpl.java
@@ -96,5 +96,11 @@ public class ProductOptionValueServiceImpl extends
}
+ @Override
+ public ProductOptionValue getById(MerchantStore store, Long optionValueId) {
+ return productOptionValueRepository.findOne(store.getId(), optionValueId);
+ }
+
+
}
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 d5ac78b..66fdff2 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
-#Wed Dec 07 08:47:12 EST 2016
+#Wed Dec 07 12:22:34 EST 2016
version=2.5.0-SNAPSHOT
groupId=com.shopizer
m2e.projectName=sm-search
sm-shop/SALESMANAGER.h2.db 0(+0 -0)
diff --git a/sm-shop/SALESMANAGER.h2.db b/sm-shop/SALESMANAGER.h2.db
index 91211f3..5c69647 100644
Binary files a/sm-shop/SALESMANAGER.h2.db and b/sm-shop/SALESMANAGER.h2.db differ
sm-shop/SALESMANAGER.lock.db 4(+4 -0)
diff --git a/sm-shop/SALESMANAGER.lock.db b/sm-shop/SALESMANAGER.lock.db
new file mode 100644
index 0000000..a70ca21
--- /dev/null
+++ b/sm-shop/SALESMANAGER.lock.db
@@ -0,0 +1,4 @@
+#FileLock
+#Wed Dec 07 12:54:00 EST 2016
+id=158da6ba84f0de30e9d2ccdf431a8bbe31bdde9e97f
+method=file
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsController.java
index 790f9d0..9eba25d 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsController.java
@@ -87,7 +87,7 @@ public class OptionsController {
if(optionId!=null && optionId!=0) {//edit mode
- option = productOptionService.getById(optionId);
+ option = productOptionService.getById(store, optionId);
if(option==null) {
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsValueController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsValueController.java
index 33f060b..1a94559 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsValueController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/OptionsValueController.java
@@ -100,12 +100,12 @@ public class OptionsValueController {
if(optionId!=null && optionId!=0) {//edit mode
- //option = productOptionValueService.getById(store, optionId);
- option = productOptionValueService.getByCode(store, optionId.toString());
+ option = productOptionValueService.getById(store, optionId);
+ //option = productOptionValueService.getByCode(store, optionId.toString());
if(option==null) {
- return "redirect:/admin/options/optionsvalues.html";
+ return "redirect:/admin/options/optionvalues.html";
}
Set<ProductOptionValueDescription> optionDescriptions = option.getDescriptions();
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductPriceController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductPriceController.java
index e7397e6..2f25664 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductPriceController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductPriceController.java
@@ -20,6 +20,10 @@ 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;
import org.springframework.ui.Model;
@@ -85,8 +89,8 @@ public class ProductPriceController {
}
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/products/prices/paging.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
- public @ResponseBody String pagePrices(HttpServletRequest request, HttpServletResponse response) {
+ @RequestMapping(value="/admin/products/prices/paging.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> pagePrices(HttpServletRequest request, HttpServletResponse response) {
String sProductId = request.getParameter("productId");
MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
@@ -95,6 +99,8 @@ public class ProductPriceController {
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
Long productId;
Product product = null;
@@ -105,7 +111,7 @@ public class ProductPriceController {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@@ -118,14 +124,14 @@ public class ProductPriceController {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
if(product.getMerchantStore().getId().intValue()!=store.getId().intValue()) {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
ProductAvailability defaultAvailability = null;
@@ -144,7 +150,7 @@ public class ProductPriceController {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
Set<ProductPrice> prices = defaultAvailability.getPrices();
@@ -188,7 +194,7 @@ public class ProductPriceController {
}
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@@ -436,13 +442,15 @@ public class ProductPriceController {
}
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/products/price/remove.html", method=RequestMethod.POST, produces="application/json")
- public @ResponseBody String deleteProductPrice(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+ @RequestMapping(value="/admin/products/price/remove.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> deleteProductPrice(HttpServletRequest request, HttpServletResponse response, Locale locale) {
String sPriceid = request.getParameter("priceId");
MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
try {
@@ -455,7 +463,8 @@ public class ProductPriceController {
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);
}
productPriceService.delete(price);
@@ -472,8 +481,7 @@ public class ProductPriceController {
}
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/ProductReviewController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductReviewController.java
index 1c47fa1..c435823 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductReviewController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/ProductReviewController.java
@@ -16,6 +16,10 @@ import com.salesmanager.shop.utils.LabelUtils;
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;
@@ -74,14 +78,16 @@ public class ProductReviewController {
@SuppressWarnings({ "rawtypes", "unchecked" })
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/products/reviews/paging.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
- public @ResponseBody String pageProductReviews(HttpServletRequest request, HttpServletResponse response) {
+ @RequestMapping(value="/admin/products/reviews/paging.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> pageProductReviews(HttpServletRequest request, HttpServletResponse response) {
String sProductId = request.getParameter("productId");
MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
Long productId;
Product product = null;
@@ -92,7 +98,7 @@ public class ProductReviewController {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@@ -105,14 +111,14 @@ public class ProductReviewController {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
if(product.getMerchantStore().getId().intValue()!=store.getId().intValue()) {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@@ -150,20 +156,22 @@ public class ProductReviewController {
}
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/products/reviews/remove.html", method=RequestMethod.POST, produces="application/json")
- public @ResponseBody String deleteProductReview(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+ @RequestMapping(value="/admin/products/reviews/remove.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> deleteProductReview(HttpServletRequest request, HttpServletResponse response, Locale locale) {
String sReviewid = request.getParameter("reviewId");
MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
try {
@@ -178,7 +186,8 @@ public class ProductReviewController {
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);
}
@@ -196,8 +205,7 @@ public class ProductReviewController {
}
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/RelatedItemsController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/RelatedItemsController.java
index b78db60..66e5519 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/RelatedItemsController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/products/RelatedItemsController.java
@@ -17,6 +17,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;
@@ -81,11 +85,13 @@ public class RelatedItemsController {
@SuppressWarnings({ "rawtypes", "unchecked" })
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/catalogue/related/paging.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
- public @ResponseBody String pageRelatedItems(HttpServletRequest request, HttpServletResponse response) {
+ @RequestMapping(value="/admin/catalogue/related/paging.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> pageRelatedItems(HttpServletRequest request, HttpServletResponse response) {
String sProductId = request.getParameter("productId");
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
try {
@@ -102,7 +108,7 @@ public class RelatedItemsController {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
resp.setErrorString("Product id is not valid");
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@@ -142,18 +148,20 @@ public class RelatedItemsController {
}
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/catalogue/related/addItem.html", method=RequestMethod.POST, produces="application/json")
- public @ResponseBody String addItem(HttpServletRequest request, HttpServletResponse response) {
+ @RequestMapping(value="/admin/catalogue/related/addItem.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> addItem(HttpServletRequest request, HttpServletResponse response) {
String productId = request.getParameter("productId");
String baseProductId = request.getParameter("baseProductId");
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
try {
@@ -167,24 +175,28 @@ public class RelatedItemsController {
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);
}
Product baseProduct = productService.getById(lBaseProductId);
if(baseProduct==null) {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
- return resp.toJSONString();
+ String returnString = resp.toJSONString();
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
if(baseProduct.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);
}
@@ -207,17 +219,19 @@ public class RelatedItemsController {
}
String returnString = resp.toJSONString();
- return returnString;
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
@PreAuthorize("hasRole('PRODUCTS')")
- @RequestMapping(value="/admin/catalogue/related/removeItem.html", method=RequestMethod.POST, produces="application/json")
- public @ResponseBody String removeItem(HttpServletRequest request, HttpServletResponse response) {
+ @RequestMapping(value="/admin/catalogue/related/removeItem.html", method=RequestMethod.POST)
+ public @ResponseBody ResponseEntity<String> removeItem(HttpServletRequest request, HttpServletResponse response) {
String productId = request.getParameter("productId");
String baseProductId = request.getParameter("baseProductId");
AjaxResponse resp = new AjaxResponse();
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
try {
@@ -231,24 +245,28 @@ public class RelatedItemsController {
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);
}
Product baseProduct = productService.getById(lBaseProductId);
if(baseProduct==null) {
resp.setStatus(AjaxPageableResponse.RESPONSE_STATUS_FAIURE);
- return resp.toJSONString();
+ String returnString = resp.toJSONString();
+ return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
}
if(baseProduct.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);
}
ProductRelationship relationship = null;
@@ -263,12 +281,14 @@ public class RelatedItemsController {
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);
}
@@ -286,7 +306,7 @@ public class RelatedItemsController {
}
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/store/controller/search/SearchController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java
index 634a649..b38deb3 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java
@@ -26,6 +26,10 @@ import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@@ -80,11 +84,13 @@ public class SearchController {
* @return
* @throws Exception
*/
- @RequestMapping(value="/services/public/search/{store}/{language}/autocomplete.html", produces="application/json;charset=UTF-8")
+ //@RequestMapping(value="/services/public/search/{store}/{language}/autocomplete", produces="application/json;charset=UTF-8")
+ @RequestMapping(value="/services/public/search/{store}/{language}/autocomplete")
@ResponseBody
- public String autocomplete(@RequestParam("q") String query, @PathVariable String store, @PathVariable final String language, Model model, HttpServletRequest request, HttpServletResponse response) {
+ public ResponseEntity<String> autocomplete(@RequestParam("q") String query, @PathVariable String store, @PathVariable final String language, Model model, HttpServletRequest request, HttpServletResponse response) {
-
+ final HttpHeaders httpHeaders= new HttpHeaders();
+ httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
MerchantStore merchantStore = (MerchantStore)request.getAttribute(Constants.MERCHANT_STORE);
if(merchantStore!=null) {
@@ -110,7 +116,8 @@ public class SearchController {
AutoCompleteRequest req = new AutoCompleteRequest(store,language);
/** formatted toJSONString because of te specific field names required in the UI **/
SearchKeywords keywords = searchService.searchForKeywords(req.getCollectionName(), req.toJSONString(query), AUTOCOMPLETE_ENTRIES_COUNT);
- return keywords.toJSONString();
+ //return keywords.toJSONString();
+ return new ResponseEntity<String>(keywords.toJSONString(),httpHeaders,HttpStatus.OK);
} catch (Exception e) {
LOGGER.error("Exception while autocomplete " + e);
diff --git a/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/navbar.jsp b/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/navbar.jsp
index e8bd11f..0ceee19 100644
--- a/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/navbar.jsp
+++ b/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/navbar.jsp
@@ -30,7 +30,7 @@ $(document).ready(function() {
remote: {
- url: '<c:url value="/services/public/search/${requestScope.MERCHANT_STORE.code}/${requestScope.LANGUAGE.code}/autocomplete.html"/>?q=%QUERY',
+ url: '<c:url value="/services/public/search/${requestScope.MERCHANT_STORE.code}/${requestScope.LANGUAGE.code}/autocomplete"/>?q=%QUERY',
filter: function (parsedResponse) {
// parsedResponse is the array returned from your backend
console.log(parsedResponse);
diff --git a/sm-shop/src/main/webapp/pages/shop/templates/bootstrap3/sections/navbar.jsp b/sm-shop/src/main/webapp/pages/shop/templates/bootstrap3/sections/navbar.jsp
index 5e8f552..4d747fa 100644
--- a/sm-shop/src/main/webapp/pages/shop/templates/bootstrap3/sections/navbar.jsp
+++ b/sm-shop/src/main/webapp/pages/shop/templates/bootstrap3/sections/navbar.jsp
@@ -39,7 +39,7 @@ $(document).ready(function() {
prefetch: '<c:out value="${requestScope.CONFIGS['defaultSearchConfigPath'][requestScope.LANGUAGE.code]}"/>',
</c:if>
</c:if>
- remote: '<c:url value="/services/public/search/${requestScope.MERCHANT_STORE.code}/${requestScope.LANGUAGE.code}/autocomplete.html"/>?q=%QUERY'
+ remote: '<c:url value="/services/public/search/${requestScope.MERCHANT_STORE.code}/${requestScope.LANGUAGE.code}/autocomplete"/>?q=%QUERY'
});
diff --git a/sm-shop/src/main/webapp/pages/shop/templates/exoticamobilia/sections/header.jsp b/sm-shop/src/main/webapp/pages/shop/templates/exoticamobilia/sections/header.jsp
index bc18816..5f1cf6f 100644
--- a/sm-shop/src/main/webapp/pages/shop/templates/exoticamobilia/sections/header.jsp
+++ b/sm-shop/src/main/webapp/pages/shop/templates/exoticamobilia/sections/header.jsp
@@ -52,7 +52,7 @@ $(document).ready(function() {
prefetch: '<c:out value="${requestScope.CONFIGS['defaultSearchConfigPath'][requestScope.LANGUAGE.code]}"/>',
</c:if>
</c:if>
- remote: '<c:url value="/services/public/search/${requestScope.MERCHANT_STORE.code}/${requestScope.LANGUAGE.code}/autocomplete.html"/>?q=%QUERY'
+ remote: '<c:url value="/services/public/search/${requestScope.MERCHANT_STORE.code}/${requestScope.LANGUAGE.code}/autocomplete"/>?q=%QUERY'
});
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 eeb94b9..490acc2 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
-#Wed Dec 07 08:47:14 EST 2016
+#Wed Dec 07 12:22:37 EST 2016
version=2.5.0-SNAPSHOT
groupId=com.shopizer
m2e.projectName=sm-shop