UserDetailsListener.java
package sk.iway.iwcm.components.users.userdetail;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import org.springframework.ui.ModelMap;
import sk.iway.iwcm.JsonTools;
import sk.iway.iwcm.Logger;
import sk.iway.iwcm.admin.ThymeleafEvent;
import sk.iway.iwcm.admin.layout.MenuService;
import sk.iway.iwcm.system.spring.events.WebjetEvent;
/**
* Vygeneruje data do modelu pre zobrazenie zoznamu pouzivatelov
*/
@Component
public class UserDetailsListener {
@EventListener(condition = "#event.clazz eq 'sk.iway.iwcm.admin.ThymeleafEvent' && event.source.page=='users' && event.source.subpage=='user-list'")
protected void setInitalData(final WebjetEvent<ThymeleafEvent> event) {
try {
setInitialDataImpl(event.getSource().getModel());
} catch (Exception ex) {
Logger.error(UserDetailsListener.class, ex);
}
}
protected static void setInitialDataImpl(ModelMap model) throws JsonProcessingException {
model.addAttribute("jstreePerms", JsonTools.objectToJSON(MenuService.getAllPermissions()));
}
}