public void init(
        CmsConfigurationManager configurationManager,
        I_CmsDbContextFactory dbContextFactory,
        CmsPublishEngine publishEngine)
    throws CmsInitException {

        if (dbContextFactory == null) {
            throw new CmsInitException(
                org.opencms.main.Messages.get().container(org.opencms.main.Messages.ERR_CRITICAL_NO_DB_CONTEXT_0));
        }

        m_dbContextFactory = dbContextFactory;

        CmsSystemConfiguration systemConfiguration = (CmsSystemConfiguration)configurationManager.getConfiguration(
            CmsSystemConfiguration.class);

        // create the driver manager
        m_driverManager = CmsDriverManager.newInstance(configurationManager, this, dbContextFactory, publishEngine);

        try {
            // invoke the init method of the driver manager
            m_driverManager.init(configurationManager, dbContextFactory);
            if (CmsLog.INIT.isInfoEnabled()) {
                CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_DRIVER_MANAGER_START_PHASE4_OK_0));
            }
        } catch (Exception exc) {
            CmsMessageContainer message = Messages.get().container(Messages.LOG_ERR_DRIVER_MANAGER_START_0);
            if (LOG.isFatalEnabled()) {
                LOG.fatal(message.key(), exc);
            }
            throw new CmsInitException(message, exc);
        }

        // create a new lock manager
        m_lockManager = m_driverManager.getLockManager();

        // initialize the permission handler
        String permHandlerClassName = systemConfiguration.getPermissionHandler();
        if (permHandlerClassName == null) {
            // use default implementation
            m_permissionHandler = new CmsDefaultPermissionHandler();
        } else {
            // use configured permission handler
            try {
                m_permissionHandler = (I_CmsPermissionHandler)Class.forName(permHandlerClassName).newInstance();
            } catch (Exception e) {
                throw new CmsInitException(
                    org.opencms.main.Messages.get().container(
                        org.opencms.main.Messages.ERR_CRITICAL_CLASS_CREATION_1,
                        permHandlerClassName),
                    e);
            }
        }

        m_permissionHandler.init(m_driverManager, systemConfiguration);

        if (CmsLog.INIT.isInfoEnabled()) {
            CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_SECURITY_MANAGER_INIT_0));
        }
    }
public void init ( CmsConfigurationManager configurationManager , I_CmsDbContextFactory dbContextFactory , CmsPublishEngine publishEngine ) throws CmsInitException { if ( dbContextFactory == null ) { throw new CmsInitException ( org . opencms . main . Messages . get ( ) . container ( org . opencms . main . Messages . ERR_CRITICAL_NO_DB_CONTEXT_0 ) ) ; } m_dbContextFactory = dbContextFactory ; CmsSystemConfiguration systemConfiguration = ( CmsSystemConfiguration ) configurationManager . getConfiguration ( CmsSystemConfiguration . class ) ; m_driverManager = CmsDriverManager . newInstance ( configurationManager , this , dbContextFactory , publishEngine ) ; try { m_driverManager . init ( configurationManager , dbContextFactory ) ; if ( CmsLog . INIT . isInfoEnabled ( ) ) { CmsLog . INIT . info ( Messages . get ( ) . getBundle ( ) . key ( Messages . INIT_DRIVER_MANAGER_START_PHASE4_OK_0 ) ) ; } } catch ( Exception exc ) { CmsMessageContainer message = Messages . get ( ) . container ( Messages . LOG_ERR_DRIVER_MANAGER_START_0 ) ; if ( LOG . isFatalEnabled ( ) ) { LOG . fatal ( message . key ( ) , exc ) ; } throw new CmsInitException ( message , exc ) ; } m_lockManager = m_driverManager . getLockManager ( ) ; String permHandlerClassName = systemConfiguration . getPermissionHandler ( ) ; if ( permHandlerClassName == null ) { m_permissionHandler = new CmsDefaultPermissionHandler ( ) ; } else { try { m_permissionHandler = ( I_CmsPermissionHandler ) Class . forName ( permHandlerClassName ) . newInstance ( ) ; } catch ( Exception e ) { throw new CmsInitException ( org . opencms . main . Messages . get ( ) . container ( org . opencms . main . Messages . ERR_CRITICAL_CLASS_CREATION_1 , permHandlerClassName ) , e ) ; } } m_permissionHandler . init ( m_driverManager , systemConfiguration ) ; if ( CmsLog . INIT . isInfoEnabled ( ) ) { CmsLog . INIT . info ( Messages . get ( ) . getBundle ( ) . key ( Messages . INIT_SECURITY_MANAGER_INIT_0 ) ) ; } }
Initializes this security manager with a given runtime info factory.<p>

@param configurationManager the configurationManager
@param dbContextFactory the initialized OpenCms runtime info factory
@param publishEngine the publish engine

@throws CmsInitException if the initialization fails