AbTestingRestController.java
package sk.iway.iwcm.components.abtesting.rest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import sk.iway.iwcm.components.abtesting.service.AbTestingService;
import sk.iway.iwcm.doc.DocDetails;
import sk.iway.iwcm.doc.DocDetailsRepository;
import sk.iway.iwcm.doc.attributes.jpa.DocAtrDefRepository;
import sk.iway.iwcm.editor.facade.EditorFacade;
import sk.iway.iwcm.editor.rest.WebpagesDatatable;
import sk.iway.iwcm.editor.rest.GetAllItemsDocOptions;
import sk.iway.iwcm.system.datatable.Datatable;
@Datatable
@RestController
@RequestMapping("/admin/rest/abtesting/list")
@PreAuthorize("@WebjetSecurityService.hasPermission('cmp_abtesting')")
public class AbTestingRestController extends WebpagesDatatable {
@Autowired
public AbTestingRestController(DocDetailsRepository docDetailsRepository, EditorFacade editorFacade, DocAtrDefRepository docAtrDefRepository) {
super(docDetailsRepository, editorFacade, docAtrDefRepository);
}
@Override
public Page<DocDetails> getAllItems(Pageable pageable) {
GetAllItemsDocOptions options = getDefaultOptions(pageable, true);
return AbTestingService.getAllItems(options);
}
@Override
public void beforeSave(DocDetails entity) {
//In abtesting version user cant edit/insert/duplicate page's
throwError(getProp().getText("admin.editPage.error"));
}
@Override
public boolean deleteItem(DocDetails entity, long id) {
//In abtesting version user cant delete page's
throwError(getProp().getText("admin.editPage.error"));
return false;
}
}