ResponseHeaderRestController.java
package sk.iway.iwcm.components.response_header.rest;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
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.common.CloudToolsForCore;
import sk.iway.iwcm.components.response_header.jpa.ResponseHeaderEntity;
import sk.iway.iwcm.components.response_header.jpa.ResponseHeaderRepository;
import sk.iway.iwcm.system.datatable.Datatable;
import sk.iway.iwcm.system.datatable.DatatableRestControllerV2;
@RestController
@RequestMapping("/admin/rest/response-header")
@PreAuthorize("@WebjetSecurityService.hasPermission('cmp_response-header')")
@Datatable
public class ResponseHeaderRestController extends DatatableRestControllerV2<ResponseHeaderEntity, Long> {
@Autowired
public ResponseHeaderRestController(ResponseHeaderRepository responseHeaderRepository) {
super(responseHeaderRepository);
}
@Override
public void beforeSave(ResponseHeaderEntity entity) {
//Set domain id
if (entity.getDomainId() == null) entity.setDomainId(CloudToolsForCore.getDomainId());
//Set actual datetime of change
entity.setChangeDate(new Date());
}
@Override
public void afterSave(ResponseHeaderEntity entity, ResponseHeaderEntity saved) {
//After change in table, delete cached response headers for this domain
ResponseHeaderService.deleteDomainCache();
}
@Override
public void afterDelete(ResponseHeaderEntity entity, long id) {
//After change in table, delete cached response headers for this domain
ResponseHeaderService.deleteDomainCache();
}
}