package com.github.adminfaces.template.event; import static com.github.adminfaces.template.util.Assert.has; import javax.faces.event.SystemEvent; import javax.faces.event.SystemEventListener; import java.util.MissingResourceException; import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; /** * Created by rmpestano on 28/04/17. */ public class AdminSystemEventListener implements SystemEventListener { private static final Logger log = Logger.getLogger(AdminSystemEventListener.class.getName()); public boolean isListenerForSource(final Object source) { return true; } public void processEvent(final SystemEvent event) { try { ResourceBundle adminBundle = ResourceBundle.getBundle("admin"); ResourceBundle adminPersistenceBundle = null; try { adminPersistenceBundle = ResourceBundle.getBundle("admin-persistence"); } catch (MissingResourceException mre) { //intentional } boolean isLegacyTemplate = has(adminBundle.getString("admin.legacy")) && adminBundle.getString("admin.legacy").equals("true"); StringBuilder sb = new StringBuilder("Using Admin Template ") .append(adminBundle.getString("admin.version")) .append(isLegacyTemplate ? " (legacy)" : ""); if (has(adminPersistenceBundle)) { sb.append(", Admin Persistence ").append(adminPersistenceBundle.getString("admin-persistence.version")); } sb.append(" and Admin Theme ").append(ResourceBundle.getBundle("admin-theme").getString("theme.version")); log.log(Level.INFO, sb.toString()); } catch (Exception e) { log.log(Level.WARNING, "Could not get AdminFaces version.", e); } } }