public class DbCachingRemoteDirectoryInstanceLoader extends AbstractDirectoryInstanceLoader implements InternalHybridDirectoryInstanceLoader
Modifier and Type | Field and Description |
---|---|
protected AuditLogGroupMapper |
auditLogGroupMapper |
protected AuditLogUserMapper |
auditLogUserMapper |
protected AuditService |
auditService |
Constructor and Description |
---|
DbCachingRemoteDirectoryInstanceLoader(DirectoryInstanceLoader remoteDirectoryInstanceLoader,
InternalDirectoryInstanceLoader internalDirectoryInstanceLoader,
DirectoryCacheFactory directoryCacheFactory,
CacheRefresherFactory cacheRefresherFactory,
AuditService auditService,
AuditLogUserMapper auditLogUserMapper,
AuditLogGroupMapper auditLogGroupMapper,
com.atlassian.event.api.EventPublisher eventPublisher,
DirectoryDao directoryDao)
Spring-friendly constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canLoad(String className) |
RemoteDirectory |
getDirectory(Directory directory)
Loads the
RemoteDirectory implementation class for a specific (already saved)
Directory configuration. |
RemoteDirectory |
getRawDirectory(Long id,
String className,
Map<String,String> attributes)
This method will NOT wire up the internal backed directory.
|
protected final AuditService auditService
protected final AuditLogUserMapper auditLogUserMapper
protected final AuditLogGroupMapper auditLogGroupMapper
public DbCachingRemoteDirectoryInstanceLoader(DirectoryInstanceLoader remoteDirectoryInstanceLoader, InternalDirectoryInstanceLoader internalDirectoryInstanceLoader, DirectoryCacheFactory directoryCacheFactory, CacheRefresherFactory cacheRefresherFactory, AuditService auditService, AuditLogUserMapper auditLogUserMapper, AuditLogGroupMapper auditLogGroupMapper, com.atlassian.event.api.EventPublisher eventPublisher, DirectoryDao directoryDao)
remoteDirectoryInstanceLoader
- the remote directory instance loader.internalDirectoryInstanceLoader
- the internal directory in which to do the cachingcacheRefresherFactory
- cache refresher factorypublic RemoteDirectory getDirectory(Directory directory) throws DirectoryInstantiationException
DirectoryInstanceLoader
RemoteDirectory
implementation class for a specific (already saved)
Directory
configuration.
Implementations of this method may choose to cache the RemoteDirectory, so this must only be called for Directories that have been successfully saved.
getDirectory
in interface DirectoryInstanceLoader
getDirectory
in class AbstractDirectoryInstanceLoader
directory
- The directory to load the RemoteDirectory
implementation from.RemoteDirectory
loaded implementation.DirectoryInstantiationException
- If the RemoteDirectory
implementation could not be loaded.public RemoteDirectory getRawDirectory(Long id, String className, Map<String,String> attributes) throws DirectoryInstantiationException
So no local groups or custom attributes.
getRawDirectory
in interface DirectoryInstanceLoader
id
- Directory IDclassName
- class name of directory.attributes
- the configuration attributes to pass to the RemoteDirectoryDirectoryInstantiationException
- if a RemoteDirectory implementation can not be loaded.public boolean canLoad(String className)
canLoad
in interface DirectoryInstanceLoader
className
- class name of directory.true
iff the directory can load the directory of the specified class.Copyright © 2020 Atlassian. All rights reserved.