package fi.otavanopisto.muikku.system;
import java.util.logging.Logger;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import javax.inject.Named;
import org.ocpsoft.rewrite.annotation.Join;
import org.ocpsoft.rewrite.annotation.RequestAction;
import fi.otavanopisto.muikku.cache.CacheFlushEvent;
import fi.otavanopisto.muikku.security.MuikkuPermissions;
import fi.otavanopisto.muikku.session.SessionController;
@Named
@Join (path = "/system/cache/flush", to = "/jsf/system/cache-flush.jsf")
public class SystemCacheFlushBackingBean {
@Inject
private Logger logger;
@Inject
private Event<CacheFlushEvent> cacheFlushEvent;
@Inject
private SessionController sessionController;
@RequestAction
public String init() {
if (sessionController.hasPermission(MuikkuPermissions.ADMIN, null)) {
logger.warning("Flushing all caches");
cacheFlushEvent.fire(new CacheFlushEvent());
}
return "/index.jsf?faces-redirect=true";
}
}