package com.openkm.module.base; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.openkm.core.Config; import com.openkm.principal.PrincipalAdapter; import com.openkm.principal.PrincipalAdapterException; public class BaseAuthModule { private static Logger log = LoggerFactory.getLogger(BaseAuthModule.class); private static PrincipalAdapter principalAdapter = null; /** * Singleton pattern for global Principal Adapter. */ public static PrincipalAdapter getPrincipalAdapter() throws PrincipalAdapterException { if (principalAdapter == null) { try { log.info("PrincipalAdapter: {}", Config.PRINCIPAL_ADAPTER); Object object = Class.forName(Config.PRINCIPAL_ADAPTER).newInstance(); principalAdapter = (PrincipalAdapter) object; } catch (ClassNotFoundException e) { log.error(e.getMessage(), e); throw new PrincipalAdapterException(e.getMessage(), e); } catch (InstantiationException e) { log.error(e.getMessage(), e); throw new PrincipalAdapterException(e.getMessage(), e); } catch (IllegalAccessException e) { log.error(e.getMessage(), e); throw new PrincipalAdapterException(e.getMessage(), e); } } return principalAdapter; } }