package org.commonjava.web.user.inject; import javax.inject.Inject; import javax.inject.Singleton; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import org.commonjava.util.logging.Logger; import org.commonjava.web.user.data.UserDataException; import org.commonjava.web.user.data.UserDataInitializer; @WebListener @Singleton public class AdminInjector implements ServletContextListener { private final Logger logger = new Logger( getClass() ); private boolean finished = false; @Inject private UserDataInitializer initializer; @Override public void contextInitialized( final ServletContextEvent sce ) { if ( finished ) { return; } try { initializer.initializeAdmin(); } catch ( final UserDataException e ) { logger.error( "Failed to initialize admin-level access: %s", e, e.getMessage() ); } finished = true; } @Override public void contextDestroyed( final ServletContextEvent sce ) { } }