@RequestMapping(value = "/findAll", consumes = "application/json", method = RequestMethod.GET)
 @Override
 public HttpEntity<ResponseBean> findAll() throws SpartanPersistenceException, Exception {
   ResponseBean responseBean = new ResponseBean();
   org.springframework.http.HttpStatus httpStatus = org.springframework.http.HttpStatus.OK;
   java.util.List<com.shoppingapp.app.shared.onlineshopping.Product> lstproduct =
       productrepo.findAll();
   responseBean.add("success", true);
   responseBean.add("message", "Successfully retrived ");
   responseBean.add("data", lstproduct);
   return new org.springframework.http.ResponseEntity<ResponseBean>(responseBean, httpStatus);
 }
 @RequestMapping(value = "/search", consumes = "application/json", method = RequestMethod.POST)
 @Override
 public HttpEntity<ResponseBean> search(@RequestBody Map<String, Object> fieldData)
     throws SpartanPersistenceException, Exception {
   ResponseBean responseBean = new ResponseBean();
   org.springframework.http.HttpStatus httpStatus = org.springframework.http.HttpStatus.OK;
   List<java.lang.Object> lstproduct =
       productrepo.search("Product.DefaultFinders", fieldData, getFieldMetaData());
   responseBean.add("success", true);
   responseBean.add("message", "Successfully retrived ");
   responseBean.add("data", lstproduct);
   return new org.springframework.http.ResponseEntity<ResponseBean>(responseBean, httpStatus);
 }
 @RequestMapping(value = "/{cid}", consumes = "application/json", method = RequestMethod.DELETE)
 @Override
 public HttpEntity<ResponseBean> delete(@PathVariable("cid") String entity)
     throws SpartanPersistenceException, SpartanTransactionException, Exception {
   ResponseBean responseBean = new ResponseBean();
   org.springframework.http.HttpStatus httpStatus = org.springframework.http.HttpStatus.OK;
   try {
     productrepo.delete(entity);
     httpStatus = org.springframework.http.HttpStatus.OK;
     responseBean.add("success", true);
     responseBean.add("message", "Successfully deleted ");
   } catch (org.springframework.transaction.TransactionException e) {
     throw new com.athena.framework.server.exception.repository.SpartanTransactionException(
         "can not delete", e.getRootCause());
   }
   return new org.springframework.http.ResponseEntity<ResponseBean>(responseBean, httpStatus);
 }
 @RequestMapping(consumes = "application/json", method = RequestMethod.PUT)
 @Override
 public HttpEntity<ResponseBean> update(@RequestBody Product entity)
     throws SpartanPersistenceException, SpartanTransactionException, Exception {
   ResponseBean responseBean = new ResponseBean();
   org.springframework.http.HttpStatus httpStatus = org.springframework.http.HttpStatus.OK;
   try {
     productrepo.update(entity);
     responseBean.add("success", true);
     responseBean.add("message", "Successfully updated ");
     responseBean.add("data", entity._getPrimarykey().toString());
   } catch (org.springframework.transaction.TransactionException e) {
     throw new com.athena.framework.server.exception.repository.SpartanTransactionException(
         "can not update", e.getRootCause());
   }
   return new org.springframework.http.ResponseEntity<ResponseBean>(responseBean, httpStatus);
 }
 @RequestMapping(value = "/findById", method = RequestMethod.POST)
 @Override
 public HttpEntity<ResponseBean> findById(@RequestBody FindByBean findByBean)
     throws SpartanPersistenceException, Exception {
   com.athena.framework.server.bean.ResponseBean responseBean = new ResponseBean();
   org.springframework.http.HttpStatus httpStatus = org.springframework.http.HttpStatus.OK;
   try {
     com.shoppingapp.app.shared.onlineshopping.Product lstproduct =
         productrepo.findById((java.lang.String) findByBean.getFindKey());
     responseBean.add("success", true);
     responseBean.add("message", "Successfully retrived ");
     responseBean.add("data", lstproduct);
   } catch (org.springframework.transaction.TransactionException e) {
     throw new com.athena.framework.server.exception.repository.SpartanTransactionException(
         "can not find ID", e.getRootCause());
   }
   return new org.springframework.http.ResponseEntity<ResponseBean>(responseBean, httpStatus);
 }
 @RequestMapping(
     consumes = "application/json",
     headers = {"isArray"},
     method = RequestMethod.POST)
 @Override
 public HttpEntity<ResponseBean> save(
     @RequestBody List<Product> entity, @RequestHeader("isArray") boolean request)
     throws SpartanPersistenceException, SpartanTransactionException, Exception {
   ResponseBean responseBean = new ResponseBean();
   org.springframework.http.HttpStatus httpStatus = org.springframework.http.HttpStatus.CREATED;
   try {
     productrepo.save(entity);
     responseBean.add("success", true);
     responseBean.add("message", "Successfully Created");
     httpStatus = org.springframework.http.HttpStatus.CREATED;
   } catch (org.springframework.transaction.TransactionException e) {
     throw new com.athena.framework.server.exception.repository.SpartanTransactionException(
         "can not save", e.getRootCause());
   }
   return new org.springframework.http.ResponseEntity<ResponseBean>(responseBean, httpStatus);
 }